{"abstract":"Block merge reverses adjacency order.","category":"Bounded deques","checks":6,"contract":"Merge adjacent deque storage blocks if combined occupancy fits one block. Preserve the left block ID, retire the right ID once, and advance the directory epoch only on success.","evaluation_group":"s3-bounded-deques-block-merge","failed_approach":"The partial repair still applies the incorrect transition to an admitted boundary or multi-element case.","family":"s3-bounded-deques-block-merge-merge-order","id":"FA-46401","implementations":{"attempt":{"sha256":"9ade0f90e88187d5179538bafbb1deebc04540f347ffbd22d93fbdfae23f1292","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(x):\n    a,b,aid,bid,cap,epoch=x\n    fits=len(a)+len(b)<=cap\n    if not fits:return [a,b,False,aid,[],epoch]\n    joined=a+b if not a else b+a\n    right=[]\n    identity=aid\n    retired=[bid]\n    version=epoch+1\n    return [joined,right,True,identity,retired,version]\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],4,5,3,0]), {1: [[1, 2, 3], [], True, 4, [5], 1], 2: [[2, 3, 4], [], True, 4, [5], 1], 3: [[3, 4, 5], [], True, 4, [5], 1], 4: [[4, 5, 6], [], True, 4, [5], 1], 5: [[5, 6, 7], [], True, 4, [5], 1]}[N])\ncheck('1', solve([[N,N+1],[N+2,N+3],4,5,3,2]), {1: [[1, 2], [3, 4], False, 4, [], 2], 2: [[2, 3], [4, 5], False, 4, [], 2], 3: [[3, 4], [5, 6], False, 4, [], 2], 4: [[4, 5], [6, 7], False, 4, [], 2], 5: [[5, 6], [7, 8], False, 4, [], 2]}[N])\ncheck('2', solve([[],[N,N+1],7,8,4,3]), {1: [[1, 2], [], True, 7, [8], 4], 2: [[2, 3], [], True, 7, [8], 4], 3: [[3, 4], [], True, 7, [8], 4], 4: [[4, 5], [], True, 7, [8], 4], 5: [[5, 6], [], True, 7, [8], 4]}[N])\ncheck('3', solve([[N],[],2,6,3,4]), {1: [[1], [], True, 2, [6], 5], 2: [[2], [], True, 2, [6], 5], 3: [[3], [], True, 2, [6], 5], 4: [[4], [], True, 2, [6], 5], 5: [[5], [], True, 2, [6], 5]}[N])\ncheck('4', solve([[],[],1,3,2,8]), {1: [[], [], True, 1, [3], 9], 2: [[], [], True, 1, [3], 9], 3: [[], [], True, 1, [3], 9], 4: [[], [], True, 1, [3], 9], 5: [[], [], True, 1, [3], 9]}[N])\ncheck('5', solve([[N],[N+1,N+2],6,9,5,1]), {1: [[1, 2, 3], [], True, 6, [9], 2], 2: [[2, 3, 4], [], True, 6, [9], 2], 3: [[3, 4, 5], [], True, 6, [9], 2], 4: [[4, 5, 6], [], True, 6, [9], 2], 5: [[5, 6, 7], [], True, 6, [9], 2]}[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":"6212882aedf1bb90255daab871b5bc3c8164aaf8c6ffe90fa2c88e2a9fbee31e","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(x):\n    a,b,aid,bid,cap,epoch=x\n    fits=len(a)+len(b)<=cap\n    if not fits:return [a,b,False,aid,[],epoch]\n    joined=b+a\n    right=[]\n    identity=aid\n    retired=[bid]\n    version=epoch+1\n    return [joined,right,True,identity,retired,version]\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],4,5,3,0]), {1: [[1, 2, 3], [], True, 4, [5], 1], 2: [[2, 3, 4], [], True, 4, [5], 1], 3: [[3, 4, 5], [], True, 4, [5], 1], 4: [[4, 5, 6], [], True, 4, [5], 1], 5: [[5, 6, 7], [], True, 4, [5], 1]}[N])\ncheck('1', solve([[N,N+1],[N+2,N+3],4,5,3,2]), {1: [[1, 2], [3, 4], False, 4, [], 2], 2: [[2, 3], [4, 5], False, 4, [], 2], 3: [[3, 4], [5, 6], False, 4, [], 2], 4: [[4, 5], [6, 7], False, 4, [], 2], 5: [[5, 6], [7, 8], False, 4, [], 2]}[N])\ncheck('2', solve([[],[N,N+1],7,8,4,3]), {1: [[1, 2], [], True, 7, [8], 4], 2: [[2, 3], [], True, 7, [8], 4], 3: [[3, 4], [], True, 7, [8], 4], 4: [[4, 5], [], True, 7, [8], 4], 5: [[5, 6], [], True, 7, [8], 4]}[N])\ncheck('3', solve([[N],[],2,6,3,4]), {1: [[1], [], True, 2, [6], 5], 2: [[2], [], True, 2, [6], 5], 3: [[3], [], True, 2, [6], 5], 4: [[4], [], True, 2, [6], 5], 5: [[5], [], True, 2, [6], 5]}[N])\ncheck('4', solve([[],[],1,3,2,8]), {1: [[], [], True, 1, [3], 9], 2: [[], [], True, 1, [3], 9], 3: [[], [], True, 1, [3], 9], 4: [[], [], True, 1, [3], 9], 5: [[], [], True, 1, [3], 9]}[N])\ncheck('5', solve([[N],[N+1,N+2],6,9,5,1]), {1: [[1, 2, 3], [], True, 6, [9], 2], 2: [[2, 3, 4], [], True, 6, [9], 2], 3: [[3, 4, 5], [], True, 6, [9], 2], 4: [[4, 5, 6], [], True, 6, [9], 2], 5: [[5, 6, 7], [], True, 6, [9], 2]}[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":"ef1f2e145a07f4fe64fdf39fd05e748e0110ee157dd8002563a1d74fe7ccac70","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(x):\n    a,b,aid,bid,cap,epoch=x\n    fits=len(a)+len(b)<=cap\n    if not fits:return [a,b,False,aid,[],epoch]\n    joined=a+b\n    right=[]\n    identity=aid\n    retired=[bid]\n    version=epoch+1\n    return [joined,right,True,identity,retired,version]\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],4,5,3,0]), {1: [[1, 2, 3], [], True, 4, [5], 1], 2: [[2, 3, 4], [], True, 4, [5], 1], 3: [[3, 4, 5], [], True, 4, [5], 1], 4: [[4, 5, 6], [], True, 4, [5], 1], 5: [[5, 6, 7], [], True, 4, [5], 1]}[N])\ncheck('1', solve([[N,N+1],[N+2,N+3],4,5,3,2]), {1: [[1, 2], [3, 4], False, 4, [], 2], 2: [[2, 3], [4, 5], False, 4, [], 2], 3: [[3, 4], [5, 6], False, 4, [], 2], 4: [[4, 5], [6, 7], False, 4, [], 2], 5: [[5, 6], [7, 8], False, 4, [], 2]}[N])\ncheck('2', solve([[],[N,N+1],7,8,4,3]), {1: [[1, 2], [], True, 7, [8], 4], 2: [[2, 3], [], True, 7, [8], 4], 3: [[3, 4], [], True, 7, [8], 4], 4: [[4, 5], [], True, 7, [8], 4], 5: [[5, 6], [], True, 7, [8], 4]}[N])\ncheck('3', solve([[N],[],2,6,3,4]), {1: [[1], [], True, 2, [6], 5], 2: [[2], [], True, 2, [6], 5], 3: [[3], [], True, 2, [6], 5], 4: [[4], [], True, 2, [6], 5], 5: [[5], [], True, 2, [6], 5]}[N])\ncheck('4', solve([[],[],1,3,2,8]), {1: [[], [], True, 1, [3], 9], 2: [[], [], True, 1, [3], 9], 3: [[], [], True, 1, [3], 9], 4: [[], [], True, 1, [3], 9], 5: [[], [], True, 1, [3], 9]}[N])\ncheck('5', solve([[N],[N+1,N+2],6,9,5,1]), {1: [[1, 2, 3], [], True, 6, [9], 2], 2: [[2, 3, 4], [], True, 6, [9], 2], 3: [[3, 4, 5], [], True, 6, [9], 2], 4: [[4, 5, 6], [], True, 6, [9], 2], 5: [[5, 6, 7], [], True, 6, [9], 2]}[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-block-merge-merge-order","generated_at":"2026-09-29T14:44:31.647809+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 merge order invariant in block-merge.","root_cause":"Block merge reverses adjacency order.","sha256":"5efdd936af4dea386ab4a806b5732fb35bd271f74cb80dec5b5ee1a5af53894a","title":"Block merge reverses adjacency order · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":42.342,"exit_code":1,"observations":[{"actual":[[3,1,2],[],true,4,[5],1],"check":"0","expected":[[1,2,3],[],true,4,[5],1],"passed":false},{"actual":[[1,2],[3,4],false,4,[],2],"check":"1","expected":[[1,2],[3,4],false,4,[],2],"passed":true},{"actual":[[1,2],[],true,7,[8],4],"check":"2","expected":[[1,2],[],true,7,[8],4],"passed":true},{"actual":[[1],[],true,2,[6],5],"check":"3","expected":[[1],[],true,2,[6],5],"passed":true},{"actual":[[],[],true,1,[3],9],"check":"4","expected":[[],[],true,1,[3],9],"passed":true},{"actual":[[2,3,1],[],true,6,[9],2],"check":"5","expected":[[1,2,3],[],true,6,[9],2],"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"0\", \"actual\": [[3, 1, 2], [], true, 4, [5], 1], \"expected\": [[1, 2, 3], [], true, 4, [5], 1], \"passed\": false}, {\"check\": \"1\", \"actual\": [[1, 2], [3, 4], false, 4, [], 2], \"expected\": [[1, 2], [3, 4], false, 4, [], 2], \"passed\": true}, {\"check\": \"2\", \"actual\": [[1, 2], [], true, 7, [8], 4], \"expected\": [[1, 2], [], true, 7, [8], 4], \"passed\": true}, {\"check\": \"3\", \"actual\": [[1], [], true, 2, [6], 5], \"expected\": [[1], [], true, 2, [6], 5], \"passed\": true}, {\"check\": \"4\", \"actual\": [[], [], true, 1, [3], 9], \"expected\": [[], [], true, 1, [3], 9], \"passed\": true}, {\"check\": \"5\", \"actual\": [[2, 3, 1], [], true, 6, [9], 2], \"expected\": [[1, 2, 3], [], true, 6, [9], 2], \"passed\": false}], \"passed\": false}\n"},"broken":{"elapsed_ms":40.007,"exit_code":1,"observations":[{"actual":[[3,1,2],[],true,4,[5],1],"check":"0","expected":[[1,2,3],[],true,4,[5],1],"passed":false},{"actual":[[1,2],[3,4],false,4,[],2],"check":"1","expected":[[1,2],[3,4],false,4,[],2],"passed":true},{"actual":[[1,2],[],true,7,[8],4],"check":"2","expected":[[1,2],[],true,7,[8],4],"passed":true},{"actual":[[1],[],true,2,[6],5],"check":"3","expected":[[1],[],true,2,[6],5],"passed":true},{"actual":[[],[],true,1,[3],9],"check":"4","expected":[[],[],true,1,[3],9],"passed":true},{"actual":[[2,3,1],[],true,6,[9],2],"check":"5","expected":[[1,2,3],[],true,6,[9],2],"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"0\", \"actual\": [[3, 1, 2], [], true, 4, [5], 1], \"expected\": [[1, 2, 3], [], true, 4, [5], 1], \"passed\": false}, {\"check\": \"1\", \"actual\": [[1, 2], [3, 4], false, 4, [], 2], \"expected\": [[1, 2], [3, 4], false, 4, [], 2], \"passed\": true}, {\"check\": \"2\", \"actual\": [[1, 2], [], true, 7, [8], 4], \"expected\": [[1, 2], [], true, 7, [8], 4], \"passed\": true}, {\"check\": \"3\", \"actual\": [[1], [], true, 2, [6], 5], \"expected\": [[1], [], true, 2, [6], 5], \"passed\": true}, {\"check\": \"4\", \"actual\": [[], [], true, 1, [3], 9], \"expected\": [[], [], true, 1, [3], 9], \"passed\": true}, {\"check\": \"5\", \"actual\": [[2, 3, 1], [], true, 6, [9], 2], \"expected\": [[1, 2, 3], [], true, 6, [9], 2], \"passed\": false}], \"passed\": false}\n"},"fixed":{"elapsed_ms":40.358,"exit_code":0,"observations":[{"actual":[[1,2,3],[],true,4,[5],1],"check":"0","expected":[[1,2,3],[],true,4,[5],1],"passed":true},{"actual":[[1,2],[3,4],false,4,[],2],"check":"1","expected":[[1,2],[3,4],false,4,[],2],"passed":true},{"actual":[[1,2],[],true,7,[8],4],"check":"2","expected":[[1,2],[],true,7,[8],4],"passed":true},{"actual":[[1],[],true,2,[6],5],"check":"3","expected":[[1],[],true,2,[6],5],"passed":true},{"actual":[[],[],true,1,[3],9],"check":"4","expected":[[],[],true,1,[3],9],"passed":true},{"actual":[[1,2,3],[],true,6,[9],2],"check":"5","expected":[[1,2,3],[],true,6,[9],2],"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"0\", \"actual\": [[1, 2, 3], [], true, 4, [5], 1], \"expected\": [[1, 2, 3], [], true, 4, [5], 1], \"passed\": true}, {\"check\": \"1\", \"actual\": [[1, 2], [3, 4], false, 4, [], 2], \"expected\": [[1, 2], [3, 4], false, 4, [], 2], \"passed\": true}, {\"check\": \"2\", \"actual\": [[1, 2], [], true, 7, [8], 4], \"expected\": [[1, 2], [], true, 7, [8], 4], \"passed\": true}, {\"check\": \"3\", \"actual\": [[1], [], true, 2, [6], 5], \"expected\": [[1], [], true, 2, [6], 5], \"passed\": true}, {\"check\": \"4\", \"actual\": [[], [], true, 1, [3], 9], \"expected\": [[], [], true, 1, [3], 9], \"passed\": true}, {\"check\": \"5\", \"actual\": [[1, 2, 3], [], true, 6, [9], 2], \"expected\": [[1, 2, 3], [], true, 6, [9], 2], \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}