FA-48616 / Delimited text / Open access
Row-label extraction uses the last data cell · case 01
A structured table violates the declared record or column contract.
ROOT CAUSE
Row-label extraction uses the last data cell.
VERIFIED REPAIR
Preserve the named invariant at the faulty decision: label,row=cells[0],cells[1:]
Unsuccessful approach: The alternate implementation still violates the same declared invariant: row-label extraction uses the last data cell.
Case 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.
Why this case matters
Delimited interchange needs explicit framing, schema and field semantics at ingestion and emission boundaries.
1 / The failure
Exit 1"""Failure Map reference implementation. Python standard library only."""
import json
def _vary(value):
if value == '@END': return 3 + 4*N
if isinstance(value, str): return value.replace('@', 'cell' * N)
if isinstance(value, list): return [_vary(x) for x in value]
if isinstance(value, dict): return {_vary(k): _vary(v) for k,v in value.items()}
return value
N = 1
observations = []
def solve(data):
labels,values=[],[]
for line in data['lines']:
cells=line.split(',')
label,row=cells[-1],cells[:-1]
if len(row)!=data['width'] or label in labels: return None
labels.append(label); values.append(row)
return {'labels':labels,'values':values}
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
check('rows', solve(_vary({'width': 2, 'lines': ['r,@,x', 'q,y,z']})), _vary({'labels': ['r', 'q'], 'values': [['@', 'x'], ['y', 'z']]}))
check('empty label', solve(_vary({'width': 1, 'lines': [',@']})), _vary({'labels': [''], 'values': [['@']]}))
check('duplicate', solve(_vary({'width': 1, 'lines': ['r,@', 'r,z']})), _vary(None))
check('bad width', solve(_vary({'width': 2, 'lines': ['r,@']})), _vary(None))
check('spaces', solve(_vary({'width': 1, 'lines': [' r ,@']})), _vary({'labels': [' r '], 'values': [['@']]}))
check('uppercase label', solve(_vary({'width': 1, 'lines': ['ROW,@']})), _vary({'labels': ['ROW'], 'values': [['@']]}))
check('zero width', solve(_vary({'width': 0, 'lines': ['@']})), _vary({'labels': ['@'], 'values': [[]]}))
check('empty table', solve(_vary({'width': 2, 'lines': []})), _vary({'labels': [], 'values': []}))
print(json.dumps({"observations": observations, "passed": all(x["passed"] for x in observations)}, ensure_ascii=False))
raise SystemExit(0 if all(x["passed"] for x in observations) else 1)
| Boundary fixture | Actual | Expected | Outcome |
|---|---|---|---|
| rows | {'labels': ['x', 'z'], 'values': [['r', 'cell'], ['q', 'y']]} | {'labels': ['r', 'q'], 'values': [['cell', 'x'], ['y', 'z']]} | Failed |
| empty label | {'labels': ['cell'], 'values': [['']]} | {'labels': [''], 'values': [['cell']]} | Failed |
| duplicate | {'labels': ['cell', 'z'], 'values': [['r'], ['r']]} | None | Failed |
| bad width | None | None | Passed |
| spaces | {'labels': ['cell'], 'values': [[' r ']]} | {'labels': [' r '], 'values': [['cell']]} | Failed |
| uppercase label | {'labels': ['cell'], 'values': [['ROW']]} | {'labels': ['ROW'], 'values': [['cell']]} | Failed |
| zero width | {'labels': ['cell'], 'values': [[]]} | {'labels': ['cell'], 'values': [[]]} | Passed |
| empty table | {'labels': [], 'values': []} | {'labels': [], 'values': []} | Passed |
SHA-256 / abe6cd2e659a33e30ae818d1123e33041d22303075ab8c1f6d956c89da9f22c7
2 / The unsuccessful fix
Exit 1"""Failure Map reference implementation. Python standard library only."""
import json
def _vary(value):
if value == '@END': return 3 + 4*N
if isinstance(value, str): return value.replace('@', 'cell' * N)
if isinstance(value, list): return [_vary(x) for x in value]
if isinstance(value, dict): return {_vary(k): _vary(v) for k,v in value.items()}
return value
N = 1
observations = []
def solve(data):
labels,values=[],[]
for line in data['lines']:
cells=line.split(',')
label,row=cells[0],cells
if len(row)!=data['width'] or label in labels: return None
labels.append(label); values.append(row)
return {'labels':labels,'values':values}
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
check('rows', solve(_vary({'width': 2, 'lines': ['r,@,x', 'q,y,z']})), _vary({'labels': ['r', 'q'], 'values': [['@', 'x'], ['y', 'z']]}))
check('empty label', solve(_vary({'width': 1, 'lines': [',@']})), _vary({'labels': [''], 'values': [['@']]}))
check('duplicate', solve(_vary({'width': 1, 'lines': ['r,@', 'r,z']})), _vary(None))
check('bad width', solve(_vary({'width': 2, 'lines': ['r,@']})), _vary(None))
check('spaces', solve(_vary({'width': 1, 'lines': [' r ,@']})), _vary({'labels': [' r '], 'values': [['@']]}))
check('uppercase label', solve(_vary({'width': 1, 'lines': ['ROW,@']})), _vary({'labels': ['ROW'], 'values': [['@']]}))
check('zero width', solve(_vary({'width': 0, 'lines': ['@']})), _vary({'labels': ['@'], 'values': [[]]}))
check('empty table', solve(_vary({'width': 2, 'lines': []})), _vary({'labels': [], 'values': []}))
print(json.dumps({"observations": observations, "passed": all(x["passed"] for x in observations)}, ensure_ascii=False))
raise SystemExit(0 if all(x["passed"] for x in observations) else 1)
| Boundary fixture | Actual | Expected | Outcome |
|---|---|---|---|
| rows | None | {'labels': ['r', 'q'], 'values': [['cell', 'x'], ['y', 'z']]} | Failed |
| empty label | None | {'labels': [''], 'values': [['cell']]} | Failed |
| duplicate | None | None | Passed |
| bad width | {'labels': ['r'], 'values': [['r', 'cell']]} | None | Failed |
| spaces | None | {'labels': [' r '], 'values': [['cell']]} | Failed |
| uppercase label | None | {'labels': ['ROW'], 'values': [['cell']]} | Failed |
| zero width | None | {'labels': ['cell'], 'values': [[]]} | Failed |
| empty table | {'labels': [], 'values': []} | {'labels': [], 'values': []} | Passed |
SHA-256 / 5636345660f98880fd03440aff2f27612b2aec2050e8c36bc65dc811b6ef6756
3 / The verified repair
Exit 0"""Failure Map reference implementation. Python standard library only."""
import json
def _vary(value):
if value == '@END': return 3 + 4*N
if isinstance(value, str): return value.replace('@', 'cell' * N)
if isinstance(value, list): return [_vary(x) for x in value]
if isinstance(value, dict): return {_vary(k): _vary(v) for k,v in value.items()}
return value
N = 1
observations = []
def solve(data):
labels,values=[],[]
for line in data['lines']:
cells=line.split(',')
label,row=cells[0],cells[1:]
if len(row)!=data['width'] or label in labels: return None
labels.append(label); values.append(row)
return {'labels':labels,'values':values}
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
check('rows', solve(_vary({'width': 2, 'lines': ['r,@,x', 'q,y,z']})), _vary({'labels': ['r', 'q'], 'values': [['@', 'x'], ['y', 'z']]}))
check('empty label', solve(_vary({'width': 1, 'lines': [',@']})), _vary({'labels': [''], 'values': [['@']]}))
check('duplicate', solve(_vary({'width': 1, 'lines': ['r,@', 'r,z']})), _vary(None))
check('bad width', solve(_vary({'width': 2, 'lines': ['r,@']})), _vary(None))
check('spaces', solve(_vary({'width': 1, 'lines': [' r ,@']})), _vary({'labels': [' r '], 'values': [['@']]}))
check('uppercase label', solve(_vary({'width': 1, 'lines': ['ROW,@']})), _vary({'labels': ['ROW'], 'values': [['@']]}))
check('zero width', solve(_vary({'width': 0, 'lines': ['@']})), _vary({'labels': ['@'], 'values': [[]]}))
check('empty table', solve(_vary({'width': 2, 'lines': []})), _vary({'labels': [], 'values': []}))
print(json.dumps({"observations": observations, "passed": all(x["passed"] for x in observations)}, ensure_ascii=False))
raise SystemExit(0 if all(x["passed"] for x in observations) else 1)
| Boundary fixture | Actual | Expected | Outcome |
|---|---|---|---|
| rows | {'labels': ['r', 'q'], 'values': [['cell', 'x'], ['y', 'z']]} | {'labels': ['r', 'q'], 'values': [['cell', 'x'], ['y', 'z']]} | Passed |
| empty label | {'labels': [''], 'values': [['cell']]} | {'labels': [''], 'values': [['cell']]} | Passed |
| duplicate | None | None | Passed |
| bad width | None | None | Passed |
| spaces | {'labels': [' r '], 'values': [['cell']]} | {'labels': [' r '], 'values': [['cell']]} | Passed |
| uppercase label | {'labels': ['ROW'], 'values': [['cell']]} | {'labels': ['ROW'], 'values': [['cell']]} | Passed |
| zero width | {'labels': ['cell'], 'values': [[]]} | {'labels': ['cell'], 'values': [[]]} | Passed |
| empty table | {'labels': [], 'values': []} | {'labels': [], 'values': []} | Passed |
SHA-256 / d4d64c60355cb6d645931883a24f21bf18b7c69886a583849427e352f3679919
Verification & scope
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.
Observations recorded using Python 3.12.14 at 2026-09-29T14:44:52.438543+00:00.
Case digest / ab5359e6693206a908f9b12495beed5c64858242a686ad38aab0e20b8e372133