{"abstract":"Self-splice reverses the moved block.","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-moved-order","id":"FA-46056","implementations":{"attempt":{"sha256":"4562f119f0cb9e524dce9ef9ed7992e6624a33e693718df0f6c45203c6a4f7c3","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 if new_gap==0 else piece[::-1])+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":"3cc851cc847ab227279897a00447c9487ca93a60fc6ed129516269e1f9621a5d","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[::-1]+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-moved-order","generated_at":"2026-09-29T14:44:28.482589+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 moved order invariant in self-splice.","root_cause":"Self-splice reverses the moved block.","sha256":"a26767ca7a6058402e356512a36882b62192f6b44295731d5ff7f2012e7fe887","title":"Self-splice reverses the moved block · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":46.284,"exit_code":1,"observations":[{"actual":[3,4,1,2,5],"check":"move left","expected":[3,4,1,2,5],"passed":true},{"actual":[3,4,5,2,1],"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,2,6],"check":"interior right","expected":[1,4,5,2,3,6],"passed":false}],"passed":false,"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, 2, 1], \"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, 2, 6], \"expected\": [1, 4, 5, 2, 3, 6], \"passed\": false}], \"passed\": false}\n"},"broken":{"elapsed_ms":40.372,"exit_code":1,"observations":[{"actual":[4,3,1,2,5],"check":"move left","expected":[3,4,1,2,5],"passed":false},{"actual":[3,4,5,2,1],"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,2,6],"check":"interior right","expected":[1,4,5,2,3,6],"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"move left\", \"actual\": [4, 3, 1, 2, 5], \"expected\": [3, 4, 1, 2, 5], \"passed\": false}, {\"check\": \"move right\", \"actual\": [3, 4, 5, 2, 1], \"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, 2, 6], \"expected\": [1, 4, 5, 2, 3, 6], \"passed\": false}], \"passed\": false}\n"},"fixed":{"elapsed_ms":48.197,"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"}