{"abstract":"Deque gap insertion shifts bookmarks by one rather than batch length.","category":"Bounded deques","checks":7,"contract":"Insert a batch at a deque gap atomically. Left-biased bookmarks at that gap stay before inserted values, right-biased bookmarks move after them, and later gaps shift by inserted length.","evaluation_group":"s3-bounded-deques-gap-bookmarks","failed_approach":"The partial repair still applies the incorrect transition to an admitted boundary or multi-element case.","family":"s3-bounded-deques-gap-bookmarks-shift-distance","id":"FA-46731","implementations":{"attempt":{"sha256":"66383d8564510d1bf56655b87656827834b432d5738335ade865cd1aed7337b7","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(x):\n    a,gap,values,cap,cursors=x\n    if len(a)+len(values)>cap:return [a,cursors,False,gap]\n    result=a[:gap]+values+a[gap:]\n    updated=[]\n    for p,bias in cursors:\n        move=p>gap or (p==gap and bias=='right')\n        position=p+(1 if values else 0) if move else p\n        updated.append([position,bias])\n    next_gap=gap+len(values)\n    return [result,updated,True,next_gap]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('0', solve([[N,N+1],1,[N+2,N+3],5,[[0,\"left\"],[1,\"left\"],[1,\"right\"],[2,\"left\"]]]), {1: [[1, 3, 4, 2], [[0, 'left'], [1, 'left'], [3, 'right'], [4, 'left']], True, 3], 2: [[2, 4, 5, 3], [[0, 'left'], [1, 'left'], [3, 'right'], [4, 'left']], True, 3], 3: [[3, 5, 6, 4], [[0, 'left'], [1, 'left'], [3, 'right'], [4, 'left']], True, 3], 4: [[4, 6, 7, 5], [[0, 'left'], [1, 'left'], [3, 'right'], [4, 'left']], True, 3], 5: [[5, 7, 8, 6], [[0, 'left'], [1, 'left'], [3, 'right'], [4, 'left']], True, 3]}[N])\ncheck('1', solve([[N],0,[N+1],2,[[0,\"left\"],[0,\"right\"]]]), {1: [[2, 1], [[0, 'left'], [1, 'right']], True, 1], 2: [[3, 2], [[0, 'left'], [1, 'right']], True, 1], 3: [[4, 3], [[0, 'left'], [1, 'right']], True, 1], 4: [[5, 4], [[0, 'left'], [1, 'right']], True, 1], 5: [[6, 5], [[0, 'left'], [1, 'right']], True, 1]}[N])\ncheck('2', solve([[N,N+1],1,[N+2,N+3],3,[[1,\"left\"]]]), {1: [[1, 2], [[1, 'left']], False, 1], 2: [[2, 3], [[1, 'left']], False, 1], 3: [[3, 4], [[1, 'left']], False, 1], 4: [[4, 5], [[1, 'left']], False, 1], 5: [[5, 6], [[1, 'left']], False, 1]}[N])\ncheck('3', solve([[],0,[],1,[[0,\"right\"]]]), {1: [[], [[0, 'right']], True, 0], 2: [[], [[0, 'right']], True, 0], 3: [[], [[0, 'right']], True, 0], 4: [[], [[0, 'right']], True, 0], 5: [[], [[0, 'right']], True, 0]}[N])\ncheck('4', solve([[N,N+1,N+2],2,[N+3],5,[[3,\"right\"]]]), {1: [[1, 2, 4, 3], [[4, 'right']], True, 3], 2: [[2, 3, 5, 4], [[4, 'right']], True, 3], 3: [[3, 4, 6, 5], [[4, 'right']], True, 3], 4: [[4, 5, 7, 6], [[4, 'right']], True, 3], 5: [[5, 6, 8, 7], [[4, 'right']], True, 3]}[N])\ncheck('5', solve([[N],1,[],2,[[1,\"left\"]]]), {1: [[1], [[1, 'left']], True, 1], 2: [[2], [[1, 'left']], True, 1], 3: [[3], [[1, 'left']], True, 1], 4: [[4], [[1, 'left']], True, 1], 5: [[5], [[1, 'left']], True, 1]}[N])\ncheck('interior later bookmark', solve([[N,N+1,N+2,N+3],1,[N+4],5,[[2,'left']]]), [[N,N+4,N+1,N+2,N+3],[[3,'left']],True,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":"6e57130d6d75e591df49f1416249f6243dec827ad948de27955494307859f06b","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(x):\n    a,gap,values,cap,cursors=x\n    if len(a)+len(values)>cap:return [a,cursors,False,gap]\n    result=a[:gap]+values+a[gap:]\n    updated=[]\n    for p,bias in cursors:\n        move=p>gap or (p==gap and bias=='right')\n        position=p+1 if move else p\n        updated.append([position,bias])\n    next_gap=gap+len(values)\n    return [result,updated,True,next_gap]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('0', solve([[N,N+1],1,[N+2,N+3],5,[[0,\"left\"],[1,\"left\"],[1,\"right\"],[2,\"left\"]]]), {1: [[1, 3, 4, 2], [[0, 'left'], [1, 'left'], [3, 'right'], [4, 'left']], True, 3], 2: [[2, 4, 5, 3], [[0, 'left'], [1, 'left'], [3, 'right'], [4, 'left']], True, 3], 3: [[3, 5, 6, 4], [[0, 'left'], [1, 'left'], [3, 'right'], [4, 'left']], True, 3], 4: [[4, 6, 7, 5], [[0, 'left'], [1, 'left'], [3, 'right'], [4, 'left']], True, 3], 5: [[5, 7, 8, 6], [[0, 'left'], [1, 'left'], [3, 'right'], [4, 'left']], True, 3]}[N])\ncheck('1', solve([[N],0,[N+1],2,[[0,\"left\"],[0,\"right\"]]]), {1: [[2, 1], [[0, 'left'], [1, 'right']], True, 1], 2: [[3, 2], [[0, 'left'], [1, 'right']], True, 1], 3: [[4, 3], [[0, 'left'], [1, 'right']], True, 1], 4: [[5, 4], [[0, 'left'], [1, 'right']], True, 1], 5: [[6, 5], [[0, 'left'], [1, 'right']], True, 1]}[N])\ncheck('2', solve([[N,N+1],1,[N+2,N+3],3,[[1,\"left\"]]]), {1: [[1, 2], [[1, 'left']], False, 1], 2: [[2, 3], [[1, 'left']], False, 1], 3: [[3, 4], [[1, 'left']], False, 1], 4: [[4, 5], [[1, 'left']], False, 1], 5: [[5, 6], [[1, 'left']], False, 1]}[N])\ncheck('3', solve([[],0,[],1,[[0,\"right\"]]]), {1: [[], [[0, 'right']], True, 0], 2: [[], [[0, 'right']], True, 0], 3: [[], [[0, 'right']], True, 0], 4: [[], [[0, 'right']], True, 0], 5: [[], [[0, 'right']], True, 0]}[N])\ncheck('4', solve([[N,N+1,N+2],2,[N+3],5,[[3,\"right\"]]]), {1: [[1, 2, 4, 3], [[4, 'right']], True, 3], 2: [[2, 3, 5, 4], [[4, 'right']], True, 3], 3: [[3, 4, 6, 5], [[4, 'right']], True, 3], 4: [[4, 5, 7, 6], [[4, 'right']], True, 3], 5: [[5, 6, 8, 7], [[4, 'right']], True, 3]}[N])\ncheck('5', solve([[N],1,[],2,[[1,\"left\"]]]), {1: [[1], [[1, 'left']], True, 1], 2: [[2], [[1, 'left']], True, 1], 3: [[3], [[1, 'left']], True, 1], 4: [[4], [[1, 'left']], True, 1], 5: [[5], [[1, 'left']], True, 1]}[N])\ncheck('interior later bookmark', solve([[N,N+1,N+2,N+3],1,[N+4],5,[[2,'left']]]), [[N,N+4,N+1,N+2,N+3],[[3,'left']],True,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":"451df95974f3f050c859102417e1fe444214911ed8a335c93220a2d65e3ea2e6","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(x):\n    a,gap,values,cap,cursors=x\n    if len(a)+len(values)>cap:return [a,cursors,False,gap]\n    result=a[:gap]+values+a[gap:]\n    updated=[]\n    for p,bias in cursors:\n        move=p>gap or (p==gap and bias=='right')\n        position=p+len(values) if move else p\n        updated.append([position,bias])\n    next_gap=gap+len(values)\n    return [result,updated,True,next_gap]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('0', solve([[N,N+1],1,[N+2,N+3],5,[[0,\"left\"],[1,\"left\"],[1,\"right\"],[2,\"left\"]]]), {1: [[1, 3, 4, 2], [[0, 'left'], [1, 'left'], [3, 'right'], [4, 'left']], True, 3], 2: [[2, 4, 5, 3], [[0, 'left'], [1, 'left'], [3, 'right'], [4, 'left']], True, 3], 3: [[3, 5, 6, 4], [[0, 'left'], [1, 'left'], [3, 'right'], [4, 'left']], True, 3], 4: [[4, 6, 7, 5], [[0, 'left'], [1, 'left'], [3, 'right'], [4, 'left']], True, 3], 5: [[5, 7, 8, 6], [[0, 'left'], [1, 'left'], [3, 'right'], [4, 'left']], True, 3]}[N])\ncheck('1', solve([[N],0,[N+1],2,[[0,\"left\"],[0,\"right\"]]]), {1: [[2, 1], [[0, 'left'], [1, 'right']], True, 1], 2: [[3, 2], [[0, 'left'], [1, 'right']], True, 1], 3: [[4, 3], [[0, 'left'], [1, 'right']], True, 1], 4: [[5, 4], [[0, 'left'], [1, 'right']], True, 1], 5: [[6, 5], [[0, 'left'], [1, 'right']], True, 1]}[N])\ncheck('2', solve([[N,N+1],1,[N+2,N+3],3,[[1,\"left\"]]]), {1: [[1, 2], [[1, 'left']], False, 1], 2: [[2, 3], [[1, 'left']], False, 1], 3: [[3, 4], [[1, 'left']], False, 1], 4: [[4, 5], [[1, 'left']], False, 1], 5: [[5, 6], [[1, 'left']], False, 1]}[N])\ncheck('3', solve([[],0,[],1,[[0,\"right\"]]]), {1: [[], [[0, 'right']], True, 0], 2: [[], [[0, 'right']], True, 0], 3: [[], [[0, 'right']], True, 0], 4: [[], [[0, 'right']], True, 0], 5: [[], [[0, 'right']], True, 0]}[N])\ncheck('4', solve([[N,N+1,N+2],2,[N+3],5,[[3,\"right\"]]]), {1: [[1, 2, 4, 3], [[4, 'right']], True, 3], 2: [[2, 3, 5, 4], [[4, 'right']], True, 3], 3: [[3, 4, 6, 5], [[4, 'right']], True, 3], 4: [[4, 5, 7, 6], [[4, 'right']], True, 3], 5: [[5, 6, 8, 7], [[4, 'right']], True, 3]}[N])\ncheck('5', solve([[N],1,[],2,[[1,\"left\"]]]), {1: [[1], [[1, 'left']], True, 1], 2: [[2], [[1, 'left']], True, 1], 3: [[3], [[1, 'left']], True, 1], 4: [[4], [[1, 'left']], True, 1], 5: [[5], [[1, 'left']], True, 1]}[N])\ncheck('interior later bookmark', solve([[N,N+1,N+2,N+3],1,[N+4],5,[[2,'left']]]), [[N,N+4,N+1,N+2,N+3],[[3,'left']],True,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-gap-bookmarks-shift-distance","generated_at":"2026-09-29T14:44:34.947287+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 shift distance invariant in gap-bookmarks.","root_cause":"Deque gap insertion shifts bookmarks by one rather than batch length.","sha256":"e0469986a1ceff7353591265aec86b861647e4b69721163faf08b9fa2aafa9c6","title":"Deque gap insertion shifts bookmarks by one rather than batch length · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":49.299,"exit_code":1,"observations":[{"actual":[[1,3,4,2],[[0,"left"],[1,"left"],[2,"right"],[3,"left"]],true,3],"check":"0","expected":[[1,3,4,2],[[0,"left"],[1,"left"],[3,"right"],[4,"left"]],true,3],"passed":false},{"actual":[[2,1],[[0,"left"],[1,"right"]],true,1],"check":"1","expected":[[2,1],[[0,"left"],[1,"right"]],true,1],"passed":true},{"actual":[[1,2],[[1,"left"]],false,1],"check":"2","expected":[[1,2],[[1,"left"]],false,1],"passed":true},{"actual":[[],[[0,"right"]],true,0],"check":"3","expected":[[],[[0,"right"]],true,0],"passed":true},{"actual":[[1,2,4,3],[[4,"right"]],true,3],"check":"4","expected":[[1,2,4,3],[[4,"right"]],true,3],"passed":true},{"actual":[[1],[[1,"left"]],true,1],"check":"5","expected":[[1],[[1,"left"]],true,1],"passed":true},{"actual":[[1,5,2,3,4],[[3,"left"]],true,2],"check":"interior later bookmark","expected":[[1,5,2,3,4],[[3,"left"]],true,2],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"0\", \"actual\": [[1, 3, 4, 2], [[0, \"left\"], [1, \"left\"], [2, \"right\"], [3, \"left\"]], true, 3], \"expected\": [[1, 3, 4, 2], [[0, \"left\"], [1, \"left\"], [3, \"right\"], [4, \"left\"]], true, 3], \"passed\": false}, {\"check\": \"1\", \"actual\": [[2, 1], [[0, \"left\"], [1, \"right\"]], true, 1], \"expected\": [[2, 1], [[0, \"left\"], [1, \"right\"]], true, 1], \"passed\": true}, {\"check\": \"2\", \"actual\": [[1, 2], [[1, \"left\"]], false, 1], \"expected\": [[1, 2], [[1, \"left\"]], false, 1], \"passed\": true}, {\"check\": \"3\", \"actual\": [[], [[0, \"right\"]], true, 0], \"expected\": [[], [[0, \"right\"]], true, 0], \"passed\": true}, {\"check\": \"4\", \"actual\": [[1, 2, 4, 3], [[4, \"right\"]], true, 3], \"expected\": [[1, 2, 4, 3], [[4, \"right\"]], true, 3], \"passed\": true}, {\"check\": \"5\", \"actual\": [[1], [[1, \"left\"]], true, 1], \"expected\": [[1], [[1, \"left\"]], true, 1], \"passed\": true}, {\"check\": \"interior later bookmark\", \"actual\": [[1, 5, 2, 3, 4], [[3, \"left\"]], true, 2], \"expected\": [[1, 5, 2, 3, 4], [[3, \"left\"]], true, 2], \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":41.018,"exit_code":1,"observations":[{"actual":[[1,3,4,2],[[0,"left"],[1,"left"],[2,"right"],[3,"left"]],true,3],"check":"0","expected":[[1,3,4,2],[[0,"left"],[1,"left"],[3,"right"],[4,"left"]],true,3],"passed":false},{"actual":[[2,1],[[0,"left"],[1,"right"]],true,1],"check":"1","expected":[[2,1],[[0,"left"],[1,"right"]],true,1],"passed":true},{"actual":[[1,2],[[1,"left"]],false,1],"check":"2","expected":[[1,2],[[1,"left"]],false,1],"passed":true},{"actual":[[],[[1,"right"]],true,0],"check":"3","expected":[[],[[0,"right"]],true,0],"passed":false},{"actual":[[1,2,4,3],[[4,"right"]],true,3],"check":"4","expected":[[1,2,4,3],[[4,"right"]],true,3],"passed":true},{"actual":[[1],[[1,"left"]],true,1],"check":"5","expected":[[1],[[1,"left"]],true,1],"passed":true},{"actual":[[1,5,2,3,4],[[3,"left"]],true,2],"check":"interior later bookmark","expected":[[1,5,2,3,4],[[3,"left"]],true,2],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"0\", \"actual\": [[1, 3, 4, 2], [[0, \"left\"], [1, \"left\"], [2, \"right\"], [3, \"left\"]], true, 3], \"expected\": [[1, 3, 4, 2], [[0, \"left\"], [1, \"left\"], [3, \"right\"], [4, \"left\"]], true, 3], \"passed\": false}, {\"check\": \"1\", \"actual\": [[2, 1], [[0, \"left\"], [1, \"right\"]], true, 1], \"expected\": [[2, 1], [[0, \"left\"], [1, \"right\"]], true, 1], \"passed\": true}, {\"check\": \"2\", \"actual\": [[1, 2], [[1, \"left\"]], false, 1], \"expected\": [[1, 2], [[1, \"left\"]], false, 1], \"passed\": true}, {\"check\": \"3\", \"actual\": [[], [[1, \"right\"]], true, 0], \"expected\": [[], [[0, \"right\"]], true, 0], \"passed\": false}, {\"check\": \"4\", \"actual\": [[1, 2, 4, 3], [[4, \"right\"]], true, 3], \"expected\": [[1, 2, 4, 3], [[4, \"right\"]], true, 3], \"passed\": true}, {\"check\": \"5\", \"actual\": [[1], [[1, \"left\"]], true, 1], \"expected\": [[1], [[1, \"left\"]], true, 1], \"passed\": true}, {\"check\": \"interior later bookmark\", \"actual\": [[1, 5, 2, 3, 4], [[3, \"left\"]], true, 2], \"expected\": [[1, 5, 2, 3, 4], [[3, \"left\"]], true, 2], \"passed\": true}], \"passed\": false}\n"},"fixed":{"elapsed_ms":44.196,"exit_code":0,"observations":[{"actual":[[1,3,4,2],[[0,"left"],[1,"left"],[3,"right"],[4,"left"]],true,3],"check":"0","expected":[[1,3,4,2],[[0,"left"],[1,"left"],[3,"right"],[4,"left"]],true,3],"passed":true},{"actual":[[2,1],[[0,"left"],[1,"right"]],true,1],"check":"1","expected":[[2,1],[[0,"left"],[1,"right"]],true,1],"passed":true},{"actual":[[1,2],[[1,"left"]],false,1],"check":"2","expected":[[1,2],[[1,"left"]],false,1],"passed":true},{"actual":[[],[[0,"right"]],true,0],"check":"3","expected":[[],[[0,"right"]],true,0],"passed":true},{"actual":[[1,2,4,3],[[4,"right"]],true,3],"check":"4","expected":[[1,2,4,3],[[4,"right"]],true,3],"passed":true},{"actual":[[1],[[1,"left"]],true,1],"check":"5","expected":[[1],[[1,"left"]],true,1],"passed":true},{"actual":[[1,5,2,3,4],[[3,"left"]],true,2],"check":"interior later bookmark","expected":[[1,5,2,3,4],[[3,"left"]],true,2],"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"0\", \"actual\": [[1, 3, 4, 2], [[0, \"left\"], [1, \"left\"], [3, \"right\"], [4, \"left\"]], true, 3], \"expected\": [[1, 3, 4, 2], [[0, \"left\"], [1, \"left\"], [3, \"right\"], [4, \"left\"]], true, 3], \"passed\": true}, {\"check\": \"1\", \"actual\": [[2, 1], [[0, \"left\"], [1, \"right\"]], true, 1], \"expected\": [[2, 1], [[0, \"left\"], [1, \"right\"]], true, 1], \"passed\": true}, {\"check\": \"2\", \"actual\": [[1, 2], [[1, \"left\"]], false, 1], \"expected\": [[1, 2], [[1, \"left\"]], false, 1], \"passed\": true}, {\"check\": \"3\", \"actual\": [[], [[0, \"right\"]], true, 0], \"expected\": [[], [[0, \"right\"]], true, 0], \"passed\": true}, {\"check\": \"4\", \"actual\": [[1, 2, 4, 3], [[4, \"right\"]], true, 3], \"expected\": [[1, 2, 4, 3], [[4, \"right\"]], true, 3], \"passed\": true}, {\"check\": \"5\", \"actual\": [[1], [[1, \"left\"]], true, 1], \"expected\": [[1], [[1, \"left\"]], true, 1], \"passed\": true}, {\"check\": \"interior later bookmark\", \"actual\": [[1, 5, 2, 3, 4], [[3, \"left\"]], true, 2], \"expected\": [[1, 5, 2, 3, 4], [[3, \"left\"]], true, 2], \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}