{"abstract":"A structured table violates the declared record or column contract.","category":"Delimited text","checks":10,"contract":"Parse a bounded compact comma row. A field count*value expands value count times; fields lacking star occur once. Count is positive ASCII decimal and cumulative width cannot exceed budget. Split at first star; an empty value is valid. Return expanded cells.","evaluation_group":"s3-delimited-text-run-length-cells","failed_approach":"Removing stars after the first split destroys ordinary value content.","family":"s3-delimited-text-run-length-cells-star-value","id":"FA-47626","implementations":{"attempt":{"sha256":"b903d08f84f7a139ab590deeac1c934f095588f65010153756a3965c56408251","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 cell in data['row'].split(','):\n        if '*' in cell:\n            count, value = cell.split('*', 1)\n            value = value.replace('*', '')\n            if not count.isascii() or not count.isdecimal(): return None\n            count = int(count)\n            if count <= 0: return None\n        else: count, value = 1, cell\n        if len(out) + count > data['budget']: return None\n        out.extend([value] * count)\n    return out\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('expanded', solve(_vary({'row': '2*@,x', 'budget': 3})), _vary(['@', '@', 'x']))\ncheck('star value', solve(_vary({'row': '2*a*b', 'budget': 2})), _vary(['a*b', 'a*b']))\ncheck('empty repeated', solve(_vary({'row': '2*', 'budget': 2})), _vary(['', '']))\ncheck('zero', solve(_vary({'row': '0*x', 'budget': 2})), _vary(None))\ncheck('negative', solve(_vary({'row': '-1*x', 'budget': 2})), _vary(None))\ncheck('aggregate limit', solve(_vary({'row': '2*x,2*y', 'budget': 3})), _vary(None))\ncheck('exact limit', solve(_vary({'row': '3*@', 'budget': 3})), _vary(['@', '@', '@']))\ncheck('ordinary', solve(_vary({'row': '@,z', 'budget': 2})), _vary(['@', 'z']))\ncheck('space value', solve(_vary({'row': ' @ ', 'budget': 1})), _vary([' @ ']))\ncheck('empty field', solve(_vary({'row': '', 'budget': 1})), _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":"52f1711d5ea79a93e95b0e8ebccc9ed1506319cb6b9c4fe0751bafe9f17c242a","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 cell in data['row'].split(','):\n        if '*' in cell:\n            count, value = cell.rsplit('*', 1)\n            if not count.isascii() or not count.isdecimal(): return None\n            count = int(count)\n            if count <= 0: return None\n        else: count, value = 1, cell\n        if len(out) + count > data['budget']: return None\n        out.extend([value] * count)\n    return out\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('expanded', solve(_vary({'row': '2*@,x', 'budget': 3})), _vary(['@', '@', 'x']))\ncheck('star value', solve(_vary({'row': '2*a*b', 'budget': 2})), _vary(['a*b', 'a*b']))\ncheck('empty repeated', solve(_vary({'row': '2*', 'budget': 2})), _vary(['', '']))\ncheck('zero', solve(_vary({'row': '0*x', 'budget': 2})), _vary(None))\ncheck('negative', solve(_vary({'row': '-1*x', 'budget': 2})), _vary(None))\ncheck('aggregate limit', solve(_vary({'row': '2*x,2*y', 'budget': 3})), _vary(None))\ncheck('exact limit', solve(_vary({'row': '3*@', 'budget': 3})), _vary(['@', '@', '@']))\ncheck('ordinary', solve(_vary({'row': '@,z', 'budget': 2})), _vary(['@', 'z']))\ncheck('space value', solve(_vary({'row': ' @ ', 'budget': 1})), _vary([' @ ']))\ncheck('empty field', solve(_vary({'row': '', 'budget': 1})), _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"},"fixed":{"sha256":"63773b057cc3b84576a3f7026468a14689432628cf8fb8f96357624fb853bab5","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 cell in data['row'].split(','):\n        if '*' in cell:\n            count, value = cell.split('*', 1)\n            if not count.isascii() or not count.isdecimal(): return None\n            count = int(count)\n            if count <= 0: return None\n        else: count, value = 1, cell\n        if len(out) + count > data['budget']: return None\n        out.extend([value] * count)\n    return out\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('expanded', solve(_vary({'row': '2*@,x', 'budget': 3})), _vary(['@', '@', 'x']))\ncheck('star value', solve(_vary({'row': '2*a*b', 'budget': 2})), _vary(['a*b', 'a*b']))\ncheck('empty repeated', solve(_vary({'row': '2*', 'budget': 2})), _vary(['', '']))\ncheck('zero', solve(_vary({'row': '0*x', 'budget': 2})), _vary(None))\ncheck('negative', solve(_vary({'row': '-1*x', 'budget': 2})), _vary(None))\ncheck('aggregate limit', solve(_vary({'row': '2*x,2*y', 'budget': 3})), _vary(None))\ncheck('exact limit', solve(_vary({'row': '3*@', 'budget': 3})), _vary(['@', '@', '@']))\ncheck('ordinary', solve(_vary({'row': '@,z', 'budget': 2})), _vary(['@', 'z']))\ncheck('space value', solve(_vary({'row': ' @ ', 'budget': 1})), _vary([' @ ']))\ncheck('empty field', solve(_vary({'row': '', 'budget': 1})), _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-run-length-cells-star-value","generated_at":"2026-09-29T14:44:43.279966+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: count, value = cell.split('*', 1)","root_cause":"The last star is taken as the count delimiter.","sha256":"0abed6514f1f58d414cff554a7e9651d4400284aca208df055c7ea573fd9f156","title":"A repeated cell loses literal stars in its value · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":39.466,"exit_code":1,"observations":[{"actual":["cell","cell","x"],"check":"expanded","expected":["cell","cell","x"],"passed":true},{"actual":["ab","ab"],"check":"star value","expected":["a*b","a*b"],"passed":false},{"actual":["",""],"check":"empty repeated","expected":["",""],"passed":true},{"actual":null,"check":"zero","expected":null,"passed":true},{"actual":null,"check":"negative","expected":null,"passed":true},{"actual":null,"check":"aggregate limit","expected":null,"passed":true},{"actual":["cell","cell","cell"],"check":"exact limit","expected":["cell","cell","cell"],"passed":true},{"actual":["cell","z"],"check":"ordinary","expected":["cell","z"],"passed":true},{"actual":[" cell "],"check":"space value","expected":[" cell "],"passed":true},{"actual":[""],"check":"empty field","expected":[""],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"expanded\", \"actual\": [\"cell\", \"cell\", \"x\"], \"expected\": [\"cell\", \"cell\", \"x\"], \"passed\": true}, {\"check\": \"star value\", \"actual\": [\"ab\", \"ab\"], \"expected\": [\"a*b\", \"a*b\"], \"passed\": false}, {\"check\": \"empty repeated\", \"actual\": [\"\", \"\"], \"expected\": [\"\", \"\"], \"passed\": true}, {\"check\": \"zero\", \"actual\": null, \"expected\": null, \"passed\": true}, {\"check\": \"negative\", \"actual\": null, \"expected\": null, \"passed\": true}, {\"check\": \"aggregate limit\", \"actual\": null, \"expected\": null, \"passed\": true}, {\"check\": \"exact limit\", \"actual\": [\"cell\", \"cell\", \"cell\"], \"expected\": [\"cell\", \"cell\", \"cell\"], \"passed\": true}, {\"check\": \"ordinary\", \"actual\": [\"cell\", \"z\"], \"expected\": [\"cell\", \"z\"], \"passed\": true}, {\"check\": \"space value\", \"actual\": [\" cell \"], \"expected\": [\" cell \"], \"passed\": true}, {\"check\": \"empty field\", \"actual\": [\"\"], \"expected\": [\"\"], \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":40.737,"exit_code":1,"observations":[{"actual":["cell","cell","x"],"check":"expanded","expected":["cell","cell","x"],"passed":true},{"actual":null,"check":"star value","expected":["a*b","a*b"],"passed":false},{"actual":["",""],"check":"empty repeated","expected":["",""],"passed":true},{"actual":null,"check":"zero","expected":null,"passed":true},{"actual":null,"check":"negative","expected":null,"passed":true},{"actual":null,"check":"aggregate limit","expected":null,"passed":true},{"actual":["cell","cell","cell"],"check":"exact limit","expected":["cell","cell","cell"],"passed":true},{"actual":["cell","z"],"check":"ordinary","expected":["cell","z"],"passed":true},{"actual":[" cell "],"check":"space value","expected":[" cell "],"passed":true},{"actual":[""],"check":"empty field","expected":[""],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"expanded\", \"actual\": [\"cell\", \"cell\", \"x\"], \"expected\": [\"cell\", \"cell\", \"x\"], \"passed\": true}, {\"check\": \"star value\", \"actual\": null, \"expected\": [\"a*b\", \"a*b\"], \"passed\": false}, {\"check\": \"empty repeated\", \"actual\": [\"\", \"\"], \"expected\": [\"\", \"\"], \"passed\": true}, {\"check\": \"zero\", \"actual\": null, \"expected\": null, \"passed\": true}, {\"check\": \"negative\", \"actual\": null, \"expected\": null, \"passed\": true}, {\"check\": \"aggregate limit\", \"actual\": null, \"expected\": null, \"passed\": true}, {\"check\": \"exact limit\", \"actual\": [\"cell\", \"cell\", \"cell\"], \"expected\": [\"cell\", \"cell\", \"cell\"], \"passed\": true}, {\"check\": \"ordinary\", \"actual\": [\"cell\", \"z\"], \"expected\": [\"cell\", \"z\"], \"passed\": true}, {\"check\": \"space value\", \"actual\": [\" cell \"], \"expected\": [\" cell \"], \"passed\": true}, {\"check\": \"empty field\", \"actual\": [\"\"], \"expected\": [\"\"], \"passed\": true}], \"passed\": false}\n"},"fixed":{"elapsed_ms":42.536,"exit_code":0,"observations":[{"actual":["cell","cell","x"],"check":"expanded","expected":["cell","cell","x"],"passed":true},{"actual":["a*b","a*b"],"check":"star value","expected":["a*b","a*b"],"passed":true},{"actual":["",""],"check":"empty repeated","expected":["",""],"passed":true},{"actual":null,"check":"zero","expected":null,"passed":true},{"actual":null,"check":"negative","expected":null,"passed":true},{"actual":null,"check":"aggregate limit","expected":null,"passed":true},{"actual":["cell","cell","cell"],"check":"exact limit","expected":["cell","cell","cell"],"passed":true},{"actual":["cell","z"],"check":"ordinary","expected":["cell","z"],"passed":true},{"actual":[" cell "],"check":"space value","expected":[" cell "],"passed":true},{"actual":[""],"check":"empty field","expected":[""],"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"expanded\", \"actual\": [\"cell\", \"cell\", \"x\"], \"expected\": [\"cell\", \"cell\", \"x\"], \"passed\": true}, {\"check\": \"star value\", \"actual\": [\"a*b\", \"a*b\"], \"expected\": [\"a*b\", \"a*b\"], \"passed\": true}, {\"check\": \"empty repeated\", \"actual\": [\"\", \"\"], \"expected\": [\"\", \"\"], \"passed\": true}, {\"check\": \"zero\", \"actual\": null, \"expected\": null, \"passed\": true}, {\"check\": \"negative\", \"actual\": null, \"expected\": null, \"passed\": true}, {\"check\": \"aggregate limit\", \"actual\": null, \"expected\": null, \"passed\": true}, {\"check\": \"exact limit\", \"actual\": [\"cell\", \"cell\", \"cell\"], \"expected\": [\"cell\", \"cell\", \"cell\"], \"passed\": true}, {\"check\": \"ordinary\", \"actual\": [\"cell\", \"z\"], \"expected\": [\"cell\", \"z\"], \"passed\": true}, {\"check\": \"space value\", \"actual\": [\" cell \"], \"expected\": [\" cell \"], \"passed\": true}, {\"check\": \"empty field\", \"actual\": [\"\"], \"expected\": [\"\"], \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}