{"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.","contract_signature":"data","evaluation_group":"s3-delimited-text-dialect-vote","failed_approach":"Treating blanks as one-column records still invalidates a consistent table.","family":"s3-delimited-text-dialect-vote-blank-sample","id":"FA-47731","implementations":{"attempt":{"sha256":"65474c74825cf64d8d81aaee1e19adb4f0b16b72d5d742303485ae3dddb6e81d","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 = [1 if c is None else c for c in counts]\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"},"broken":{"sha256":"8307c695f48db77959d7295ff3db0eccd486f451b498ccb532c74df2214a3900","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 = [0 if c is None else c for c in counts]\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-blank-sample","generated_at":"2026-09-29T14:44:44.431408+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":"Blank physical records are turned into observed field widths.","sha256":"360eadbb53aea59144cf6a3971ca3c5bb71638e75c1eceafd3b0059acfe01e3d","title":"Blank lines vote against a valid delimiter · 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":45.776,"exit_code":1,"observations":[{"actual":"comma","check":"stable","expected":"comma","passed":true},{"actual":"tab","check":"ragged distractor","expected":"tab","passed":true},{"actual":null,"check":"blank ignored","expected":"comma","passed":false},{"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":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\": null, \"expected\": \"comma\", \"passed\": false}, {\"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\": false}\n"},"broken":{"elapsed_ms":42.037,"exit_code":1,"observations":[{"actual":"comma","check":"stable","expected":"comma","passed":true},{"actual":"tab","check":"ragged distractor","expected":"tab","passed":true},{"actual":null,"check":"blank ignored","expected":"comma","passed":false},{"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":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\": null, \"expected\": \"comma\", \"passed\": false}, {\"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\": 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."}}