{"abstract":"A structured table violates the declared record or column contract.","category":"Delimited text","checks":8,"contract":"Decode tagged comma rows. P,name,age represents a person with canonical unsigned ASCII integer age; M,from,to,text represents a message with text that may be empty. Unknown tags and wrong arities reject. Return tagged dictionaries in source order.","contract_signature":"data","evaluation_group":"s3-delimited-text-tagged-row-types","failed_approach":"The alternate implementation still violates the same declared invariant: typed row decoding accepts noncanonical age spellings.","family":"s3-delimited-text-tagged-row-types-person-canonical","id":"FA-48706","implementations":{"attempt":{"sha256":"55282f4bdd717cb738fcb21939247f712b954ba071f35dae4ad5b1b6dc4f04cb","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\ndef _vary(value):\n    if value == '@END': return 3 + 4*N\n    if isinstance(value, str): return value.replace('@', 'cell' * N)\n    if isinstance(value, list): return [_vary(x) for x in value]\n    if isinstance(value, dict): return {_vary(k): _vary(v) for k,v in value.items()}\n    return value\nN = 1\nobservations = []\ndef solve(data):\n    out=[]\n    for line in data:\n        cells=line.split(',')\n        if cells[0]=='P':\n            if len(cells)!=3: return None\n            if not cells[2].isascii() or not cells[2].isdecimal() or (cells[2].startswith('0') and len(cells[2])>2): return None\n            out.append({'kind':'person','name':cells[1],'age':int(cells[2])})\n        elif cells[0]=='M':\n            if len(cells)!=4: return None\n            out.append({'kind':'message','from':cells[1],'to':cells[2],'text':cells[3]})\n        else: return None\n    return out\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('mixed', solve(_vary(['P,@,12', 'M,a,b,hello'])), _vary([{'kind': 'person', 'name': '@', 'age': 12}, {'kind': 'message', 'from': 'a', 'to': 'b', 'text': 'hello'}]))\ncheck('empty text', solve(_vary(['M,a,b,'])), _vary([{'kind': 'message', 'from': 'a', 'to': 'b', 'text': ''}]))\ncheck('zero age', solve(_vary(['P,@,0'])), _vary([{'kind': 'person', 'name': '@', 'age': 0}]))\ncheck('bad tag', solve(_vary(['X,a,b'])), _vary(None))\ncheck('wrong person', solve(_vary(['P,a,12,x'])), _vary(None))\ncheck('wrong message', solve(_vary(['M,a,b'])), _vary(None))\ncheck('leading zero', solve(_vary(['P,@,01'])), _vary(None))\ncheck('empty', solve(_vary([])), _vary([]))\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":"f104ddae73dee9fa2ec79c2f0670a4c17d08c1b8e8a23b34e23e0324ac2ec16f","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\ndef _vary(value):\n    if value == '@END': return 3 + 4*N\n    if isinstance(value, str): return value.replace('@', 'cell' * N)\n    if isinstance(value, list): return [_vary(x) for x in value]\n    if isinstance(value, dict): return {_vary(k): _vary(v) for k,v in value.items()}\n    return value\nN = 1\nobservations = []\ndef solve(data):\n    out=[]\n    for line in data:\n        cells=line.split(',')\n        if cells[0]=='P':\n            if len(cells)!=3: return None\n            if not cells[2].isascii() or not cells[2].isdecimal() : return None\n            out.append({'kind':'person','name':cells[1],'age':int(cells[2])})\n        elif cells[0]=='M':\n            if len(cells)!=4: return None\n            out.append({'kind':'message','from':cells[1],'to':cells[2],'text':cells[3]})\n        else: return None\n    return out\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('mixed', solve(_vary(['P,@,12', 'M,a,b,hello'])), _vary([{'kind': 'person', 'name': '@', 'age': 12}, {'kind': 'message', 'from': 'a', 'to': 'b', 'text': 'hello'}]))\ncheck('empty text', solve(_vary(['M,a,b,'])), _vary([{'kind': 'message', 'from': 'a', 'to': 'b', 'text': ''}]))\ncheck('zero age', solve(_vary(['P,@,0'])), _vary([{'kind': 'person', 'name': '@', 'age': 0}]))\ncheck('bad tag', solve(_vary(['X,a,b'])), _vary(None))\ncheck('wrong person', solve(_vary(['P,a,12,x'])), _vary(None))\ncheck('wrong message', solve(_vary(['M,a,b'])), _vary(None))\ncheck('leading zero', solve(_vary(['P,@,01'])), _vary(None))\ncheck('empty', solve(_vary([])), _vary([]))\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":"Deterministic bounded in-memory model. No claim of complete CSV or external format conformance. 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-delimited-text-tagged-row-types-person-canonical","generated_at":"2026-09-29T14:44:53.227533+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"Delimited interchange needs explicit framing, schema and field semantics at ingestion and emission boundaries.","root_cause":"Typed row decoding accepts noncanonical age spellings.","sha256":"2396d67d9601b8a90bff163468172069cc8577e472652f1a9f4f181dc1ad2614","title":"Typed row decoding accepts noncanonical age spellings · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verified":true,"visibility":"public","verification":{"attempt":{"elapsed_ms":42.417,"exit_code":1,"observations":[{"actual":[{"age":12,"kind":"person","name":"cell"},{"from":"a","kind":"message","text":"hello","to":"b"}],"check":"mixed","expected":[{"age":12,"kind":"person","name":"cell"},{"from":"a","kind":"message","text":"hello","to":"b"}],"passed":true},{"actual":[{"from":"a","kind":"message","text":"","to":"b"}],"check":"empty text","expected":[{"from":"a","kind":"message","text":"","to":"b"}],"passed":true},{"actual":[{"age":0,"kind":"person","name":"cell"}],"check":"zero age","expected":[{"age":0,"kind":"person","name":"cell"}],"passed":true},{"actual":null,"check":"bad tag","expected":null,"passed":true},{"actual":null,"check":"wrong person","expected":null,"passed":true},{"actual":null,"check":"wrong message","expected":null,"passed":true},{"actual":[{"age":1,"kind":"person","name":"cell"}],"check":"leading zero","expected":null,"passed":false},{"actual":[],"check":"empty","expected":[],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"mixed\", \"actual\": [{\"kind\": \"person\", \"name\": \"cell\", \"age\": 12}, {\"kind\": \"message\", \"from\": \"a\", \"to\": \"b\", \"text\": \"hello\"}], \"expected\": [{\"kind\": \"person\", \"name\": \"cell\", \"age\": 12}, {\"kind\": \"message\", \"from\": \"a\", \"to\": \"b\", \"text\": \"hello\"}], \"passed\": true}, {\"check\": \"empty text\", \"actual\": [{\"kind\": \"message\", \"from\": \"a\", \"to\": \"b\", \"text\": \"\"}], \"expected\": [{\"kind\": \"message\", \"from\": \"a\", \"to\": \"b\", \"text\": \"\"}], \"passed\": true}, {\"check\": \"zero age\", \"actual\": [{\"kind\": \"person\", \"name\": \"cell\", \"age\": 0}], \"expected\": [{\"kind\": \"person\", \"name\": \"cell\", \"age\": 0}], \"passed\": true}, {\"check\": \"bad tag\", \"actual\": null, \"expected\": null, \"passed\": true}, {\"check\": \"wrong person\", \"actual\": null, \"expected\": null, \"passed\": true}, {\"check\": \"wrong message\", \"actual\": null, \"expected\": null, \"passed\": true}, {\"check\": \"leading zero\", \"actual\": [{\"kind\": \"person\", \"name\": \"cell\", \"age\": 1}], \"expected\": null, \"passed\": false}, {\"check\": \"empty\", \"actual\": [], \"expected\": [], \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":40.243,"exit_code":1,"observations":[{"actual":[{"age":12,"kind":"person","name":"cell"},{"from":"a","kind":"message","text":"hello","to":"b"}],"check":"mixed","expected":[{"age":12,"kind":"person","name":"cell"},{"from":"a","kind":"message","text":"hello","to":"b"}],"passed":true},{"actual":[{"from":"a","kind":"message","text":"","to":"b"}],"check":"empty text","expected":[{"from":"a","kind":"message","text":"","to":"b"}],"passed":true},{"actual":[{"age":0,"kind":"person","name":"cell"}],"check":"zero age","expected":[{"age":0,"kind":"person","name":"cell"}],"passed":true},{"actual":null,"check":"bad tag","expected":null,"passed":true},{"actual":null,"check":"wrong person","expected":null,"passed":true},{"actual":null,"check":"wrong message","expected":null,"passed":true},{"actual":[{"age":1,"kind":"person","name":"cell"}],"check":"leading zero","expected":null,"passed":false},{"actual":[],"check":"empty","expected":[],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"mixed\", \"actual\": [{\"kind\": \"person\", \"name\": \"cell\", \"age\": 12}, {\"kind\": \"message\", \"from\": \"a\", \"to\": \"b\", \"text\": \"hello\"}], \"expected\": [{\"kind\": \"person\", \"name\": \"cell\", \"age\": 12}, {\"kind\": \"message\", \"from\": \"a\", \"to\": \"b\", \"text\": \"hello\"}], \"passed\": true}, {\"check\": \"empty text\", \"actual\": [{\"kind\": \"message\", \"from\": \"a\", \"to\": \"b\", \"text\": \"\"}], \"expected\": [{\"kind\": \"message\", \"from\": \"a\", \"to\": \"b\", \"text\": \"\"}], \"passed\": true}, {\"check\": \"zero age\", \"actual\": [{\"kind\": \"person\", \"name\": \"cell\", \"age\": 0}], \"expected\": [{\"kind\": \"person\", \"name\": \"cell\", \"age\": 0}], \"passed\": true}, {\"check\": \"bad tag\", \"actual\": null, \"expected\": null, \"passed\": true}, {\"check\": \"wrong person\", \"actual\": null, \"expected\": null, \"passed\": true}, {\"check\": \"wrong message\", \"actual\": null, \"expected\": null, \"passed\": true}, {\"check\": \"leading zero\", \"actual\": [{\"kind\": \"person\", \"name\": \"cell\", \"age\": 1}], \"expected\": null, \"passed\": false}, {\"check\": \"empty\", \"actual\": [], \"expected\": [], \"passed\": true}], \"passed\": false}\n"}},"member_only":{"stages":["fixed"],"fields":["implementations.fixed","verification.fixed","harness","repair"],"note":"The verified repair, its recorded checks, the repair description, and the scoring harness are available to members."}}