FAILURE MAP
← Case archive

FA-12491 / Biological sequence representation / Open access

Case normalization destroys soft-mask positions · case 01

Case normalization destroys soft-mask positions.

Verified by executionVariant 1 · 6 checks per implementationDownload source bundle ↓JSON ↗

ROOT CAUSE

Uppercasing occurs before masked positions are selected.

VERIFIED REPAIR

Implement the stated sequence contract while preserving its positional and symbol semantics.

Unsuccessful approach: Selecting every lowercase character includes lowercase ambiguity markers.

Case contract

Return zero-based indices of lowercase a,c,g,t only; lowercase n is unknown, not a masked canonical base.

Why this case matters

An offline abstract sequence-data model; useful for testing representation invariants without biological inference.

1 / The failure

Exit 1
"""Failure Map reference implementation. Python standard library only."""
import json

N = 1
observations = []
def solve(s):
    return [i for i,c in enumerate(s.upper()) if c in 'acgt']
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
check('variable prefix', solve('A'*N+'acNnT'), [N,N+1])
check('unknown', solve('nn'), [])
check('uppercase', solve('ACGT'), [])
check('lowercase', solve('acgt'), [0,1,2,3])
check('empty', solve(''), [])
check('interleaved', solve('aNcGt'), [0,2,4])
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 fixtureActualExpectedOutcome
variable prefix[][1, 2]Failed
unknown[][]Passed
uppercase[][]Passed
lowercase[][0, 1, 2, 3]Failed
empty[][]Passed
interleaved[][0, 2, 4]Failed

SHA-256 / 44fddde550d5a8857f59c73afcf47ce30a24ae06db2d57ef8bcfaf6253e4998f

2 / The unsuccessful fix

Exit 1
"""Failure Map reference implementation. Python standard library only."""
import json

N = 1
observations = []
def solve(s):
    return [i for i,c in enumerate(s) if c.islower()]
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
check('variable prefix', solve('A'*N+'acNnT'), [N,N+1])
check('unknown', solve('nn'), [])
check('uppercase', solve('ACGT'), [])
check('lowercase', solve('acgt'), [0,1,2,3])
check('empty', solve(''), [])
check('interleaved', solve('aNcGt'), [0,2,4])
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 fixtureActualExpectedOutcome
variable prefix[1, 2, 4][1, 2]Failed
unknown[0, 1][]Failed
uppercase[][]Passed
lowercase[0, 1, 2, 3][0, 1, 2, 3]Passed
empty[][]Passed
interleaved[0, 2, 4][0, 2, 4]Passed

SHA-256 / 9b3c3f3c7b9a18f8c378176bf3739dd458be26034df52b46f10dcbb7202d67f6

3 / The verified repair

Exit 0
"""Failure Map reference implementation. Python standard library only."""
import json

N = 1
observations = []
def solve(s):
    return [i for i,c in enumerate(s) if c in 'acgt']
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
check('variable prefix', solve('A'*N+'acNnT'), [N,N+1])
check('unknown', solve('nn'), [])
check('uppercase', solve('ACGT'), [])
check('lowercase', solve('acgt'), [0,1,2,3])
check('empty', solve(''), [])
check('interleaved', solve('aNcGt'), [0,2,4])
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 fixtureActualExpectedOutcome
variable prefix[1, 2][1, 2]Passed
unknown[][]Passed
uppercase[][]Passed
lowercase[0, 1, 2, 3][0, 1, 2, 3]Passed
empty[][]Passed
interleaved[0, 2, 4][0, 2, 4]Passed

SHA-256 / 7359ad56367c4eb16221c7334abd3ccdaad1296851af272477da823e87bc241f

Verification & scope

Synthetic strings and explicit policies only; no biological interpretation or laboratory workflow. 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:57.477735+00:00.

Case digest / c77d4a10ea4a103ba538245942278b17fcbeff03778adec39f5695cbf027396c