{"abstract":"A structured table violates the declared record or column contract.","category":"Delimited text","checks":8,"contract":"Decode comma rows with header label followed by data cells. First field is a row label; labels must be unique, including empty label. Return labels and values separately. All data rows have the width specified in data.width; preserve label spelling and row order.","evaluation_group":"s3-delimited-text-labelled-rows","failed_approach":"The alternate implementation still violates the same declared invariant: row labels are reordered independently from their data.","family":"s3-delimited-text-labelled-rows-label-order","id":"FA-48631","implementations":{"attempt":{"sha256":"496209850a9bc451bc579feea520b5e6f79418a5c740b3cbef3053fd12f5a14b","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    labels,values=[],[]\n    for line in data['lines']:\n        cells=line.split(',')\n        label,row=cells[0],cells[1:]\n        if len(row)!=data['width'] or label in labels: return None\n        labels.append(label); values.append(row)\n    return {'labels':list(reversed(labels)),'values':values}\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('rows', solve(_vary({'width': 2, 'lines': ['r,@,x', 'q,y,z']})), _vary({'labels': ['r', 'q'], 'values': [['@', 'x'], ['y', 'z']]}))\ncheck('empty label', solve(_vary({'width': 1, 'lines': [',@']})), _vary({'labels': [''], 'values': [['@']]}))\ncheck('duplicate', solve(_vary({'width': 1, 'lines': ['r,@', 'r,z']})), _vary(None))\ncheck('bad width', solve(_vary({'width': 2, 'lines': ['r,@']})), _vary(None))\ncheck('spaces', solve(_vary({'width': 1, 'lines': [' r ,@']})), _vary({'labels': [' r '], 'values': [['@']]}))\ncheck('uppercase label', solve(_vary({'width': 1, 'lines': ['ROW,@']})), _vary({'labels': ['ROW'], 'values': [['@']]}))\ncheck('zero width', solve(_vary({'width': 0, 'lines': ['@']})), _vary({'labels': ['@'], 'values': [[]]}))\ncheck('empty table', solve(_vary({'width': 2, 'lines': []})), _vary({'labels': [], 'values': []}))\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":"8232a38e9f9a8d7b11b082b44a10e00a259b50794eb0416d52507cfd956bb972","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    labels,values=[],[]\n    for line in data['lines']:\n        cells=line.split(',')\n        label,row=cells[0],cells[1:]\n        if len(row)!=data['width'] or label in labels: return None\n        labels.append(label); values.append(row)\n    return {'labels':sorted(labels),'values':values}\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('rows', solve(_vary({'width': 2, 'lines': ['r,@,x', 'q,y,z']})), _vary({'labels': ['r', 'q'], 'values': [['@', 'x'], ['y', 'z']]}))\ncheck('empty label', solve(_vary({'width': 1, 'lines': [',@']})), _vary({'labels': [''], 'values': [['@']]}))\ncheck('duplicate', solve(_vary({'width': 1, 'lines': ['r,@', 'r,z']})), _vary(None))\ncheck('bad width', solve(_vary({'width': 2, 'lines': ['r,@']})), _vary(None))\ncheck('spaces', solve(_vary({'width': 1, 'lines': [' r ,@']})), _vary({'labels': [' r '], 'values': [['@']]}))\ncheck('uppercase label', solve(_vary({'width': 1, 'lines': ['ROW,@']})), _vary({'labels': ['ROW'], 'values': [['@']]}))\ncheck('zero width', solve(_vary({'width': 0, 'lines': ['@']})), _vary({'labels': ['@'], 'values': [[]]}))\ncheck('empty table', solve(_vary({'width': 2, 'lines': []})), _vary({'labels': [], 'values': []}))\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":"d4d64c60355cb6d645931883a24f21bf18b7c69886a583849427e352f3679919","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    labels,values=[],[]\n    for line in data['lines']:\n        cells=line.split(',')\n        label,row=cells[0],cells[1:]\n        if len(row)!=data['width'] or label in labels: return None\n        labels.append(label); values.append(row)\n    return {'labels':labels,'values':values}\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('rows', solve(_vary({'width': 2, 'lines': ['r,@,x', 'q,y,z']})), _vary({'labels': ['r', 'q'], 'values': [['@', 'x'], ['y', 'z']]}))\ncheck('empty label', solve(_vary({'width': 1, 'lines': [',@']})), _vary({'labels': [''], 'values': [['@']]}))\ncheck('duplicate', solve(_vary({'width': 1, 'lines': ['r,@', 'r,z']})), _vary(None))\ncheck('bad width', solve(_vary({'width': 2, 'lines': ['r,@']})), _vary(None))\ncheck('spaces', solve(_vary({'width': 1, 'lines': [' r ,@']})), _vary({'labels': [' r '], 'values': [['@']]}))\ncheck('uppercase label', solve(_vary({'width': 1, 'lines': ['ROW,@']})), _vary({'labels': ['ROW'], 'values': [['@']]}))\ncheck('zero width', solve(_vary({'width': 0, 'lines': ['@']})), _vary({'labels': ['@'], 'values': [[]]}))\ncheck('empty table', solve(_vary({'width': 2, 'lines': []})), _vary({'labels': [], 'values': []}))\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-labelled-rows-label-order","generated_at":"2026-09-29T14:44:52.536579+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: return {'labels':labels,'values':values}","root_cause":"Row labels are reordered independently from their data.","sha256":"ded592d54f8a9bf4cd605f409e569247d4d00e3f458e5a7d4b1b085e10d3f543","title":"Row labels are reordered independently from their data · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":40.819,"exit_code":1,"observations":[{"actual":{"labels":["q","r"],"values":[["cell","x"],["y","z"]]},"check":"rows","expected":{"labels":["r","q"],"values":[["cell","x"],["y","z"]]},"passed":false},{"actual":{"labels":[""],"values":[["cell"]]},"check":"empty label","expected":{"labels":[""],"values":[["cell"]]},"passed":true},{"actual":null,"check":"duplicate","expected":null,"passed":true},{"actual":null,"check":"bad width","expected":null,"passed":true},{"actual":{"labels":[" r "],"values":[["cell"]]},"check":"spaces","expected":{"labels":[" r "],"values":[["cell"]]},"passed":true},{"actual":{"labels":["ROW"],"values":[["cell"]]},"check":"uppercase label","expected":{"labels":["ROW"],"values":[["cell"]]},"passed":true},{"actual":{"labels":["cell"],"values":[[]]},"check":"zero width","expected":{"labels":["cell"],"values":[[]]},"passed":true},{"actual":{"labels":[],"values":[]},"check":"empty table","expected":{"labels":[],"values":[]},"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"rows\", \"actual\": {\"labels\": [\"q\", \"r\"], \"values\": [[\"cell\", \"x\"], [\"y\", \"z\"]]}, \"expected\": {\"labels\": [\"r\", \"q\"], \"values\": [[\"cell\", \"x\"], [\"y\", \"z\"]]}, \"passed\": false}, {\"check\": \"empty label\", \"actual\": {\"labels\": [\"\"], \"values\": [[\"cell\"]]}, \"expected\": {\"labels\": [\"\"], \"values\": [[\"cell\"]]}, \"passed\": true}, {\"check\": \"duplicate\", \"actual\": null, \"expected\": null, \"passed\": true}, {\"check\": \"bad width\", \"actual\": null, \"expected\": null, \"passed\": true}, {\"check\": \"spaces\", \"actual\": {\"labels\": [\" r \"], \"values\": [[\"cell\"]]}, \"expected\": {\"labels\": [\" r \"], \"values\": [[\"cell\"]]}, \"passed\": true}, {\"check\": \"uppercase label\", \"actual\": {\"labels\": [\"ROW\"], \"values\": [[\"cell\"]]}, \"expected\": {\"labels\": [\"ROW\"], \"values\": [[\"cell\"]]}, \"passed\": true}, {\"check\": \"zero width\", \"actual\": {\"labels\": [\"cell\"], \"values\": [[]]}, \"expected\": {\"labels\": [\"cell\"], \"values\": [[]]}, \"passed\": true}, {\"check\": \"empty table\", \"actual\": {\"labels\": [], \"values\": []}, \"expected\": {\"labels\": [], \"values\": []}, \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":42.238,"exit_code":1,"observations":[{"actual":{"labels":["q","r"],"values":[["cell","x"],["y","z"]]},"check":"rows","expected":{"labels":["r","q"],"values":[["cell","x"],["y","z"]]},"passed":false},{"actual":{"labels":[""],"values":[["cell"]]},"check":"empty label","expected":{"labels":[""],"values":[["cell"]]},"passed":true},{"actual":null,"check":"duplicate","expected":null,"passed":true},{"actual":null,"check":"bad width","expected":null,"passed":true},{"actual":{"labels":[" r "],"values":[["cell"]]},"check":"spaces","expected":{"labels":[" r "],"values":[["cell"]]},"passed":true},{"actual":{"labels":["ROW"],"values":[["cell"]]},"check":"uppercase label","expected":{"labels":["ROW"],"values":[["cell"]]},"passed":true},{"actual":{"labels":["cell"],"values":[[]]},"check":"zero width","expected":{"labels":["cell"],"values":[[]]},"passed":true},{"actual":{"labels":[],"values":[]},"check":"empty table","expected":{"labels":[],"values":[]},"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"rows\", \"actual\": {\"labels\": [\"q\", \"r\"], \"values\": [[\"cell\", \"x\"], [\"y\", \"z\"]]}, \"expected\": {\"labels\": [\"r\", \"q\"], \"values\": [[\"cell\", \"x\"], [\"y\", \"z\"]]}, \"passed\": false}, {\"check\": \"empty label\", \"actual\": {\"labels\": [\"\"], \"values\": [[\"cell\"]]}, \"expected\": {\"labels\": [\"\"], \"values\": [[\"cell\"]]}, \"passed\": true}, {\"check\": \"duplicate\", \"actual\": null, \"expected\": null, \"passed\": true}, {\"check\": \"bad width\", \"actual\": null, \"expected\": null, \"passed\": true}, {\"check\": \"spaces\", \"actual\": {\"labels\": [\" r \"], \"values\": [[\"cell\"]]}, \"expected\": {\"labels\": [\" r \"], \"values\": [[\"cell\"]]}, \"passed\": true}, {\"check\": \"uppercase label\", \"actual\": {\"labels\": [\"ROW\"], \"values\": [[\"cell\"]]}, \"expected\": {\"labels\": [\"ROW\"], \"values\": [[\"cell\"]]}, \"passed\": true}, {\"check\": \"zero width\", \"actual\": {\"labels\": [\"cell\"], \"values\": [[]]}, \"expected\": {\"labels\": [\"cell\"], \"values\": [[]]}, \"passed\": true}, {\"check\": \"empty table\", \"actual\": {\"labels\": [], \"values\": []}, \"expected\": {\"labels\": [], \"values\": []}, \"passed\": true}], \"passed\": false}\n"},"fixed":{"elapsed_ms":44.119,"exit_code":0,"observations":[{"actual":{"labels":["r","q"],"values":[["cell","x"],["y","z"]]},"check":"rows","expected":{"labels":["r","q"],"values":[["cell","x"],["y","z"]]},"passed":true},{"actual":{"labels":[""],"values":[["cell"]]},"check":"empty label","expected":{"labels":[""],"values":[["cell"]]},"passed":true},{"actual":null,"check":"duplicate","expected":null,"passed":true},{"actual":null,"check":"bad width","expected":null,"passed":true},{"actual":{"labels":[" r "],"values":[["cell"]]},"check":"spaces","expected":{"labels":[" r "],"values":[["cell"]]},"passed":true},{"actual":{"labels":["ROW"],"values":[["cell"]]},"check":"uppercase label","expected":{"labels":["ROW"],"values":[["cell"]]},"passed":true},{"actual":{"labels":["cell"],"values":[[]]},"check":"zero width","expected":{"labels":["cell"],"values":[[]]},"passed":true},{"actual":{"labels":[],"values":[]},"check":"empty table","expected":{"labels":[],"values":[]},"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"rows\", \"actual\": {\"labels\": [\"r\", \"q\"], \"values\": [[\"cell\", \"x\"], [\"y\", \"z\"]]}, \"expected\": {\"labels\": [\"r\", \"q\"], \"values\": [[\"cell\", \"x\"], [\"y\", \"z\"]]}, \"passed\": true}, {\"check\": \"empty label\", \"actual\": {\"labels\": [\"\"], \"values\": [[\"cell\"]]}, \"expected\": {\"labels\": [\"\"], \"values\": [[\"cell\"]]}, \"passed\": true}, {\"check\": \"duplicate\", \"actual\": null, \"expected\": null, \"passed\": true}, {\"check\": \"bad width\", \"actual\": null, \"expected\": null, \"passed\": true}, {\"check\": \"spaces\", \"actual\": {\"labels\": [\" r \"], \"values\": [[\"cell\"]]}, \"expected\": {\"labels\": [\" r \"], \"values\": [[\"cell\"]]}, \"passed\": true}, {\"check\": \"uppercase label\", \"actual\": {\"labels\": [\"ROW\"], \"values\": [[\"cell\"]]}, \"expected\": {\"labels\": [\"ROW\"], \"values\": [[\"cell\"]]}, \"passed\": true}, {\"check\": \"zero width\", \"actual\": {\"labels\": [\"cell\"], \"values\": [[]]}, \"expected\": {\"labels\": [\"cell\"], \"values\": [[]]}, \"passed\": true}, {\"check\": \"empty table\", \"actual\": {\"labels\": [], \"values\": []}, \"expected\": {\"labels\": [], \"values\": []}, \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}