{"abstract":"Deque iterator split measures absolute stop as range length.","category":"Bounded deques","checks":7,"contract":"Split an iterator range into disjoint prefix and suffix if its length meets a positive minimum. Both halves retain the same captured deque epoch and cover every original element exactly once.","evaluation_group":"s3-bounded-deques-iterator-split","failed_approach":"The partial repair still applies the incorrect transition to an admitted boundary or multi-element case.","family":"s3-bounded-deques-iterator-split-split-length","id":"FA-46676","implementations":{"attempt":{"sha256":"fbeab88a7aacc1eecfed1dfcab17a7c99553bfcfaa5594ddb01fa59893ec03ad","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(x):\n    a,start,stop,minimum,epoch=x\n    length=stop-start if start==0 else stop\n    if length<minimum:return [None,[start,stop,epoch],a[start:stop]]\n    middle=start+length//2\n    prefix=[start,middle,epoch]\n    suffix=[middle,stop,epoch]\n    visited=a[start:middle]+a[middle:stop]\n    return [prefix,suffix,visited]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('0', solve([[N,N+1,N+2,N+3,N+4],1,5,2,7]), {1: [[1, 3, 7], [3, 5, 7], [2, 3, 4, 5]], 2: [[1, 3, 7], [3, 5, 7], [3, 4, 5, 6]], 3: [[1, 3, 7], [3, 5, 7], [4, 5, 6, 7]], 4: [[1, 3, 7], [3, 5, 7], [5, 6, 7, 8]], 5: [[1, 3, 7], [3, 5, 7], [6, 7, 8, 9]]}[N])\ncheck('1', solve([[N,N+1,N+2],0,3,2,4]), {1: [[0, 1, 4], [1, 3, 4], [1, 2, 3]], 2: [[0, 1, 4], [1, 3, 4], [2, 3, 4]], 3: [[0, 1, 4], [1, 3, 4], [3, 4, 5]], 4: [[0, 1, 4], [1, 3, 4], [4, 5, 6]], 5: [[0, 1, 4], [1, 3, 4], [5, 6, 7]]}[N])\ncheck('2', solve([[N],0,1,2,3]), {1: [None, [0, 1, 3], [1]], 2: [None, [0, 1, 3], [2]], 3: [None, [0, 1, 3], [3]], 4: [None, [0, 1, 3], [4]], 5: [None, [0, 1, 3], [5]]}[N])\ncheck('3', solve([[],0,0,1,0]), {1: [None, [0, 0, 0], []], 2: [None, [0, 0, 0], []], 3: [None, [0, 0, 0], []], 4: [None, [0, 0, 0], []], 5: [None, [0, 0, 0], []]}[N])\ncheck('4', solve([[N,N+1,N+2,N+3],2,4,2,8]), {1: [[2, 3, 8], [3, 4, 8], [3, 4]], 2: [[2, 3, 8], [3, 4, 8], [4, 5]], 3: [[2, 3, 8], [3, 4, 8], [5, 6]], 4: [[2, 3, 8], [3, 4, 8], [6, 7]], 5: [[2, 3, 8], [3, 4, 8], [7, 8]]}[N])\ncheck('5', solve([[N,N+1,N+2,N+3,N+4],0,5,3,1]), {1: [[0, 2, 1], [2, 5, 1], [1, 2, 3, 4, 5]], 2: [[0, 2, 1], [2, 5, 1], [2, 3, 4, 5, 6]], 3: [[0, 2, 1], [2, 5, 1], [3, 4, 5, 6, 7]], 4: [[0, 2, 1], [2, 5, 1], [4, 5, 6, 7, 8]], 5: [[0, 2, 1], [2, 5, 1], [5, 6, 7, 8, 9]]}[N])\ncheck('short shifted remainder', solve([[N,N+1,N+2],2,3,2,6]), [None,[2,3,6],[N+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":"fd3db1f55c94259c55826d4003b6b88d0728619d747fe2ccadf9dcf6e63e6cb1","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(x):\n    a,start,stop,minimum,epoch=x\n    length=stop\n    if length<minimum:return [None,[start,stop,epoch],a[start:stop]]\n    middle=start+length//2\n    prefix=[start,middle,epoch]\n    suffix=[middle,stop,epoch]\n    visited=a[start:middle]+a[middle:stop]\n    return [prefix,suffix,visited]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('0', solve([[N,N+1,N+2,N+3,N+4],1,5,2,7]), {1: [[1, 3, 7], [3, 5, 7], [2, 3, 4, 5]], 2: [[1, 3, 7], [3, 5, 7], [3, 4, 5, 6]], 3: [[1, 3, 7], [3, 5, 7], [4, 5, 6, 7]], 4: [[1, 3, 7], [3, 5, 7], [5, 6, 7, 8]], 5: [[1, 3, 7], [3, 5, 7], [6, 7, 8, 9]]}[N])\ncheck('1', solve([[N,N+1,N+2],0,3,2,4]), {1: [[0, 1, 4], [1, 3, 4], [1, 2, 3]], 2: [[0, 1, 4], [1, 3, 4], [2, 3, 4]], 3: [[0, 1, 4], [1, 3, 4], [3, 4, 5]], 4: [[0, 1, 4], [1, 3, 4], [4, 5, 6]], 5: [[0, 1, 4], [1, 3, 4], [5, 6, 7]]}[N])\ncheck('2', solve([[N],0,1,2,3]), {1: [None, [0, 1, 3], [1]], 2: [None, [0, 1, 3], [2]], 3: [None, [0, 1, 3], [3]], 4: [None, [0, 1, 3], [4]], 5: [None, [0, 1, 3], [5]]}[N])\ncheck('3', solve([[],0,0,1,0]), {1: [None, [0, 0, 0], []], 2: [None, [0, 0, 0], []], 3: [None, [0, 0, 0], []], 4: [None, [0, 0, 0], []], 5: [None, [0, 0, 0], []]}[N])\ncheck('4', solve([[N,N+1,N+2,N+3],2,4,2,8]), {1: [[2, 3, 8], [3, 4, 8], [3, 4]], 2: [[2, 3, 8], [3, 4, 8], [4, 5]], 3: [[2, 3, 8], [3, 4, 8], [5, 6]], 4: [[2, 3, 8], [3, 4, 8], [6, 7]], 5: [[2, 3, 8], [3, 4, 8], [7, 8]]}[N])\ncheck('5', solve([[N,N+1,N+2,N+3,N+4],0,5,3,1]), {1: [[0, 2, 1], [2, 5, 1], [1, 2, 3, 4, 5]], 2: [[0, 2, 1], [2, 5, 1], [2, 3, 4, 5, 6]], 3: [[0, 2, 1], [2, 5, 1], [3, 4, 5, 6, 7]], 4: [[0, 2, 1], [2, 5, 1], [4, 5, 6, 7, 8]], 5: [[0, 2, 1], [2, 5, 1], [5, 6, 7, 8, 9]]}[N])\ncheck('short shifted remainder', solve([[N,N+1,N+2],2,3,2,6]), [None,[2,3,6],[N+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"},"fixed":{"sha256":"1ff744595f836e92e11e14398ad47914cf4c476200fa690b5f8c5e9243509200","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(x):\n    a,start,stop,minimum,epoch=x\n    length=stop-start\n    if length<minimum:return [None,[start,stop,epoch],a[start:stop]]\n    middle=start+length//2\n    prefix=[start,middle,epoch]\n    suffix=[middle,stop,epoch]\n    visited=a[start:middle]+a[middle:stop]\n    return [prefix,suffix,visited]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('0', solve([[N,N+1,N+2,N+3,N+4],1,5,2,7]), {1: [[1, 3, 7], [3, 5, 7], [2, 3, 4, 5]], 2: [[1, 3, 7], [3, 5, 7], [3, 4, 5, 6]], 3: [[1, 3, 7], [3, 5, 7], [4, 5, 6, 7]], 4: [[1, 3, 7], [3, 5, 7], [5, 6, 7, 8]], 5: [[1, 3, 7], [3, 5, 7], [6, 7, 8, 9]]}[N])\ncheck('1', solve([[N,N+1,N+2],0,3,2,4]), {1: [[0, 1, 4], [1, 3, 4], [1, 2, 3]], 2: [[0, 1, 4], [1, 3, 4], [2, 3, 4]], 3: [[0, 1, 4], [1, 3, 4], [3, 4, 5]], 4: [[0, 1, 4], [1, 3, 4], [4, 5, 6]], 5: [[0, 1, 4], [1, 3, 4], [5, 6, 7]]}[N])\ncheck('2', solve([[N],0,1,2,3]), {1: [None, [0, 1, 3], [1]], 2: [None, [0, 1, 3], [2]], 3: [None, [0, 1, 3], [3]], 4: [None, [0, 1, 3], [4]], 5: [None, [0, 1, 3], [5]]}[N])\ncheck('3', solve([[],0,0,1,0]), {1: [None, [0, 0, 0], []], 2: [None, [0, 0, 0], []], 3: [None, [0, 0, 0], []], 4: [None, [0, 0, 0], []], 5: [None, [0, 0, 0], []]}[N])\ncheck('4', solve([[N,N+1,N+2,N+3],2,4,2,8]), {1: [[2, 3, 8], [3, 4, 8], [3, 4]], 2: [[2, 3, 8], [3, 4, 8], [4, 5]], 3: [[2, 3, 8], [3, 4, 8], [5, 6]], 4: [[2, 3, 8], [3, 4, 8], [6, 7]], 5: [[2, 3, 8], [3, 4, 8], [7, 8]]}[N])\ncheck('5', solve([[N,N+1,N+2,N+3,N+4],0,5,3,1]), {1: [[0, 2, 1], [2, 5, 1], [1, 2, 3, 4, 5]], 2: [[0, 2, 1], [2, 5, 1], [2, 3, 4, 5, 6]], 3: [[0, 2, 1], [2, 5, 1], [3, 4, 5, 6, 7]], 4: [[0, 2, 1], [2, 5, 1], [4, 5, 6, 7, 8]], 5: [[0, 2, 1], [2, 5, 1], [5, 6, 7, 8, 9]]}[N])\ncheck('short shifted remainder', solve([[N,N+1,N+2],2,3,2,6]), [None,[2,3,6],[N+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-iterator-split-split-length","generated_at":"2026-09-29T14:44:34.330345+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 split length invariant in iterator-split.","root_cause":"Deque iterator split measures absolute stop as range length.","sha256":"39cd4534128bd79a059672f91fb207bc7768606b50bf2c2c92e83dea490de487","title":"Deque iterator split measures absolute stop as range length · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":41.99,"exit_code":1,"observations":[{"actual":[[1,3,7],[3,5,7],[2,3,4,5]],"check":"0","expected":[[1,3,7],[3,5,7],[2,3,4,5]],"passed":true},{"actual":[[0,1,4],[1,3,4],[1,2,3]],"check":"1","expected":[[0,1,4],[1,3,4],[1,2,3]],"passed":true},{"actual":[null,[0,1,3],[1]],"check":"2","expected":[null,[0,1,3],[1]],"passed":true},{"actual":[null,[0,0,0],[]],"check":"3","expected":[null,[0,0,0],[]],"passed":true},{"actual":[[2,4,8],[4,4,8],[3,4]],"check":"4","expected":[[2,3,8],[3,4,8],[3,4]],"passed":false},{"actual":[[0,2,1],[2,5,1],[1,2,3,4,5]],"check":"5","expected":[[0,2,1],[2,5,1],[1,2,3,4,5]],"passed":true},{"actual":[[2,3,6],[3,3,6],[3]],"check":"short shifted remainder","expected":[null,[2,3,6],[3]],"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"0\", \"actual\": [[1, 3, 7], [3, 5, 7], [2, 3, 4, 5]], \"expected\": [[1, 3, 7], [3, 5, 7], [2, 3, 4, 5]], \"passed\": true}, {\"check\": \"1\", \"actual\": [[0, 1, 4], [1, 3, 4], [1, 2, 3]], \"expected\": [[0, 1, 4], [1, 3, 4], [1, 2, 3]], \"passed\": true}, {\"check\": \"2\", \"actual\": [null, [0, 1, 3], [1]], \"expected\": [null, [0, 1, 3], [1]], \"passed\": true}, {\"check\": \"3\", \"actual\": [null, [0, 0, 0], []], \"expected\": [null, [0, 0, 0], []], \"passed\": true}, {\"check\": \"4\", \"actual\": [[2, 4, 8], [4, 4, 8], [3, 4]], \"expected\": [[2, 3, 8], [3, 4, 8], [3, 4]], \"passed\": false}, {\"check\": \"5\", \"actual\": [[0, 2, 1], [2, 5, 1], [1, 2, 3, 4, 5]], \"expected\": [[0, 2, 1], [2, 5, 1], [1, 2, 3, 4, 5]], \"passed\": true}, {\"check\": \"short shifted remainder\", \"actual\": [[2, 3, 6], [3, 3, 6], [3]], \"expected\": [null, [2, 3, 6], [3]], \"passed\": false}], \"passed\": false}\n"},"broken":{"elapsed_ms":42.88,"exit_code":1,"observations":[{"actual":[[1,3,7],[3,5,7],[2,3,4,5]],"check":"0","expected":[[1,3,7],[3,5,7],[2,3,4,5]],"passed":true},{"actual":[[0,1,4],[1,3,4],[1,2,3]],"check":"1","expected":[[0,1,4],[1,3,4],[1,2,3]],"passed":true},{"actual":[null,[0,1,3],[1]],"check":"2","expected":[null,[0,1,3],[1]],"passed":true},{"actual":[null,[0,0,0],[]],"check":"3","expected":[null,[0,0,0],[]],"passed":true},{"actual":[[2,4,8],[4,4,8],[3,4]],"check":"4","expected":[[2,3,8],[3,4,8],[3,4]],"passed":false},{"actual":[[0,2,1],[2,5,1],[1,2,3,4,5]],"check":"5","expected":[[0,2,1],[2,5,1],[1,2,3,4,5]],"passed":true},{"actual":[[2,3,6],[3,3,6],[3]],"check":"short shifted remainder","expected":[null,[2,3,6],[3]],"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"0\", \"actual\": [[1, 3, 7], [3, 5, 7], [2, 3, 4, 5]], \"expected\": [[1, 3, 7], [3, 5, 7], [2, 3, 4, 5]], \"passed\": true}, {\"check\": \"1\", \"actual\": [[0, 1, 4], [1, 3, 4], [1, 2, 3]], \"expected\": [[0, 1, 4], [1, 3, 4], [1, 2, 3]], \"passed\": true}, {\"check\": \"2\", \"actual\": [null, [0, 1, 3], [1]], \"expected\": [null, [0, 1, 3], [1]], \"passed\": true}, {\"check\": \"3\", \"actual\": [null, [0, 0, 0], []], \"expected\": [null, [0, 0, 0], []], \"passed\": true}, {\"check\": \"4\", \"actual\": [[2, 4, 8], [4, 4, 8], [3, 4]], \"expected\": [[2, 3, 8], [3, 4, 8], [3, 4]], \"passed\": false}, {\"check\": \"5\", \"actual\": [[0, 2, 1], [2, 5, 1], [1, 2, 3, 4, 5]], \"expected\": [[0, 2, 1], [2, 5, 1], [1, 2, 3, 4, 5]], \"passed\": true}, {\"check\": \"short shifted remainder\", \"actual\": [[2, 3, 6], [3, 3, 6], [3]], \"expected\": [null, [2, 3, 6], [3]], \"passed\": false}], \"passed\": false}\n"},"fixed":{"elapsed_ms":43.06,"exit_code":0,"observations":[{"actual":[[1,3,7],[3,5,7],[2,3,4,5]],"check":"0","expected":[[1,3,7],[3,5,7],[2,3,4,5]],"passed":true},{"actual":[[0,1,4],[1,3,4],[1,2,3]],"check":"1","expected":[[0,1,4],[1,3,4],[1,2,3]],"passed":true},{"actual":[null,[0,1,3],[1]],"check":"2","expected":[null,[0,1,3],[1]],"passed":true},{"actual":[null,[0,0,0],[]],"check":"3","expected":[null,[0,0,0],[]],"passed":true},{"actual":[[2,3,8],[3,4,8],[3,4]],"check":"4","expected":[[2,3,8],[3,4,8],[3,4]],"passed":true},{"actual":[[0,2,1],[2,5,1],[1,2,3,4,5]],"check":"5","expected":[[0,2,1],[2,5,1],[1,2,3,4,5]],"passed":true},{"actual":[null,[2,3,6],[3]],"check":"short shifted remainder","expected":[null,[2,3,6],[3]],"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"0\", \"actual\": [[1, 3, 7], [3, 5, 7], [2, 3, 4, 5]], \"expected\": [[1, 3, 7], [3, 5, 7], [2, 3, 4, 5]], \"passed\": true}, {\"check\": \"1\", \"actual\": [[0, 1, 4], [1, 3, 4], [1, 2, 3]], \"expected\": [[0, 1, 4], [1, 3, 4], [1, 2, 3]], \"passed\": true}, {\"check\": \"2\", \"actual\": [null, [0, 1, 3], [1]], \"expected\": [null, [0, 1, 3], [1]], \"passed\": true}, {\"check\": \"3\", \"actual\": [null, [0, 0, 0], []], \"expected\": [null, [0, 0, 0], []], \"passed\": true}, {\"check\": \"4\", \"actual\": [[2, 3, 8], [3, 4, 8], [3, 4]], \"expected\": [[2, 3, 8], [3, 4, 8], [3, 4]], \"passed\": true}, {\"check\": \"5\", \"actual\": [[0, 2, 1], [2, 5, 1], [1, 2, 3, 4, 5]], \"expected\": [[0, 2, 1], [2, 5, 1], [1, 2, 3, 4, 5]], \"passed\": true}, {\"check\": \"short shifted remainder\", \"actual\": [null, [2, 3, 6], [3]], \"expected\": [null, [2, 3, 6], [3]], \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}