{"abstract":"Deque block acquisition marks free slots as occupied.","category":"Bounded deques","checks":6,"contract":"Acquire a deque block from a LIFO free pool or a fresh monotonic ID. Increment its incarnation, clear every slot and initialize zero occupancy and owned state.","evaluation_group":"s3-bounded-deques-block-acquire","failed_approach":"The partial repair still applies the incorrect transition to an admitted boundary or multi-element case.","family":"s3-bounded-deques-block-acquire-empty-occupancy","id":"FA-46456","implementations":{"attempt":{"sha256":"987f8853f8861c6b32ced178614117af3b9887d7c62ae35101a8c9f2038d80fd","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(x):\n    pool,fresh,generations,width=x\n    identity=pool[-1] if pool else fresh\n    remaining=pool[:-1] if pool else []\n    next_id=fresh if pool else fresh+1\n    generation=generations.get(identity,0)+1\n    slots=[None]*width\n    used=0 if not pool else width\n    state='owned'\n    return [identity,remaining,next_id,generation,slots,used,state]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('0', solve([[3,7],9,{7:N},4]), {1: [7, [3], 9, 2, [None, None, None, None], 0, 'owned'], 2: [7, [3], 9, 3, [None, None, None, None], 0, 'owned'], 3: [7, [3], 9, 4, [None, None, None, None], 0, 'owned'], 4: [7, [3], 9, 5, [None, None, None, None], 0, 'owned'], 5: [7, [3], 9, 6, [None, None, None, None], 0, 'owned']}[N])\ncheck('1', solve([[],9,{},3]), {1: [9, [], 10, 1, [None, None, None], 0, 'owned'], 2: [9, [], 10, 1, [None, None, None], 0, 'owned'], 3: [9, [], 10, 1, [None, None, None], 0, 'owned'], 4: [9, [], 10, 1, [None, None, None], 0, 'owned'], 5: [9, [], 10, 1, [None, None, None], 0, 'owned']}[N])\ncheck('2', solve([[2],7,{2:N+1},1]), {1: [2, [], 7, 3, [None], 0, 'owned'], 2: [2, [], 7, 4, [None], 0, 'owned'], 3: [2, [], 7, 5, [None], 0, 'owned'], 4: [2, [], 7, 6, [None], 0, 'owned'], 5: [2, [], 7, 7, [None], 0, 'owned']}[N])\ncheck('3', solve([[1,4,6],8,{6:N+2},2]), {1: [6, [1, 4], 8, 4, [None, None], 0, 'owned'], 2: [6, [1, 4], 8, 5, [None, None], 0, 'owned'], 3: [6, [1, 4], 8, 6, [None, None], 0, 'owned'], 4: [6, [1, 4], 8, 7, [None, None], 0, 'owned'], 5: [6, [1, 4], 8, 8, [None, None], 0, 'owned']}[N])\ncheck('4', solve([[],N+10,{},5]), {1: [11, [], 12, 1, [None, None, None, None, None], 0, 'owned'], 2: [12, [], 13, 1, [None, None, None, None, None], 0, 'owned'], 3: [13, [], 14, 1, [None, None, None, None, None], 0, 'owned'], 4: [14, [], 15, 1, [None, None, None, None, None], 0, 'owned'], 5: [15, [], 16, 1, [None, None, None, None, None], 0, 'owned']}[N])\ncheck('5', solve([[4,8],11,{8:0},0]), {1: [8, [4], 11, 1, [], 0, 'owned'], 2: [8, [4], 11, 1, [], 0, 'owned'], 3: [8, [4], 11, 1, [], 0, 'owned'], 4: [8, [4], 11, 1, [], 0, 'owned'], 5: [8, [4], 11, 1, [], 0, 'owned']}[N])\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":"7296d1a081affcbfe91d41e529ad19dc308a74de9410b6965003a18e498a232c","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(x):\n    pool,fresh,generations,width=x\n    identity=pool[-1] if pool else fresh\n    remaining=pool[:-1] if pool else []\n    next_id=fresh if pool else fresh+1\n    generation=generations.get(identity,0)+1\n    slots=[None]*width\n    used=width\n    state='owned'\n    return [identity,remaining,next_id,generation,slots,used,state]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('0', solve([[3,7],9,{7:N},4]), {1: [7, [3], 9, 2, [None, None, None, None], 0, 'owned'], 2: [7, [3], 9, 3, [None, None, None, None], 0, 'owned'], 3: [7, [3], 9, 4, [None, None, None, None], 0, 'owned'], 4: [7, [3], 9, 5, [None, None, None, None], 0, 'owned'], 5: [7, [3], 9, 6, [None, None, None, None], 0, 'owned']}[N])\ncheck('1', solve([[],9,{},3]), {1: [9, [], 10, 1, [None, None, None], 0, 'owned'], 2: [9, [], 10, 1, [None, None, None], 0, 'owned'], 3: [9, [], 10, 1, [None, None, None], 0, 'owned'], 4: [9, [], 10, 1, [None, None, None], 0, 'owned'], 5: [9, [], 10, 1, [None, None, None], 0, 'owned']}[N])\ncheck('2', solve([[2],7,{2:N+1},1]), {1: [2, [], 7, 3, [None], 0, 'owned'], 2: [2, [], 7, 4, [None], 0, 'owned'], 3: [2, [], 7, 5, [None], 0, 'owned'], 4: [2, [], 7, 6, [None], 0, 'owned'], 5: [2, [], 7, 7, [None], 0, 'owned']}[N])\ncheck('3', solve([[1,4,6],8,{6:N+2},2]), {1: [6, [1, 4], 8, 4, [None, None], 0, 'owned'], 2: [6, [1, 4], 8, 5, [None, None], 0, 'owned'], 3: [6, [1, 4], 8, 6, [None, None], 0, 'owned'], 4: [6, [1, 4], 8, 7, [None, None], 0, 'owned'], 5: [6, [1, 4], 8, 8, [None, None], 0, 'owned']}[N])\ncheck('4', solve([[],N+10,{},5]), {1: [11, [], 12, 1, [None, None, None, None, None], 0, 'owned'], 2: [12, [], 13, 1, [None, None, None, None, None], 0, 'owned'], 3: [13, [], 14, 1, [None, None, None, None, None], 0, 'owned'], 4: [14, [], 15, 1, [None, None, None, None, None], 0, 'owned'], 5: [15, [], 16, 1, [None, None, None, None, None], 0, 'owned']}[N])\ncheck('5', solve([[4,8],11,{8:0},0]), {1: [8, [4], 11, 1, [], 0, 'owned'], 2: [8, [4], 11, 1, [], 0, 'owned'], 3: [8, [4], 11, 1, [], 0, 'owned'], 4: [8, [4], 11, 1, [], 0, 'owned'], 5: [8, [4], 11, 1, [], 0, 'owned']}[N])\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":"23ee30e7e8a2e63f60d772d88e4ef153563453572f54ff8c0c158a6172d81091","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(x):\n    pool,fresh,generations,width=x\n    identity=pool[-1] if pool else fresh\n    remaining=pool[:-1] if pool else []\n    next_id=fresh if pool else fresh+1\n    generation=generations.get(identity,0)+1\n    slots=[None]*width\n    used=0\n    state='owned'\n    return [identity,remaining,next_id,generation,slots,used,state]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('0', solve([[3,7],9,{7:N},4]), {1: [7, [3], 9, 2, [None, None, None, None], 0, 'owned'], 2: [7, [3], 9, 3, [None, None, None, None], 0, 'owned'], 3: [7, [3], 9, 4, [None, None, None, None], 0, 'owned'], 4: [7, [3], 9, 5, [None, None, None, None], 0, 'owned'], 5: [7, [3], 9, 6, [None, None, None, None], 0, 'owned']}[N])\ncheck('1', solve([[],9,{},3]), {1: [9, [], 10, 1, [None, None, None], 0, 'owned'], 2: [9, [], 10, 1, [None, None, None], 0, 'owned'], 3: [9, [], 10, 1, [None, None, None], 0, 'owned'], 4: [9, [], 10, 1, [None, None, None], 0, 'owned'], 5: [9, [], 10, 1, [None, None, None], 0, 'owned']}[N])\ncheck('2', solve([[2],7,{2:N+1},1]), {1: [2, [], 7, 3, [None], 0, 'owned'], 2: [2, [], 7, 4, [None], 0, 'owned'], 3: [2, [], 7, 5, [None], 0, 'owned'], 4: [2, [], 7, 6, [None], 0, 'owned'], 5: [2, [], 7, 7, [None], 0, 'owned']}[N])\ncheck('3', solve([[1,4,6],8,{6:N+2},2]), {1: [6, [1, 4], 8, 4, [None, None], 0, 'owned'], 2: [6, [1, 4], 8, 5, [None, None], 0, 'owned'], 3: [6, [1, 4], 8, 6, [None, None], 0, 'owned'], 4: [6, [1, 4], 8, 7, [None, None], 0, 'owned'], 5: [6, [1, 4], 8, 8, [None, None], 0, 'owned']}[N])\ncheck('4', solve([[],N+10,{},5]), {1: [11, [], 12, 1, [None, None, None, None, None], 0, 'owned'], 2: [12, [], 13, 1, [None, None, None, None, None], 0, 'owned'], 3: [13, [], 14, 1, [None, None, None, None, None], 0, 'owned'], 4: [14, [], 15, 1, [None, None, None, None, None], 0, 'owned'], 5: [15, [], 16, 1, [None, None, None, None, None], 0, 'owned']}[N])\ncheck('5', solve([[4,8],11,{8:0},0]), {1: [8, [4], 11, 1, [], 0, 'owned'], 2: [8, [4], 11, 1, [], 0, 'owned'], 3: [8, [4], 11, 1, [], 0, 'owned'], 4: [8, [4], 11, 1, [], 0, 'owned'], 5: [8, [4], 11, 1, [], 0, 'owned']}[N])\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":"Offline finite deterministic model; no claim of production implementation or concurrent memory-model conformance. 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":"s3-bounded-deques-block-acquire-empty-occupancy","generated_at":"2026-09-29T14:44:32.274644+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"Controlled bounded deque implementation model with explicit storage and lifecycle observations.","repair":"Restore the documented empty occupancy invariant in block-acquire.","root_cause":"Deque block acquisition marks free slots as occupied.","sha256":"3da3025d7704be24c346d4b2aa5bfb314670ee72ad1e39f8cd1901d0aad0eca2","title":"Deque block acquisition marks free slots as occupied · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":39.608,"exit_code":1,"observations":[{"actual":[7,[3],9,2,[null,null,null,null],4,"owned"],"check":"0","expected":[7,[3],9,2,[null,null,null,null],0,"owned"],"passed":false},{"actual":[9,[],10,1,[null,null,null],0,"owned"],"check":"1","expected":[9,[],10,1,[null,null,null],0,"owned"],"passed":true},{"actual":[2,[],7,3,[null],1,"owned"],"check":"2","expected":[2,[],7,3,[null],0,"owned"],"passed":false},{"actual":[6,[1,4],8,4,[null,null],2,"owned"],"check":"3","expected":[6,[1,4],8,4,[null,null],0,"owned"],"passed":false},{"actual":[11,[],12,1,[null,null,null,null,null],0,"owned"],"check":"4","expected":[11,[],12,1,[null,null,null,null,null],0,"owned"],"passed":true},{"actual":[8,[4],11,1,[],0,"owned"],"check":"5","expected":[8,[4],11,1,[],0,"owned"],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"0\", \"actual\": [7, [3], 9, 2, [null, null, null, null], 4, \"owned\"], \"expected\": [7, [3], 9, 2, [null, null, null, null], 0, \"owned\"], \"passed\": false}, {\"check\": \"1\", \"actual\": [9, [], 10, 1, [null, null, null], 0, \"owned\"], \"expected\": [9, [], 10, 1, [null, null, null], 0, \"owned\"], \"passed\": true}, {\"check\": \"2\", \"actual\": [2, [], 7, 3, [null], 1, \"owned\"], \"expected\": [2, [], 7, 3, [null], 0, \"owned\"], \"passed\": false}, {\"check\": \"3\", \"actual\": [6, [1, 4], 8, 4, [null, null], 2, \"owned\"], \"expected\": [6, [1, 4], 8, 4, [null, null], 0, \"owned\"], \"passed\": false}, {\"check\": \"4\", \"actual\": [11, [], 12, 1, [null, null, null, null, null], 0, \"owned\"], \"expected\": [11, [], 12, 1, [null, null, null, null, null], 0, \"owned\"], \"passed\": true}, {\"check\": \"5\", \"actual\": [8, [4], 11, 1, [], 0, \"owned\"], \"expected\": [8, [4], 11, 1, [], 0, \"owned\"], \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":42.131,"exit_code":1,"observations":[{"actual":[7,[3],9,2,[null,null,null,null],4,"owned"],"check":"0","expected":[7,[3],9,2,[null,null,null,null],0,"owned"],"passed":false},{"actual":[9,[],10,1,[null,null,null],3,"owned"],"check":"1","expected":[9,[],10,1,[null,null,null],0,"owned"],"passed":false},{"actual":[2,[],7,3,[null],1,"owned"],"check":"2","expected":[2,[],7,3,[null],0,"owned"],"passed":false},{"actual":[6,[1,4],8,4,[null,null],2,"owned"],"check":"3","expected":[6,[1,4],8,4,[null,null],0,"owned"],"passed":false},{"actual":[11,[],12,1,[null,null,null,null,null],5,"owned"],"check":"4","expected":[11,[],12,1,[null,null,null,null,null],0,"owned"],"passed":false},{"actual":[8,[4],11,1,[],0,"owned"],"check":"5","expected":[8,[4],11,1,[],0,"owned"],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"0\", \"actual\": [7, [3], 9, 2, [null, null, null, null], 4, \"owned\"], \"expected\": [7, [3], 9, 2, [null, null, null, null], 0, \"owned\"], \"passed\": false}, {\"check\": \"1\", \"actual\": [9, [], 10, 1, [null, null, null], 3, \"owned\"], \"expected\": [9, [], 10, 1, [null, null, null], 0, \"owned\"], \"passed\": false}, {\"check\": \"2\", \"actual\": [2, [], 7, 3, [null], 1, \"owned\"], \"expected\": [2, [], 7, 3, [null], 0, \"owned\"], \"passed\": false}, {\"check\": \"3\", \"actual\": [6, [1, 4], 8, 4, [null, null], 2, \"owned\"], \"expected\": [6, [1, 4], 8, 4, [null, null], 0, \"owned\"], \"passed\": false}, {\"check\": \"4\", \"actual\": [11, [], 12, 1, [null, null, null, null, null], 5, \"owned\"], \"expected\": [11, [], 12, 1, [null, null, null, null, null], 0, \"owned\"], \"passed\": false}, {\"check\": \"5\", \"actual\": [8, [4], 11, 1, [], 0, \"owned\"], \"expected\": [8, [4], 11, 1, [], 0, \"owned\"], \"passed\": true}], \"passed\": false}\n"},"fixed":{"elapsed_ms":41.374,"exit_code":0,"observations":[{"actual":[7,[3],9,2,[null,null,null,null],0,"owned"],"check":"0","expected":[7,[3],9,2,[null,null,null,null],0,"owned"],"passed":true},{"actual":[9,[],10,1,[null,null,null],0,"owned"],"check":"1","expected":[9,[],10,1,[null,null,null],0,"owned"],"passed":true},{"actual":[2,[],7,3,[null],0,"owned"],"check":"2","expected":[2,[],7,3,[null],0,"owned"],"passed":true},{"actual":[6,[1,4],8,4,[null,null],0,"owned"],"check":"3","expected":[6,[1,4],8,4,[null,null],0,"owned"],"passed":true},{"actual":[11,[],12,1,[null,null,null,null,null],0,"owned"],"check":"4","expected":[11,[],12,1,[null,null,null,null,null],0,"owned"],"passed":true},{"actual":[8,[4],11,1,[],0,"owned"],"check":"5","expected":[8,[4],11,1,[],0,"owned"],"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"0\", \"actual\": [7, [3], 9, 2, [null, null, null, null], 0, \"owned\"], \"expected\": [7, [3], 9, 2, [null, null, null, null], 0, \"owned\"], \"passed\": true}, {\"check\": \"1\", \"actual\": [9, [], 10, 1, [null, null, null], 0, \"owned\"], \"expected\": [9, [], 10, 1, [null, null, null], 0, \"owned\"], \"passed\": true}, {\"check\": \"2\", \"actual\": [2, [], 7, 3, [null], 0, \"owned\"], \"expected\": [2, [], 7, 3, [null], 0, \"owned\"], \"passed\": true}, {\"check\": \"3\", \"actual\": [6, [1, 4], 8, 4, [null, null], 0, \"owned\"], \"expected\": [6, [1, 4], 8, 4, [null, null], 0, \"owned\"], \"passed\": true}, {\"check\": \"4\", \"actual\": [11, [], 12, 1, [null, null, null, null, null], 0, \"owned\"], \"expected\": [11, [], 12, 1, [null, null, null, null, null], 0, \"owned\"], \"passed\": true}, {\"check\": \"5\", \"actual\": [8, [4], 11, 1, [], 0, \"owned\"], \"expected\": [8, [4], 11, 1, [], 0, \"owned\"], \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}