{"abstract":"Reference deletions fail to advance alignment position.","category":"Genomic coordinate mapping","checks":6,"contract":"Map a zero-based query base through M/I/D operation lengths; inserted and absent query bases return None.","evaluation_group":"z-genetics_coordinates-query-reference-alignment","failed_approach":"Advancing one reference base per deletion fails multi-base gaps.","family":"z-genetics_coordinates-deletion-cursor","id":"FA-12566","implementations":{"attempt":{"sha256":"932fe3fb46bde928faf89a89d4e833baa3202e0bf8e8d0ceeb0f766889f77488","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(ops, start, pos):\n    q=0;r=start\n    for op,size in ops:\n     if op=='M':\n      if q <= pos < q+size: return r+pos-q\n      q+=size;r+=size\n     elif op=='I':\n      if q <= pos < q+size: return None\n      q+=size\n     elif op=='D': r+=1\n    return None\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\no=[('M',2),('D',N+2),('M',3)]\ncheck('after deletion',solve(o,100,2),104+N)\ncheck('later base',solve(o,100,4),106+N)\ncheck('first base',solve(o,100,0),100)\ncheck('before deletion',solve(o,100,1),101)\ncheck('past end',solve(o,100,5),None)\ncheck('negative base',solve(o,100,-1),None)\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":"6b2f977a3c613e3337a1247e9dcae83437a56b7deb599aba3fdb36bfc8b4bbee","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(ops, start, pos):\n    q=0;r=start\n    for op,size in ops:\n     if op=='M':\n      if q <= pos < q+size: return r+pos-q\n      q+=size;r+=size\n     elif op=='I':\n      if q <= pos < q+size: return None\n      q+=size\n     elif op=='D': r+=0\n    return None\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\no=[('M',2),('D',N+2),('M',3)]\ncheck('after deletion',solve(o,100,2),104+N)\ncheck('later base',solve(o,100,4),106+N)\ncheck('first base',solve(o,100,0),100)\ncheck('before deletion',solve(o,100,1),101)\ncheck('past end',solve(o,100,5),None)\ncheck('negative base',solve(o,100,-1),None)\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":"1b537d5746ca4cbaf9aab42d7cdae6b85e933769d2cec0e9394981ad3e5efd90","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(ops, start, pos):\n    q=0;r=start\n    for op,size in ops:\n     if op=='M':\n      if q <= pos < q+size: return r+pos-q\n      q+=size;r+=size\n     elif op=='I':\n      if q <= pos < q+size: return None\n      q+=size\n     elif op=='D': r+=size\n    return None\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\no=[('M',2),('D',N+2),('M',3)]\ncheck('after deletion',solve(o,100,2),104+N)\ncheck('later base',solve(o,100,4),106+N)\ncheck('first base',solve(o,100,0),100)\ncheck('before deletion',solve(o,100,1),101)\ncheck('past end',solve(o,100,5),None)\ncheck('negative base',solve(o,100,-1),None)\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":"Synthetic coordinate fixtures only; not a production annotation or alignment implementation. 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":"z-genetics_coordinates-deletion-cursor","generated_at":"2026-09-29T14:38:58.145126+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"An abstract offline coordinate model isolates this software mapping defect; it does not model biological interpretation.","repair":"Advance reference position by the entire deletion length without advancing query.","root_cause":"A reference-only deletion is omitted from the reference cursor.","sha256":"8ba415cab61dd603eebad9dca2f15f62a37a9a4a096d20099cd09770f5650bcb","title":"Reference deletions fail to advance alignment position · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":43.685,"exit_code":1,"observations":[{"actual":103,"check":"after deletion","expected":105,"passed":false},{"actual":105,"check":"later base","expected":107,"passed":false},{"actual":100,"check":"first base","expected":100,"passed":true},{"actual":101,"check":"before deletion","expected":101,"passed":true},{"actual":null,"check":"past end","expected":null,"passed":true},{"actual":null,"check":"negative base","expected":null,"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"after deletion\", \"actual\": 103, \"expected\": 105, \"passed\": false}, {\"check\": \"later base\", \"actual\": 105, \"expected\": 107, \"passed\": false}, {\"check\": \"first base\", \"actual\": 100, \"expected\": 100, \"passed\": true}, {\"check\": \"before deletion\", \"actual\": 101, \"expected\": 101, \"passed\": true}, {\"check\": \"past end\", \"actual\": null, \"expected\": null, \"passed\": true}, {\"check\": \"negative base\", \"actual\": null, \"expected\": null, \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":43.411,"exit_code":1,"observations":[{"actual":102,"check":"after deletion","expected":105,"passed":false},{"actual":104,"check":"later base","expected":107,"passed":false},{"actual":100,"check":"first base","expected":100,"passed":true},{"actual":101,"check":"before deletion","expected":101,"passed":true},{"actual":null,"check":"past end","expected":null,"passed":true},{"actual":null,"check":"negative base","expected":null,"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"after deletion\", \"actual\": 102, \"expected\": 105, \"passed\": false}, {\"check\": \"later base\", \"actual\": 104, \"expected\": 107, \"passed\": false}, {\"check\": \"first base\", \"actual\": 100, \"expected\": 100, \"passed\": true}, {\"check\": \"before deletion\", \"actual\": 101, \"expected\": 101, \"passed\": true}, {\"check\": \"past end\", \"actual\": null, \"expected\": null, \"passed\": true}, {\"check\": \"negative base\", \"actual\": null, \"expected\": null, \"passed\": true}], \"passed\": false}\n"},"fixed":{"elapsed_ms":44.325,"exit_code":0,"observations":[{"actual":105,"check":"after deletion","expected":105,"passed":true},{"actual":107,"check":"later base","expected":107,"passed":true},{"actual":100,"check":"first base","expected":100,"passed":true},{"actual":101,"check":"before deletion","expected":101,"passed":true},{"actual":null,"check":"past end","expected":null,"passed":true},{"actual":null,"check":"negative base","expected":null,"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"after deletion\", \"actual\": 105, \"expected\": 105, \"passed\": true}, {\"check\": \"later base\", \"actual\": 107, \"expected\": 107, \"passed\": true}, {\"check\": \"first base\", \"actual\": 100, \"expected\": 100, \"passed\": true}, {\"check\": \"before deletion\", \"actual\": 101, \"expected\": 101, \"passed\": true}, {\"check\": \"past end\", \"actual\": null, \"expected\": null, \"passed\": true}, {\"check\": \"negative base\", \"actual\": null, \"expected\": null, \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}