{"abstract":"Growing a wrapped ring copies physical order.","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-linearization","id":"FA-45891","implementations":{"attempt":{"sha256":"d0fc363c682a00d56500c0375291b33710c94465dea0731f20cd22fba3a7ef06","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:head+size] if head + size <= old else slots[:size]\n    new = live + [None] * (capacity - 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":"417f0f710ef853ed18dd1675b8a63905bf0c0bab9bd51e81a52350ccb6e01c04","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[:size]\n    new = live + [None] * (capacity - 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-linearization","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":"A contiguous-copy shortcut loses the wrapped portion of the logical sequence.","sha256":"f2c876a9cf173ce6c5eeaf1c71c47b429ea854dc10d2250e4fa487aef0cdbe19","title":"Growing a wrapped ring copies physical order · 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":46.572,"exit_code":1,"observations":[{"actual":[[1,null,null,null,null,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,null,null],0,1,1],"check":"one shifted value","expected":[[1,null,null,null,null],0,1,1],"passed":true},{"actual":[[1,2,3,null,null],0,3,3],"check":"full old ring","expected":[[2,3,1,null,null],0,3,3],"passed":false},{"actual":[[1,2,null,null,null,null],0,2,2],"check":"head zero","expected":[[1,2,null,null,null,null],0,2,2],"passed":true},{"actual":[[1,null,null,null,null,null,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\": [[1, null, null, null, null, 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, null, null], 0, 1, 1], \"expected\": [[1, null, null, null, null], 0, 1, 1], \"passed\": true}, {\"check\": \"full old ring\", \"actual\": [[1, 2, 3, null, null], 0, 3, 3], \"expected\": [[2, 3, 1, null, null], 0, 3, 3], \"passed\": false}, {\"check\": \"head zero\", \"actual\": [[1, 2, null, null, null, null], 0, 2, 2], \"expected\": [[1, 2, null, null, null, null], 0, 2, 2], \"passed\": true}, {\"check\": \"two wrapped values\", \"actual\": [[1, null, null, null, null, null, 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":40.454,"exit_code":1,"observations":[{"actual":[[1,null,null,null,null,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":[[null,null,null,null,null],0,1,1],"check":"one shifted value","expected":[[1,null,null,null,null],0,1,1],"passed":false},{"actual":[[1,2,3,null,null],0,3,3],"check":"full old ring","expected":[[2,3,1,null,null],0,3,3],"passed":false},{"actual":[[1,2,null,null,null,null],0,2,2],"check":"head zero","expected":[[1,2,null,null,null,null],0,2,2],"passed":true},{"actual":[[1,null,null,null,null,null,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\": [[1, null, null, null, null, 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\": [[null, null, null, null, null], 0, 1, 1], \"expected\": [[1, null, null, null, null], 0, 1, 1], \"passed\": false}, {\"check\": \"full old ring\", \"actual\": [[1, 2, 3, null, null], 0, 3, 3], \"expected\": [[2, 3, 1, null, null], 0, 3, 3], \"passed\": false}, {\"check\": \"head zero\", \"actual\": [[1, 2, null, null, null, null], 0, 2, 2], \"expected\": [[1, 2, null, null, null, null], 0, 2, 2], \"passed\": true}, {\"check\": \"two wrapped values\", \"actual\": [[1, null, null, null, null, null, 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."}}