{"abstract":"Growth leaves old-capacity slack instead of new-capacity slack.","category":"Bounded deques","checks":6,"contract":"Grow a ring to larger positive capacity. Linearize occupied slots in logical order, clear unused storage, reset head and report next insertion index and unchanged logical count.","contract_signature":"x","evaluation_group":"s3-bounded-deques-ring-grow","failed_approach":"The partial repair still applies the incorrect transition to an admitted boundary or multi-element case.","family":"s3-bounded-deques-ring-grow-unused-storage","id":"FA-45896","implementations":{"attempt":{"sha256":"05ca3c664e8f69ff07d399516ea10d950cc3cb374436bea670dcc3b541163f4b","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(x):\n    slots, head, size, capacity = x\n    old = len(slots)\n    live = [slots[(head + i) % old] for i in range(size)]\n    new = live + [None] * (capacity - size if size == 0 else old - size)\n    new_head = 0\n    write = size % capacity\n    return [new, new_head, write, size]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('wrapped live data', solve([[N,None,None,N+1,N+2],3,3,7]), [[N+1,N+2,N,None,None,None,None],0,3,3])\ncheck('empty shifted ring', solve([[None]*4,3,0,6]), [[None]*6,0,0,0])\ncheck('one shifted value', solve([[None,N,None],1,1,5]), [[N,None,None,None,None],0,1,1])\ncheck('full old ring', solve([[N,N+1,N+2],1,3,5]), [[N+1,N+2,N,None,None],0,3,3])\ncheck('head zero', solve([[N,N+1,None],0,2,6]), [[N,N+1,None,None,None,None],0,2,2])\ncheck('two wrapped values', solve([[N,None,None,N+1],3,2,8]), [[N+1,N,None,None,None,None,None,None],0,2,2])\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":"d931475eca92fbedd0e9d5729ead6cc2e897afa3f769f1e760db3a855a212ef5","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(x):\n    slots, head, size, capacity = x\n    old = len(slots)\n    live = [slots[(head + i) % old] for i in range(size)]\n    new = live + [None] * (old - size)\n    new_head = 0\n    write = size % capacity\n    return [new, new_head, write, size]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('wrapped live data', solve([[N,None,None,N+1,N+2],3,3,7]), [[N+1,N+2,N,None,None,None,None],0,3,3])\ncheck('empty shifted ring', solve([[None]*4,3,0,6]), [[None]*6,0,0,0])\ncheck('one shifted value', solve([[None,N,None],1,1,5]), [[N,None,None,None,None],0,1,1])\ncheck('full old ring', solve([[N,N+1,N+2],1,3,5]), [[N+1,N+2,N,None,None],0,3,3])\ncheck('head zero', solve([[N,N+1,None],0,2,6]), [[N,N+1,None,None,None,None],0,2,2])\ncheck('two wrapped values', solve([[N,None,None,N+1],3,2,8]), [[N+1,N,None,None,None,None,None,None],0,2,2])\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-ring-grow-unused-storage","generated_at":"2026-09-29T14:44:26.983422+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.","root_cause":"Allocation padding uses the previous capacity.","sha256":"4e27083be65ff550cedc8169ca2e667de059e77a762f8253e5c0086c6c6f85db","title":"Growth leaves old-capacity slack instead of new-capacity slack · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verified":true,"visibility":"public","verification":{"attempt":{"elapsed_ms":42.278,"exit_code":1,"observations":[{"actual":[[2,3,1,null,null],0,3,3],"check":"wrapped live data","expected":[[2,3,1,null,null,null,null],0,3,3],"passed":false},{"actual":[[null,null,null,null,null,null],0,0,0],"check":"empty shifted ring","expected":[[null,null,null,null,null,null],0,0,0],"passed":true},{"actual":[[1,null,null],0,1,1],"check":"one shifted value","expected":[[1,null,null,null,null],0,1,1],"passed":false},{"actual":[[2,3,1],0,3,3],"check":"full old ring","expected":[[2,3,1,null,null],0,3,3],"passed":false},{"actual":[[1,2,null],0,2,2],"check":"head zero","expected":[[1,2,null,null,null,null],0,2,2],"passed":false},{"actual":[[2,1,null,null],0,2,2],"check":"two wrapped values","expected":[[2,1,null,null,null,null,null,null],0,2,2],"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"wrapped live data\", \"actual\": [[2, 3, 1, null, null], 0, 3, 3], \"expected\": [[2, 3, 1, null, null, null, null], 0, 3, 3], \"passed\": false}, {\"check\": \"empty shifted ring\", \"actual\": [[null, null, null, null, null, null], 0, 0, 0], \"expected\": [[null, null, null, null, null, null], 0, 0, 0], \"passed\": true}, {\"check\": \"one shifted value\", \"actual\": [[1, null, null], 0, 1, 1], \"expected\": [[1, null, null, null, null], 0, 1, 1], \"passed\": false}, {\"check\": \"full old ring\", \"actual\": [[2, 3, 1], 0, 3, 3], \"expected\": [[2, 3, 1, null, null], 0, 3, 3], \"passed\": false}, {\"check\": \"head zero\", \"actual\": [[1, 2, null], 0, 2, 2], \"expected\": [[1, 2, null, null, null, null], 0, 2, 2], \"passed\": false}, {\"check\": \"two wrapped values\", \"actual\": [[2, 1, null, null], 0, 2, 2], \"expected\": [[2, 1, null, null, null, null, null, null], 0, 2, 2], \"passed\": false}], \"passed\": false}\n"},"broken":{"elapsed_ms":42.657,"exit_code":1,"observations":[{"actual":[[2,3,1,null,null],0,3,3],"check":"wrapped live data","expected":[[2,3,1,null,null,null,null],0,3,3],"passed":false},{"actual":[[null,null,null,null],0,0,0],"check":"empty shifted ring","expected":[[null,null,null,null,null,null],0,0,0],"passed":false},{"actual":[[1,null,null],0,1,1],"check":"one shifted value","expected":[[1,null,null,null,null],0,1,1],"passed":false},{"actual":[[2,3,1],0,3,3],"check":"full old ring","expected":[[2,3,1,null,null],0,3,3],"passed":false},{"actual":[[1,2,null],0,2,2],"check":"head zero","expected":[[1,2,null,null,null,null],0,2,2],"passed":false},{"actual":[[2,1,null,null],0,2,2],"check":"two wrapped values","expected":[[2,1,null,null,null,null,null,null],0,2,2],"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"wrapped live data\", \"actual\": [[2, 3, 1, null, null], 0, 3, 3], \"expected\": [[2, 3, 1, null, null, null, null], 0, 3, 3], \"passed\": false}, {\"check\": \"empty shifted ring\", \"actual\": [[null, null, null, null], 0, 0, 0], \"expected\": [[null, null, null, null, null, null], 0, 0, 0], \"passed\": false}, {\"check\": \"one shifted value\", \"actual\": [[1, null, null], 0, 1, 1], \"expected\": [[1, null, null, null, null], 0, 1, 1], \"passed\": false}, {\"check\": \"full old ring\", \"actual\": [[2, 3, 1], 0, 3, 3], \"expected\": [[2, 3, 1, null, null], 0, 3, 3], \"passed\": false}, {\"check\": \"head zero\", \"actual\": [[1, 2, null], 0, 2, 2], \"expected\": [[1, 2, null, null, null, null], 0, 2, 2], \"passed\": false}, {\"check\": \"two wrapped values\", \"actual\": [[2, 1, null, null], 0, 2, 2], \"expected\": [[2, 1, null, null, null, null, null, null], 0, 2, 2], \"passed\": false}], \"passed\": false}\n"}},"member_only":{"stages":["fixed"],"fields":["implementations.fixed","verification.fixed","harness","repair"],"note":"The verified repair, its recorded checks, the repair description, and the scoring harness are available to members."}}