{"abstract":"The acceptor prepare operation is admitted even though a prepare message targets a different consensus instance.","category":"Consensus","checks":9,"contract":"Return a Boolean admission decision for promise a proposal ballot. The record r must satisfy all of: tuple(r['ballot_floor'][0]) >= tuple(r['ballot_floor'][1]); r['slot_scope'][0] == r['slot_scope'][1]; r['promise_durable'] is True; r['accepted_attached'][0] is None or r['accepted_attached'][1] == r['accepted_attached'][0]; r['configuration_epoch'][0] == r['configuration_epoch'][1]. Extra tracing fields are ignored; validation does not mutate the record.","evaluation_group":"xd-acceptor-prepare","failed_approach":"Adding the slot scope check repairs the reported defect, but replacing the adjacent promise durable check loses that independent invariant.","family":"xd-acceptor-prepare-slot_scope","id":"FA-481","implementations":{"attempt":{"sha256":"76949ad62241c34364f972227d016d548375c253ba386d16c4a60e68c2ad8fc7","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(r):\n    return (tuple(r['ballot_floor'][0]) >= tuple(r['ballot_floor'][1])) and (r['slot_scope'][0] == r['slot_scope'][1]) and (r['accepted_attached'][0] is None or r['accepted_attached'][1] == r['accepted_attached'][0]) and (r['configuration_epoch'][0] == r['configuration_epoch'][1])\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nr = {'ballot_floor': [[5, 2], [5, 1]], 'slot_scope': ['s1', 's1'], 'promise_durable': True, 'accepted_attached': ['chosen', 'chosen'], 'configuration_epoch': [3, 3]}\ncheck('valid operation', solve(r), True)\ncheck('An acceptor promises a ballot below its durable promise', solve(dict(r, **{'ballot_floor': [[4, 9], [5, 1]]})), False)\ncheck('A prepare message targets a different consensus instance', solve(dict(r, **{'slot_scope': ['s2', 's1']})), False)\ncheck('A promise response escapes before its durable write', solve(dict(r, **{'promise_durable': False})), False)\ncheck('The response omits an already accepted value', solve(dict(r, **{'accepted_attached': ['chosen', None]})), False)\ncheck('A prepare is counted under the wrong voting epoch', solve(dict(r, **{'configuration_epoch': [2, 3]})), False)\ncheck('unrelated tracing metadata', solve(dict(r, trace='run-'+str(N))), True)\ncheck('repeat validation is pure', solve(r), True)\ninvalid = {'ballot_floor': [[4, 9], [5, 1]], 'slot_scope': ['s2', 's1'], 'promise_durable': False, 'accepted_attached': ['chosen', None], 'configuration_epoch': [2, 3]}\nkeys = list(invalid)\npair = {keys[N % len(keys)]: invalid[keys[N % len(keys)]], keys[(N+1) % len(keys)]: invalid[keys[(N+1) % len(keys)]]}\ncheck('two independent violations in variant', solve(dict(r, **pair)), False)\nprint(json.dumps({\"observations\": observations, \"passed\": all(x[\"passed\"] for x in observations)}, ensure_ascii=False))\nraise SystemExit(0 if all(x[\"passed\"] for x in observations) else 1)\n"},"broken":{"sha256":"2008265e391042785fe49a3bfc15fbd4ade9d0113ca3676bca63c8f12b8b84a3","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(r):\n    return (tuple(r['ballot_floor'][0]) >= tuple(r['ballot_floor'][1])) and (r['promise_durable'] is True) and (r['accepted_attached'][0] is None or r['accepted_attached'][1] == r['accepted_attached'][0]) and (r['configuration_epoch'][0] == r['configuration_epoch'][1])\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nr = {'ballot_floor': [[5, 2], [5, 1]], 'slot_scope': ['s1', 's1'], 'promise_durable': True, 'accepted_attached': ['chosen', 'chosen'], 'configuration_epoch': [3, 3]}\ncheck('valid operation', solve(r), True)\ncheck('An acceptor promises a ballot below its durable promise', solve(dict(r, **{'ballot_floor': [[4, 9], [5, 1]]})), False)\ncheck('A prepare message targets a different consensus instance', solve(dict(r, **{'slot_scope': ['s2', 's1']})), False)\ncheck('A promise response escapes before its durable write', solve(dict(r, **{'promise_durable': False})), False)\ncheck('The response omits an already accepted value', solve(dict(r, **{'accepted_attached': ['chosen', None]})), False)\ncheck('A prepare is counted under the wrong voting epoch', solve(dict(r, **{'configuration_epoch': [2, 3]})), False)\ncheck('unrelated tracing metadata', solve(dict(r, trace='run-'+str(N))), True)\ncheck('repeat validation is pure', solve(r), True)\ninvalid = {'ballot_floor': [[4, 9], [5, 1]], 'slot_scope': ['s2', 's1'], 'promise_durable': False, 'accepted_attached': ['chosen', None], 'configuration_epoch': [2, 3]}\nkeys = list(invalid)\npair = {keys[N % len(keys)]: invalid[keys[N % len(keys)]], keys[(N+1) % len(keys)]: invalid[keys[(N+1) % len(keys)]]}\ncheck('two independent violations in variant', solve(dict(r, **pair)), False)\nprint(json.dumps({\"observations\": observations, \"passed\": all(x[\"passed\"] for x in observations)}, ensure_ascii=False))\nraise SystemExit(0 if all(x[\"passed\"] for x in observations) else 1)\n"},"fixed":{"sha256":"6fda7f5600af25833ae2df8b1d1264351e333deb380f24081686c0e68fc05297","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(r):\n    return (tuple(r['ballot_floor'][0]) >= tuple(r['ballot_floor'][1])) and (r['slot_scope'][0] == r['slot_scope'][1]) and (r['promise_durable'] is True) and (r['accepted_attached'][0] is None or r['accepted_attached'][1] == r['accepted_attached'][0]) and (r['configuration_epoch'][0] == r['configuration_epoch'][1])\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nr = {'ballot_floor': [[5, 2], [5, 1]], 'slot_scope': ['s1', 's1'], 'promise_durable': True, 'accepted_attached': ['chosen', 'chosen'], 'configuration_epoch': [3, 3]}\ncheck('valid operation', solve(r), True)\ncheck('An acceptor promises a ballot below its durable promise', solve(dict(r, **{'ballot_floor': [[4, 9], [5, 1]]})), False)\ncheck('A prepare message targets a different consensus instance', solve(dict(r, **{'slot_scope': ['s2', 's1']})), False)\ncheck('A promise response escapes before its durable write', solve(dict(r, **{'promise_durable': False})), False)\ncheck('The response omits an already accepted value', solve(dict(r, **{'accepted_attached': ['chosen', None]})), False)\ncheck('A prepare is counted under the wrong voting epoch', solve(dict(r, **{'configuration_epoch': [2, 3]})), False)\ncheck('unrelated tracing metadata', solve(dict(r, trace='run-'+str(N))), True)\ncheck('repeat validation is pure', solve(r), True)\ninvalid = {'ballot_floor': [[4, 9], [5, 1]], 'slot_scope': ['s2', 's1'], 'promise_durable': False, 'accepted_attached': ['chosen', None], 'configuration_epoch': [2, 3]}\nkeys = list(invalid)\npair = {keys[N % len(keys)]: invalid[keys[N % len(keys)]], keys[(N+1) % len(keys)]: invalid[keys[(N+1) % len(keys)]]}\ncheck('two independent violations in variant', solve(dict(r, **pair)), False)\nprint(json.dumps({\"observations\": observations, \"passed\": all(x[\"passed\"] for x in observations)}, ensure_ascii=False))\nraise SystemExit(0 if all(x[\"passed\"] for x in observations) else 1)\n"}},"limitations":" This reproducer isolates one failure mechanism. Results cover the supplied fixtures. Variants within a family share a test contract and should remain grouped when constructing evaluation splits. Related mechanisms with a shared evaluation_group must also remain together; these controlled models are not independent production incidents.","method":"Deterministic executable model with adversarial boundary fixtures.","provenance":{"created_by":"Failure Map","dependencies":"Python standard library","family":"xd-acceptor-prepare-slot_scope","generated_at":"2026-09-29T14:36:53.191921+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"A deterministic local contract for consensus. Each negative fixture violates exactly one invariant. No transport timing, persistence, cryptographic verification, or full protocol implementation is claimed.","repair":"Require r['slot_scope'][0] == r['slot_scope'][1] together with every other stated precondition before accepting the operation.","root_cause":"The admission path omits the slot scope invariant while validating the other operation preconditions.","sha256":"ebf51925676d62910ac571dbfc86ec07f89bd79cf3659796454155f1ec4bb8af","title":"Promise a proposal ballot: A prepare message targets a different consensus instance · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":34.692,"exit_code":1,"observations":[{"actual":true,"check":"valid operation","expected":true,"passed":true},{"actual":false,"check":"An acceptor promises a ballot below its durable promise","expected":false,"passed":true},{"actual":false,"check":"A prepare message targets a different consensus instance","expected":false,"passed":true},{"actual":true,"check":"A promise response escapes before its durable write","expected":false,"passed":false},{"actual":false,"check":"The response omits an already accepted value","expected":false,"passed":true},{"actual":false,"check":"A prepare is counted under the wrong voting epoch","expected":false,"passed":true},{"actual":true,"check":"unrelated tracing metadata","expected":true,"passed":true},{"actual":true,"check":"repeat validation is pure","expected":true,"passed":true},{"actual":false,"check":"two independent violations in variant","expected":false,"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"valid operation\", \"actual\": true, \"expected\": true, \"passed\": true}, {\"check\": \"An acceptor promises a ballot below its durable promise\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"A prepare message targets a different consensus instance\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"A promise response escapes before its durable write\", \"actual\": true, \"expected\": false, \"passed\": false}, {\"check\": \"The response omits an already accepted value\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"A prepare is counted under the wrong voting epoch\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"unrelated tracing metadata\", \"actual\": true, \"expected\": true, \"passed\": true}, {\"check\": \"repeat validation is pure\", \"actual\": true, \"expected\": true, \"passed\": true}, {\"check\": \"two independent violations in variant\", \"actual\": false, \"expected\": false, \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":33.617,"exit_code":1,"observations":[{"actual":true,"check":"valid operation","expected":true,"passed":true},{"actual":false,"check":"An acceptor promises a ballot below its durable promise","expected":false,"passed":true},{"actual":true,"check":"A prepare message targets a different consensus instance","expected":false,"passed":false},{"actual":false,"check":"A promise response escapes before its durable write","expected":false,"passed":true},{"actual":false,"check":"The response omits an already accepted value","expected":false,"passed":true},{"actual":false,"check":"A prepare is counted under the wrong voting epoch","expected":false,"passed":true},{"actual":true,"check":"unrelated tracing metadata","expected":true,"passed":true},{"actual":true,"check":"repeat validation is pure","expected":true,"passed":true},{"actual":false,"check":"two independent violations in variant","expected":false,"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"valid operation\", \"actual\": true, \"expected\": true, \"passed\": true}, {\"check\": \"An acceptor promises a ballot below its durable promise\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"A prepare message targets a different consensus instance\", \"actual\": true, \"expected\": false, \"passed\": false}, {\"check\": \"A promise response escapes before its durable write\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"The response omits an already accepted value\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"A prepare is counted under the wrong voting epoch\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"unrelated tracing metadata\", \"actual\": true, \"expected\": true, \"passed\": true}, {\"check\": \"repeat validation is pure\", \"actual\": true, \"expected\": true, \"passed\": true}, {\"check\": \"two independent violations in variant\", \"actual\": false, \"expected\": false, \"passed\": true}], \"passed\": false}\n"},"fixed":{"elapsed_ms":36.689,"exit_code":0,"observations":[{"actual":true,"check":"valid operation","expected":true,"passed":true},{"actual":false,"check":"An acceptor promises a ballot below its durable promise","expected":false,"passed":true},{"actual":false,"check":"A prepare message targets a different consensus instance","expected":false,"passed":true},{"actual":false,"check":"A promise response escapes before its durable write","expected":false,"passed":true},{"actual":false,"check":"The response omits an already accepted value","expected":false,"passed":true},{"actual":false,"check":"A prepare is counted under the wrong voting epoch","expected":false,"passed":true},{"actual":true,"check":"unrelated tracing metadata","expected":true,"passed":true},{"actual":true,"check":"repeat validation is pure","expected":true,"passed":true},{"actual":false,"check":"two independent violations in variant","expected":false,"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"valid operation\", \"actual\": true, \"expected\": true, \"passed\": true}, {\"check\": \"An acceptor promises a ballot below its durable promise\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"A prepare message targets a different consensus instance\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"A promise response escapes before its durable write\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"The response omits an already accepted value\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"A prepare is counted under the wrong voting epoch\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"unrelated tracing metadata\", \"actual\": true, \"expected\": true, \"passed\": true}, {\"check\": \"repeat validation is pure\", \"actual\": true, \"expected\": true, \"passed\": true}, {\"check\": \"two independent violations in variant\", \"actual\": false, \"expected\": false, \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}