{"abstract":"Cross-splice includes the exclusive slice endpoint.","category":"Bounded deques","checks":6,"contract":"Move a half-open slice from one deque to another at a valid gap. Reject overflow atomically. Return [source,destination,accepted,moved].","evaluation_group":"s3-bounded-deques-cross-splice","failed_approach":"The partial repair still applies the incorrect transition to an admitted boundary or multi-element case.","family":"s3-bounded-deques-cross-splice-extract-end","id":"FA-46011","implementations":{"attempt":{"sha256":"69a79b8616973fce6e085229a37f007811395e27d7921c2a5153417ca09bc9fe","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(x):\n    a,b,start,stop,gap,cap = x\n    piece = a[start:stop] if start == stop else a[start:stop+1]\n    if len(b)+len(piece)>cap: return [a,b,False,0]\n    left = a[:start]+a[stop:]\n    right = b[:gap]+piece+b[gap:]\n    return [left,right,True,len(piece)]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('interior', solve([[N,N+1,N+2,N+3],[N+10,N+11],1,3,1,5]), {1: [[1, 4], [11, 2, 3, 12], True, 2], 2: [[2, 5], [12, 3, 4, 13], True, 2], 3: [[3, 6], [13, 4, 5, 14], True, 2], 4: [[4, 7], [14, 5, 6, 15], True, 2], 5: [[5, 8], [15, 6, 7, 16], True, 2]}[N])\ncheck('overflow', solve([[N,N+1,N+2],[N+10],0,3,0,3]), {1: [[1, 2, 3], [11], False, 0], 2: [[2, 3, 4], [12], False, 0], 3: [[3, 4, 5], [13], False, 0], 4: [[4, 5, 6], [14], False, 0], 5: [[5, 6, 7], [15], False, 0]}[N])\ncheck('empty slice', solve([[N,N+1],[N+10],1,1,0,2]), {1: [[1, 2], [11], True, 0], 2: [[2, 3], [12], True, 0], 3: [[3, 4], [13], True, 0], 4: [[4, 5], [14], True, 0], 5: [[5, 6], [15], True, 0]}[N])\ncheck('whole source', solve([[N,N+1],[],0,2,0,2]), {1: [[], [1, 2], True, 2], 2: [[], [2, 3], True, 2], 3: [[], [3, 4], True, 2], 4: [[], [4, 5], True, 2], 5: [[], [5, 6], True, 2]}[N])\ncheck('append splice', solve([[N,N+1,N+2],[N+10],0,2,1,4]), {1: [[3], [11, 1, 2], True, 2], 2: [[4], [12, 2, 3], True, 2], 3: [[5], [13, 3, 4], True, 2], 4: [[6], [14, 4, 5], True, 2], 5: [[7], [15, 5, 6], True, 2]}[N])\ncheck('tail slice', solve([[N,N+1,N+2],[N+10],2,3,0,3]), {1: [[1, 2], [3, 11], True, 1], 2: [[2, 3], [4, 12], True, 1], 3: [[3, 4], [5, 13], True, 1], 4: [[4, 5], [6, 14], True, 1], 5: [[5, 6], [7, 15], True, 1]}[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":"7eb14baa1205eefb4b8e003b288cde446e0b6decd4a60a030df0b9a99550ea6e","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(x):\n    a,b,start,stop,gap,cap = x\n    piece = a[start:stop+1]\n    if len(b)+len(piece)>cap: return [a,b,False,0]\n    left = a[:start]+a[stop:]\n    right = b[:gap]+piece+b[gap:]\n    return [left,right,True,len(piece)]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('interior', solve([[N,N+1,N+2,N+3],[N+10,N+11],1,3,1,5]), {1: [[1, 4], [11, 2, 3, 12], True, 2], 2: [[2, 5], [12, 3, 4, 13], True, 2], 3: [[3, 6], [13, 4, 5, 14], True, 2], 4: [[4, 7], [14, 5, 6, 15], True, 2], 5: [[5, 8], [15, 6, 7, 16], True, 2]}[N])\ncheck('overflow', solve([[N,N+1,N+2],[N+10],0,3,0,3]), {1: [[1, 2, 3], [11], False, 0], 2: [[2, 3, 4], [12], False, 0], 3: [[3, 4, 5], [13], False, 0], 4: [[4, 5, 6], [14], False, 0], 5: [[5, 6, 7], [15], False, 0]}[N])\ncheck('empty slice', solve([[N,N+1],[N+10],1,1,0,2]), {1: [[1, 2], [11], True, 0], 2: [[2, 3], [12], True, 0], 3: [[3, 4], [13], True, 0], 4: [[4, 5], [14], True, 0], 5: [[5, 6], [15], True, 0]}[N])\ncheck('whole source', solve([[N,N+1],[],0,2,0,2]), {1: [[], [1, 2], True, 2], 2: [[], [2, 3], True, 2], 3: [[], [3, 4], True, 2], 4: [[], [4, 5], True, 2], 5: [[], [5, 6], True, 2]}[N])\ncheck('append splice', solve([[N,N+1,N+2],[N+10],0,2,1,4]), {1: [[3], [11, 1, 2], True, 2], 2: [[4], [12, 2, 3], True, 2], 3: [[5], [13, 3, 4], True, 2], 4: [[6], [14, 4, 5], True, 2], 5: [[7], [15, 5, 6], True, 2]}[N])\ncheck('tail slice', solve([[N,N+1,N+2],[N+10],2,3,0,3]), {1: [[1, 2], [3, 11], True, 1], 2: [[2, 3], [4, 12], True, 1], 3: [[3, 4], [5, 13], True, 1], 4: [[4, 5], [6, 14], True, 1], 5: [[5, 6], [7, 15], True, 1]}[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":"a60b552814b1f3988246cfa74e81c14c34ee1ab7f492bf291a1fa02e23d6ead7","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(x):\n    a,b,start,stop,gap,cap = x\n    piece = a[start:stop]\n    if len(b)+len(piece)>cap: return [a,b,False,0]\n    left = a[:start]+a[stop:]\n    right = b[:gap]+piece+b[gap:]\n    return [left,right,True,len(piece)]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('interior', solve([[N,N+1,N+2,N+3],[N+10,N+11],1,3,1,5]), {1: [[1, 4], [11, 2, 3, 12], True, 2], 2: [[2, 5], [12, 3, 4, 13], True, 2], 3: [[3, 6], [13, 4, 5, 14], True, 2], 4: [[4, 7], [14, 5, 6, 15], True, 2], 5: [[5, 8], [15, 6, 7, 16], True, 2]}[N])\ncheck('overflow', solve([[N,N+1,N+2],[N+10],0,3,0,3]), {1: [[1, 2, 3], [11], False, 0], 2: [[2, 3, 4], [12], False, 0], 3: [[3, 4, 5], [13], False, 0], 4: [[4, 5, 6], [14], False, 0], 5: [[5, 6, 7], [15], False, 0]}[N])\ncheck('empty slice', solve([[N,N+1],[N+10],1,1,0,2]), {1: [[1, 2], [11], True, 0], 2: [[2, 3], [12], True, 0], 3: [[3, 4], [13], True, 0], 4: [[4, 5], [14], True, 0], 5: [[5, 6], [15], True, 0]}[N])\ncheck('whole source', solve([[N,N+1],[],0,2,0,2]), {1: [[], [1, 2], True, 2], 2: [[], [2, 3], True, 2], 3: [[], [3, 4], True, 2], 4: [[], [4, 5], True, 2], 5: [[], [5, 6], True, 2]}[N])\ncheck('append splice', solve([[N,N+1,N+2],[N+10],0,2,1,4]), {1: [[3], [11, 1, 2], True, 2], 2: [[4], [12, 2, 3], True, 2], 3: [[5], [13, 3, 4], True, 2], 4: [[6], [14, 4, 5], True, 2], 5: [[7], [15, 5, 6], True, 2]}[N])\ncheck('tail slice', solve([[N,N+1,N+2],[N+10],2,3,0,3]), {1: [[1, 2], [3, 11], True, 1], 2: [[2, 3], [4, 12], True, 1], 3: [[3, 4], [5, 13], True, 1], 4: [[4, 5], [6, 14], True, 1], 5: [[5, 6], [7, 15], True, 1]}[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-cross-splice-extract-end","generated_at":"2026-09-29T14:44:27.898374+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 extract end invariant in cross-splice.","root_cause":"Cross-splice includes the exclusive slice endpoint.","sha256":"a067481eceb1a1642c48e9c58cb898af643f534af53ada3048e70dd378120a39","title":"Cross-splice includes the exclusive slice endpoint · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":51.227,"exit_code":1,"observations":[{"actual":[[1,4],[11,2,3,4,12],true,3],"check":"interior","expected":[[1,4],[11,2,3,12],true,2],"passed":false},{"actual":[[1,2,3],[11],false,0],"check":"overflow","expected":[[1,2,3],[11],false,0],"passed":true},{"actual":[[1,2],[11],true,0],"check":"empty slice","expected":[[1,2],[11],true,0],"passed":true},{"actual":[[],[1,2],true,2],"check":"whole source","expected":[[],[1,2],true,2],"passed":true},{"actual":[[3],[11,1,2,3],true,3],"check":"append splice","expected":[[3],[11,1,2],true,2],"passed":false},{"actual":[[1,2],[3,11],true,1],"check":"tail slice","expected":[[1,2],[3,11],true,1],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"interior\", \"actual\": [[1, 4], [11, 2, 3, 4, 12], true, 3], \"expected\": [[1, 4], [11, 2, 3, 12], true, 2], \"passed\": false}, {\"check\": \"overflow\", \"actual\": [[1, 2, 3], [11], false, 0], \"expected\": [[1, 2, 3], [11], false, 0], \"passed\": true}, {\"check\": \"empty slice\", \"actual\": [[1, 2], [11], true, 0], \"expected\": [[1, 2], [11], true, 0], \"passed\": true}, {\"check\": \"whole source\", \"actual\": [[], [1, 2], true, 2], \"expected\": [[], [1, 2], true, 2], \"passed\": true}, {\"check\": \"append splice\", \"actual\": [[3], [11, 1, 2, 3], true, 3], \"expected\": [[3], [11, 1, 2], true, 2], \"passed\": false}, {\"check\": \"tail slice\", \"actual\": [[1, 2], [3, 11], true, 1], \"expected\": [[1, 2], [3, 11], true, 1], \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":41.481,"exit_code":1,"observations":[{"actual":[[1,4],[11,2,3,4,12],true,3],"check":"interior","expected":[[1,4],[11,2,3,12],true,2],"passed":false},{"actual":[[1,2,3],[11],false,0],"check":"overflow","expected":[[1,2,3],[11],false,0],"passed":true},{"actual":[[1,2],[2,11],true,1],"check":"empty slice","expected":[[1,2],[11],true,0],"passed":false},{"actual":[[],[1,2],true,2],"check":"whole source","expected":[[],[1,2],true,2],"passed":true},{"actual":[[3],[11,1,2,3],true,3],"check":"append splice","expected":[[3],[11,1,2],true,2],"passed":false},{"actual":[[1,2],[3,11],true,1],"check":"tail slice","expected":[[1,2],[3,11],true,1],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"interior\", \"actual\": [[1, 4], [11, 2, 3, 4, 12], true, 3], \"expected\": [[1, 4], [11, 2, 3, 12], true, 2], \"passed\": false}, {\"check\": \"overflow\", \"actual\": [[1, 2, 3], [11], false, 0], \"expected\": [[1, 2, 3], [11], false, 0], \"passed\": true}, {\"check\": \"empty slice\", \"actual\": [[1, 2], [2, 11], true, 1], \"expected\": [[1, 2], [11], true, 0], \"passed\": false}, {\"check\": \"whole source\", \"actual\": [[], [1, 2], true, 2], \"expected\": [[], [1, 2], true, 2], \"passed\": true}, {\"check\": \"append splice\", \"actual\": [[3], [11, 1, 2, 3], true, 3], \"expected\": [[3], [11, 1, 2], true, 2], \"passed\": false}, {\"check\": \"tail slice\", \"actual\": [[1, 2], [3, 11], true, 1], \"expected\": [[1, 2], [3, 11], true, 1], \"passed\": true}], \"passed\": false}\n"},"fixed":{"elapsed_ms":42.788,"exit_code":0,"observations":[{"actual":[[1,4],[11,2,3,12],true,2],"check":"interior","expected":[[1,4],[11,2,3,12],true,2],"passed":true},{"actual":[[1,2,3],[11],false,0],"check":"overflow","expected":[[1,2,3],[11],false,0],"passed":true},{"actual":[[1,2],[11],true,0],"check":"empty slice","expected":[[1,2],[11],true,0],"passed":true},{"actual":[[],[1,2],true,2],"check":"whole source","expected":[[],[1,2],true,2],"passed":true},{"actual":[[3],[11,1,2],true,2],"check":"append splice","expected":[[3],[11,1,2],true,2],"passed":true},{"actual":[[1,2],[3,11],true,1],"check":"tail slice","expected":[[1,2],[3,11],true,1],"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"interior\", \"actual\": [[1, 4], [11, 2, 3, 12], true, 2], \"expected\": [[1, 4], [11, 2, 3, 12], true, 2], \"passed\": true}, {\"check\": \"overflow\", \"actual\": [[1, 2, 3], [11], false, 0], \"expected\": [[1, 2, 3], [11], false, 0], \"passed\": true}, {\"check\": \"empty slice\", \"actual\": [[1, 2], [11], true, 0], \"expected\": [[1, 2], [11], true, 0], \"passed\": true}, {\"check\": \"whole source\", \"actual\": [[], [1, 2], true, 2], \"expected\": [[], [1, 2], true, 2], \"passed\": true}, {\"check\": \"append splice\", \"actual\": [[3], [11, 1, 2], true, 2], \"expected\": [[3], [11, 1, 2], true, 2], \"passed\": true}, {\"check\": \"tail slice\", \"actual\": [[1, 2], [3, 11], true, 1], \"expected\": [[1, 2], [3, 11], true, 1], \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}