{"abstract":"Lazy reversed deque removes the physical front.","category":"Bounded deques","checks":9,"contract":"A bounded deque stores physical values and a lazy reversed flag. Flip toggles orientation without moving storage; logical append and front-pop select the appropriate physical endpoint. Full append rejects.","evaluation_group":"s3-bounded-deques-lazy-orientation","failed_approach":"The partial repair still applies the incorrect transition to an admitted boundary or multi-element case.","family":"s3-bounded-deques-lazy-orientation-front-removal","id":"FA-47006","implementations":{"attempt":{"sha256":"e397531c0a06a7e1e0f6165b31ab23e118d9bdaf9187a1f0466942e0fa26a59b","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(x):\n    storage,reverse,op,value,cap=x\n    logical=storage[::-1] if reverse else storage[:]\n    if op=='flip':return [storage,not reverse,logical[::-1],None]\n    if op=='push':\n        if len(storage)==cap:return [storage,reverse,logical,'full']\n        physical=[value]+storage if reverse else storage+[value]\n        return [physical,reverse,logical+[value],None]\n    if not storage:return [storage,reverse,logical,'empty']\n    result=storage[:-1] if reverse and len(storage)==1 else storage[1:]\n    removed=storage[-1] if reverse else storage[0]\n    remaining=result[::-1] if reverse else result[:]\n    return [result,reverse,remaining,removed]\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],True,\"pop\",0,4]), {1: [[1, 2], True, [2, 1], 3], 2: [[2, 3], True, [3, 2], 4], 3: [[3, 4], True, [4, 3], 5], 4: [[4, 5], True, [5, 4], 6], 5: [[5, 6], True, [6, 5], 7]}[N])\ncheck('1', solve([[N,N+1],True,\"push\",N+2,4]), {1: [[3, 1, 2], True, [2, 1, 3], None], 2: [[4, 2, 3], True, [3, 2, 4], None], 3: [[5, 3, 4], True, [4, 3, 5], None], 4: [[6, 4, 5], True, [5, 4, 6], None], 5: [[7, 5, 6], True, [6, 5, 7], None]}[N])\ncheck('2', solve([[N,N+1],False,\"flip\",0,3]), {1: [[1, 2], True, [2, 1], None], 2: [[2, 3], True, [3, 2], None], 3: [[3, 4], True, [4, 3], None], 4: [[4, 5], True, [5, 4], None], 5: [[5, 6], True, [6, 5], None]}[N])\ncheck('3', solve([[N,N+1],True,\"flip\",0,3]), {1: [[1, 2], False, [1, 2], None], 2: [[2, 3], False, [2, 3], None], 3: [[3, 4], False, [3, 4], None], 4: [[4, 5], False, [4, 5], None], 5: [[5, 6], False, [5, 6], None]}[N])\ncheck('4', solve([[N],False,\"push\",N+1,1]), {1: [[1], False, [1], 'full'], 2: [[2], False, [2], 'full'], 3: [[3], False, [3], 'full'], 4: [[4], False, [4], 'full'], 5: [[5], False, [5], 'full']}[N])\ncheck('5', solve([[],True,\"pop\",0,3]), {1: [[], True, [], 'empty'], 2: [[], True, [], 'empty'], 3: [[], True, [], 'empty'], 4: [[], True, [], 'empty'], 5: [[], True, [], 'empty']}[N])\ncheck('6', solve([[N,N+1],False,\"pop\",0,3]), {1: [[2], False, [2], 1], 2: [[3], False, [3], 2], 3: [[4], False, [4], 3], 4: [[5], False, [5], 4], 5: [[6], False, [6], 5]}[N])\ncheck('7', solve([[N],False,\"push\",N+1,3]), {1: [[1, 2], False, [1, 2], None], 2: [[2, 3], False, [2, 3], None], 3: [[3, 4], False, [3, 4], None], 4: [[4, 5], False, [4, 5], None], 5: [[5, 6], False, [5, 6], None]}[N])\ncheck('full reversed rejection', solve([[N,N+1],True,'push',N+2,2]), [[N,N+1],True,[N+1,N],'full'])\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":"75bee201141d6cc22fd39b82c06ac37e808f4863763fcfb01c5096a900a82cca","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(x):\n    storage,reverse,op,value,cap=x\n    logical=storage[::-1] if reverse else storage[:]\n    if op=='flip':return [storage,not reverse,logical[::-1],None]\n    if op=='push':\n        if len(storage)==cap:return [storage,reverse,logical,'full']\n        physical=[value]+storage if reverse else storage+[value]\n        return [physical,reverse,logical+[value],None]\n    if not storage:return [storage,reverse,logical,'empty']\n    result=storage[1:]\n    removed=storage[-1] if reverse else storage[0]\n    remaining=result[::-1] if reverse else result[:]\n    return [result,reverse,remaining,removed]\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],True,\"pop\",0,4]), {1: [[1, 2], True, [2, 1], 3], 2: [[2, 3], True, [3, 2], 4], 3: [[3, 4], True, [4, 3], 5], 4: [[4, 5], True, [5, 4], 6], 5: [[5, 6], True, [6, 5], 7]}[N])\ncheck('1', solve([[N,N+1],True,\"push\",N+2,4]), {1: [[3, 1, 2], True, [2, 1, 3], None], 2: [[4, 2, 3], True, [3, 2, 4], None], 3: [[5, 3, 4], True, [4, 3, 5], None], 4: [[6, 4, 5], True, [5, 4, 6], None], 5: [[7, 5, 6], True, [6, 5, 7], None]}[N])\ncheck('2', solve([[N,N+1],False,\"flip\",0,3]), {1: [[1, 2], True, [2, 1], None], 2: [[2, 3], True, [3, 2], None], 3: [[3, 4], True, [4, 3], None], 4: [[4, 5], True, [5, 4], None], 5: [[5, 6], True, [6, 5], None]}[N])\ncheck('3', solve([[N,N+1],True,\"flip\",0,3]), {1: [[1, 2], False, [1, 2], None], 2: [[2, 3], False, [2, 3], None], 3: [[3, 4], False, [3, 4], None], 4: [[4, 5], False, [4, 5], None], 5: [[5, 6], False, [5, 6], None]}[N])\ncheck('4', solve([[N],False,\"push\",N+1,1]), {1: [[1], False, [1], 'full'], 2: [[2], False, [2], 'full'], 3: [[3], False, [3], 'full'], 4: [[4], False, [4], 'full'], 5: [[5], False, [5], 'full']}[N])\ncheck('5', solve([[],True,\"pop\",0,3]), {1: [[], True, [], 'empty'], 2: [[], True, [], 'empty'], 3: [[], True, [], 'empty'], 4: [[], True, [], 'empty'], 5: [[], True, [], 'empty']}[N])\ncheck('6', solve([[N,N+1],False,\"pop\",0,3]), {1: [[2], False, [2], 1], 2: [[3], False, [3], 2], 3: [[4], False, [4], 3], 4: [[5], False, [5], 4], 5: [[6], False, [6], 5]}[N])\ncheck('7', solve([[N],False,\"push\",N+1,3]), {1: [[1, 2], False, [1, 2], None], 2: [[2, 3], False, [2, 3], None], 3: [[3, 4], False, [3, 4], None], 4: [[4, 5], False, [4, 5], None], 5: [[5, 6], False, [5, 6], None]}[N])\ncheck('full reversed rejection', solve([[N,N+1],True,'push',N+2,2]), [[N,N+1],True,[N+1,N],'full'])\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":"7717b8a00c3961ff1a3605d14928e172f7e050412a6cf1e267e97d35211f64d0","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(x):\n    storage,reverse,op,value,cap=x\n    logical=storage[::-1] if reverse else storage[:]\n    if op=='flip':return [storage,not reverse,logical[::-1],None]\n    if op=='push':\n        if len(storage)==cap:return [storage,reverse,logical,'full']\n        physical=[value]+storage if reverse else storage+[value]\n        return [physical,reverse,logical+[value],None]\n    if not storage:return [storage,reverse,logical,'empty']\n    result=storage[:-1] if reverse else storage[1:]\n    removed=storage[-1] if reverse else storage[0]\n    remaining=result[::-1] if reverse else result[:]\n    return [result,reverse,remaining,removed]\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],True,\"pop\",0,4]), {1: [[1, 2], True, [2, 1], 3], 2: [[2, 3], True, [3, 2], 4], 3: [[3, 4], True, [4, 3], 5], 4: [[4, 5], True, [5, 4], 6], 5: [[5, 6], True, [6, 5], 7]}[N])\ncheck('1', solve([[N,N+1],True,\"push\",N+2,4]), {1: [[3, 1, 2], True, [2, 1, 3], None], 2: [[4, 2, 3], True, [3, 2, 4], None], 3: [[5, 3, 4], True, [4, 3, 5], None], 4: [[6, 4, 5], True, [5, 4, 6], None], 5: [[7, 5, 6], True, [6, 5, 7], None]}[N])\ncheck('2', solve([[N,N+1],False,\"flip\",0,3]), {1: [[1, 2], True, [2, 1], None], 2: [[2, 3], True, [3, 2], None], 3: [[3, 4], True, [4, 3], None], 4: [[4, 5], True, [5, 4], None], 5: [[5, 6], True, [6, 5], None]}[N])\ncheck('3', solve([[N,N+1],True,\"flip\",0,3]), {1: [[1, 2], False, [1, 2], None], 2: [[2, 3], False, [2, 3], None], 3: [[3, 4], False, [3, 4], None], 4: [[4, 5], False, [4, 5], None], 5: [[5, 6], False, [5, 6], None]}[N])\ncheck('4', solve([[N],False,\"push\",N+1,1]), {1: [[1], False, [1], 'full'], 2: [[2], False, [2], 'full'], 3: [[3], False, [3], 'full'], 4: [[4], False, [4], 'full'], 5: [[5], False, [5], 'full']}[N])\ncheck('5', solve([[],True,\"pop\",0,3]), {1: [[], True, [], 'empty'], 2: [[], True, [], 'empty'], 3: [[], True, [], 'empty'], 4: [[], True, [], 'empty'], 5: [[], True, [], 'empty']}[N])\ncheck('6', solve([[N,N+1],False,\"pop\",0,3]), {1: [[2], False, [2], 1], 2: [[3], False, [3], 2], 3: [[4], False, [4], 3], 4: [[5], False, [5], 4], 5: [[6], False, [6], 5]}[N])\ncheck('7', solve([[N],False,\"push\",N+1,3]), {1: [[1, 2], False, [1, 2], None], 2: [[2, 3], False, [2, 3], None], 3: [[3, 4], False, [3, 4], None], 4: [[4, 5], False, [4, 5], None], 5: [[5, 6], False, [5, 6], None]}[N])\ncheck('full reversed rejection', solve([[N,N+1],True,'push',N+2,2]), [[N,N+1],True,[N+1,N],'full'])\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-lazy-orientation-front-removal","generated_at":"2026-09-29T14:44:37.441797+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 front removal invariant in lazy-orientation.","root_cause":"Lazy reversed deque removes the physical front.","sha256":"acca887fd3b266fe43addd591a6f6b514aa7f8f0d45a162d949483b305fed399","title":"Lazy reversed deque removes the physical front · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":38.913,"exit_code":1,"observations":[{"actual":[[2,3],true,[3,2],3],"check":"0","expected":[[1,2],true,[2,1],3],"passed":false},{"actual":[[3,1,2],true,[2,1,3],null],"check":"1","expected":[[3,1,2],true,[2,1,3],null],"passed":true},{"actual":[[1,2],true,[2,1],null],"check":"2","expected":[[1,2],true,[2,1],null],"passed":true},{"actual":[[1,2],false,[1,2],null],"check":"3","expected":[[1,2],false,[1,2],null],"passed":true},{"actual":[[1],false,[1],"full"],"check":"4","expected":[[1],false,[1],"full"],"passed":true},{"actual":[[],true,[],"empty"],"check":"5","expected":[[],true,[],"empty"],"passed":true},{"actual":[[2],false,[2],1],"check":"6","expected":[[2],false,[2],1],"passed":true},{"actual":[[1,2],false,[1,2],null],"check":"7","expected":[[1,2],false,[1,2],null],"passed":true},{"actual":[[1,2],true,[2,1],"full"],"check":"full reversed rejection","expected":[[1,2],true,[2,1],"full"],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"0\", \"actual\": [[2, 3], true, [3, 2], 3], \"expected\": [[1, 2], true, [2, 1], 3], \"passed\": false}, {\"check\": \"1\", \"actual\": [[3, 1, 2], true, [2, 1, 3], null], \"expected\": [[3, 1, 2], true, [2, 1, 3], null], \"passed\": true}, {\"check\": \"2\", \"actual\": [[1, 2], true, [2, 1], null], \"expected\": [[1, 2], true, [2, 1], null], \"passed\": true}, {\"check\": \"3\", \"actual\": [[1, 2], false, [1, 2], null], \"expected\": [[1, 2], false, [1, 2], null], \"passed\": true}, {\"check\": \"4\", \"actual\": [[1], false, [1], \"full\"], \"expected\": [[1], false, [1], \"full\"], \"passed\": true}, {\"check\": \"5\", \"actual\": [[], true, [], \"empty\"], \"expected\": [[], true, [], \"empty\"], \"passed\": true}, {\"check\": \"6\", \"actual\": [[2], false, [2], 1], \"expected\": [[2], false, [2], 1], \"passed\": true}, {\"check\": \"7\", \"actual\": [[1, 2], false, [1, 2], null], \"expected\": [[1, 2], false, [1, 2], null], \"passed\": true}, {\"check\": \"full reversed rejection\", \"actual\": [[1, 2], true, [2, 1], \"full\"], \"expected\": [[1, 2], true, [2, 1], \"full\"], \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":42.567,"exit_code":1,"observations":[{"actual":[[2,3],true,[3,2],3],"check":"0","expected":[[1,2],true,[2,1],3],"passed":false},{"actual":[[3,1,2],true,[2,1,3],null],"check":"1","expected":[[3,1,2],true,[2,1,3],null],"passed":true},{"actual":[[1,2],true,[2,1],null],"check":"2","expected":[[1,2],true,[2,1],null],"passed":true},{"actual":[[1,2],false,[1,2],null],"check":"3","expected":[[1,2],false,[1,2],null],"passed":true},{"actual":[[1],false,[1],"full"],"check":"4","expected":[[1],false,[1],"full"],"passed":true},{"actual":[[],true,[],"empty"],"check":"5","expected":[[],true,[],"empty"],"passed":true},{"actual":[[2],false,[2],1],"check":"6","expected":[[2],false,[2],1],"passed":true},{"actual":[[1,2],false,[1,2],null],"check":"7","expected":[[1,2],false,[1,2],null],"passed":true},{"actual":[[1,2],true,[2,1],"full"],"check":"full reversed rejection","expected":[[1,2],true,[2,1],"full"],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"0\", \"actual\": [[2, 3], true, [3, 2], 3], \"expected\": [[1, 2], true, [2, 1], 3], \"passed\": false}, {\"check\": \"1\", \"actual\": [[3, 1, 2], true, [2, 1, 3], null], \"expected\": [[3, 1, 2], true, [2, 1, 3], null], \"passed\": true}, {\"check\": \"2\", \"actual\": [[1, 2], true, [2, 1], null], \"expected\": [[1, 2], true, [2, 1], null], \"passed\": true}, {\"check\": \"3\", \"actual\": [[1, 2], false, [1, 2], null], \"expected\": [[1, 2], false, [1, 2], null], \"passed\": true}, {\"check\": \"4\", \"actual\": [[1], false, [1], \"full\"], \"expected\": [[1], false, [1], \"full\"], \"passed\": true}, {\"check\": \"5\", \"actual\": [[], true, [], \"empty\"], \"expected\": [[], true, [], \"empty\"], \"passed\": true}, {\"check\": \"6\", \"actual\": [[2], false, [2], 1], \"expected\": [[2], false, [2], 1], \"passed\": true}, {\"check\": \"7\", \"actual\": [[1, 2], false, [1, 2], null], \"expected\": [[1, 2], false, [1, 2], null], \"passed\": true}, {\"check\": \"full reversed rejection\", \"actual\": [[1, 2], true, [2, 1], \"full\"], \"expected\": [[1, 2], true, [2, 1], \"full\"], \"passed\": true}], \"passed\": false}\n"},"fixed":{"elapsed_ms":39.412,"exit_code":0,"observations":[{"actual":[[1,2],true,[2,1],3],"check":"0","expected":[[1,2],true,[2,1],3],"passed":true},{"actual":[[3,1,2],true,[2,1,3],null],"check":"1","expected":[[3,1,2],true,[2,1,3],null],"passed":true},{"actual":[[1,2],true,[2,1],null],"check":"2","expected":[[1,2],true,[2,1],null],"passed":true},{"actual":[[1,2],false,[1,2],null],"check":"3","expected":[[1,2],false,[1,2],null],"passed":true},{"actual":[[1],false,[1],"full"],"check":"4","expected":[[1],false,[1],"full"],"passed":true},{"actual":[[],true,[],"empty"],"check":"5","expected":[[],true,[],"empty"],"passed":true},{"actual":[[2],false,[2],1],"check":"6","expected":[[2],false,[2],1],"passed":true},{"actual":[[1,2],false,[1,2],null],"check":"7","expected":[[1,2],false,[1,2],null],"passed":true},{"actual":[[1,2],true,[2,1],"full"],"check":"full reversed rejection","expected":[[1,2],true,[2,1],"full"],"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"0\", \"actual\": [[1, 2], true, [2, 1], 3], \"expected\": [[1, 2], true, [2, 1], 3], \"passed\": true}, {\"check\": \"1\", \"actual\": [[3, 1, 2], true, [2, 1, 3], null], \"expected\": [[3, 1, 2], true, [2, 1, 3], null], \"passed\": true}, {\"check\": \"2\", \"actual\": [[1, 2], true, [2, 1], null], \"expected\": [[1, 2], true, [2, 1], null], \"passed\": true}, {\"check\": \"3\", \"actual\": [[1, 2], false, [1, 2], null], \"expected\": [[1, 2], false, [1, 2], null], \"passed\": true}, {\"check\": \"4\", \"actual\": [[1], false, [1], \"full\"], \"expected\": [[1], false, [1], \"full\"], \"passed\": true}, {\"check\": \"5\", \"actual\": [[], true, [], \"empty\"], \"expected\": [[], true, [], \"empty\"], \"passed\": true}, {\"check\": \"6\", \"actual\": [[2], false, [2], 1], \"expected\": [[2], false, [2], 1], \"passed\": true}, {\"check\": \"7\", \"actual\": [[1, 2], false, [1, 2], null], \"expected\": [[1, 2], false, [1, 2], null], \"passed\": true}, {\"check\": \"full reversed rejection\", \"actual\": [[1, 2], true, [2, 1], \"full\"], \"expected\": [[1, 2], true, [2, 1], \"full\"], \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}