{"abstract":"Deque retirement advances every slot generation.","category":"Bounded deques","checks":6,"contract":"Retire one occupied deque slot. Clear its payload, advance that slot generation, append its index to the free list, decrement live count and invalidate the retired [index,generation] handle.","evaluation_group":"s3-bounded-deques-slot-retirement","failed_approach":"The partial repair still applies the incorrect transition to an admitted boundary or multi-element case.","family":"s3-bounded-deques-slot-retirement-generation-bump","id":"FA-46576","implementations":{"attempt":{"sha256":"8ca4005569f122b98372b88f0ede49293eec1b19633113e1f0836394abf6c9ec","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(x):\n    slots,index,generations,free,live=x\n    storage=slots[:]\n    storage[index]=None\n    versions=generations[:]\n    versions[index]+=1\n    if len(versions)>2: versions=[g+1 for g in versions]\n    available=free+[index]\n    count=live-1\n    old_handle=[index,generations[index]]\n    valid=False\n    return [storage,versions,available,count,old_handle,valid,len(available)]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('0', solve([[N,N+1,None],1,[2,4,0],[2],2]), {1: [[1, None, None], [2, 5, 0], [2, 1], 1, [1, 4], False, 2], 2: [[2, None, None], [2, 5, 0], [2, 1], 1, [1, 4], False, 2], 3: [[3, None, None], [2, 5, 0], [2, 1], 1, [1, 4], False, 2], 4: [[4, None, None], [2, 5, 0], [2, 1], 1, [1, 4], False, 2], 5: [[5, None, None], [2, 5, 0], [2, 1], 1, [1, 4], False, 2]}[N])\ncheck('1', solve([[N],0,[N],[],1]), {1: [[None], [2], [0], 0, [0, 1], False, 1], 2: [[None], [3], [0], 0, [0, 2], False, 1], 3: [[None], [4], [0], 0, [0, 3], False, 1], 4: [[None], [5], [0], 0, [0, 4], False, 1], 5: [[None], [6], [0], 0, [0, 5], False, 1]}[N])\ncheck('2', solve([[None,N,None,N+1],3,[1,2,3,4],[0,2],2]), {1: [[None, 1, None, None], [1, 2, 3, 5], [0, 2, 3], 1, [3, 4], False, 3], 2: [[None, 2, None, None], [1, 2, 3, 5], [0, 2, 3], 1, [3, 4], False, 3], 3: [[None, 3, None, None], [1, 2, 3, 5], [0, 2, 3], 1, [3, 4], False, 3], 4: [[None, 4, None, None], [1, 2, 3, 5], [0, 2, 3], 1, [3, 4], False, 3], 5: [[None, 5, None, None], [1, 2, 3, 5], [0, 2, 3], 1, [3, 4], False, 3]}[N])\ncheck('3', solve([[N,N+1,N+2],0,[N,N+1,N+2],[],3]), {1: [[None, 2, 3], [2, 2, 3], [0], 2, [0, 1], False, 1], 2: [[None, 3, 4], [3, 3, 4], [0], 2, [0, 2], False, 1], 3: [[None, 4, 5], [4, 4, 5], [0], 2, [0, 3], False, 1], 4: [[None, 5, 6], [5, 5, 6], [0], 2, [0, 4], False, 1], 5: [[None, 6, 7], [6, 6, 7], [0], 2, [0, 5], False, 1]}[N])\ncheck('4', solve([[N,None,N+1],2,[3,0,7],[1],2]), {1: [[1, None, None], [3, 0, 8], [1, 2], 1, [2, 7], False, 2], 2: [[2, None, None], [3, 0, 8], [1, 2], 1, [2, 7], False, 2], 3: [[3, None, None], [3, 0, 8], [1, 2], 1, [2, 7], False, 2], 4: [[4, None, None], [3, 0, 8], [1, 2], 1, [2, 7], False, 2], 5: [[5, None, None], [3, 0, 8], [1, 2], 1, [2, 7], False, 2]}[N])\ncheck('5', solve([[None,N],1,[4,N],[0],1]), {1: [[None, None], [4, 2], [0, 1], 0, [1, 1], False, 2], 2: [[None, None], [4, 3], [0, 1], 0, [1, 2], False, 2], 3: [[None, None], [4, 4], [0, 1], 0, [1, 3], False, 2], 4: [[None, None], [4, 5], [0, 1], 0, [1, 4], False, 2], 5: [[None, None], [4, 6], [0, 1], 0, [1, 5], False, 2]}[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":"79e04f23ec79c9a431467369a65b81da0f0b4a5ab505081cc03749ee9fa491bc","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(x):\n    slots,index,generations,free,live=x\n    storage=slots[:]\n    storage[index]=None\n    versions=generations[:]\n    versions=[g+1 for g in versions]\n    available=free+[index]\n    count=live-1\n    old_handle=[index,generations[index]]\n    valid=False\n    return [storage,versions,available,count,old_handle,valid,len(available)]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('0', solve([[N,N+1,None],1,[2,4,0],[2],2]), {1: [[1, None, None], [2, 5, 0], [2, 1], 1, [1, 4], False, 2], 2: [[2, None, None], [2, 5, 0], [2, 1], 1, [1, 4], False, 2], 3: [[3, None, None], [2, 5, 0], [2, 1], 1, [1, 4], False, 2], 4: [[4, None, None], [2, 5, 0], [2, 1], 1, [1, 4], False, 2], 5: [[5, None, None], [2, 5, 0], [2, 1], 1, [1, 4], False, 2]}[N])\ncheck('1', solve([[N],0,[N],[],1]), {1: [[None], [2], [0], 0, [0, 1], False, 1], 2: [[None], [3], [0], 0, [0, 2], False, 1], 3: [[None], [4], [0], 0, [0, 3], False, 1], 4: [[None], [5], [0], 0, [0, 4], False, 1], 5: [[None], [6], [0], 0, [0, 5], False, 1]}[N])\ncheck('2', solve([[None,N,None,N+1],3,[1,2,3,4],[0,2],2]), {1: [[None, 1, None, None], [1, 2, 3, 5], [0, 2, 3], 1, [3, 4], False, 3], 2: [[None, 2, None, None], [1, 2, 3, 5], [0, 2, 3], 1, [3, 4], False, 3], 3: [[None, 3, None, None], [1, 2, 3, 5], [0, 2, 3], 1, [3, 4], False, 3], 4: [[None, 4, None, None], [1, 2, 3, 5], [0, 2, 3], 1, [3, 4], False, 3], 5: [[None, 5, None, None], [1, 2, 3, 5], [0, 2, 3], 1, [3, 4], False, 3]}[N])\ncheck('3', solve([[N,N+1,N+2],0,[N,N+1,N+2],[],3]), {1: [[None, 2, 3], [2, 2, 3], [0], 2, [0, 1], False, 1], 2: [[None, 3, 4], [3, 3, 4], [0], 2, [0, 2], False, 1], 3: [[None, 4, 5], [4, 4, 5], [0], 2, [0, 3], False, 1], 4: [[None, 5, 6], [5, 5, 6], [0], 2, [0, 4], False, 1], 5: [[None, 6, 7], [6, 6, 7], [0], 2, [0, 5], False, 1]}[N])\ncheck('4', solve([[N,None,N+1],2,[3,0,7],[1],2]), {1: [[1, None, None], [3, 0, 8], [1, 2], 1, [2, 7], False, 2], 2: [[2, None, None], [3, 0, 8], [1, 2], 1, [2, 7], False, 2], 3: [[3, None, None], [3, 0, 8], [1, 2], 1, [2, 7], False, 2], 4: [[4, None, None], [3, 0, 8], [1, 2], 1, [2, 7], False, 2], 5: [[5, None, None], [3, 0, 8], [1, 2], 1, [2, 7], False, 2]}[N])\ncheck('5', solve([[None,N],1,[4,N],[0],1]), {1: [[None, None], [4, 2], [0, 1], 0, [1, 1], False, 2], 2: [[None, None], [4, 3], [0, 1], 0, [1, 2], False, 2], 3: [[None, None], [4, 4], [0, 1], 0, [1, 3], False, 2], 4: [[None, None], [4, 5], [0, 1], 0, [1, 4], False, 2], 5: [[None, None], [4, 6], [0, 1], 0, [1, 5], False, 2]}[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":"768e3326329a06f4119bc7c40a4546dedc9537a32ac6880808f3eefa5fe60850","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(x):\n    slots,index,generations,free,live=x\n    storage=slots[:]\n    storage[index]=None\n    versions=generations[:]\n    versions[index]+=1\n    available=free+[index]\n    count=live-1\n    old_handle=[index,generations[index]]\n    valid=False\n    return [storage,versions,available,count,old_handle,valid,len(available)]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('0', solve([[N,N+1,None],1,[2,4,0],[2],2]), {1: [[1, None, None], [2, 5, 0], [2, 1], 1, [1, 4], False, 2], 2: [[2, None, None], [2, 5, 0], [2, 1], 1, [1, 4], False, 2], 3: [[3, None, None], [2, 5, 0], [2, 1], 1, [1, 4], False, 2], 4: [[4, None, None], [2, 5, 0], [2, 1], 1, [1, 4], False, 2], 5: [[5, None, None], [2, 5, 0], [2, 1], 1, [1, 4], False, 2]}[N])\ncheck('1', solve([[N],0,[N],[],1]), {1: [[None], [2], [0], 0, [0, 1], False, 1], 2: [[None], [3], [0], 0, [0, 2], False, 1], 3: [[None], [4], [0], 0, [0, 3], False, 1], 4: [[None], [5], [0], 0, [0, 4], False, 1], 5: [[None], [6], [0], 0, [0, 5], False, 1]}[N])\ncheck('2', solve([[None,N,None,N+1],3,[1,2,3,4],[0,2],2]), {1: [[None, 1, None, None], [1, 2, 3, 5], [0, 2, 3], 1, [3, 4], False, 3], 2: [[None, 2, None, None], [1, 2, 3, 5], [0, 2, 3], 1, [3, 4], False, 3], 3: [[None, 3, None, None], [1, 2, 3, 5], [0, 2, 3], 1, [3, 4], False, 3], 4: [[None, 4, None, None], [1, 2, 3, 5], [0, 2, 3], 1, [3, 4], False, 3], 5: [[None, 5, None, None], [1, 2, 3, 5], [0, 2, 3], 1, [3, 4], False, 3]}[N])\ncheck('3', solve([[N,N+1,N+2],0,[N,N+1,N+2],[],3]), {1: [[None, 2, 3], [2, 2, 3], [0], 2, [0, 1], False, 1], 2: [[None, 3, 4], [3, 3, 4], [0], 2, [0, 2], False, 1], 3: [[None, 4, 5], [4, 4, 5], [0], 2, [0, 3], False, 1], 4: [[None, 5, 6], [5, 5, 6], [0], 2, [0, 4], False, 1], 5: [[None, 6, 7], [6, 6, 7], [0], 2, [0, 5], False, 1]}[N])\ncheck('4', solve([[N,None,N+1],2,[3,0,7],[1],2]), {1: [[1, None, None], [3, 0, 8], [1, 2], 1, [2, 7], False, 2], 2: [[2, None, None], [3, 0, 8], [1, 2], 1, [2, 7], False, 2], 3: [[3, None, None], [3, 0, 8], [1, 2], 1, [2, 7], False, 2], 4: [[4, None, None], [3, 0, 8], [1, 2], 1, [2, 7], False, 2], 5: [[5, None, None], [3, 0, 8], [1, 2], 1, [2, 7], False, 2]}[N])\ncheck('5', solve([[None,N],1,[4,N],[0],1]), {1: [[None, None], [4, 2], [0, 1], 0, [1, 1], False, 2], 2: [[None, None], [4, 3], [0, 1], 0, [1, 2], False, 2], 3: [[None, None], [4, 4], [0, 1], 0, [1, 3], False, 2], 4: [[None, None], [4, 5], [0, 1], 0, [1, 4], False, 2], 5: [[None, None], [4, 6], [0, 1], 0, [1, 5], False, 2]}[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-slot-retirement-generation-bump","generated_at":"2026-09-29T14:44:33.320808+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 generation bump invariant in slot-retirement.","root_cause":"Deque retirement advances every slot generation.","sha256":"93c0f232bd164c9dcabe1baee7af65d944bfa1c559c3b0d2b3af85fece1ef8d8","title":"Deque retirement advances every slot generation · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":40.584,"exit_code":1,"observations":[{"actual":[[1,null,null],[3,6,1],[2,1],1,[1,4],false,2],"check":"0","expected":[[1,null,null],[2,5,0],[2,1],1,[1,4],false,2],"passed":false},{"actual":[[null],[2],[0],0,[0,1],false,1],"check":"1","expected":[[null],[2],[0],0,[0,1],false,1],"passed":true},{"actual":[[null,1,null,null],[2,3,4,6],[0,2,3],1,[3,4],false,3],"check":"2","expected":[[null,1,null,null],[1,2,3,5],[0,2,3],1,[3,4],false,3],"passed":false},{"actual":[[null,2,3],[3,3,4],[0],2,[0,1],false,1],"check":"3","expected":[[null,2,3],[2,2,3],[0],2,[0,1],false,1],"passed":false},{"actual":[[1,null,null],[4,1,9],[1,2],1,[2,7],false,2],"check":"4","expected":[[1,null,null],[3,0,8],[1,2],1,[2,7],false,2],"passed":false},{"actual":[[null,null],[4,2],[0,1],0,[1,1],false,2],"check":"5","expected":[[null,null],[4,2],[0,1],0,[1,1],false,2],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"0\", \"actual\": [[1, null, null], [3, 6, 1], [2, 1], 1, [1, 4], false, 2], \"expected\": [[1, null, null], [2, 5, 0], [2, 1], 1, [1, 4], false, 2], \"passed\": false}, {\"check\": \"1\", \"actual\": [[null], [2], [0], 0, [0, 1], false, 1], \"expected\": [[null], [2], [0], 0, [0, 1], false, 1], \"passed\": true}, {\"check\": \"2\", \"actual\": [[null, 1, null, null], [2, 3, 4, 6], [0, 2, 3], 1, [3, 4], false, 3], \"expected\": [[null, 1, null, null], [1, 2, 3, 5], [0, 2, 3], 1, [3, 4], false, 3], \"passed\": false}, {\"check\": \"3\", \"actual\": [[null, 2, 3], [3, 3, 4], [0], 2, [0, 1], false, 1], \"expected\": [[null, 2, 3], [2, 2, 3], [0], 2, [0, 1], false, 1], \"passed\": false}, {\"check\": \"4\", \"actual\": [[1, null, null], [4, 1, 9], [1, 2], 1, [2, 7], false, 2], \"expected\": [[1, null, null], [3, 0, 8], [1, 2], 1, [2, 7], false, 2], \"passed\": false}, {\"check\": \"5\", \"actual\": [[null, null], [4, 2], [0, 1], 0, [1, 1], false, 2], \"expected\": [[null, null], [4, 2], [0, 1], 0, [1, 1], false, 2], \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":46.592,"exit_code":1,"observations":[{"actual":[[1,null,null],[3,5,1],[2,1],1,[1,4],false,2],"check":"0","expected":[[1,null,null],[2,5,0],[2,1],1,[1,4],false,2],"passed":false},{"actual":[[null],[2],[0],0,[0,1],false,1],"check":"1","expected":[[null],[2],[0],0,[0,1],false,1],"passed":true},{"actual":[[null,1,null,null],[2,3,4,5],[0,2,3],1,[3,4],false,3],"check":"2","expected":[[null,1,null,null],[1,2,3,5],[0,2,3],1,[3,4],false,3],"passed":false},{"actual":[[null,2,3],[2,3,4],[0],2,[0,1],false,1],"check":"3","expected":[[null,2,3],[2,2,3],[0],2,[0,1],false,1],"passed":false},{"actual":[[1,null,null],[4,1,8],[1,2],1,[2,7],false,2],"check":"4","expected":[[1,null,null],[3,0,8],[1,2],1,[2,7],false,2],"passed":false},{"actual":[[null,null],[5,2],[0,1],0,[1,1],false,2],"check":"5","expected":[[null,null],[4,2],[0,1],0,[1,1],false,2],"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"0\", \"actual\": [[1, null, null], [3, 5, 1], [2, 1], 1, [1, 4], false, 2], \"expected\": [[1, null, null], [2, 5, 0], [2, 1], 1, [1, 4], false, 2], \"passed\": false}, {\"check\": \"1\", \"actual\": [[null], [2], [0], 0, [0, 1], false, 1], \"expected\": [[null], [2], [0], 0, [0, 1], false, 1], \"passed\": true}, {\"check\": \"2\", \"actual\": [[null, 1, null, null], [2, 3, 4, 5], [0, 2, 3], 1, [3, 4], false, 3], \"expected\": [[null, 1, null, null], [1, 2, 3, 5], [0, 2, 3], 1, [3, 4], false, 3], \"passed\": false}, {\"check\": \"3\", \"actual\": [[null, 2, 3], [2, 3, 4], [0], 2, [0, 1], false, 1], \"expected\": [[null, 2, 3], [2, 2, 3], [0], 2, [0, 1], false, 1], \"passed\": false}, {\"check\": \"4\", \"actual\": [[1, null, null], [4, 1, 8], [1, 2], 1, [2, 7], false, 2], \"expected\": [[1, null, null], [3, 0, 8], [1, 2], 1, [2, 7], false, 2], \"passed\": false}, {\"check\": \"5\", \"actual\": [[null, null], [5, 2], [0, 1], 0, [1, 1], false, 2], \"expected\": [[null, null], [4, 2], [0, 1], 0, [1, 1], false, 2], \"passed\": false}], \"passed\": false}\n"},"fixed":{"elapsed_ms":41.949,"exit_code":0,"observations":[{"actual":[[1,null,null],[2,5,0],[2,1],1,[1,4],false,2],"check":"0","expected":[[1,null,null],[2,5,0],[2,1],1,[1,4],false,2],"passed":true},{"actual":[[null],[2],[0],0,[0,1],false,1],"check":"1","expected":[[null],[2],[0],0,[0,1],false,1],"passed":true},{"actual":[[null,1,null,null],[1,2,3,5],[0,2,3],1,[3,4],false,3],"check":"2","expected":[[null,1,null,null],[1,2,3,5],[0,2,3],1,[3,4],false,3],"passed":true},{"actual":[[null,2,3],[2,2,3],[0],2,[0,1],false,1],"check":"3","expected":[[null,2,3],[2,2,3],[0],2,[0,1],false,1],"passed":true},{"actual":[[1,null,null],[3,0,8],[1,2],1,[2,7],false,2],"check":"4","expected":[[1,null,null],[3,0,8],[1,2],1,[2,7],false,2],"passed":true},{"actual":[[null,null],[4,2],[0,1],0,[1,1],false,2],"check":"5","expected":[[null,null],[4,2],[0,1],0,[1,1],false,2],"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"0\", \"actual\": [[1, null, null], [2, 5, 0], [2, 1], 1, [1, 4], false, 2], \"expected\": [[1, null, null], [2, 5, 0], [2, 1], 1, [1, 4], false, 2], \"passed\": true}, {\"check\": \"1\", \"actual\": [[null], [2], [0], 0, [0, 1], false, 1], \"expected\": [[null], [2], [0], 0, [0, 1], false, 1], \"passed\": true}, {\"check\": \"2\", \"actual\": [[null, 1, null, null], [1, 2, 3, 5], [0, 2, 3], 1, [3, 4], false, 3], \"expected\": [[null, 1, null, null], [1, 2, 3, 5], [0, 2, 3], 1, [3, 4], false, 3], \"passed\": true}, {\"check\": \"3\", \"actual\": [[null, 2, 3], [2, 2, 3], [0], 2, [0, 1], false, 1], \"expected\": [[null, 2, 3], [2, 2, 3], [0], 2, [0, 1], false, 1], \"passed\": true}, {\"check\": \"4\", \"actual\": [[1, null, null], [3, 0, 8], [1, 2], 1, [2, 7], false, 2], \"expected\": [[1, null, null], [3, 0, 8], [1, 2], 1, [2, 7], false, 2], \"passed\": true}, {\"check\": \"5\", \"actual\": [[null, null], [4, 2], [0, 1], 0, [1, 1], false, 2], \"expected\": [[null, null], [4, 2], [0, 1], 0, [1, 1], false, 2], \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}