{"abstract":"A structured table violates the declared record or column contract.","category":"Delimited text","checks":8,"contract":"Choose comma, tab, or semicolon from precomputed per-record field counts. Ignore blank physical records marked null. A candidate must have >=2 fields on every sampled record and constant width. Score is record count times width; greatest score wins, ties use candidate order. No valid candidate returns null.","evaluation_group":"s3-delimited-text-dialect-vote","failed_approach":"Adding an initialization fallback does not restore strict tie comparison.","family":"s3-delimited-text-dialect-vote-tie-policy","id":"FA-47751","implementations":{"attempt":{"sha256":"a18928b0ef65d281fff0f2e13d2e7a9097ccac711a358a7cf403aba4b00c93aa","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    best, score = None, -1\n    for name, counts in data:\n        counts = [c for c in counts if c is not None]\n        if not counts: continue\n        if min(counts) < 2: continue\n        if len(set(counts)) != 1: continue\n        candidate_score = len(counts) * counts[0]\n        if candidate_score >= score or best is None:\n            best, score = name, candidate_score\n    return best\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('stable', solve(_vary([['comma', [2, 2]], ['tab', [1, 1]]])), _vary('comma'))\ncheck('ragged distractor', solve(_vary([['comma', [2, 3]], ['tab', [2, 2]]])), _vary('tab'))\ncheck('blank ignored', solve(_vary([['comma', [None, 2, 2]], ['tab', [1, 1]]])), _vary('comma'))\ncheck('ties', solve(_vary([['comma', [2, 2]], ['tab', [2, 2]]])), _vary('comma'))\ncheck('score', solve(_vary([['comma', [3]], ['tab', [2, 2]]])), _vary('tab'))\ncheck('none', solve(_vary([['comma', [1, 1]], ['tab', []]])), _vary(None))\ncheck('large width', solve(_vary([['@', [4, 4]], ['tab', [2, 2]]])), _vary('@'))\ncheck('singleton row distractor', solve(_vary([['comma', [2, 1]], ['tab', [2, 2]]])), _vary('tab'))\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":"17c7f8f0df0af62a8752ee1394d61a9ee14b60e09732f8446ce43e49c8366eaf","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    best, score = None, -1\n    for name, counts in data:\n        counts = [c for c in counts if c is not None]\n        if not counts: continue\n        if min(counts) < 2: continue\n        if len(set(counts)) != 1: continue\n        candidate_score = len(counts) * counts[0]\n        if candidate_score >= score:\n            best, score = name, candidate_score\n    return best\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('stable', solve(_vary([['comma', [2, 2]], ['tab', [1, 1]]])), _vary('comma'))\ncheck('ragged distractor', solve(_vary([['comma', [2, 3]], ['tab', [2, 2]]])), _vary('tab'))\ncheck('blank ignored', solve(_vary([['comma', [None, 2, 2]], ['tab', [1, 1]]])), _vary('comma'))\ncheck('ties', solve(_vary([['comma', [2, 2]], ['tab', [2, 2]]])), _vary('comma'))\ncheck('score', solve(_vary([['comma', [3]], ['tab', [2, 2]]])), _vary('tab'))\ncheck('none', solve(_vary([['comma', [1, 1]], ['tab', []]])), _vary(None))\ncheck('large width', solve(_vary([['@', [4, 4]], ['tab', [2, 2]]])), _vary('@'))\ncheck('singleton row distractor', solve(_vary([['comma', [2, 1]], ['tab', [2, 2]]])), _vary('tab'))\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":"80639751816c2aa1c07cc6278a002624f22205ab1a0853c70536a411e2802b0d","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    best, score = None, -1\n    for name, counts in data:\n        counts = [c for c in counts if c is not None]\n        if not counts: continue\n        if min(counts) < 2: continue\n        if len(set(counts)) != 1: continue\n        candidate_score = len(counts) * counts[0]\n        if candidate_score > score:\n            best, score = name, candidate_score\n    return best\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('stable', solve(_vary([['comma', [2, 2]], ['tab', [1, 1]]])), _vary('comma'))\ncheck('ragged distractor', solve(_vary([['comma', [2, 3]], ['tab', [2, 2]]])), _vary('tab'))\ncheck('blank ignored', solve(_vary([['comma', [None, 2, 2]], ['tab', [1, 1]]])), _vary('comma'))\ncheck('ties', solve(_vary([['comma', [2, 2]], ['tab', [2, 2]]])), _vary('comma'))\ncheck('score', solve(_vary([['comma', [3]], ['tab', [2, 2]]])), _vary('tab'))\ncheck('none', solve(_vary([['comma', [1, 1]], ['tab', []]])), _vary(None))\ncheck('large width', solve(_vary([['@', [4, 4]], ['tab', [2, 2]]])), _vary('@'))\ncheck('singleton row distractor', solve(_vary([['comma', [2, 1]], ['tab', [2, 2]]])), _vary('tab'))\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-dialect-vote-tie-policy","generated_at":"2026-09-29T14:44:44.432237+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 candidate_score > score:","root_cause":"The update condition changes stable tie precedence.","sha256":"380f0be4095e5bb35a67b2f4531856fbb25b1d43dcac64bee0b8bf57a8cf9b6b","title":"A later delimiter replaces an equally supported earlier candidate · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":40.891,"exit_code":1,"observations":[{"actual":"comma","check":"stable","expected":"comma","passed":true},{"actual":"tab","check":"ragged distractor","expected":"tab","passed":true},{"actual":"comma","check":"blank ignored","expected":"comma","passed":true},{"actual":"tab","check":"ties","expected":"comma","passed":false},{"actual":"tab","check":"score","expected":"tab","passed":true},{"actual":null,"check":"none","expected":null,"passed":true},{"actual":"cell","check":"large width","expected":"cell","passed":true},{"actual":"tab","check":"singleton row distractor","expected":"tab","passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"stable\", \"actual\": \"comma\", \"expected\": \"comma\", \"passed\": true}, {\"check\": \"ragged distractor\", \"actual\": \"tab\", \"expected\": \"tab\", \"passed\": true}, {\"check\": \"blank ignored\", \"actual\": \"comma\", \"expected\": \"comma\", \"passed\": true}, {\"check\": \"ties\", \"actual\": \"tab\", \"expected\": \"comma\", \"passed\": false}, {\"check\": \"score\", \"actual\": \"tab\", \"expected\": \"tab\", \"passed\": true}, {\"check\": \"none\", \"actual\": null, \"expected\": null, \"passed\": true}, {\"check\": \"large width\", \"actual\": \"cell\", \"expected\": \"cell\", \"passed\": true}, {\"check\": \"singleton row distractor\", \"actual\": \"tab\", \"expected\": \"tab\", \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":43.862,"exit_code":1,"observations":[{"actual":"comma","check":"stable","expected":"comma","passed":true},{"actual":"tab","check":"ragged distractor","expected":"tab","passed":true},{"actual":"comma","check":"blank ignored","expected":"comma","passed":true},{"actual":"tab","check":"ties","expected":"comma","passed":false},{"actual":"tab","check":"score","expected":"tab","passed":true},{"actual":null,"check":"none","expected":null,"passed":true},{"actual":"cell","check":"large width","expected":"cell","passed":true},{"actual":"tab","check":"singleton row distractor","expected":"tab","passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"stable\", \"actual\": \"comma\", \"expected\": \"comma\", \"passed\": true}, {\"check\": \"ragged distractor\", \"actual\": \"tab\", \"expected\": \"tab\", \"passed\": true}, {\"check\": \"blank ignored\", \"actual\": \"comma\", \"expected\": \"comma\", \"passed\": true}, {\"check\": \"ties\", \"actual\": \"tab\", \"expected\": \"comma\", \"passed\": false}, {\"check\": \"score\", \"actual\": \"tab\", \"expected\": \"tab\", \"passed\": true}, {\"check\": \"none\", \"actual\": null, \"expected\": null, \"passed\": true}, {\"check\": \"large width\", \"actual\": \"cell\", \"expected\": \"cell\", \"passed\": true}, {\"check\": \"singleton row distractor\", \"actual\": \"tab\", \"expected\": \"tab\", \"passed\": true}], \"passed\": false}\n"},"fixed":{"elapsed_ms":39.295,"exit_code":0,"observations":[{"actual":"comma","check":"stable","expected":"comma","passed":true},{"actual":"tab","check":"ragged distractor","expected":"tab","passed":true},{"actual":"comma","check":"blank ignored","expected":"comma","passed":true},{"actual":"comma","check":"ties","expected":"comma","passed":true},{"actual":"tab","check":"score","expected":"tab","passed":true},{"actual":null,"check":"none","expected":null,"passed":true},{"actual":"cell","check":"large width","expected":"cell","passed":true},{"actual":"tab","check":"singleton row distractor","expected":"tab","passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"stable\", \"actual\": \"comma\", \"expected\": \"comma\", \"passed\": true}, {\"check\": \"ragged distractor\", \"actual\": \"tab\", \"expected\": \"tab\", \"passed\": true}, {\"check\": \"blank ignored\", \"actual\": \"comma\", \"expected\": \"comma\", \"passed\": true}, {\"check\": \"ties\", \"actual\": \"comma\", \"expected\": \"comma\", \"passed\": true}, {\"check\": \"score\", \"actual\": \"tab\", \"expected\": \"tab\", \"passed\": true}, {\"check\": \"none\", \"actual\": null, \"expected\": null, \"passed\": true}, {\"check\": \"large width\", \"actual\": \"cell\", \"expected\": \"cell\", \"passed\": true}, {\"check\": \"singleton row distractor\", \"actual\": \"tab\", \"expected\": \"tab\", \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}