{"abstract":"Self-splice extracts the range from its successor boundary.","category":"Bounded deques","checks":6,"contract":"Move a range within one bounded deque, preserving size and stable element identity. Gaps inside or at either boundary of the range are no-ops.","evaluation_group":"s3-bounded-deques-self-splice","failed_approach":"The partial repair still applies the incorrect transition to an admitted boundary or multi-element case.","family":"s3-bounded-deques-self-splice-snapshot-range","id":"FA-46041","implementations":{"attempt":{"sha256":"541cb8df202ea9eef6256b37841a9586f7697e841137cc5cdc40228b9e590337","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(x):\n    a,start,stop,gap = x\n    if start <= gap <= stop: return a\n    piece = a[start:stop] if start==stop else a[start+1:stop+1]\n    rest = a[:start]+a[stop:]\n    new_gap = gap - (stop-start) if gap > stop else gap\n    return rest[:new_gap]+piece+rest[new_gap:]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('move left', solve([[N,N+1,N+2,N+3,N+4],2,4,0]), {1: [3, 4, 1, 2, 5], 2: [4, 5, 2, 3, 6], 3: [5, 6, 3, 4, 7], 4: [6, 7, 4, 5, 8], 5: [7, 8, 5, 6, 9]}[N])\ncheck('move right', solve([[N,N+1,N+2,N+3,N+4],0,2,5]), {1: [3, 4, 5, 1, 2], 2: [4, 5, 6, 2, 3], 3: [5, 6, 7, 3, 4], 4: [6, 7, 8, 4, 5], 5: [7, 8, 9, 5, 6]}[N])\ncheck('inside no op', solve([[N,N+1,N+2,N+3],1,3,2]), {1: [1, 2, 3, 4], 2: [2, 3, 4, 5], 3: [3, 4, 5, 6], 4: [4, 5, 6, 7], 5: [5, 6, 7, 8]}[N])\ncheck('end boundary', solve([[N,N+1,N+2,N+3],1,3,3]), {1: [1, 2, 3, 4], 2: [2, 3, 4, 5], 3: [3, 4, 5, 6], 4: [4, 5, 6, 7], 5: [5, 6, 7, 8]}[N])\ncheck('empty range', solve([[N,N+1,N+2],1,1,3]), {1: [1, 2, 3], 2: [2, 3, 4], 3: [3, 4, 5], 4: [4, 5, 6], 5: [5, 6, 7]}[N])\ncheck('interior right', solve([[N,N+1,N+2,N+3,N+4,N+5],1,3,5]), {1: [1, 4, 5, 2, 3, 6], 2: [2, 5, 6, 3, 4, 7], 3: [3, 6, 7, 4, 5, 8], 4: [4, 7, 8, 5, 6, 9], 5: [5, 8, 9, 6, 7, 10]}[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":"79aad3bfb2c9117c1f0d8336b62093b312e10a855afa49bfc240ce4b4dc6de45","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(x):\n    a,start,stop,gap = x\n    if start <= gap <= stop: return a\n    piece = a[start+1:stop+1]\n    rest = a[:start]+a[stop:]\n    new_gap = gap - (stop-start) if gap > stop else gap\n    return rest[:new_gap]+piece+rest[new_gap:]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('move left', solve([[N,N+1,N+2,N+3,N+4],2,4,0]), {1: [3, 4, 1, 2, 5], 2: [4, 5, 2, 3, 6], 3: [5, 6, 3, 4, 7], 4: [6, 7, 4, 5, 8], 5: [7, 8, 5, 6, 9]}[N])\ncheck('move right', solve([[N,N+1,N+2,N+3,N+4],0,2,5]), {1: [3, 4, 5, 1, 2], 2: [4, 5, 6, 2, 3], 3: [5, 6, 7, 3, 4], 4: [6, 7, 8, 4, 5], 5: [7, 8, 9, 5, 6]}[N])\ncheck('inside no op', solve([[N,N+1,N+2,N+3],1,3,2]), {1: [1, 2, 3, 4], 2: [2, 3, 4, 5], 3: [3, 4, 5, 6], 4: [4, 5, 6, 7], 5: [5, 6, 7, 8]}[N])\ncheck('end boundary', solve([[N,N+1,N+2,N+3],1,3,3]), {1: [1, 2, 3, 4], 2: [2, 3, 4, 5], 3: [3, 4, 5, 6], 4: [4, 5, 6, 7], 5: [5, 6, 7, 8]}[N])\ncheck('empty range', solve([[N,N+1,N+2],1,1,3]), {1: [1, 2, 3], 2: [2, 3, 4], 3: [3, 4, 5], 4: [4, 5, 6], 5: [5, 6, 7]}[N])\ncheck('interior right', solve([[N,N+1,N+2,N+3,N+4,N+5],1,3,5]), {1: [1, 4, 5, 2, 3, 6], 2: [2, 5, 6, 3, 4, 7], 3: [3, 6, 7, 4, 5, 8], 4: [4, 7, 8, 5, 6, 9], 5: [5, 8, 9, 6, 7, 10]}[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":"51d5500dee52c34b4dc3a63dd7e7764a5a93b4308cb3e25c8fb11efc2efe34e6","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(x):\n    a,start,stop,gap = x\n    if start <= gap <= stop: return a\n    piece = a[start:stop]\n    rest = a[:start]+a[stop:]\n    new_gap = gap - (stop-start) if gap > stop else gap\n    return rest[:new_gap]+piece+rest[new_gap:]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('move left', solve([[N,N+1,N+2,N+3,N+4],2,4,0]), {1: [3, 4, 1, 2, 5], 2: [4, 5, 2, 3, 6], 3: [5, 6, 3, 4, 7], 4: [6, 7, 4, 5, 8], 5: [7, 8, 5, 6, 9]}[N])\ncheck('move right', solve([[N,N+1,N+2,N+3,N+4],0,2,5]), {1: [3, 4, 5, 1, 2], 2: [4, 5, 6, 2, 3], 3: [5, 6, 7, 3, 4], 4: [6, 7, 8, 4, 5], 5: [7, 8, 9, 5, 6]}[N])\ncheck('inside no op', solve([[N,N+1,N+2,N+3],1,3,2]), {1: [1, 2, 3, 4], 2: [2, 3, 4, 5], 3: [3, 4, 5, 6], 4: [4, 5, 6, 7], 5: [5, 6, 7, 8]}[N])\ncheck('end boundary', solve([[N,N+1,N+2,N+3],1,3,3]), {1: [1, 2, 3, 4], 2: [2, 3, 4, 5], 3: [3, 4, 5, 6], 4: [4, 5, 6, 7], 5: [5, 6, 7, 8]}[N])\ncheck('empty range', solve([[N,N+1,N+2],1,1,3]), {1: [1, 2, 3], 2: [2, 3, 4], 3: [3, 4, 5], 4: [4, 5, 6], 5: [5, 6, 7]}[N])\ncheck('interior right', solve([[N,N+1,N+2,N+3,N+4,N+5],1,3,5]), {1: [1, 4, 5, 2, 3, 6], 2: [2, 5, 6, 3, 4, 7], 3: [3, 6, 7, 4, 5, 8], 4: [4, 7, 8, 5, 6, 9], 5: [5, 8, 9, 6, 7, 10]}[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-self-splice-snapshot-range","generated_at":"2026-09-29T14:44:28.279709+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 snapshot range invariant in self-splice.","root_cause":"Self-splice extracts the range from its successor boundary.","sha256":"75b4e619ab5bb576195e9f89fb42327324075e2571bc5407487a7d6edc704d23","title":"Self-splice extracts the range from its successor boundary · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":43.347,"exit_code":1,"observations":[{"actual":[4,5,1,2,5],"check":"move left","expected":[3,4,1,2,5],"passed":false},{"actual":[3,4,5,2,3],"check":"move right","expected":[3,4,5,1,2],"passed":false},{"actual":[1,2,3,4],"check":"inside no op","expected":[1,2,3,4],"passed":true},{"actual":[1,2,3,4],"check":"end boundary","expected":[1,2,3,4],"passed":true},{"actual":[1,2,3],"check":"empty range","expected":[1,2,3],"passed":true},{"actual":[1,4,5,3,4,6],"check":"interior right","expected":[1,4,5,2,3,6],"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"move left\", \"actual\": [4, 5, 1, 2, 5], \"expected\": [3, 4, 1, 2, 5], \"passed\": false}, {\"check\": \"move right\", \"actual\": [3, 4, 5, 2, 3], \"expected\": [3, 4, 5, 1, 2], \"passed\": false}, {\"check\": \"inside no op\", \"actual\": [1, 2, 3, 4], \"expected\": [1, 2, 3, 4], \"passed\": true}, {\"check\": \"end boundary\", \"actual\": [1, 2, 3, 4], \"expected\": [1, 2, 3, 4], \"passed\": true}, {\"check\": \"empty range\", \"actual\": [1, 2, 3], \"expected\": [1, 2, 3], \"passed\": true}, {\"check\": \"interior right\", \"actual\": [1, 4, 5, 3, 4, 6], \"expected\": [1, 4, 5, 2, 3, 6], \"passed\": false}], \"passed\": false}\n"},"broken":{"elapsed_ms":43.126,"exit_code":1,"observations":[{"actual":[4,5,1,2,5],"check":"move left","expected":[3,4,1,2,5],"passed":false},{"actual":[3,4,5,2,3],"check":"move right","expected":[3,4,5,1,2],"passed":false},{"actual":[1,2,3,4],"check":"inside no op","expected":[1,2,3,4],"passed":true},{"actual":[1,2,3,4],"check":"end boundary","expected":[1,2,3,4],"passed":true},{"actual":[1,2,3],"check":"empty range","expected":[1,2,3],"passed":true},{"actual":[1,4,5,3,4,6],"check":"interior right","expected":[1,4,5,2,3,6],"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"move left\", \"actual\": [4, 5, 1, 2, 5], \"expected\": [3, 4, 1, 2, 5], \"passed\": false}, {\"check\": \"move right\", \"actual\": [3, 4, 5, 2, 3], \"expected\": [3, 4, 5, 1, 2], \"passed\": false}, {\"check\": \"inside no op\", \"actual\": [1, 2, 3, 4], \"expected\": [1, 2, 3, 4], \"passed\": true}, {\"check\": \"end boundary\", \"actual\": [1, 2, 3, 4], \"expected\": [1, 2, 3, 4], \"passed\": true}, {\"check\": \"empty range\", \"actual\": [1, 2, 3], \"expected\": [1, 2, 3], \"passed\": true}, {\"check\": \"interior right\", \"actual\": [1, 4, 5, 3, 4, 6], \"expected\": [1, 4, 5, 2, 3, 6], \"passed\": false}], \"passed\": false}\n"},"fixed":{"elapsed_ms":41.433,"exit_code":0,"observations":[{"actual":[3,4,1,2,5],"check":"move left","expected":[3,4,1,2,5],"passed":true},{"actual":[3,4,5,1,2],"check":"move right","expected":[3,4,5,1,2],"passed":true},{"actual":[1,2,3,4],"check":"inside no op","expected":[1,2,3,4],"passed":true},{"actual":[1,2,3,4],"check":"end boundary","expected":[1,2,3,4],"passed":true},{"actual":[1,2,3],"check":"empty range","expected":[1,2,3],"passed":true},{"actual":[1,4,5,2,3,6],"check":"interior right","expected":[1,4,5,2,3,6],"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"move left\", \"actual\": [3, 4, 1, 2, 5], \"expected\": [3, 4, 1, 2, 5], \"passed\": true}, {\"check\": \"move right\", \"actual\": [3, 4, 5, 1, 2], \"expected\": [3, 4, 5, 1, 2], \"passed\": true}, {\"check\": \"inside no op\", \"actual\": [1, 2, 3, 4], \"expected\": [1, 2, 3, 4], \"passed\": true}, {\"check\": \"end boundary\", \"actual\": [1, 2, 3, 4], \"expected\": [1, 2, 3, 4], \"passed\": true}, {\"check\": \"empty range\", \"actual\": [1, 2, 3], \"expected\": [1, 2, 3], \"passed\": true}, {\"check\": \"interior right\", \"actual\": [1, 4, 5, 2, 3, 6], \"expected\": [1, 4, 5, 2, 3, 6], \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}