{"abstract":"Deque block release frees borrowed storage.","category":"Bounded deques","checks":6,"contract":"A deque block with outstanding borrowers cannot be freed. Otherwise clear its live references, append to a bounded free-block cache and dispose the oldest surplus block identities.","evaluation_group":"s3-bounded-deques-block-release","failed_approach":"The partial repair still applies the incorrect transition to an admitted boundary or multi-element case.","family":"s3-bounded-deques-block-release-borrow-barrier","id":"FA-46466","implementations":{"attempt":{"sha256":"2b900a19f19cc1cb98f0bd28672e24733766954b8679c3960fc87a1371166cd5","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(x):\n    pool,identity,borrowed,limit,live=x\n    if borrowed and not live:return [pool,False,live,[]]\n    references=[]\n    combined=pool+[identity]\n    saved=combined[-limit:] if limit else []\n    disposed=combined[:len(combined)-len(saved)]\n    return [saved,True,references,disposed]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('0', solve([[1,2],3,False,2,[N,N+1]]), {1: [[2, 3], True, [], [1]], 2: [[2, 3], True, [], [1]], 3: [[2, 3], True, [], [1]], 4: [[2, 3], True, [], [1]], 5: [[2, 3], True, [], [1]]}[N])\ncheck('1', solve([[1],2,True,3,[N]]), {1: [[1], False, [1], []], 2: [[1], False, [2], []], 3: [[1], False, [3], []], 4: [[1], False, [4], []], 5: [[1], False, [5], []]}[N])\ncheck('2', solve([[],4,False,0,[N,N+1]]), {1: [[], True, [], [4]], 2: [[], True, [], [4]], 3: [[], True, [], [4]], 4: [[], True, [], [4]], 5: [[], True, [], [4]]}[N])\ncheck('3', solve([[2],5,False,3,[N]]), {1: [[2, 5], True, [], []], 2: [[2, 5], True, [], []], 3: [[2, 5], True, [], []], 4: [[2, 5], True, [], []], 5: [[2, 5], True, [], []]}[N])\ncheck('4', solve([[1,2,3],4,False,1,[N]]), {1: [[4], True, [], [1, 2, 3]], 2: [[4], True, [], [1, 2, 3]], 3: [[4], True, [], [1, 2, 3]], 4: [[4], True, [], [1, 2, 3]], 5: [[4], True, [], [1, 2, 3]]}[N])\ncheck('5', solve([[],7,False,2,[]]), {1: [[7], True, [], []], 2: [[7], True, [], []], 3: [[7], True, [], []], 4: [[7], True, [], []], 5: [[7], True, [], []]}[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":"e4e5b6d465c33a4be55b4c2f74489bd5d50fc1315022c45841ad1a0f2148a06c","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(x):\n    pool,identity,borrowed,limit,live=x\n    if False:return [pool,False,live,[]]\n    references=[]\n    combined=pool+[identity]\n    saved=combined[-limit:] if limit else []\n    disposed=combined[:len(combined)-len(saved)]\n    return [saved,True,references,disposed]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('0', solve([[1,2],3,False,2,[N,N+1]]), {1: [[2, 3], True, [], [1]], 2: [[2, 3], True, [], [1]], 3: [[2, 3], True, [], [1]], 4: [[2, 3], True, [], [1]], 5: [[2, 3], True, [], [1]]}[N])\ncheck('1', solve([[1],2,True,3,[N]]), {1: [[1], False, [1], []], 2: [[1], False, [2], []], 3: [[1], False, [3], []], 4: [[1], False, [4], []], 5: [[1], False, [5], []]}[N])\ncheck('2', solve([[],4,False,0,[N,N+1]]), {1: [[], True, [], [4]], 2: [[], True, [], [4]], 3: [[], True, [], [4]], 4: [[], True, [], [4]], 5: [[], True, [], [4]]}[N])\ncheck('3', solve([[2],5,False,3,[N]]), {1: [[2, 5], True, [], []], 2: [[2, 5], True, [], []], 3: [[2, 5], True, [], []], 4: [[2, 5], True, [], []], 5: [[2, 5], True, [], []]}[N])\ncheck('4', solve([[1,2,3],4,False,1,[N]]), {1: [[4], True, [], [1, 2, 3]], 2: [[4], True, [], [1, 2, 3]], 3: [[4], True, [], [1, 2, 3]], 4: [[4], True, [], [1, 2, 3]], 5: [[4], True, [], [1, 2, 3]]}[N])\ncheck('5', solve([[],7,False,2,[]]), {1: [[7], True, [], []], 2: [[7], True, [], []], 3: [[7], True, [], []], 4: [[7], True, [], []], 5: [[7], True, [], []]}[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":"e0dfa3c1510b34330ba19826d7a1d23d2fa44d854fcb297a228cd8d550ed424f","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(x):\n    pool,identity,borrowed,limit,live=x\n    if borrowed:return [pool,False,live,[]]\n    references=[]\n    combined=pool+[identity]\n    saved=combined[-limit:] if limit else []\n    disposed=combined[:len(combined)-len(saved)]\n    return [saved,True,references,disposed]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('0', solve([[1,2],3,False,2,[N,N+1]]), {1: [[2, 3], True, [], [1]], 2: [[2, 3], True, [], [1]], 3: [[2, 3], True, [], [1]], 4: [[2, 3], True, [], [1]], 5: [[2, 3], True, [], [1]]}[N])\ncheck('1', solve([[1],2,True,3,[N]]), {1: [[1], False, [1], []], 2: [[1], False, [2], []], 3: [[1], False, [3], []], 4: [[1], False, [4], []], 5: [[1], False, [5], []]}[N])\ncheck('2', solve([[],4,False,0,[N,N+1]]), {1: [[], True, [], [4]], 2: [[], True, [], [4]], 3: [[], True, [], [4]], 4: [[], True, [], [4]], 5: [[], True, [], [4]]}[N])\ncheck('3', solve([[2],5,False,3,[N]]), {1: [[2, 5], True, [], []], 2: [[2, 5], True, [], []], 3: [[2, 5], True, [], []], 4: [[2, 5], True, [], []], 5: [[2, 5], True, [], []]}[N])\ncheck('4', solve([[1,2,3],4,False,1,[N]]), {1: [[4], True, [], [1, 2, 3]], 2: [[4], True, [], [1, 2, 3]], 3: [[4], True, [], [1, 2, 3]], 4: [[4], True, [], [1, 2, 3]], 5: [[4], True, [], [1, 2, 3]]}[N])\ncheck('5', solve([[],7,False,2,[]]), {1: [[7], True, [], []], 2: [[7], True, [], []], 3: [[7], True, [], []], 4: [[7], True, [], []], 5: [[7], True, [], []]}[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-release-borrow-barrier","generated_at":"2026-09-29T14:44:32.319777+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 borrow barrier invariant in block-release.","root_cause":"Deque block release frees borrowed storage.","sha256":"f3e51a49a1ff2a4c123e33d2c2ec5fdb060757bf1e1be09ef6cc0707fcbba3a7","title":"Deque block release frees borrowed storage · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":41.021,"exit_code":1,"observations":[{"actual":[[2,3],true,[],[1]],"check":"0","expected":[[2,3],true,[],[1]],"passed":true},{"actual":[[1,2],true,[],[]],"check":"1","expected":[[1],false,[1],[]],"passed":false},{"actual":[[],true,[],[4]],"check":"2","expected":[[],true,[],[4]],"passed":true},{"actual":[[2,5],true,[],[]],"check":"3","expected":[[2,5],true,[],[]],"passed":true},{"actual":[[4],true,[],[1,2,3]],"check":"4","expected":[[4],true,[],[1,2,3]],"passed":true},{"actual":[[7],true,[],[]],"check":"5","expected":[[7],true,[],[]],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"0\", \"actual\": [[2, 3], true, [], [1]], \"expected\": [[2, 3], true, [], [1]], \"passed\": true}, {\"check\": \"1\", \"actual\": [[1, 2], true, [], []], \"expected\": [[1], false, [1], []], \"passed\": false}, {\"check\": \"2\", \"actual\": [[], true, [], [4]], \"expected\": [[], true, [], [4]], \"passed\": true}, {\"check\": \"3\", \"actual\": [[2, 5], true, [], []], \"expected\": [[2, 5], true, [], []], \"passed\": true}, {\"check\": \"4\", \"actual\": [[4], true, [], [1, 2, 3]], \"expected\": [[4], true, [], [1, 2, 3]], \"passed\": true}, {\"check\": \"5\", \"actual\": [[7], true, [], []], \"expected\": [[7], true, [], []], \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":40.593,"exit_code":1,"observations":[{"actual":[[2,3],true,[],[1]],"check":"0","expected":[[2,3],true,[],[1]],"passed":true},{"actual":[[1,2],true,[],[]],"check":"1","expected":[[1],false,[1],[]],"passed":false},{"actual":[[],true,[],[4]],"check":"2","expected":[[],true,[],[4]],"passed":true},{"actual":[[2,5],true,[],[]],"check":"3","expected":[[2,5],true,[],[]],"passed":true},{"actual":[[4],true,[],[1,2,3]],"check":"4","expected":[[4],true,[],[1,2,3]],"passed":true},{"actual":[[7],true,[],[]],"check":"5","expected":[[7],true,[],[]],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"0\", \"actual\": [[2, 3], true, [], [1]], \"expected\": [[2, 3], true, [], [1]], \"passed\": true}, {\"check\": \"1\", \"actual\": [[1, 2], true, [], []], \"expected\": [[1], false, [1], []], \"passed\": false}, {\"check\": \"2\", \"actual\": [[], true, [], [4]], \"expected\": [[], true, [], [4]], \"passed\": true}, {\"check\": \"3\", \"actual\": [[2, 5], true, [], []], \"expected\": [[2, 5], true, [], []], \"passed\": true}, {\"check\": \"4\", \"actual\": [[4], true, [], [1, 2, 3]], \"expected\": [[4], true, [], [1, 2, 3]], \"passed\": true}, {\"check\": \"5\", \"actual\": [[7], true, [], []], \"expected\": [[7], true, [], []], \"passed\": true}], \"passed\": false}\n"},"fixed":{"elapsed_ms":45.321,"exit_code":0,"observations":[{"actual":[[2,3],true,[],[1]],"check":"0","expected":[[2,3],true,[],[1]],"passed":true},{"actual":[[1],false,[1],[]],"check":"1","expected":[[1],false,[1],[]],"passed":true},{"actual":[[],true,[],[4]],"check":"2","expected":[[],true,[],[4]],"passed":true},{"actual":[[2,5],true,[],[]],"check":"3","expected":[[2,5],true,[],[]],"passed":true},{"actual":[[4],true,[],[1,2,3]],"check":"4","expected":[[4],true,[],[1,2,3]],"passed":true},{"actual":[[7],true,[],[]],"check":"5","expected":[[7],true,[],[]],"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"0\", \"actual\": [[2, 3], true, [], [1]], \"expected\": [[2, 3], true, [], [1]], \"passed\": true}, {\"check\": \"1\", \"actual\": [[1], false, [1], []], \"expected\": [[1], false, [1], []], \"passed\": true}, {\"check\": \"2\", \"actual\": [[], true, [], [4]], \"expected\": [[], true, [], [4]], \"passed\": true}, {\"check\": \"3\", \"actual\": [[2, 5], true, [], []], \"expected\": [[2, 5], true, [], []], \"passed\": true}, {\"check\": \"4\", \"actual\": [[4], true, [], [1, 2, 3]], \"expected\": [[4], true, [], [1, 2, 3]], \"passed\": true}, {\"check\": \"5\", \"actual\": [[7], true, [], []], \"expected\": [[7], true, [], []], \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}