{"abstract":"Deque rollback discards outer checkpoints and retains nested ones.","category":"Bounded deques","checks":6,"contract":"Deque savepoints capture ordered snapshots by unique tag. Rolling back restores a named snapshot and discards it plus nested checkpoints. Release discards the same checkpoint suffix without restoring data. Unknown tags preserve state.","evaluation_group":"s3-bounded-deques-nested-checkpoints","failed_approach":"The partial repair still applies the incorrect transition to an admitted boundary or multi-element case.","family":"s3-bounded-deques-nested-checkpoints-nested-discard","id":"FA-46906","implementations":{"attempt":{"sha256":"dcaa80d7f260bde0741ffa192c8093d8ea6c14d5d99ab79c2d692056922335b2","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(x):\n    a,stack,op,tag=x\n    if op=='save':return [a,stack+[[tag,a[:]]],tag,True]\n    where=next((i for i,z in enumerate(stack) if z[0]==tag),None)\n    if where is None:return [a,stack,None,False]\n    retained=stack[:where] if where==len(stack)-1 else stack[where+1:]\n    state=stack[where][1][:] if op=='rollback' else a[:]\n    return [state,retained,tag,True]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('0', solve([[N+2],[[1,[N]],[2,[N+1]]],\"rollback\",1]), {1: [[1], [], 1, True], 2: [[2], [], 1, True], 3: [[3], [], 1, True], 4: [[4], [], 1, True], 5: [[5], [], 1, True]}[N])\ncheck('1', solve([[N+2],[[1,[N]],[2,[N+1]]],\"rollback\",2]), {1: [[2], [[1, [1]]], 2, True], 2: [[3], [[1, [2]]], 2, True], 3: [[4], [[1, [3]]], 2, True], 4: [[5], [[1, [4]]], 2, True], 5: [[6], [[1, [5]]], 2, True]}[N])\ncheck('2', solve([[N+2],[[1,[N]],[2,[N+1]]],\"release\",1]), {1: [[3], [], 1, True], 2: [[4], [], 1, True], 3: [[5], [], 1, True], 4: [[6], [], 1, True], 5: [[7], [], 1, True]}[N])\ncheck('3', solve([[N],[],\"save\",3]), {1: [[1], [[3, [1]]], 3, True], 2: [[2], [[3, [2]]], 3, True], 3: [[3], [[3, [3]]], 3, True], 4: [[4], [[3, [4]]], 3, True], 5: [[5], [[3, [5]]], 3, True]}[N])\ncheck('4', solve([[N],[[1,[N-1]]],\"save\",4]), {1: [[1], [[1, [0]], [4, [1]]], 4, True], 2: [[2], [[1, [1]], [4, [2]]], 4, True], 3: [[3], [[1, [2]], [4, [3]]], 4, True], 4: [[4], [[1, [3]], [4, [4]]], 4, True], 5: [[5], [[1, [4]], [4, [5]]], 4, True]}[N])\ncheck('5', solve([[N],[[1,[N-1]]],\"rollback\",9]), {1: [[1], [[1, [0]]], None, False], 2: [[2], [[1, [1]]], None, False], 3: [[3], [[1, [2]]], None, False], 4: [[4], [[1, [3]]], None, False], 5: [[5], [[1, [4]]], None, False]}[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":"b6918e51bf2ba86ff5eb0b203217cad8c4289632060ced68df32a747564dce15","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(x):\n    a,stack,op,tag=x\n    if op=='save':return [a,stack+[[tag,a[:]]],tag,True]\n    where=next((i for i,z in enumerate(stack) if z[0]==tag),None)\n    if where is None:return [a,stack,None,False]\n    retained=stack[where+1:]\n    state=stack[where][1][:] if op=='rollback' else a[:]\n    return [state,retained,tag,True]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('0', solve([[N+2],[[1,[N]],[2,[N+1]]],\"rollback\",1]), {1: [[1], [], 1, True], 2: [[2], [], 1, True], 3: [[3], [], 1, True], 4: [[4], [], 1, True], 5: [[5], [], 1, True]}[N])\ncheck('1', solve([[N+2],[[1,[N]],[2,[N+1]]],\"rollback\",2]), {1: [[2], [[1, [1]]], 2, True], 2: [[3], [[1, [2]]], 2, True], 3: [[4], [[1, [3]]], 2, True], 4: [[5], [[1, [4]]], 2, True], 5: [[6], [[1, [5]]], 2, True]}[N])\ncheck('2', solve([[N+2],[[1,[N]],[2,[N+1]]],\"release\",1]), {1: [[3], [], 1, True], 2: [[4], [], 1, True], 3: [[5], [], 1, True], 4: [[6], [], 1, True], 5: [[7], [], 1, True]}[N])\ncheck('3', solve([[N],[],\"save\",3]), {1: [[1], [[3, [1]]], 3, True], 2: [[2], [[3, [2]]], 3, True], 3: [[3], [[3, [3]]], 3, True], 4: [[4], [[3, [4]]], 3, True], 5: [[5], [[3, [5]]], 3, True]}[N])\ncheck('4', solve([[N],[[1,[N-1]]],\"save\",4]), {1: [[1], [[1, [0]], [4, [1]]], 4, True], 2: [[2], [[1, [1]], [4, [2]]], 4, True], 3: [[3], [[1, [2]], [4, [3]]], 4, True], 4: [[4], [[1, [3]], [4, [4]]], 4, True], 5: [[5], [[1, [4]], [4, [5]]], 4, True]}[N])\ncheck('5', solve([[N],[[1,[N-1]]],\"rollback\",9]), {1: [[1], [[1, [0]]], None, False], 2: [[2], [[1, [1]]], None, False], 3: [[3], [[1, [2]]], None, False], 4: [[4], [[1, [3]]], None, False], 5: [[5], [[1, [4]]], None, False]}[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":"7750aaa508db48ef2d6f81ac9d3a162d24ff25dadb23f315531b1ad6238c63bc","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(x):\n    a,stack,op,tag=x\n    if op=='save':return [a,stack+[[tag,a[:]]],tag,True]\n    where=next((i for i,z in enumerate(stack) if z[0]==tag),None)\n    if where is None:return [a,stack,None,False]\n    retained=stack[:where]\n    state=stack[where][1][:] if op=='rollback' else a[:]\n    return [state,retained,tag,True]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('0', solve([[N+2],[[1,[N]],[2,[N+1]]],\"rollback\",1]), {1: [[1], [], 1, True], 2: [[2], [], 1, True], 3: [[3], [], 1, True], 4: [[4], [], 1, True], 5: [[5], [], 1, True]}[N])\ncheck('1', solve([[N+2],[[1,[N]],[2,[N+1]]],\"rollback\",2]), {1: [[2], [[1, [1]]], 2, True], 2: [[3], [[1, [2]]], 2, True], 3: [[4], [[1, [3]]], 2, True], 4: [[5], [[1, [4]]], 2, True], 5: [[6], [[1, [5]]], 2, True]}[N])\ncheck('2', solve([[N+2],[[1,[N]],[2,[N+1]]],\"release\",1]), {1: [[3], [], 1, True], 2: [[4], [], 1, True], 3: [[5], [], 1, True], 4: [[6], [], 1, True], 5: [[7], [], 1, True]}[N])\ncheck('3', solve([[N],[],\"save\",3]), {1: [[1], [[3, [1]]], 3, True], 2: [[2], [[3, [2]]], 3, True], 3: [[3], [[3, [3]]], 3, True], 4: [[4], [[3, [4]]], 3, True], 5: [[5], [[3, [5]]], 3, True]}[N])\ncheck('4', solve([[N],[[1,[N-1]]],\"save\",4]), {1: [[1], [[1, [0]], [4, [1]]], 4, True], 2: [[2], [[1, [1]], [4, [2]]], 4, True], 3: [[3], [[1, [2]], [4, [3]]], 4, True], 4: [[4], [[1, [3]], [4, [4]]], 4, True], 5: [[5], [[1, [4]], [4, [5]]], 4, True]}[N])\ncheck('5', solve([[N],[[1,[N-1]]],\"rollback\",9]), {1: [[1], [[1, [0]]], None, False], 2: [[2], [[1, [1]]], None, False], 3: [[3], [[1, [2]]], None, False], 4: [[4], [[1, [3]]], None, False], 5: [[5], [[1, [4]]], None, False]}[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-nested-checkpoints-nested-discard","generated_at":"2026-09-29T14:44:36.503771+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 nested discard invariant in nested-checkpoints.","root_cause":"Deque rollback discards outer checkpoints and retains nested ones.","sha256":"d095dd5eb44632513cd5f7e30d9a54226b9b99798fd8635231c17ab0a6862d56","title":"Deque rollback discards outer checkpoints and retains nested ones · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":39.163,"exit_code":1,"observations":[{"actual":[[1],[[2,[2]]],1,true],"check":"0","expected":[[1],[],1,true],"passed":false},{"actual":[[2],[[1,[1]]],2,true],"check":"1","expected":[[2],[[1,[1]]],2,true],"passed":true},{"actual":[[3],[[2,[2]]],1,true],"check":"2","expected":[[3],[],1,true],"passed":false},{"actual":[[1],[[3,[1]]],3,true],"check":"3","expected":[[1],[[3,[1]]],3,true],"passed":true},{"actual":[[1],[[1,[0]],[4,[1]]],4,true],"check":"4","expected":[[1],[[1,[0]],[4,[1]]],4,true],"passed":true},{"actual":[[1],[[1,[0]]],null,false],"check":"5","expected":[[1],[[1,[0]]],null,false],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"0\", \"actual\": [[1], [[2, [2]]], 1, true], \"expected\": [[1], [], 1, true], \"passed\": false}, {\"check\": \"1\", \"actual\": [[2], [[1, [1]]], 2, true], \"expected\": [[2], [[1, [1]]], 2, true], \"passed\": true}, {\"check\": \"2\", \"actual\": [[3], [[2, [2]]], 1, true], \"expected\": [[3], [], 1, true], \"passed\": false}, {\"check\": \"3\", \"actual\": [[1], [[3, [1]]], 3, true], \"expected\": [[1], [[3, [1]]], 3, true], \"passed\": true}, {\"check\": \"4\", \"actual\": [[1], [[1, [0]], [4, [1]]], 4, true], \"expected\": [[1], [[1, [0]], [4, [1]]], 4, true], \"passed\": true}, {\"check\": \"5\", \"actual\": [[1], [[1, [0]]], null, false], \"expected\": [[1], [[1, [0]]], null, false], \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":39.777,"exit_code":1,"observations":[{"actual":[[1],[[2,[2]]],1,true],"check":"0","expected":[[1],[],1,true],"passed":false},{"actual":[[2],[],2,true],"check":"1","expected":[[2],[[1,[1]]],2,true],"passed":false},{"actual":[[3],[[2,[2]]],1,true],"check":"2","expected":[[3],[],1,true],"passed":false},{"actual":[[1],[[3,[1]]],3,true],"check":"3","expected":[[1],[[3,[1]]],3,true],"passed":true},{"actual":[[1],[[1,[0]],[4,[1]]],4,true],"check":"4","expected":[[1],[[1,[0]],[4,[1]]],4,true],"passed":true},{"actual":[[1],[[1,[0]]],null,false],"check":"5","expected":[[1],[[1,[0]]],null,false],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"0\", \"actual\": [[1], [[2, [2]]], 1, true], \"expected\": [[1], [], 1, true], \"passed\": false}, {\"check\": \"1\", \"actual\": [[2], [], 2, true], \"expected\": [[2], [[1, [1]]], 2, true], \"passed\": false}, {\"check\": \"2\", \"actual\": [[3], [[2, [2]]], 1, true], \"expected\": [[3], [], 1, true], \"passed\": false}, {\"check\": \"3\", \"actual\": [[1], [[3, [1]]], 3, true], \"expected\": [[1], [[3, [1]]], 3, true], \"passed\": true}, {\"check\": \"4\", \"actual\": [[1], [[1, [0]], [4, [1]]], 4, true], \"expected\": [[1], [[1, [0]], [4, [1]]], 4, true], \"passed\": true}, {\"check\": \"5\", \"actual\": [[1], [[1, [0]]], null, false], \"expected\": [[1], [[1, [0]]], null, false], \"passed\": true}], \"passed\": false}\n"},"fixed":{"elapsed_ms":39.137,"exit_code":0,"observations":[{"actual":[[1],[],1,true],"check":"0","expected":[[1],[],1,true],"passed":true},{"actual":[[2],[[1,[1]]],2,true],"check":"1","expected":[[2],[[1,[1]]],2,true],"passed":true},{"actual":[[3],[],1,true],"check":"2","expected":[[3],[],1,true],"passed":true},{"actual":[[1],[[3,[1]]],3,true],"check":"3","expected":[[1],[[3,[1]]],3,true],"passed":true},{"actual":[[1],[[1,[0]],[4,[1]]],4,true],"check":"4","expected":[[1],[[1,[0]],[4,[1]]],4,true],"passed":true},{"actual":[[1],[[1,[0]]],null,false],"check":"5","expected":[[1],[[1,[0]]],null,false],"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"0\", \"actual\": [[1], [], 1, true], \"expected\": [[1], [], 1, true], \"passed\": true}, {\"check\": \"1\", \"actual\": [[2], [[1, [1]]], 2, true], \"expected\": [[2], [[1, [1]]], 2, true], \"passed\": true}, {\"check\": \"2\", \"actual\": [[3], [], 1, true], \"expected\": [[3], [], 1, true], \"passed\": true}, {\"check\": \"3\", \"actual\": [[1], [[3, [1]]], 3, true], \"expected\": [[1], [[3, [1]]], 3, true], \"passed\": true}, {\"check\": \"4\", \"actual\": [[1], [[1, [0]], [4, [1]]], 4, true], \"expected\": [[1], [[1, [0]], [4, [1]]], 4, true], \"passed\": true}, {\"check\": \"5\", \"actual\": [[1], [[1, [0]]], null, false], \"expected\": [[1], [[1, [0]]], null, false], \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}