{"abstract":"A structured table violates the declared record or column contract.","category":"Delimited text","checks":10,"contract":"Resolve comma header names through an alias map, then produce a permutation into required canonical columns. A header name may follow multiple alias hops; cycles reject. Reject two physical columns resolving to one canonical name, unknown names, or missing required names. Return physical indexes in required order.","evaluation_group":"s3-delimited-text-schema-aliases","failed_approach":"Keeping the last occurrence instead of the first still loses physical identity.","family":"s3-delimited-text-schema-aliases-alias-collision","id":"FA-47801","implementations":{"attempt":{"sha256":"fc349ca754f332d9d197bb9585ef3ecc38745a6ff602f8132cc7cbd0b0aa62a6","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    resolved = []\n    for name in data['header'].split(','):\n        seen = set()\n        while name in data['aliases']:\n            if name in seen: return None\n            seen.add(name)\n            name = data['aliases'][name]\n        if name not in data['required']: return None\n        if name in resolved: resolved.remove(name)\n        resolved.append(name)\n    if set(resolved) != set(data['required']): return None\n    return [resolved.index(name) for name in data['required']]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('chain', solve(_vary({'header': 'legacy,b', 'aliases': {'legacy': 'old', 'old': 'a'}, 'required': ['a', 'b']})), _vary([0, 1]))\ncheck('reorder', solve(_vary({'header': 'b,@', 'aliases': {'@': 'a'}, 'required': ['a', 'b']})), _vary([1, 0]))\ncheck('cycle', solve(_vary({'header': 'x,b', 'aliases': {'x': 'y', 'y': 'x'}, 'required': ['a', 'b']})), _vary(None))\ncheck('collision', solve(_vary({'header': 'old,a', 'aliases': {'old': 'a'}, 'required': ['a', 'b']})), _vary(None))\ncheck('unknown', solve(_vary({'header': 'a,z', 'aliases': {}, 'required': ['a', 'b']})), _vary(None))\ncheck('missing', solve(_vary({'header': 'a', 'aliases': {}, 'required': ['a', 'b']})), _vary(None))\ncheck('normal', solve(_vary({'header': 'a,b', 'aliases': {}, 'required': ['a', 'b']})), _vary([0, 1]))\ncheck('cycle permutation', solve(_vary({'header': 'b,c,a', 'aliases': {}, 'required': ['a', 'b', 'c']})), _vary([2, 0, 1]))\ncheck('full collision', solve(_vary({'header': 'old,a', 'aliases': {'old': 'a'}, 'required': ['a']})), _vary(None))\ncheck('shared tail', solve(_vary({'header': 'x,y', 'aliases': {'x': 'a', 'y': 'b'}, 'required': ['a', 'b']})), _vary([0, 1]))\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":"a8d4bf7600305153fae4bdfceb85ed0cc1f13ca569e4fcc5a11f37a539c02ada","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    resolved = []\n    for name in data['header'].split(','):\n        seen = set()\n        while name in data['aliases']:\n            if name in seen: return None\n            seen.add(name)\n            name = data['aliases'][name]\n        if name not in data['required']: return None\n        if name in resolved: continue\n        resolved.append(name)\n    if set(resolved) != set(data['required']): return None\n    return [resolved.index(name) for name in data['required']]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('chain', solve(_vary({'header': 'legacy,b', 'aliases': {'legacy': 'old', 'old': 'a'}, 'required': ['a', 'b']})), _vary([0, 1]))\ncheck('reorder', solve(_vary({'header': 'b,@', 'aliases': {'@': 'a'}, 'required': ['a', 'b']})), _vary([1, 0]))\ncheck('cycle', solve(_vary({'header': 'x,b', 'aliases': {'x': 'y', 'y': 'x'}, 'required': ['a', 'b']})), _vary(None))\ncheck('collision', solve(_vary({'header': 'old,a', 'aliases': {'old': 'a'}, 'required': ['a', 'b']})), _vary(None))\ncheck('unknown', solve(_vary({'header': 'a,z', 'aliases': {}, 'required': ['a', 'b']})), _vary(None))\ncheck('missing', solve(_vary({'header': 'a', 'aliases': {}, 'required': ['a', 'b']})), _vary(None))\ncheck('normal', solve(_vary({'header': 'a,b', 'aliases': {}, 'required': ['a', 'b']})), _vary([0, 1]))\ncheck('cycle permutation', solve(_vary({'header': 'b,c,a', 'aliases': {}, 'required': ['a', 'b', 'c']})), _vary([2, 0, 1]))\ncheck('full collision', solve(_vary({'header': 'old,a', 'aliases': {'old': 'a'}, 'required': ['a']})), _vary(None))\ncheck('shared tail', solve(_vary({'header': 'x,y', 'aliases': {'x': 'a', 'y': 'b'}, 'required': ['a', 'b']})), _vary([0, 1]))\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":"1068010a0bd6ae26a603eebbd5f164e20fc8f1d21be8df72fd6012fbe10bde9d","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    resolved = []\n    for name in data['header'].split(','):\n        seen = set()\n        while name in data['aliases']:\n            if name in seen: return None\n            seen.add(name)\n            name = data['aliases'][name]\n        if name not in data['required']: return None\n        if name in resolved: return None\n        resolved.append(name)\n    if set(resolved) != set(data['required']): return None\n    return [resolved.index(name) for name in data['required']]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('chain', solve(_vary({'header': 'legacy,b', 'aliases': {'legacy': 'old', 'old': 'a'}, 'required': ['a', 'b']})), _vary([0, 1]))\ncheck('reorder', solve(_vary({'header': 'b,@', 'aliases': {'@': 'a'}, 'required': ['a', 'b']})), _vary([1, 0]))\ncheck('cycle', solve(_vary({'header': 'x,b', 'aliases': {'x': 'y', 'y': 'x'}, 'required': ['a', 'b']})), _vary(None))\ncheck('collision', solve(_vary({'header': 'old,a', 'aliases': {'old': 'a'}, 'required': ['a', 'b']})), _vary(None))\ncheck('unknown', solve(_vary({'header': 'a,z', 'aliases': {}, 'required': ['a', 'b']})), _vary(None))\ncheck('missing', solve(_vary({'header': 'a', 'aliases': {}, 'required': ['a', 'b']})), _vary(None))\ncheck('normal', solve(_vary({'header': 'a,b', 'aliases': {}, 'required': ['a', 'b']})), _vary([0, 1]))\ncheck('cycle permutation', solve(_vary({'header': 'b,c,a', 'aliases': {}, 'required': ['a', 'b', 'c']})), _vary([2, 0, 1]))\ncheck('full collision', solve(_vary({'header': 'old,a', 'aliases': {'old': 'a'}, 'required': ['a']})), _vary(None))\ncheck('shared tail', solve(_vary({'header': 'x,y', 'aliases': {'x': 'a', 'y': 'b'}, 'required': ['a', 'b']})), _vary([0, 1]))\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-schema-aliases-alias-collision","generated_at":"2026-09-29T14:44:44.899486+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.","repair":"Preserve the named invariant at the faulty decision: if name in resolved: return None","root_cause":"Canonical alias collisions are collapsed silently.","sha256":"29bb1218a2eb8481189d3d0d0f58026c9fe680070102200631d920b138987ffc","title":"Two source columns bind to one canonical schema position · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":41.521,"exit_code":1,"observations":[{"actual":[0,1],"check":"chain","expected":[0,1],"passed":true},{"actual":[1,0],"check":"reorder","expected":[1,0],"passed":true},{"actual":null,"check":"cycle","expected":null,"passed":true},{"actual":null,"check":"collision","expected":null,"passed":true},{"actual":null,"check":"unknown","expected":null,"passed":true},{"actual":null,"check":"missing","expected":null,"passed":true},{"actual":[0,1],"check":"normal","expected":[0,1],"passed":true},{"actual":[2,0,1],"check":"cycle permutation","expected":[2,0,1],"passed":true},{"actual":[0],"check":"full collision","expected":null,"passed":false},{"actual":[0,1],"check":"shared tail","expected":[0,1],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"chain\", \"actual\": [0, 1], \"expected\": [0, 1], \"passed\": true}, {\"check\": \"reorder\", \"actual\": [1, 0], \"expected\": [1, 0], \"passed\": true}, {\"check\": \"cycle\", \"actual\": null, \"expected\": null, \"passed\": true}, {\"check\": \"collision\", \"actual\": null, \"expected\": null, \"passed\": true}, {\"check\": \"unknown\", \"actual\": null, \"expected\": null, \"passed\": true}, {\"check\": \"missing\", \"actual\": null, \"expected\": null, \"passed\": true}, {\"check\": \"normal\", \"actual\": [0, 1], \"expected\": [0, 1], \"passed\": true}, {\"check\": \"cycle permutation\", \"actual\": [2, 0, 1], \"expected\": [2, 0, 1], \"passed\": true}, {\"check\": \"full collision\", \"actual\": [0], \"expected\": null, \"passed\": false}, {\"check\": \"shared tail\", \"actual\": [0, 1], \"expected\": [0, 1], \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":39.911,"exit_code":1,"observations":[{"actual":[0,1],"check":"chain","expected":[0,1],"passed":true},{"actual":[1,0],"check":"reorder","expected":[1,0],"passed":true},{"actual":null,"check":"cycle","expected":null,"passed":true},{"actual":null,"check":"collision","expected":null,"passed":true},{"actual":null,"check":"unknown","expected":null,"passed":true},{"actual":null,"check":"missing","expected":null,"passed":true},{"actual":[0,1],"check":"normal","expected":[0,1],"passed":true},{"actual":[2,0,1],"check":"cycle permutation","expected":[2,0,1],"passed":true},{"actual":[0],"check":"full collision","expected":null,"passed":false},{"actual":[0,1],"check":"shared tail","expected":[0,1],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"chain\", \"actual\": [0, 1], \"expected\": [0, 1], \"passed\": true}, {\"check\": \"reorder\", \"actual\": [1, 0], \"expected\": [1, 0], \"passed\": true}, {\"check\": \"cycle\", \"actual\": null, \"expected\": null, \"passed\": true}, {\"check\": \"collision\", \"actual\": null, \"expected\": null, \"passed\": true}, {\"check\": \"unknown\", \"actual\": null, \"expected\": null, \"passed\": true}, {\"check\": \"missing\", \"actual\": null, \"expected\": null, \"passed\": true}, {\"check\": \"normal\", \"actual\": [0, 1], \"expected\": [0, 1], \"passed\": true}, {\"check\": \"cycle permutation\", \"actual\": [2, 0, 1], \"expected\": [2, 0, 1], \"passed\": true}, {\"check\": \"full collision\", \"actual\": [0], \"expected\": null, \"passed\": false}, {\"check\": \"shared tail\", \"actual\": [0, 1], \"expected\": [0, 1], \"passed\": true}], \"passed\": false}\n"},"fixed":{"elapsed_ms":41.594,"exit_code":0,"observations":[{"actual":[0,1],"check":"chain","expected":[0,1],"passed":true},{"actual":[1,0],"check":"reorder","expected":[1,0],"passed":true},{"actual":null,"check":"cycle","expected":null,"passed":true},{"actual":null,"check":"collision","expected":null,"passed":true},{"actual":null,"check":"unknown","expected":null,"passed":true},{"actual":null,"check":"missing","expected":null,"passed":true},{"actual":[0,1],"check":"normal","expected":[0,1],"passed":true},{"actual":[2,0,1],"check":"cycle permutation","expected":[2,0,1],"passed":true},{"actual":null,"check":"full collision","expected":null,"passed":true},{"actual":[0,1],"check":"shared tail","expected":[0,1],"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"chain\", \"actual\": [0, 1], \"expected\": [0, 1], \"passed\": true}, {\"check\": \"reorder\", \"actual\": [1, 0], \"expected\": [1, 0], \"passed\": true}, {\"check\": \"cycle\", \"actual\": null, \"expected\": null, \"passed\": true}, {\"check\": \"collision\", \"actual\": null, \"expected\": null, \"passed\": true}, {\"check\": \"unknown\", \"actual\": null, \"expected\": null, \"passed\": true}, {\"check\": \"missing\", \"actual\": null, \"expected\": null, \"passed\": true}, {\"check\": \"normal\", \"actual\": [0, 1], \"expected\": [0, 1], \"passed\": true}, {\"check\": \"cycle permutation\", \"actual\": [2, 0, 1], \"expected\": [2, 0, 1], \"passed\": true}, {\"check\": \"full collision\", \"actual\": null, \"expected\": null, \"passed\": true}, {\"check\": \"shared tail\", \"actual\": [0, 1], \"expected\": [0, 1], \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}