FA-12556 / Genomic coordinate mapping / Open access
Transcript coordinate lookup ignores version pinning · case 01
Transcript coordinate lookup ignores version pinning.
ROOT CAUSE
A version suffix is removed before looking up a coordinate model.
THE FAILURE
A version suffix is removed before looking up a coordinate model.
Unsuccessful approach: Lexical latest-version selection places version ten before version two.
Case contract
Return synthetic model offset for a versioned identifier; unversioned lookup uses greatest integer version. Missing explicit versions return None.
Why this case matters
An abstract offline coordinate model isolates this software mapping defect; it does not model biological interpretation.
1 / The failure
Exit 1"""Failure Map reference implementation. Python standard library only."""
import json
N = 1
observations = []
def solve(rows, identifier):
base=identifier.split('.')[0]
return next((p for k,p in rows if k.split('.')[0]==base),None)
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
r=[('TX.2',N),('TX.10',N+10),('TY.1',N+20)]
check('explicit ten',solve(r,'TX.10'),N+10)
check('numeric latest',solve(r,'TX'),N+10)
check('explicit two',solve(r,'TX.2'),N)
check('missing version',solve(r,'TX.3'),None)
check('single model',solve(r,'TY'),N+20)
check('missing base',solve(r,'TZ'),None)
print(json.dumps({"observations": observations, "passed": all(x["passed"] for x in observations)}, ensure_ascii=False))
raise SystemExit(0 if all(x["passed"] for x in observations) else 1)
| Boundary fixture | Actual | Expected | Outcome |
|---|---|---|---|
| explicit ten | 1 | 11 | Failed |
| numeric latest | 1 | 11 | Failed |
| explicit two | 1 | 1 | Passed |
| missing version | 1 | None | Failed |
| single model | 21 | 21 | Passed |
| missing base | None | None | Passed |
SHA-256 / 8db56bed0af816d968d6699a184ebe89b219064628f7e345060980b86e9ec217
2 / The unsuccessful fix
Exit 1"""Failure Map reference implementation. Python standard library only."""
import json
N = 1
observations = []
def solve(rows, identifier):
if '.' in identifier: return dict(rows).get(identifier)
matches=sorted((k,p) for k,p in rows if k.split('.')[0]==identifier)
return matches[-1][1] if matches else None
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
r=[('TX.2',N),('TX.10',N+10),('TY.1',N+20)]
check('explicit ten',solve(r,'TX.10'),N+10)
check('numeric latest',solve(r,'TX'),N+10)
check('explicit two',solve(r,'TX.2'),N)
check('missing version',solve(r,'TX.3'),None)
check('single model',solve(r,'TY'),N+20)
check('missing base',solve(r,'TZ'),None)
print(json.dumps({"observations": observations, "passed": all(x["passed"] for x in observations)}, ensure_ascii=False))
raise SystemExit(0 if all(x["passed"] for x in observations) else 1)
| Boundary fixture | Actual | Expected | Outcome |
|---|---|---|---|
| explicit ten | 11 | 11 | Passed |
| numeric latest | 1 | 11 | Failed |
| explicit two | 1 | 1 | Passed |
| missing version | None | None | Passed |
| single model | 21 | 21 | Passed |
| missing base | None | None | Passed |
SHA-256 / b9d1bef2f1236ecc99ae19f26dbe78f9ed2b74cb01b6276309b1dc198d01124a
HELD IN THE MEMBER ARCHIVE
The verified repair and its recorded checks are member-only.
This mechanism has 6 recorded checks per implementation. The open-access tier publishes the failure and the unsuccessful fix; the repaired source that passes every check, and the observations that prove it, are available to members.
Every case sharing this mechanism uses the same contract and the same repair, so this one record is held back for all of them.
Member access is invitation-based. Sign in with your invited account to inspect the repair.
Sign in to the archive ↗Verification & scope
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.
Observations recorded using Python 3.12.14 at 2026-09-29T14:38:58.068601+00:00.
Case digest / 341a81adb18e20faea8123fde94e044d96cb524157c59f4bff2e5ca7f07493e0