{"abstract":"A repeated position-delete entry cancels itself.","category":"Data systems","checks":7,"contract":"Scan fragments [file-id,base-row-position,values] applying position-delete pairs [file-id,absolute-row-position]. Deletions are file-scoped and use physical positions before filtering. Return [file-id,absolute-position,value] for surviving rows, including null values.","evaluation_group":"s3-data-systems-position-delete-scan","failed_approach":"Duplicate delete records remain idempotent; dropping repeated entries resurrects rows.","family":"s3-data-systems-position-delete-scan-delete-multiplicity","id":"FA-45496","implementations":{"attempt":{"sha256":"16070c176ab4661a5ffa632a6bdbea470453841a1174ade1429528608ae956cd","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(d):\n    try:\n        fragments,deletes=d\n        tombstones={tuple(x) for x in deletes if deletes.count(x)==1}\n        out=[]\n        for file,base,values in fragments:\n            for local,value in enumerate(values):\n                position=base+local\n                if (file,position) in tombstones: continue\n                out.append([file,position,value])\n        return out\n    except (IndexError, KeyError, ValueError, StopIteration) as exc:\n        return {\"representation_error\": type(exc).__name__}\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nif N == 1:\n    check('file scope', solve([[['b', 0, [1]], ['a', 0, [2]]], [['a', 0]]]), [['b', 0, 1]])\n    check('fragment origin', solve([[['a', 5, [1, 2]]], [['a', 5]]]), [['a', 6, 2]])\n    check('physical holes', solve([[['a', 0, [1, 2, 3]]], [['a', 0], ['a', 2]]]), [['a', 1, 2]])\n    check('repeated tombstone', solve([[['a', 0, [1]]], [['a', 0], ['a', 0]]]), [])\n    check('surviving null', solve([[['a', 0, [None, 1]]], []]), [['a', 0, None], ['a', 1, 1]])\n    check('fragment order', solve([[['b', 0, [1]], ['a', 0, [2]]], []]), [['b', 0, 1], ['a', 0, 2]])\n    check('empty input', solve([[], []]), [])\nelif N == 2:\n    check('file scope', solve([[['b', 0, [2]], ['a', 0, [3]]], [['a', 0]]]), [['b', 0, 2]])\n    check('fragment origin', solve([[['a', 5, [2, 3]]], [['a', 5]]]), [['a', 6, 3]])\n    check('physical holes', solve([[['a', 0, [2, 3, 4]]], [['a', 0], ['a', 2]]]), [['a', 1, 3]])\n    check('repeated tombstone', solve([[['a', 0, [2]]], [['a', 0], ['a', 0]]]), [])\n    check('surviving null', solve([[['a', 0, [None, 2]]], []]), [['a', 0, None], ['a', 1, 2]])\n    check('fragment order', solve([[['b', 0, [2]], ['a', 0, [3]]], []]), [['b', 0, 2], ['a', 0, 3]])\n    check('empty input', solve([[], []]), [])\nelif N == 3:\n    check('file scope', solve([[['b', 0, [3]], ['a', 0, [4]]], [['a', 0]]]), [['b', 0, 3]])\n    check('fragment origin', solve([[['a', 5, [3, 4]]], [['a', 5]]]), [['a', 6, 4]])\n    check('physical holes', solve([[['a', 0, [3, 4, 5]]], [['a', 0], ['a', 2]]]), [['a', 1, 4]])\n    check('repeated tombstone', solve([[['a', 0, [3]]], [['a', 0], ['a', 0]]]), [])\n    check('surviving null', solve([[['a', 0, [None, 3]]], []]), [['a', 0, None], ['a', 1, 3]])\n    check('fragment order', solve([[['b', 0, [3]], ['a', 0, [4]]], []]), [['b', 0, 3], ['a', 0, 4]])\n    check('empty input', solve([[], []]), [])\nelif N == 4:\n    check('file scope', solve([[['b', 0, [4]], ['a', 0, [5]]], [['a', 0]]]), [['b', 0, 4]])\n    check('fragment origin', solve([[['a', 5, [4, 5]]], [['a', 5]]]), [['a', 6, 5]])\n    check('physical holes', solve([[['a', 0, [4, 5, 6]]], [['a', 0], ['a', 2]]]), [['a', 1, 5]])\n    check('repeated tombstone', solve([[['a', 0, [4]]], [['a', 0], ['a', 0]]]), [])\n    check('surviving null', solve([[['a', 0, [None, 4]]], []]), [['a', 0, None], ['a', 1, 4]])\n    check('fragment order', solve([[['b', 0, [4]], ['a', 0, [5]]], []]), [['b', 0, 4], ['a', 0, 5]])\n    check('empty input', solve([[], []]), [])\nelif N == 5:\n    check('file scope', solve([[['b', 0, [5]], ['a', 0, [6]]], [['a', 0]]]), [['b', 0, 5]])\n    check('fragment origin', solve([[['a', 5, [5, 6]]], [['a', 5]]]), [['a', 6, 6]])\n    check('physical holes', solve([[['a', 0, [5, 6, 7]]], [['a', 0], ['a', 2]]]), [['a', 1, 6]])\n    check('repeated tombstone', solve([[['a', 0, [5]]], [['a', 0], ['a', 0]]]), [])\n    check('surviving null', solve([[['a', 0, [None, 5]]], []]), [['a', 0, None], ['a', 1, 5]])\n    check('fragment order', solve([[['b', 0, [5]], ['a', 0, [6]]], []]), [['b', 0, 5], ['a', 0, 6]])\n    check('empty input', solve([[], []]), [])\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":"2ca6c130a4a4cddd476e0fdf8ab5eee60b1449ce28cd1f9dcf50583bd3fbdc46","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(d):\n    try:\n        fragments,deletes=d\n        tombstones={tuple(x) for x in deletes if deletes.count(x)%2}\n        out=[]\n        for file,base,values in fragments:\n            for local,value in enumerate(values):\n                position=base+local\n                if (file,position) in tombstones: continue\n                out.append([file,position,value])\n        return out\n    except (IndexError, KeyError, ValueError, StopIteration) as exc:\n        return {\"representation_error\": type(exc).__name__}\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nif N == 1:\n    check('file scope', solve([[['b', 0, [1]], ['a', 0, [2]]], [['a', 0]]]), [['b', 0, 1]])\n    check('fragment origin', solve([[['a', 5, [1, 2]]], [['a', 5]]]), [['a', 6, 2]])\n    check('physical holes', solve([[['a', 0, [1, 2, 3]]], [['a', 0], ['a', 2]]]), [['a', 1, 2]])\n    check('repeated tombstone', solve([[['a', 0, [1]]], [['a', 0], ['a', 0]]]), [])\n    check('surviving null', solve([[['a', 0, [None, 1]]], []]), [['a', 0, None], ['a', 1, 1]])\n    check('fragment order', solve([[['b', 0, [1]], ['a', 0, [2]]], []]), [['b', 0, 1], ['a', 0, 2]])\n    check('empty input', solve([[], []]), [])\nelif N == 2:\n    check('file scope', solve([[['b', 0, [2]], ['a', 0, [3]]], [['a', 0]]]), [['b', 0, 2]])\n    check('fragment origin', solve([[['a', 5, [2, 3]]], [['a', 5]]]), [['a', 6, 3]])\n    check('physical holes', solve([[['a', 0, [2, 3, 4]]], [['a', 0], ['a', 2]]]), [['a', 1, 3]])\n    check('repeated tombstone', solve([[['a', 0, [2]]], [['a', 0], ['a', 0]]]), [])\n    check('surviving null', solve([[['a', 0, [None, 2]]], []]), [['a', 0, None], ['a', 1, 2]])\n    check('fragment order', solve([[['b', 0, [2]], ['a', 0, [3]]], []]), [['b', 0, 2], ['a', 0, 3]])\n    check('empty input', solve([[], []]), [])\nelif N == 3:\n    check('file scope', solve([[['b', 0, [3]], ['a', 0, [4]]], [['a', 0]]]), [['b', 0, 3]])\n    check('fragment origin', solve([[['a', 5, [3, 4]]], [['a', 5]]]), [['a', 6, 4]])\n    check('physical holes', solve([[['a', 0, [3, 4, 5]]], [['a', 0], ['a', 2]]]), [['a', 1, 4]])\n    check('repeated tombstone', solve([[['a', 0, [3]]], [['a', 0], ['a', 0]]]), [])\n    check('surviving null', solve([[['a', 0, [None, 3]]], []]), [['a', 0, None], ['a', 1, 3]])\n    check('fragment order', solve([[['b', 0, [3]], ['a', 0, [4]]], []]), [['b', 0, 3], ['a', 0, 4]])\n    check('empty input', solve([[], []]), [])\nelif N == 4:\n    check('file scope', solve([[['b', 0, [4]], ['a', 0, [5]]], [['a', 0]]]), [['b', 0, 4]])\n    check('fragment origin', solve([[['a', 5, [4, 5]]], [['a', 5]]]), [['a', 6, 5]])\n    check('physical holes', solve([[['a', 0, [4, 5, 6]]], [['a', 0], ['a', 2]]]), [['a', 1, 5]])\n    check('repeated tombstone', solve([[['a', 0, [4]]], [['a', 0], ['a', 0]]]), [])\n    check('surviving null', solve([[['a', 0, [None, 4]]], []]), [['a', 0, None], ['a', 1, 4]])\n    check('fragment order', solve([[['b', 0, [4]], ['a', 0, [5]]], []]), [['b', 0, 4], ['a', 0, 5]])\n    check('empty input', solve([[], []]), [])\nelif N == 5:\n    check('file scope', solve([[['b', 0, [5]], ['a', 0, [6]]], [['a', 0]]]), [['b', 0, 5]])\n    check('fragment origin', solve([[['a', 5, [5, 6]]], [['a', 5]]]), [['a', 6, 6]])\n    check('physical holes', solve([[['a', 0, [5, 6, 7]]], [['a', 0], ['a', 2]]]), [['a', 1, 6]])\n    check('repeated tombstone', solve([[['a', 0, [5]]], [['a', 0], ['a', 0]]]), [])\n    check('surviving null', solve([[['a', 0, [None, 5]]], []]), [['a', 0, None], ['a', 1, 5]])\n    check('fragment order', solve([[['b', 0, [5]], ['a', 0, [6]]], []]), [['b', 0, 5], ['a', 0, 6]])\n    check('empty input', solve([[], []]), [])\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":"7592e37b5ed37b83adf08e1480c2be55a352e3dc01a3d815bf08bc1e9c8c01f0","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(d):\n    try:\n        fragments,deletes=d\n        tombstones=set(tuple(x) for x in deletes)\n        out=[]\n        for file,base,values in fragments:\n            for local,value in enumerate(values):\n                position=base+local\n                if (file,position) in tombstones: continue\n                out.append([file,position,value])\n        return out\n    except (IndexError, KeyError, ValueError, StopIteration) as exc:\n        return {\"representation_error\": type(exc).__name__}\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nif N == 1:\n    check('file scope', solve([[['b', 0, [1]], ['a', 0, [2]]], [['a', 0]]]), [['b', 0, 1]])\n    check('fragment origin', solve([[['a', 5, [1, 2]]], [['a', 5]]]), [['a', 6, 2]])\n    check('physical holes', solve([[['a', 0, [1, 2, 3]]], [['a', 0], ['a', 2]]]), [['a', 1, 2]])\n    check('repeated tombstone', solve([[['a', 0, [1]]], [['a', 0], ['a', 0]]]), [])\n    check('surviving null', solve([[['a', 0, [None, 1]]], []]), [['a', 0, None], ['a', 1, 1]])\n    check('fragment order', solve([[['b', 0, [1]], ['a', 0, [2]]], []]), [['b', 0, 1], ['a', 0, 2]])\n    check('empty input', solve([[], []]), [])\nelif N == 2:\n    check('file scope', solve([[['b', 0, [2]], ['a', 0, [3]]], [['a', 0]]]), [['b', 0, 2]])\n    check('fragment origin', solve([[['a', 5, [2, 3]]], [['a', 5]]]), [['a', 6, 3]])\n    check('physical holes', solve([[['a', 0, [2, 3, 4]]], [['a', 0], ['a', 2]]]), [['a', 1, 3]])\n    check('repeated tombstone', solve([[['a', 0, [2]]], [['a', 0], ['a', 0]]]), [])\n    check('surviving null', solve([[['a', 0, [None, 2]]], []]), [['a', 0, None], ['a', 1, 2]])\n    check('fragment order', solve([[['b', 0, [2]], ['a', 0, [3]]], []]), [['b', 0, 2], ['a', 0, 3]])\n    check('empty input', solve([[], []]), [])\nelif N == 3:\n    check('file scope', solve([[['b', 0, [3]], ['a', 0, [4]]], [['a', 0]]]), [['b', 0, 3]])\n    check('fragment origin', solve([[['a', 5, [3, 4]]], [['a', 5]]]), [['a', 6, 4]])\n    check('physical holes', solve([[['a', 0, [3, 4, 5]]], [['a', 0], ['a', 2]]]), [['a', 1, 4]])\n    check('repeated tombstone', solve([[['a', 0, [3]]], [['a', 0], ['a', 0]]]), [])\n    check('surviving null', solve([[['a', 0, [None, 3]]], []]), [['a', 0, None], ['a', 1, 3]])\n    check('fragment order', solve([[['b', 0, [3]], ['a', 0, [4]]], []]), [['b', 0, 3], ['a', 0, 4]])\n    check('empty input', solve([[], []]), [])\nelif N == 4:\n    check('file scope', solve([[['b', 0, [4]], ['a', 0, [5]]], [['a', 0]]]), [['b', 0, 4]])\n    check('fragment origin', solve([[['a', 5, [4, 5]]], [['a', 5]]]), [['a', 6, 5]])\n    check('physical holes', solve([[['a', 0, [4, 5, 6]]], [['a', 0], ['a', 2]]]), [['a', 1, 5]])\n    check('repeated tombstone', solve([[['a', 0, [4]]], [['a', 0], ['a', 0]]]), [])\n    check('surviving null', solve([[['a', 0, [None, 4]]], []]), [['a', 0, None], ['a', 1, 4]])\n    check('fragment order', solve([[['b', 0, [4]], ['a', 0, [5]]], []]), [['b', 0, 4], ['a', 0, 5]])\n    check('empty input', solve([[], []]), [])\nelif N == 5:\n    check('file scope', solve([[['b', 0, [5]], ['a', 0, [6]]], [['a', 0]]]), [['b', 0, 5]])\n    check('fragment origin', solve([[['a', 5, [5, 6]]], [['a', 5]]]), [['a', 6, 6]])\n    check('physical holes', solve([[['a', 0, [5, 6, 7]]], [['a', 0], ['a', 2]]]), [['a', 1, 6]])\n    check('repeated tombstone', solve([[['a', 0, [5]]], [['a', 0], ['a', 0]]]), [])\n    check('surviving null', solve([[['a', 0, [None, 5]]], []]), [['a', 0, None], ['a', 1, 5]])\n    check('fragment order', solve([[['b', 0, [5]], ['a', 0, [6]]], []]), [['b', 0, 5], ['a', 0, 6]])\n    check('empty input', solve([[], []]), [])\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 stipulated semantics over valid small inputs; no performance, concurrency, or production-engine conformance claim. 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-data-systems-position-delete-scan-delete-multiplicity","generated_at":"2026-09-29T14:44:22.880258+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"A bounded deterministic data engine model makes representation and changelog faults reproducible.","repair":"Preserve the stated physical representation and operation order: Scan fragments [file-id,base-row-position,values] applying position-delete pairs [file-id,absolute-row-position]. Deletions are file-scoped and use physical positions before filtering. Return [file-id,absolute-position,value] for surviving rows, including null values.","root_cause":"position-delete-scan: A repeated position-delete entry cancels itself.","sha256":"daa34f31fbc9cf536d20d6b83efbb66722077c98f811e08c0d138618e3cbe1de","title":"A repeated position-delete entry cancels itself · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":43.39,"exit_code":1,"observations":[{"actual":[["b",0,1]],"check":"file scope","expected":[["b",0,1]],"passed":true},{"actual":[["a",6,2]],"check":"fragment origin","expected":[["a",6,2]],"passed":true},{"actual":[["a",1,2]],"check":"physical holes","expected":[["a",1,2]],"passed":true},{"actual":[["a",0,1]],"check":"repeated tombstone","expected":[],"passed":false},{"actual":[["a",0,null],["a",1,1]],"check":"surviving null","expected":[["a",0,null],["a",1,1]],"passed":true},{"actual":[["b",0,1],["a",0,2]],"check":"fragment order","expected":[["b",0,1],["a",0,2]],"passed":true},{"actual":[],"check":"empty input","expected":[],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"file scope\", \"actual\": [[\"b\", 0, 1]], \"expected\": [[\"b\", 0, 1]], \"passed\": true}, {\"check\": \"fragment origin\", \"actual\": [[\"a\", 6, 2]], \"expected\": [[\"a\", 6, 2]], \"passed\": true}, {\"check\": \"physical holes\", \"actual\": [[\"a\", 1, 2]], \"expected\": [[\"a\", 1, 2]], \"passed\": true}, {\"check\": \"repeated tombstone\", \"actual\": [[\"a\", 0, 1]], \"expected\": [], \"passed\": false}, {\"check\": \"surviving null\", \"actual\": [[\"a\", 0, null], [\"a\", 1, 1]], \"expected\": [[\"a\", 0, null], [\"a\", 1, 1]], \"passed\": true}, {\"check\": \"fragment order\", \"actual\": [[\"b\", 0, 1], [\"a\", 0, 2]], \"expected\": [[\"b\", 0, 1], [\"a\", 0, 2]], \"passed\": true}, {\"check\": \"empty input\", \"actual\": [], \"expected\": [], \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":45.479,"exit_code":1,"observations":[{"actual":[["b",0,1]],"check":"file scope","expected":[["b",0,1]],"passed":true},{"actual":[["a",6,2]],"check":"fragment origin","expected":[["a",6,2]],"passed":true},{"actual":[["a",1,2]],"check":"physical holes","expected":[["a",1,2]],"passed":true},{"actual":[["a",0,1]],"check":"repeated tombstone","expected":[],"passed":false},{"actual":[["a",0,null],["a",1,1]],"check":"surviving null","expected":[["a",0,null],["a",1,1]],"passed":true},{"actual":[["b",0,1],["a",0,2]],"check":"fragment order","expected":[["b",0,1],["a",0,2]],"passed":true},{"actual":[],"check":"empty input","expected":[],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"file scope\", \"actual\": [[\"b\", 0, 1]], \"expected\": [[\"b\", 0, 1]], \"passed\": true}, {\"check\": \"fragment origin\", \"actual\": [[\"a\", 6, 2]], \"expected\": [[\"a\", 6, 2]], \"passed\": true}, {\"check\": \"physical holes\", \"actual\": [[\"a\", 1, 2]], \"expected\": [[\"a\", 1, 2]], \"passed\": true}, {\"check\": \"repeated tombstone\", \"actual\": [[\"a\", 0, 1]], \"expected\": [], \"passed\": false}, {\"check\": \"surviving null\", \"actual\": [[\"a\", 0, null], [\"a\", 1, 1]], \"expected\": [[\"a\", 0, null], [\"a\", 1, 1]], \"passed\": true}, {\"check\": \"fragment order\", \"actual\": [[\"b\", 0, 1], [\"a\", 0, 2]], \"expected\": [[\"b\", 0, 1], [\"a\", 0, 2]], \"passed\": true}, {\"check\": \"empty input\", \"actual\": [], \"expected\": [], \"passed\": true}], \"passed\": false}\n"},"fixed":{"elapsed_ms":49.41,"exit_code":0,"observations":[{"actual":[["b",0,1]],"check":"file scope","expected":[["b",0,1]],"passed":true},{"actual":[["a",6,2]],"check":"fragment origin","expected":[["a",6,2]],"passed":true},{"actual":[["a",1,2]],"check":"physical holes","expected":[["a",1,2]],"passed":true},{"actual":[],"check":"repeated tombstone","expected":[],"passed":true},{"actual":[["a",0,null],["a",1,1]],"check":"surviving null","expected":[["a",0,null],["a",1,1]],"passed":true},{"actual":[["b",0,1],["a",0,2]],"check":"fragment order","expected":[["b",0,1],["a",0,2]],"passed":true},{"actual":[],"check":"empty input","expected":[],"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"file scope\", \"actual\": [[\"b\", 0, 1]], \"expected\": [[\"b\", 0, 1]], \"passed\": true}, {\"check\": \"fragment origin\", \"actual\": [[\"a\", 6, 2]], \"expected\": [[\"a\", 6, 2]], \"passed\": true}, {\"check\": \"physical holes\", \"actual\": [[\"a\", 1, 2]], \"expected\": [[\"a\", 1, 2]], \"passed\": true}, {\"check\": \"repeated tombstone\", \"actual\": [], \"expected\": [], \"passed\": true}, {\"check\": \"surviving null\", \"actual\": [[\"a\", 0, null], [\"a\", 1, 1]], \"expected\": [[\"a\", 0, null], [\"a\", 1, 1]], \"passed\": true}, {\"check\": \"fragment order\", \"actual\": [[\"b\", 0, 1], [\"a\", 0, 2]], \"expected\": [[\"b\", 0, 1], [\"a\", 0, 2]], \"passed\": true}, {\"check\": \"empty input\", \"actual\": [], \"expected\": [], \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}