{"abstract":"Case normalization destroys soft-mask positions.","category":"Biological sequence representation","checks":6,"contract":"Return zero-based indices of lowercase a,c,g,t only; lowercase n is unknown, not a masked canonical base.","evaluation_group":"model-b7115e284f7cb4eb","failed_approach":"Selecting every lowercase character includes lowercase ambiguity markers.","family":"z-bio_sequences-soft-mask","id":"FA-12491","implementations":{"attempt":{"sha256":"9b3c3f3c7b9a18f8c378176bf3739dd458be26034df52b46f10dcbb7202d67f6","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(s):\n    return [i for i,c in enumerate(s) if c.islower()]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('variable prefix', solve('A'*N+'acNnT'), [N,N+1])\ncheck('unknown', solve('nn'), [])\ncheck('uppercase', solve('ACGT'), [])\ncheck('lowercase', solve('acgt'), [0,1,2,3])\ncheck('empty', solve(''), [])\ncheck('interleaved', solve('aNcGt'), [0,2,4])\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":"44fddde550d5a8857f59c73afcf47ce30a24ae06db2d57ef8bcfaf6253e4998f","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(s):\n    return [i for i,c in enumerate(s.upper()) if c in 'acgt']\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('variable prefix', solve('A'*N+'acNnT'), [N,N+1])\ncheck('unknown', solve('nn'), [])\ncheck('uppercase', solve('ACGT'), [])\ncheck('lowercase', solve('acgt'), [0,1,2,3])\ncheck('empty', solve(''), [])\ncheck('interleaved', solve('aNcGt'), [0,2,4])\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":"7359ad56367c4eb16221c7334abd3ccdaad1296851af272477da823e87bc241f","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(s):\n    return [i for i,c in enumerate(s) if c in 'acgt']\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('variable prefix', solve('A'*N+'acNnT'), [N,N+1])\ncheck('unknown', solve('nn'), [])\ncheck('uppercase', solve('ACGT'), [])\ncheck('lowercase', solve('acgt'), [0,1,2,3])\ncheck('empty', solve(''), [])\ncheck('interleaved', solve('aNcGt'), [0,2,4])\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 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.","method":"Deterministic executable model with adversarial boundary fixtures.","provenance":{"created_by":"Failure Map","dependencies":"Python standard library","family":"z-bio_sequences-soft-mask","generated_at":"2026-09-29T14:38:57.477735+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"An offline abstract sequence-data model; useful for testing representation invariants without biological inference.","repair":"Implement the stated sequence contract while preserving its positional and symbol semantics.","root_cause":"Uppercasing occurs before masked positions are selected.","sha256":"c77d4a10ea4a103ba538245942278b17fcbeff03778adec39f5695cbf027396c","title":"Case normalization destroys soft-mask positions · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":41.151,"exit_code":1,"observations":[{"actual":[1,2,4],"check":"variable prefix","expected":[1,2],"passed":false},{"actual":[0,1],"check":"unknown","expected":[],"passed":false},{"actual":[],"check":"uppercase","expected":[],"passed":true},{"actual":[0,1,2,3],"check":"lowercase","expected":[0,1,2,3],"passed":true},{"actual":[],"check":"empty","expected":[],"passed":true},{"actual":[0,2,4],"check":"interleaved","expected":[0,2,4],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"variable prefix\", \"actual\": [1, 2, 4], \"expected\": [1, 2], \"passed\": false}, {\"check\": \"unknown\", \"actual\": [0, 1], \"expected\": [], \"passed\": false}, {\"check\": \"uppercase\", \"actual\": [], \"expected\": [], \"passed\": true}, {\"check\": \"lowercase\", \"actual\": [0, 1, 2, 3], \"expected\": [0, 1, 2, 3], \"passed\": true}, {\"check\": \"empty\", \"actual\": [], \"expected\": [], \"passed\": true}, {\"check\": \"interleaved\", \"actual\": [0, 2, 4], \"expected\": [0, 2, 4], \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":38.719,"exit_code":1,"observations":[{"actual":[],"check":"variable prefix","expected":[1,2],"passed":false},{"actual":[],"check":"unknown","expected":[],"passed":true},{"actual":[],"check":"uppercase","expected":[],"passed":true},{"actual":[],"check":"lowercase","expected":[0,1,2,3],"passed":false},{"actual":[],"check":"empty","expected":[],"passed":true},{"actual":[],"check":"interleaved","expected":[0,2,4],"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"variable prefix\", \"actual\": [], \"expected\": [1, 2], \"passed\": false}, {\"check\": \"unknown\", \"actual\": [], \"expected\": [], \"passed\": true}, {\"check\": \"uppercase\", \"actual\": [], \"expected\": [], \"passed\": true}, {\"check\": \"lowercase\", \"actual\": [], \"expected\": [0, 1, 2, 3], \"passed\": false}, {\"check\": \"empty\", \"actual\": [], \"expected\": [], \"passed\": true}, {\"check\": \"interleaved\", \"actual\": [], \"expected\": [0, 2, 4], \"passed\": false}], \"passed\": false}\n"},"fixed":{"elapsed_ms":41.899,"exit_code":0,"observations":[{"actual":[1,2],"check":"variable prefix","expected":[1,2],"passed":true},{"actual":[],"check":"unknown","expected":[],"passed":true},{"actual":[],"check":"uppercase","expected":[],"passed":true},{"actual":[0,1,2,3],"check":"lowercase","expected":[0,1,2,3],"passed":true},{"actual":[],"check":"empty","expected":[],"passed":true},{"actual":[0,2,4],"check":"interleaved","expected":[0,2,4],"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"variable prefix\", \"actual\": [1, 2], \"expected\": [1, 2], \"passed\": true}, {\"check\": \"unknown\", \"actual\": [], \"expected\": [], \"passed\": true}, {\"check\": \"uppercase\", \"actual\": [], \"expected\": [], \"passed\": true}, {\"check\": \"lowercase\", \"actual\": [0, 1, 2, 3], \"expected\": [0, 1, 2, 3], \"passed\": true}, {\"check\": \"empty\", \"actual\": [], \"expected\": [], \"passed\": true}, {\"check\": \"interleaved\", \"actual\": [0, 2, 4], \"expected\": [0, 2, 4], \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}