{"abstract":"Rejected deque reorder clears the original data.","category":"Bounded deques","checks":6,"contract":"Reorder a bounded deque by a complete permutation of old indices, then return the inverse mapping used by bookmarks. Invalid duplicate, missing or out-of-range indices reject without changing the deque.","evaluation_group":"s3-bounded-deques-permutation-reorder","failed_approach":"The partial repair still applies the incorrect transition to an admitted boundary or multi-element case.","family":"s3-bounded-deques-permutation-reorder-rejected-preservation","id":"FA-46331","implementations":{"attempt":{"sha256":"85864898b382f6a7e9e996a039a1e36f870f562432e54569f1891b885f34889d","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(x):\n    a,order=x\n    valid=sorted(order)==list(range(len(a)))\n    if not valid:return [a if len(order)==len(a) else [],False,[]]\n    result=[a[i] for i in order]\n    inverse=[0]*len(a)\n    for new,old in enumerate(order):inverse[old]=new\n    return [result,True,inverse]\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],[2,0,1]]), {1: [[3, 1, 2], True, [1, 2, 0]], 2: [[4, 2, 3], True, [1, 2, 0]], 3: [[5, 3, 4], True, [1, 2, 0]], 4: [[6, 4, 5], True, [1, 2, 0]], 5: [[7, 5, 6], True, [1, 2, 0]]}[N])\ncheck('1', solve([[N,N+1],[0,0]]), {1: [[1, 2], False, []], 2: [[2, 3], False, []], 3: [[3, 4], False, []], 4: [[4, 5], False, []], 5: [[5, 6], False, []]}[N])\ncheck('2', solve([[N,N+1],[0]]), {1: [[1, 2], False, []], 2: [[2, 3], False, []], 3: [[3, 4], False, []], 4: [[4, 5], False, []], 5: [[5, 6], False, []]}[N])\ncheck('3', solve([[N],[0]]), {1: [[1], True, [0]], 2: [[2], True, [0]], 3: [[3], True, [0]], 4: [[4], True, [0]], 5: [[5], True, [0]]}[N])\ncheck('4', solve([[],[]]), {1: [[], True, []], 2: [[], True, []], 3: [[], True, []], 4: [[], True, []], 5: [[], True, []]}[N])\ncheck('5', solve([[N,N+1,N+2,N+3],[1,3,0,2]]), {1: [[2, 4, 1, 3], True, [2, 0, 3, 1]], 2: [[3, 5, 2, 4], True, [2, 0, 3, 1]], 3: [[4, 6, 3, 5], True, [2, 0, 3, 1]], 4: [[5, 7, 4, 6], True, [2, 0, 3, 1]], 5: [[6, 8, 5, 7], True, [2, 0, 3, 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":"07fc86783c9c15525292aef38b9f60a3ed897bec8407b045ab740c573b52b7e9","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(x):\n    a,order=x\n    valid=sorted(order)==list(range(len(a)))\n    if not valid:return [[],False,[]]\n    result=[a[i] for i in order]\n    inverse=[0]*len(a)\n    for new,old in enumerate(order):inverse[old]=new\n    return [result,True,inverse]\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],[2,0,1]]), {1: [[3, 1, 2], True, [1, 2, 0]], 2: [[4, 2, 3], True, [1, 2, 0]], 3: [[5, 3, 4], True, [1, 2, 0]], 4: [[6, 4, 5], True, [1, 2, 0]], 5: [[7, 5, 6], True, [1, 2, 0]]}[N])\ncheck('1', solve([[N,N+1],[0,0]]), {1: [[1, 2], False, []], 2: [[2, 3], False, []], 3: [[3, 4], False, []], 4: [[4, 5], False, []], 5: [[5, 6], False, []]}[N])\ncheck('2', solve([[N,N+1],[0]]), {1: [[1, 2], False, []], 2: [[2, 3], False, []], 3: [[3, 4], False, []], 4: [[4, 5], False, []], 5: [[5, 6], False, []]}[N])\ncheck('3', solve([[N],[0]]), {1: [[1], True, [0]], 2: [[2], True, [0]], 3: [[3], True, [0]], 4: [[4], True, [0]], 5: [[5], True, [0]]}[N])\ncheck('4', solve([[],[]]), {1: [[], True, []], 2: [[], True, []], 3: [[], True, []], 4: [[], True, []], 5: [[], True, []]}[N])\ncheck('5', solve([[N,N+1,N+2,N+3],[1,3,0,2]]), {1: [[2, 4, 1, 3], True, [2, 0, 3, 1]], 2: [[3, 5, 2, 4], True, [2, 0, 3, 1]], 3: [[4, 6, 3, 5], True, [2, 0, 3, 1]], 4: [[5, 7, 4, 6], True, [2, 0, 3, 1]], 5: [[6, 8, 5, 7], True, [2, 0, 3, 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":"5763b2a059ee17f1ef717747dbb018e886fdd5f637613eb27a9b26fece6f938c","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(x):\n    a,order=x\n    valid=sorted(order)==list(range(len(a)))\n    if not valid:return [a,False,[]]\n    result=[a[i] for i in order]\n    inverse=[0]*len(a)\n    for new,old in enumerate(order):inverse[old]=new\n    return [result,True,inverse]\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],[2,0,1]]), {1: [[3, 1, 2], True, [1, 2, 0]], 2: [[4, 2, 3], True, [1, 2, 0]], 3: [[5, 3, 4], True, [1, 2, 0]], 4: [[6, 4, 5], True, [1, 2, 0]], 5: [[7, 5, 6], True, [1, 2, 0]]}[N])\ncheck('1', solve([[N,N+1],[0,0]]), {1: [[1, 2], False, []], 2: [[2, 3], False, []], 3: [[3, 4], False, []], 4: [[4, 5], False, []], 5: [[5, 6], False, []]}[N])\ncheck('2', solve([[N,N+1],[0]]), {1: [[1, 2], False, []], 2: [[2, 3], False, []], 3: [[3, 4], False, []], 4: [[4, 5], False, []], 5: [[5, 6], False, []]}[N])\ncheck('3', solve([[N],[0]]), {1: [[1], True, [0]], 2: [[2], True, [0]], 3: [[3], True, [0]], 4: [[4], True, [0]], 5: [[5], True, [0]]}[N])\ncheck('4', solve([[],[]]), {1: [[], True, []], 2: [[], True, []], 3: [[], True, []], 4: [[], True, []], 5: [[], True, []]}[N])\ncheck('5', solve([[N,N+1,N+2,N+3],[1,3,0,2]]), {1: [[2, 4, 1, 3], True, [2, 0, 3, 1]], 2: [[3, 5, 2, 4], True, [2, 0, 3, 1]], 3: [[4, 6, 3, 5], True, [2, 0, 3, 1]], 4: [[5, 7, 4, 6], True, [2, 0, 3, 1]], 5: [[6, 8, 5, 7], True, [2, 0, 3, 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-permutation-reorder-rejected-preservation","generated_at":"2026-09-29T14:44:31.009531+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 rejected preservation invariant in permutation-reorder.","root_cause":"Rejected deque reorder clears the original data.","sha256":"d89731ae8b3771d8e9a9741c1c6d1fbf602b1c8e945304874fc1e52c090b2160","title":"Rejected deque reorder clears the original data · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":42.045,"exit_code":1,"observations":[{"actual":[[3,1,2],true,[1,2,0]],"check":"0","expected":[[3,1,2],true,[1,2,0]],"passed":true},{"actual":[[1,2],false,[]],"check":"1","expected":[[1,2],false,[]],"passed":true},{"actual":[[],false,[]],"check":"2","expected":[[1,2],false,[]],"passed":false},{"actual":[[1],true,[0]],"check":"3","expected":[[1],true,[0]],"passed":true},{"actual":[[],true,[]],"check":"4","expected":[[],true,[]],"passed":true},{"actual":[[2,4,1,3],true,[2,0,3,1]],"check":"5","expected":[[2,4,1,3],true,[2,0,3,1]],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"0\", \"actual\": [[3, 1, 2], true, [1, 2, 0]], \"expected\": [[3, 1, 2], true, [1, 2, 0]], \"passed\": true}, {\"check\": \"1\", \"actual\": [[1, 2], false, []], \"expected\": [[1, 2], false, []], \"passed\": true}, {\"check\": \"2\", \"actual\": [[], false, []], \"expected\": [[1, 2], false, []], \"passed\": false}, {\"check\": \"3\", \"actual\": [[1], true, [0]], \"expected\": [[1], true, [0]], \"passed\": true}, {\"check\": \"4\", \"actual\": [[], true, []], \"expected\": [[], true, []], \"passed\": true}, {\"check\": \"5\", \"actual\": [[2, 4, 1, 3], true, [2, 0, 3, 1]], \"expected\": [[2, 4, 1, 3], true, [2, 0, 3, 1]], \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":41.646,"exit_code":1,"observations":[{"actual":[[3,1,2],true,[1,2,0]],"check":"0","expected":[[3,1,2],true,[1,2,0]],"passed":true},{"actual":[[],false,[]],"check":"1","expected":[[1,2],false,[]],"passed":false},{"actual":[[],false,[]],"check":"2","expected":[[1,2],false,[]],"passed":false},{"actual":[[1],true,[0]],"check":"3","expected":[[1],true,[0]],"passed":true},{"actual":[[],true,[]],"check":"4","expected":[[],true,[]],"passed":true},{"actual":[[2,4,1,3],true,[2,0,3,1]],"check":"5","expected":[[2,4,1,3],true,[2,0,3,1]],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"0\", \"actual\": [[3, 1, 2], true, [1, 2, 0]], \"expected\": [[3, 1, 2], true, [1, 2, 0]], \"passed\": true}, {\"check\": \"1\", \"actual\": [[], false, []], \"expected\": [[1, 2], false, []], \"passed\": false}, {\"check\": \"2\", \"actual\": [[], false, []], \"expected\": [[1, 2], false, []], \"passed\": false}, {\"check\": \"3\", \"actual\": [[1], true, [0]], \"expected\": [[1], true, [0]], \"passed\": true}, {\"check\": \"4\", \"actual\": [[], true, []], \"expected\": [[], true, []], \"passed\": true}, {\"check\": \"5\", \"actual\": [[2, 4, 1, 3], true, [2, 0, 3, 1]], \"expected\": [[2, 4, 1, 3], true, [2, 0, 3, 1]], \"passed\": true}], \"passed\": false}\n"},"fixed":{"elapsed_ms":39.191,"exit_code":0,"observations":[{"actual":[[3,1,2],true,[1,2,0]],"check":"0","expected":[[3,1,2],true,[1,2,0]],"passed":true},{"actual":[[1,2],false,[]],"check":"1","expected":[[1,2],false,[]],"passed":true},{"actual":[[1,2],false,[]],"check":"2","expected":[[1,2],false,[]],"passed":true},{"actual":[[1],true,[0]],"check":"3","expected":[[1],true,[0]],"passed":true},{"actual":[[],true,[]],"check":"4","expected":[[],true,[]],"passed":true},{"actual":[[2,4,1,3],true,[2,0,3,1]],"check":"5","expected":[[2,4,1,3],true,[2,0,3,1]],"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"0\", \"actual\": [[3, 1, 2], true, [1, 2, 0]], \"expected\": [[3, 1, 2], true, [1, 2, 0]], \"passed\": true}, {\"check\": \"1\", \"actual\": [[1, 2], false, []], \"expected\": [[1, 2], false, []], \"passed\": true}, {\"check\": \"2\", \"actual\": [[1, 2], false, []], \"expected\": [[1, 2], false, []], \"passed\": true}, {\"check\": \"3\", \"actual\": [[1], true, [0]], \"expected\": [[1], true, [0]], \"passed\": true}, {\"check\": \"4\", \"actual\": [[], true, []], \"expected\": [[], true, []], \"passed\": true}, {\"check\": \"5\", \"actual\": [[2, 4, 1, 3], true, [2, 0, 3, 1]], \"expected\": [[2, 4, 1, 3], true, [2, 0, 3, 1]], \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}