{"abstract":"A structured table violates the declared record or column contract.","category":"Delimited text","checks":7,"contract":"Bind a two-column comma row to [a,b] with per-column defaults. An absent cell uses its default only if its required flag is false; a present empty cell stays empty. Surplus cells reject. Return ordered values. Defaults may be null or lists and must remain typed.","evaluation_group":"s3-delimited-text-column-defaults","failed_approach":"Whitespace folding expands the same missingness mistake.","family":"s3-delimited-text-column-defaults-absence-empty","id":"FA-48091","implementations":{"attempt":{"sha256":"ed7462bdaa3f3c18c8f5a81690cd315e52c7f147c4412903d7c5bf1765f84a36","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    values = data['row'].split(',')\n    if len(values) > 2: return None\n    out = []\n    for i in range(2):\n        if i < len(values): out.append(values[i] if values[i].strip() else data['defaults'][i])\n        elif data['required'][i]: return None\n        else: out.append(data['defaults'][i])\n    return out\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('missing optional', solve(_vary({'row': '@', 'required': [True, False], 'defaults': ['x', 'y']})), _vary(['@', 'y']))\ncheck('present empty', solve(_vary({'row': '@,', 'required': [True, False], 'defaults': ['x', 'y']})), _vary(['@', '']))\ncheck('missing required', solve(_vary({'row': '@', 'required': [False, True], 'defaults': ['x', 'y']})), _vary(None))\ncheck('typed default', solve(_vary({'row': '@', 'required': [False, False], 'defaults': [0, [1, 2]]})), _vary(['@', [1, 2]]))\ncheck('null default', solve(_vary({'row': '@', 'required': [False, False], 'defaults': [0, None]})), _vary(['@', None]))\ncheck('extra', solve(_vary({'row': 'a,b,c', 'required': [False, False], 'defaults': [0, 1]})), _vary(None))\ncheck('both present', solve(_vary({'row': '@,z', 'required': [True, True], 'defaults': [0, 1]})), _vary(['@', 'z']))\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":"7ef086baa6d892b3f8ce4dd31f3db715e8b90a32191446db8f067a2992fd782a","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    values = data['row'].split(',')\n    if len(values) > 2: return None\n    out = []\n    for i in range(2):\n        if i < len(values): out.append(values[i] or data['defaults'][i])\n        elif data['required'][i]: return None\n        else: out.append(data['defaults'][i])\n    return out\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('missing optional', solve(_vary({'row': '@', 'required': [True, False], 'defaults': ['x', 'y']})), _vary(['@', 'y']))\ncheck('present empty', solve(_vary({'row': '@,', 'required': [True, False], 'defaults': ['x', 'y']})), _vary(['@', '']))\ncheck('missing required', solve(_vary({'row': '@', 'required': [False, True], 'defaults': ['x', 'y']})), _vary(None))\ncheck('typed default', solve(_vary({'row': '@', 'required': [False, False], 'defaults': [0, [1, 2]]})), _vary(['@', [1, 2]]))\ncheck('null default', solve(_vary({'row': '@', 'required': [False, False], 'defaults': [0, None]})), _vary(['@', None]))\ncheck('extra', solve(_vary({'row': 'a,b,c', 'required': [False, False], 'defaults': [0, 1]})), _vary(None))\ncheck('both present', solve(_vary({'row': '@,z', 'required': [True, True], 'defaults': [0, 1]})), _vary(['@', 'z']))\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":"f801dbaa204d403ef7cce6a57d5ee283120fddf28c218c32fcb182f32d2c5088","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    values = data['row'].split(',')\n    if len(values) > 2: return None\n    out = []\n    for i in range(2):\n        if i < len(values): out.append(values[i])\n        elif data['required'][i]: return None\n        else: out.append(data['defaults'][i])\n    return out\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('missing optional', solve(_vary({'row': '@', 'required': [True, False], 'defaults': ['x', 'y']})), _vary(['@', 'y']))\ncheck('present empty', solve(_vary({'row': '@,', 'required': [True, False], 'defaults': ['x', 'y']})), _vary(['@', '']))\ncheck('missing required', solve(_vary({'row': '@', 'required': [False, True], 'defaults': ['x', 'y']})), _vary(None))\ncheck('typed default', solve(_vary({'row': '@', 'required': [False, False], 'defaults': [0, [1, 2]]})), _vary(['@', [1, 2]]))\ncheck('null default', solve(_vary({'row': '@', 'required': [False, False], 'defaults': [0, None]})), _vary(['@', None]))\ncheck('extra', solve(_vary({'row': 'a,b,c', 'required': [False, False], 'defaults': [0, 1]})), _vary(None))\ncheck('both present', solve(_vary({'row': '@,z', 'required': [True, True], 'defaults': [0, 1]})), _vary(['@', 'z']))\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-column-defaults-absence-empty","generated_at":"2026-09-29T14:44:47.655394+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 i < len(values): out.append(values[i])","root_cause":"Empty-string content is conflated with a physically missing field.","sha256":"f858fe4b271563365f62e85de6f82c6c75fc71a8ffd5851d23fce2565090d6e9","title":"A present empty column is replaced by its default · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":39.317,"exit_code":1,"observations":[{"actual":["cell","y"],"check":"missing optional","expected":["cell","y"],"passed":true},{"actual":["cell","y"],"check":"present empty","expected":["cell",""],"passed":false},{"actual":null,"check":"missing required","expected":null,"passed":true},{"actual":["cell",[1,2]],"check":"typed default","expected":["cell",[1,2]],"passed":true},{"actual":["cell",null],"check":"null default","expected":["cell",null],"passed":true},{"actual":null,"check":"extra","expected":null,"passed":true},{"actual":["cell","z"],"check":"both present","expected":["cell","z"],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"missing optional\", \"actual\": [\"cell\", \"y\"], \"expected\": [\"cell\", \"y\"], \"passed\": true}, {\"check\": \"present empty\", \"actual\": [\"cell\", \"y\"], \"expected\": [\"cell\", \"\"], \"passed\": false}, {\"check\": \"missing required\", \"actual\": null, \"expected\": null, \"passed\": true}, {\"check\": \"typed default\", \"actual\": [\"cell\", [1, 2]], \"expected\": [\"cell\", [1, 2]], \"passed\": true}, {\"check\": \"null default\", \"actual\": [\"cell\", null], \"expected\": [\"cell\", null], \"passed\": true}, {\"check\": \"extra\", \"actual\": null, \"expected\": null, \"passed\": true}, {\"check\": \"both present\", \"actual\": [\"cell\", \"z\"], \"expected\": [\"cell\", \"z\"], \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":39.8,"exit_code":1,"observations":[{"actual":["cell","y"],"check":"missing optional","expected":["cell","y"],"passed":true},{"actual":["cell","y"],"check":"present empty","expected":["cell",""],"passed":false},{"actual":null,"check":"missing required","expected":null,"passed":true},{"actual":["cell",[1,2]],"check":"typed default","expected":["cell",[1,2]],"passed":true},{"actual":["cell",null],"check":"null default","expected":["cell",null],"passed":true},{"actual":null,"check":"extra","expected":null,"passed":true},{"actual":["cell","z"],"check":"both present","expected":["cell","z"],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"missing optional\", \"actual\": [\"cell\", \"y\"], \"expected\": [\"cell\", \"y\"], \"passed\": true}, {\"check\": \"present empty\", \"actual\": [\"cell\", \"y\"], \"expected\": [\"cell\", \"\"], \"passed\": false}, {\"check\": \"missing required\", \"actual\": null, \"expected\": null, \"passed\": true}, {\"check\": \"typed default\", \"actual\": [\"cell\", [1, 2]], \"expected\": [\"cell\", [1, 2]], \"passed\": true}, {\"check\": \"null default\", \"actual\": [\"cell\", null], \"expected\": [\"cell\", null], \"passed\": true}, {\"check\": \"extra\", \"actual\": null, \"expected\": null, \"passed\": true}, {\"check\": \"both present\", \"actual\": [\"cell\", \"z\"], \"expected\": [\"cell\", \"z\"], \"passed\": true}], \"passed\": false}\n"},"fixed":{"elapsed_ms":39.805,"exit_code":0,"observations":[{"actual":["cell","y"],"check":"missing optional","expected":["cell","y"],"passed":true},{"actual":["cell",""],"check":"present empty","expected":["cell",""],"passed":true},{"actual":null,"check":"missing required","expected":null,"passed":true},{"actual":["cell",[1,2]],"check":"typed default","expected":["cell",[1,2]],"passed":true},{"actual":["cell",null],"check":"null default","expected":["cell",null],"passed":true},{"actual":null,"check":"extra","expected":null,"passed":true},{"actual":["cell","z"],"check":"both present","expected":["cell","z"],"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"missing optional\", \"actual\": [\"cell\", \"y\"], \"expected\": [\"cell\", \"y\"], \"passed\": true}, {\"check\": \"present empty\", \"actual\": [\"cell\", \"\"], \"expected\": [\"cell\", \"\"], \"passed\": true}, {\"check\": \"missing required\", \"actual\": null, \"expected\": null, \"passed\": true}, {\"check\": \"typed default\", \"actual\": [\"cell\", [1, 2]], \"expected\": [\"cell\", [1, 2]], \"passed\": true}, {\"check\": \"null default\", \"actual\": [\"cell\", null], \"expected\": [\"cell\", null], \"passed\": true}, {\"check\": \"extra\", \"actual\": null, \"expected\": null, \"passed\": true}, {\"check\": \"both present\", \"actual\": [\"cell\", \"z\"], \"expected\": [\"cell\", \"z\"], \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}