FA-38136 / Table interactions / Open access
Table cell renderer state precedence: link column gate · case 01
The table link column gate result violates the stipulated table cell renderer state precedence contract.
ROOT CAUSE
The link column gate decision uses 'if True else None' instead of "if column.get('link') else None".
VERIFIED REPAIR
Apply the complete link column gate rule: if column.get('link') else None.
Unsuccessful approach: The attempted repair "if column.get('link') and cell else None" still loses a required part of the table contract.
Case contract
A table cell renders editor before error before pending before placeholder; retry excludes pending requests, ordinary cells distinguish None/empty/zero/boolean, respect column alignment and link policy, and all per-cell states use stable row-column identity.
Why this case matters
An offline table UI model isolates table cell renderer state precedence, including adversarial row/column relationships.
1 / The failure
Exit 1"""Failure Map reference implementation. Python standard library only."""
import json
N = 1
observations = []
def solve(cell, column, row, selected, editing, pending, errors, stale):
key=(row['id'],column['id'])
if key in editing: return {'kind':'editor','value':editing[key],'selected':key in selected}
if key in errors: return {'kind':'error','value':cell,'message':errors[key],'retry':key not in pending}
if key in pending: return {'kind':'pending','value':cell,'dim':True}
if row.get('placeholder'): return {'kind':'skeleton','value':None}
if cell is None: text=column.get('null_text','')
elif isinstance(cell,bool): text=column.get('true_text','Yes') if cell else column.get('false_text','No')
else: text=str(cell)
return {'kind':'cell','text':text,'align':column.get('align','start'),'selected':key in selected,'stale':key in stale,'link':row.get('_links',{}).get(column['id']) if True else None}
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
if N == 1:
check('editor over errors', solve(1, {'id':'a','label':'Amount'}, {'id':'r','index':0}, [('r','a')], {('r','a'):5}, [('r','a')], {('r','a'):'Bad value'}, []), {'kind': 'editor', 'value': 5, 'selected': True})
check('error pending retry', solve(2, {'id':'a'}, {'id':'r'}, [], {}, [('r','a')], {('r','a'):'Required'}, []), {'kind': 'error', 'value': 2, 'message': 'Required', 'retry': False})
check('error retry allowed', solve(2, {'id':'a'}, {'id':'r'}, [], {}, [], {('r','a'):'Required'}, []), {'kind': 'error', 'value': 2, 'message': 'Required', 'retry': True})
check('pending content', solve(3, {'id':'a'}, {'id':'r'}, [], {}, [('r','a')], {}, []), {'kind': 'pending', 'value': 3, 'dim': True})
check('placeholder row', solve(4, {'id':'a'}, {'id':'r','placeholder':True}, [], {}, [], {}, []), {'kind': 'skeleton', 'value': None})
check('false custom label', solve(False, {'id':'a','true_text':'On','false_text':'Off','align':'center'}, {'id':'r'}, [], {}, [], {}, []), {'kind': 'cell', 'text': 'Off', 'align': 'center', 'selected': False, 'stale': False, 'link': None})
check('zero link', solve(0, {'id':'a','null_text':'N/A','link':True,'align':'end'}, {'id':'r','_links':{'a':'/zero'}}, [('r','a')], {}, [], {}, [('r','a')]), {'kind': 'cell', 'text': '0', 'align': 'end', 'selected': True, 'stale': True, 'link': '/zero'})
check('empty string distinct null', solve('', {'id':'a','null_text':'N/A'}, {'id':'r','_links':{'a':'/hidden'}}, [], {}, [], {}, []), {'kind': 'cell', 'text': '', 'align': 'start', 'selected': False, 'stale': False, 'link': None})
check('null text', solve(None, {'id':'a','null_text':'N/A'}, {'id':'r'}, [], {}, [], {}, []), {'kind': 'cell', 'text': 'N/A', 'align': 'start', 'selected': False, 'stale': False, 'link': None})
if N == 2:
check('editor over errors', solve(2, {'id':'a','label':'Amount'}, {'id':'r','index':0}, [('r','a')], {('r','a'):5}, [('r','a')], {('r','a'):'Bad value'}, []), {'kind': 'editor', 'value': 5, 'selected': True})
check('error pending retry', solve(2, {'id':'a'}, {'id':'r'}, [], {}, [('r','a')], {('r','a'):'Required'}, []), {'kind': 'error', 'value': 2, 'message': 'Required', 'retry': False})
check('error retry allowed', solve(2, {'id':'a'}, {'id':'r'}, [], {}, [], {('r','a'):'Required'}, []), {'kind': 'error', 'value': 2, 'message': 'Required', 'retry': True})
check('pending content', solve(3, {'id':'a'}, {'id':'r'}, [], {}, [('r','a')], {}, []), {'kind': 'pending', 'value': 3, 'dim': True})
check('placeholder row', solve(4, {'id':'a'}, {'id':'r','placeholder':True}, [], {}, [], {}, []), {'kind': 'skeleton', 'value': None})
check('false custom label', solve(False, {'id':'a','true_text':'On','false_text':'Off','align':'center'}, {'id':'r'}, [], {}, [], {}, []), {'kind': 'cell', 'text': 'Off', 'align': 'center', 'selected': False, 'stale': False, 'link': None})
check('zero link', solve(0, {'id':'a','null_text':'N/A','link':True,'align':'end'}, {'id':'r','_links':{'a':'/zero'}}, [('r','a')], {}, [], {}, [('r','a')]), {'kind': 'cell', 'text': '0', 'align': 'end', 'selected': True, 'stale': True, 'link': '/zero'})
check('empty string distinct null', solve('', {'id':'a','null_text':'N/A'}, {'id':'r','_links':{'a':'/hidden'}}, [], {}, [], {}, []), {'kind': 'cell', 'text': '', 'align': 'start', 'selected': False, 'stale': False, 'link': None})
check('null text', solve(None, {'id':'a','null_text':'N/A'}, {'id':'r'}, [], {}, [], {}, []), {'kind': 'cell', 'text': 'N/A', 'align': 'start', 'selected': False, 'stale': False, 'link': None})
if N == 3:
check('editor over errors', solve(3, {'id':'a','label':'Amount'}, {'id':'r','index':0}, [('r','a')], {('r','a'):5}, [('r','a')], {('r','a'):'Bad value'}, []), {'kind': 'editor', 'value': 5, 'selected': True})
check('error pending retry', solve(2, {'id':'a'}, {'id':'r'}, [], {}, [('r','a')], {('r','a'):'Required'}, []), {'kind': 'error', 'value': 2, 'message': 'Required', 'retry': False})
check('error retry allowed', solve(2, {'id':'a'}, {'id':'r'}, [], {}, [], {('r','a'):'Required'}, []), {'kind': 'error', 'value': 2, 'message': 'Required', 'retry': True})
check('pending content', solve(3, {'id':'a'}, {'id':'r'}, [], {}, [('r','a')], {}, []), {'kind': 'pending', 'value': 3, 'dim': True})
check('placeholder row', solve(4, {'id':'a'}, {'id':'r','placeholder':True}, [], {}, [], {}, []), {'kind': 'skeleton', 'value': None})
check('false custom label', solve(False, {'id':'a','true_text':'On','false_text':'Off','align':'center'}, {'id':'r'}, [], {}, [], {}, []), {'kind': 'cell', 'text': 'Off', 'align': 'center', 'selected': False, 'stale': False, 'link': None})
check('zero link', solve(0, {'id':'a','null_text':'N/A','link':True,'align':'end'}, {'id':'r','_links':{'a':'/zero'}}, [('r','a')], {}, [], {}, [('r','a')]), {'kind': 'cell', 'text': '0', 'align': 'end', 'selected': True, 'stale': True, 'link': '/zero'})
check('empty string distinct null', solve('', {'id':'a','null_text':'N/A'}, {'id':'r','_links':{'a':'/hidden'}}, [], {}, [], {}, []), {'kind': 'cell', 'text': '', 'align': 'start', 'selected': False, 'stale': False, 'link': None})
check('null text', solve(None, {'id':'a','null_text':'N/A'}, {'id':'r'}, [], {}, [], {}, []), {'kind': 'cell', 'text': 'N/A', 'align': 'start', 'selected': False, 'stale': False, 'link': None})
if N == 4:
check('editor over errors', solve(4, {'id':'a','label':'Amount'}, {'id':'r','index':0}, [('r','a')], {('r','a'):5}, [('r','a')], {('r','a'):'Bad value'}, []), {'kind': 'editor', 'value': 5, 'selected': True})
check('error pending retry', solve(2, {'id':'a'}, {'id':'r'}, [], {}, [('r','a')], {('r','a'):'Required'}, []), {'kind': 'error', 'value': 2, 'message': 'Required', 'retry': False})
check('error retry allowed', solve(2, {'id':'a'}, {'id':'r'}, [], {}, [], {('r','a'):'Required'}, []), {'kind': 'error', 'value': 2, 'message': 'Required', 'retry': True})
check('pending content', solve(3, {'id':'a'}, {'id':'r'}, [], {}, [('r','a')], {}, []), {'kind': 'pending', 'value': 3, 'dim': True})
check('placeholder row', solve(4, {'id':'a'}, {'id':'r','placeholder':True}, [], {}, [], {}, []), {'kind': 'skeleton', 'value': None})
check('false custom label', solve(False, {'id':'a','true_text':'On','false_text':'Off','align':'center'}, {'id':'r'}, [], {}, [], {}, []), {'kind': 'cell', 'text': 'Off', 'align': 'center', 'selected': False, 'stale': False, 'link': None})
check('zero link', solve(0, {'id':'a','null_text':'N/A','link':True,'align':'end'}, {'id':'r','_links':{'a':'/zero'}}, [('r','a')], {}, [], {}, [('r','a')]), {'kind': 'cell', 'text': '0', 'align': 'end', 'selected': True, 'stale': True, 'link': '/zero'})
check('empty string distinct null', solve('', {'id':'a','null_text':'N/A'}, {'id':'r','_links':{'a':'/hidden'}}, [], {}, [], {}, []), {'kind': 'cell', 'text': '', 'align': 'start', 'selected': False, 'stale': False, 'link': None})
check('null text', solve(None, {'id':'a','null_text':'N/A'}, {'id':'r'}, [], {}, [], {}, []), {'kind': 'cell', 'text': 'N/A', 'align': 'start', 'selected': False, 'stale': False, 'link': None})
if N == 5:
check('editor over errors', solve(5, {'id':'a','label':'Amount'}, {'id':'r','index':0}, [('r','a')], {('r','a'):5}, [('r','a')], {('r','a'):'Bad value'}, []), {'kind': 'editor', 'value': 5, 'selected': True})
check('error pending retry', solve(2, {'id':'a'}, {'id':'r'}, [], {}, [('r','a')], {('r','a'):'Required'}, []), {'kind': 'error', 'value': 2, 'message': 'Required', 'retry': False})
check('error retry allowed', solve(2, {'id':'a'}, {'id':'r'}, [], {}, [], {('r','a'):'Required'}, []), {'kind': 'error', 'value': 2, 'message': 'Required', 'retry': True})
check('pending content', solve(3, {'id':'a'}, {'id':'r'}, [], {}, [('r','a')], {}, []), {'kind': 'pending', 'value': 3, 'dim': True})
check('placeholder row', solve(4, {'id':'a'}, {'id':'r','placeholder':True}, [], {}, [], {}, []), {'kind': 'skeleton', 'value': None})
check('false custom label', solve(False, {'id':'a','true_text':'On','false_text':'Off','align':'center'}, {'id':'r'}, [], {}, [], {}, []), {'kind': 'cell', 'text': 'Off', 'align': 'center', 'selected': False, 'stale': False, 'link': None})
check('zero link', solve(0, {'id':'a','null_text':'N/A','link':True,'align':'end'}, {'id':'r','_links':{'a':'/zero'}}, [('r','a')], {}, [], {}, [('r','a')]), {'kind': 'cell', 'text': '0', 'align': 'end', 'selected': True, 'stale': True, 'link': '/zero'})
check('empty string distinct null', solve('', {'id':'a','null_text':'N/A'}, {'id':'r','_links':{'a':'/hidden'}}, [], {}, [], {}, []), {'kind': 'cell', 'text': '', 'align': 'start', 'selected': False, 'stale': False, 'link': None})
check('null text', solve(None, {'id':'a','null_text':'N/A'}, {'id':'r'}, [], {}, [], {}, []), {'kind': 'cell', 'text': 'N/A', 'align': 'start', 'selected': False, 'stale': False, 'link': None})
check('variant active editor draft', solve(0, {'id':'a'}, {'id':'r'}, [], {('r','a'):N}, [], {}, []), {'kind':'editor','value':N,'selected':False})
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 |
|---|---|---|---|
| editor over errors | {'kind': 'editor', 'selected': True, 'value': 5} | {'kind': 'editor', 'selected': True, 'value': 5} | Passed |
| error pending retry | {'kind': 'error', 'message': 'Required', 'retry': False, 'value': 2} | {'kind': 'error', 'message': 'Required', 'retry': False, 'value': 2} | Passed |
| error retry allowed | {'kind': 'error', 'message': 'Required', 'retry': True, 'value': 2} | {'kind': 'error', 'message': 'Required', 'retry': True, 'value': 2} | Passed |
| pending content | {'dim': True, 'kind': 'pending', 'value': 3} | {'dim': True, 'kind': 'pending', 'value': 3} | Passed |
| placeholder row | {'kind': 'skeleton', 'value': None} | {'kind': 'skeleton', 'value': None} | Passed |
| false custom label | {'align': 'center', 'kind': 'cell', 'link': None, 'selected': False, 'stale': False, 'text': 'Off'} | {'align': 'center', 'kind': 'cell', 'link': None, 'selected': False, 'stale': False, 'text': 'Off'} | Passed |
| zero link | {'align': 'end', 'kind': 'cell', 'link': '/zero', 'selected': True, 'stale': True, 'text': '0'} | {'align': 'end', 'kind': 'cell', 'link': '/zero', 'selected': True, 'stale': True, 'text': '0'} | Passed |
| empty string distinct null | {'align': 'start', 'kind': 'cell', 'link': '/hidden', 'selected': False, 'stale': False, 'text': ''} | {'align': 'start', 'kind': 'cell', 'link': None, 'selected': False, 'stale': False, 'text': ''} | Failed |
| null text | {'align': 'start', 'kind': 'cell', 'link': None, 'selected': False, 'stale': False, 'text': 'N/A'} | {'align': 'start', 'kind': 'cell', 'link': None, 'selected': False, 'stale': False, 'text': 'N/A'} | Passed |
| variant active editor draft | {'kind': 'editor', 'selected': False, 'value': 1} | {'kind': 'editor', 'selected': False, 'value': 1} | Passed |
SHA-256 / 234c9b1387f5fb85d17b01c4772da7b45fc79e69b173e65b590c9152c4b6c063
2 / The unsuccessful fix
Exit 1"""Failure Map reference implementation. Python standard library only."""
import json
N = 1
observations = []
def solve(cell, column, row, selected, editing, pending, errors, stale):
key=(row['id'],column['id'])
if key in editing: return {'kind':'editor','value':editing[key],'selected':key in selected}
if key in errors: return {'kind':'error','value':cell,'message':errors[key],'retry':key not in pending}
if key in pending: return {'kind':'pending','value':cell,'dim':True}
if row.get('placeholder'): return {'kind':'skeleton','value':None}
if cell is None: text=column.get('null_text','')
elif isinstance(cell,bool): text=column.get('true_text','Yes') if cell else column.get('false_text','No')
else: text=str(cell)
return {'kind':'cell','text':text,'align':column.get('align','start'),'selected':key in selected,'stale':key in stale,'link':row.get('_links',{}).get(column['id']) if column.get('link') and cell else None}
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
if N == 1:
check('editor over errors', solve(1, {'id':'a','label':'Amount'}, {'id':'r','index':0}, [('r','a')], {('r','a'):5}, [('r','a')], {('r','a'):'Bad value'}, []), {'kind': 'editor', 'value': 5, 'selected': True})
check('error pending retry', solve(2, {'id':'a'}, {'id':'r'}, [], {}, [('r','a')], {('r','a'):'Required'}, []), {'kind': 'error', 'value': 2, 'message': 'Required', 'retry': False})
check('error retry allowed', solve(2, {'id':'a'}, {'id':'r'}, [], {}, [], {('r','a'):'Required'}, []), {'kind': 'error', 'value': 2, 'message': 'Required', 'retry': True})
check('pending content', solve(3, {'id':'a'}, {'id':'r'}, [], {}, [('r','a')], {}, []), {'kind': 'pending', 'value': 3, 'dim': True})
check('placeholder row', solve(4, {'id':'a'}, {'id':'r','placeholder':True}, [], {}, [], {}, []), {'kind': 'skeleton', 'value': None})
check('false custom label', solve(False, {'id':'a','true_text':'On','false_text':'Off','align':'center'}, {'id':'r'}, [], {}, [], {}, []), {'kind': 'cell', 'text': 'Off', 'align': 'center', 'selected': False, 'stale': False, 'link': None})
check('zero link', solve(0, {'id':'a','null_text':'N/A','link':True,'align':'end'}, {'id':'r','_links':{'a':'/zero'}}, [('r','a')], {}, [], {}, [('r','a')]), {'kind': 'cell', 'text': '0', 'align': 'end', 'selected': True, 'stale': True, 'link': '/zero'})
check('empty string distinct null', solve('', {'id':'a','null_text':'N/A'}, {'id':'r','_links':{'a':'/hidden'}}, [], {}, [], {}, []), {'kind': 'cell', 'text': '', 'align': 'start', 'selected': False, 'stale': False, 'link': None})
check('null text', solve(None, {'id':'a','null_text':'N/A'}, {'id':'r'}, [], {}, [], {}, []), {'kind': 'cell', 'text': 'N/A', 'align': 'start', 'selected': False, 'stale': False, 'link': None})
if N == 2:
check('editor over errors', solve(2, {'id':'a','label':'Amount'}, {'id':'r','index':0}, [('r','a')], {('r','a'):5}, [('r','a')], {('r','a'):'Bad value'}, []), {'kind': 'editor', 'value': 5, 'selected': True})
check('error pending retry', solve(2, {'id':'a'}, {'id':'r'}, [], {}, [('r','a')], {('r','a'):'Required'}, []), {'kind': 'error', 'value': 2, 'message': 'Required', 'retry': False})
check('error retry allowed', solve(2, {'id':'a'}, {'id':'r'}, [], {}, [], {('r','a'):'Required'}, []), {'kind': 'error', 'value': 2, 'message': 'Required', 'retry': True})
check('pending content', solve(3, {'id':'a'}, {'id':'r'}, [], {}, [('r','a')], {}, []), {'kind': 'pending', 'value': 3, 'dim': True})
check('placeholder row', solve(4, {'id':'a'}, {'id':'r','placeholder':True}, [], {}, [], {}, []), {'kind': 'skeleton', 'value': None})
check('false custom label', solve(False, {'id':'a','true_text':'On','false_text':'Off','align':'center'}, {'id':'r'}, [], {}, [], {}, []), {'kind': 'cell', 'text': 'Off', 'align': 'center', 'selected': False, 'stale': False, 'link': None})
check('zero link', solve(0, {'id':'a','null_text':'N/A','link':True,'align':'end'}, {'id':'r','_links':{'a':'/zero'}}, [('r','a')], {}, [], {}, [('r','a')]), {'kind': 'cell', 'text': '0', 'align': 'end', 'selected': True, 'stale': True, 'link': '/zero'})
check('empty string distinct null', solve('', {'id':'a','null_text':'N/A'}, {'id':'r','_links':{'a':'/hidden'}}, [], {}, [], {}, []), {'kind': 'cell', 'text': '', 'align': 'start', 'selected': False, 'stale': False, 'link': None})
check('null text', solve(None, {'id':'a','null_text':'N/A'}, {'id':'r'}, [], {}, [], {}, []), {'kind': 'cell', 'text': 'N/A', 'align': 'start', 'selected': False, 'stale': False, 'link': None})
if N == 3:
check('editor over errors', solve(3, {'id':'a','label':'Amount'}, {'id':'r','index':0}, [('r','a')], {('r','a'):5}, [('r','a')], {('r','a'):'Bad value'}, []), {'kind': 'editor', 'value': 5, 'selected': True})
check('error pending retry', solve(2, {'id':'a'}, {'id':'r'}, [], {}, [('r','a')], {('r','a'):'Required'}, []), {'kind': 'error', 'value': 2, 'message': 'Required', 'retry': False})
check('error retry allowed', solve(2, {'id':'a'}, {'id':'r'}, [], {}, [], {('r','a'):'Required'}, []), {'kind': 'error', 'value': 2, 'message': 'Required', 'retry': True})
check('pending content', solve(3, {'id':'a'}, {'id':'r'}, [], {}, [('r','a')], {}, []), {'kind': 'pending', 'value': 3, 'dim': True})
check('placeholder row', solve(4, {'id':'a'}, {'id':'r','placeholder':True}, [], {}, [], {}, []), {'kind': 'skeleton', 'value': None})
check('false custom label', solve(False, {'id':'a','true_text':'On','false_text':'Off','align':'center'}, {'id':'r'}, [], {}, [], {}, []), {'kind': 'cell', 'text': 'Off', 'align': 'center', 'selected': False, 'stale': False, 'link': None})
check('zero link', solve(0, {'id':'a','null_text':'N/A','link':True,'align':'end'}, {'id':'r','_links':{'a':'/zero'}}, [('r','a')], {}, [], {}, [('r','a')]), {'kind': 'cell', 'text': '0', 'align': 'end', 'selected': True, 'stale': True, 'link': '/zero'})
check('empty string distinct null', solve('', {'id':'a','null_text':'N/A'}, {'id':'r','_links':{'a':'/hidden'}}, [], {}, [], {}, []), {'kind': 'cell', 'text': '', 'align': 'start', 'selected': False, 'stale': False, 'link': None})
check('null text', solve(None, {'id':'a','null_text':'N/A'}, {'id':'r'}, [], {}, [], {}, []), {'kind': 'cell', 'text': 'N/A', 'align': 'start', 'selected': False, 'stale': False, 'link': None})
if N == 4:
check('editor over errors', solve(4, {'id':'a','label':'Amount'}, {'id':'r','index':0}, [('r','a')], {('r','a'):5}, [('r','a')], {('r','a'):'Bad value'}, []), {'kind': 'editor', 'value': 5, 'selected': True})
check('error pending retry', solve(2, {'id':'a'}, {'id':'r'}, [], {}, [('r','a')], {('r','a'):'Required'}, []), {'kind': 'error', 'value': 2, 'message': 'Required', 'retry': False})
check('error retry allowed', solve(2, {'id':'a'}, {'id':'r'}, [], {}, [], {('r','a'):'Required'}, []), {'kind': 'error', 'value': 2, 'message': 'Required', 'retry': True})
check('pending content', solve(3, {'id':'a'}, {'id':'r'}, [], {}, [('r','a')], {}, []), {'kind': 'pending', 'value': 3, 'dim': True})
check('placeholder row', solve(4, {'id':'a'}, {'id':'r','placeholder':True}, [], {}, [], {}, []), {'kind': 'skeleton', 'value': None})
check('false custom label', solve(False, {'id':'a','true_text':'On','false_text':'Off','align':'center'}, {'id':'r'}, [], {}, [], {}, []), {'kind': 'cell', 'text': 'Off', 'align': 'center', 'selected': False, 'stale': False, 'link': None})
check('zero link', solve(0, {'id':'a','null_text':'N/A','link':True,'align':'end'}, {'id':'r','_links':{'a':'/zero'}}, [('r','a')], {}, [], {}, [('r','a')]), {'kind': 'cell', 'text': '0', 'align': 'end', 'selected': True, 'stale': True, 'link': '/zero'})
check('empty string distinct null', solve('', {'id':'a','null_text':'N/A'}, {'id':'r','_links':{'a':'/hidden'}}, [], {}, [], {}, []), {'kind': 'cell', 'text': '', 'align': 'start', 'selected': False, 'stale': False, 'link': None})
check('null text', solve(None, {'id':'a','null_text':'N/A'}, {'id':'r'}, [], {}, [], {}, []), {'kind': 'cell', 'text': 'N/A', 'align': 'start', 'selected': False, 'stale': False, 'link': None})
if N == 5:
check('editor over errors', solve(5, {'id':'a','label':'Amount'}, {'id':'r','index':0}, [('r','a')], {('r','a'):5}, [('r','a')], {('r','a'):'Bad value'}, []), {'kind': 'editor', 'value': 5, 'selected': True})
check('error pending retry', solve(2, {'id':'a'}, {'id':'r'}, [], {}, [('r','a')], {('r','a'):'Required'}, []), {'kind': 'error', 'value': 2, 'message': 'Required', 'retry': False})
check('error retry allowed', solve(2, {'id':'a'}, {'id':'r'}, [], {}, [], {('r','a'):'Required'}, []), {'kind': 'error', 'value': 2, 'message': 'Required', 'retry': True})
check('pending content', solve(3, {'id':'a'}, {'id':'r'}, [], {}, [('r','a')], {}, []), {'kind': 'pending', 'value': 3, 'dim': True})
check('placeholder row', solve(4, {'id':'a'}, {'id':'r','placeholder':True}, [], {}, [], {}, []), {'kind': 'skeleton', 'value': None})
check('false custom label', solve(False, {'id':'a','true_text':'On','false_text':'Off','align':'center'}, {'id':'r'}, [], {}, [], {}, []), {'kind': 'cell', 'text': 'Off', 'align': 'center', 'selected': False, 'stale': False, 'link': None})
check('zero link', solve(0, {'id':'a','null_text':'N/A','link':True,'align':'end'}, {'id':'r','_links':{'a':'/zero'}}, [('r','a')], {}, [], {}, [('r','a')]), {'kind': 'cell', 'text': '0', 'align': 'end', 'selected': True, 'stale': True, 'link': '/zero'})
check('empty string distinct null', solve('', {'id':'a','null_text':'N/A'}, {'id':'r','_links':{'a':'/hidden'}}, [], {}, [], {}, []), {'kind': 'cell', 'text': '', 'align': 'start', 'selected': False, 'stale': False, 'link': None})
check('null text', solve(None, {'id':'a','null_text':'N/A'}, {'id':'r'}, [], {}, [], {}, []), {'kind': 'cell', 'text': 'N/A', 'align': 'start', 'selected': False, 'stale': False, 'link': None})
check('variant active editor draft', solve(0, {'id':'a'}, {'id':'r'}, [], {('r','a'):N}, [], {}, []), {'kind':'editor','value':N,'selected':False})
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 |
|---|---|---|---|
| editor over errors | {'kind': 'editor', 'selected': True, 'value': 5} | {'kind': 'editor', 'selected': True, 'value': 5} | Passed |
| error pending retry | {'kind': 'error', 'message': 'Required', 'retry': False, 'value': 2} | {'kind': 'error', 'message': 'Required', 'retry': False, 'value': 2} | Passed |
| error retry allowed | {'kind': 'error', 'message': 'Required', 'retry': True, 'value': 2} | {'kind': 'error', 'message': 'Required', 'retry': True, 'value': 2} | Passed |
| pending content | {'dim': True, 'kind': 'pending', 'value': 3} | {'dim': True, 'kind': 'pending', 'value': 3} | Passed |
| placeholder row | {'kind': 'skeleton', 'value': None} | {'kind': 'skeleton', 'value': None} | Passed |
| false custom label | {'align': 'center', 'kind': 'cell', 'link': None, 'selected': False, 'stale': False, 'text': 'Off'} | {'align': 'center', 'kind': 'cell', 'link': None, 'selected': False, 'stale': False, 'text': 'Off'} | Passed |
| zero link | {'align': 'end', 'kind': 'cell', 'link': None, 'selected': True, 'stale': True, 'text': '0'} | {'align': 'end', 'kind': 'cell', 'link': '/zero', 'selected': True, 'stale': True, 'text': '0'} | Failed |
| empty string distinct null | {'align': 'start', 'kind': 'cell', 'link': None, 'selected': False, 'stale': False, 'text': ''} | {'align': 'start', 'kind': 'cell', 'link': None, 'selected': False, 'stale': False, 'text': ''} | Passed |
| null text | {'align': 'start', 'kind': 'cell', 'link': None, 'selected': False, 'stale': False, 'text': 'N/A'} | {'align': 'start', 'kind': 'cell', 'link': None, 'selected': False, 'stale': False, 'text': 'N/A'} | Passed |
| variant active editor draft | {'kind': 'editor', 'selected': False, 'value': 1} | {'kind': 'editor', 'selected': False, 'value': 1} | Passed |
SHA-256 / eafbe32dc1adb8ab03433a59638f8acdffa0da4d03fb39f634a9944cbc782227
3 / The verified repair
Exit 0"""Failure Map reference implementation. Python standard library only."""
import json
N = 1
observations = []
def solve(cell, column, row, selected, editing, pending, errors, stale):
key=(row['id'],column['id'])
if key in editing: return {'kind':'editor','value':editing[key],'selected':key in selected}
if key in errors: return {'kind':'error','value':cell,'message':errors[key],'retry':key not in pending}
if key in pending: return {'kind':'pending','value':cell,'dim':True}
if row.get('placeholder'): return {'kind':'skeleton','value':None}
if cell is None: text=column.get('null_text','')
elif isinstance(cell,bool): text=column.get('true_text','Yes') if cell else column.get('false_text','No')
else: text=str(cell)
return {'kind':'cell','text':text,'align':column.get('align','start'),'selected':key in selected,'stale':key in stale,'link':row.get('_links',{}).get(column['id']) if column.get('link') else None}
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
if N == 1:
check('editor over errors', solve(1, {'id':'a','label':'Amount'}, {'id':'r','index':0}, [('r','a')], {('r','a'):5}, [('r','a')], {('r','a'):'Bad value'}, []), {'kind': 'editor', 'value': 5, 'selected': True})
check('error pending retry', solve(2, {'id':'a'}, {'id':'r'}, [], {}, [('r','a')], {('r','a'):'Required'}, []), {'kind': 'error', 'value': 2, 'message': 'Required', 'retry': False})
check('error retry allowed', solve(2, {'id':'a'}, {'id':'r'}, [], {}, [], {('r','a'):'Required'}, []), {'kind': 'error', 'value': 2, 'message': 'Required', 'retry': True})
check('pending content', solve(3, {'id':'a'}, {'id':'r'}, [], {}, [('r','a')], {}, []), {'kind': 'pending', 'value': 3, 'dim': True})
check('placeholder row', solve(4, {'id':'a'}, {'id':'r','placeholder':True}, [], {}, [], {}, []), {'kind': 'skeleton', 'value': None})
check('false custom label', solve(False, {'id':'a','true_text':'On','false_text':'Off','align':'center'}, {'id':'r'}, [], {}, [], {}, []), {'kind': 'cell', 'text': 'Off', 'align': 'center', 'selected': False, 'stale': False, 'link': None})
check('zero link', solve(0, {'id':'a','null_text':'N/A','link':True,'align':'end'}, {'id':'r','_links':{'a':'/zero'}}, [('r','a')], {}, [], {}, [('r','a')]), {'kind': 'cell', 'text': '0', 'align': 'end', 'selected': True, 'stale': True, 'link': '/zero'})
check('empty string distinct null', solve('', {'id':'a','null_text':'N/A'}, {'id':'r','_links':{'a':'/hidden'}}, [], {}, [], {}, []), {'kind': 'cell', 'text': '', 'align': 'start', 'selected': False, 'stale': False, 'link': None})
check('null text', solve(None, {'id':'a','null_text':'N/A'}, {'id':'r'}, [], {}, [], {}, []), {'kind': 'cell', 'text': 'N/A', 'align': 'start', 'selected': False, 'stale': False, 'link': None})
if N == 2:
check('editor over errors', solve(2, {'id':'a','label':'Amount'}, {'id':'r','index':0}, [('r','a')], {('r','a'):5}, [('r','a')], {('r','a'):'Bad value'}, []), {'kind': 'editor', 'value': 5, 'selected': True})
check('error pending retry', solve(2, {'id':'a'}, {'id':'r'}, [], {}, [('r','a')], {('r','a'):'Required'}, []), {'kind': 'error', 'value': 2, 'message': 'Required', 'retry': False})
check('error retry allowed', solve(2, {'id':'a'}, {'id':'r'}, [], {}, [], {('r','a'):'Required'}, []), {'kind': 'error', 'value': 2, 'message': 'Required', 'retry': True})
check('pending content', solve(3, {'id':'a'}, {'id':'r'}, [], {}, [('r','a')], {}, []), {'kind': 'pending', 'value': 3, 'dim': True})
check('placeholder row', solve(4, {'id':'a'}, {'id':'r','placeholder':True}, [], {}, [], {}, []), {'kind': 'skeleton', 'value': None})
check('false custom label', solve(False, {'id':'a','true_text':'On','false_text':'Off','align':'center'}, {'id':'r'}, [], {}, [], {}, []), {'kind': 'cell', 'text': 'Off', 'align': 'center', 'selected': False, 'stale': False, 'link': None})
check('zero link', solve(0, {'id':'a','null_text':'N/A','link':True,'align':'end'}, {'id':'r','_links':{'a':'/zero'}}, [('r','a')], {}, [], {}, [('r','a')]), {'kind': 'cell', 'text': '0', 'align': 'end', 'selected': True, 'stale': True, 'link': '/zero'})
check('empty string distinct null', solve('', {'id':'a','null_text':'N/A'}, {'id':'r','_links':{'a':'/hidden'}}, [], {}, [], {}, []), {'kind': 'cell', 'text': '', 'align': 'start', 'selected': False, 'stale': False, 'link': None})
check('null text', solve(None, {'id':'a','null_text':'N/A'}, {'id':'r'}, [], {}, [], {}, []), {'kind': 'cell', 'text': 'N/A', 'align': 'start', 'selected': False, 'stale': False, 'link': None})
if N == 3:
check('editor over errors', solve(3, {'id':'a','label':'Amount'}, {'id':'r','index':0}, [('r','a')], {('r','a'):5}, [('r','a')], {('r','a'):'Bad value'}, []), {'kind': 'editor', 'value': 5, 'selected': True})
check('error pending retry', solve(2, {'id':'a'}, {'id':'r'}, [], {}, [('r','a')], {('r','a'):'Required'}, []), {'kind': 'error', 'value': 2, 'message': 'Required', 'retry': False})
check('error retry allowed', solve(2, {'id':'a'}, {'id':'r'}, [], {}, [], {('r','a'):'Required'}, []), {'kind': 'error', 'value': 2, 'message': 'Required', 'retry': True})
check('pending content', solve(3, {'id':'a'}, {'id':'r'}, [], {}, [('r','a')], {}, []), {'kind': 'pending', 'value': 3, 'dim': True})
check('placeholder row', solve(4, {'id':'a'}, {'id':'r','placeholder':True}, [], {}, [], {}, []), {'kind': 'skeleton', 'value': None})
check('false custom label', solve(False, {'id':'a','true_text':'On','false_text':'Off','align':'center'}, {'id':'r'}, [], {}, [], {}, []), {'kind': 'cell', 'text': 'Off', 'align': 'center', 'selected': False, 'stale': False, 'link': None})
check('zero link', solve(0, {'id':'a','null_text':'N/A','link':True,'align':'end'}, {'id':'r','_links':{'a':'/zero'}}, [('r','a')], {}, [], {}, [('r','a')]), {'kind': 'cell', 'text': '0', 'align': 'end', 'selected': True, 'stale': True, 'link': '/zero'})
check('empty string distinct null', solve('', {'id':'a','null_text':'N/A'}, {'id':'r','_links':{'a':'/hidden'}}, [], {}, [], {}, []), {'kind': 'cell', 'text': '', 'align': 'start', 'selected': False, 'stale': False, 'link': None})
check('null text', solve(None, {'id':'a','null_text':'N/A'}, {'id':'r'}, [], {}, [], {}, []), {'kind': 'cell', 'text': 'N/A', 'align': 'start', 'selected': False, 'stale': False, 'link': None})
if N == 4:
check('editor over errors', solve(4, {'id':'a','label':'Amount'}, {'id':'r','index':0}, [('r','a')], {('r','a'):5}, [('r','a')], {('r','a'):'Bad value'}, []), {'kind': 'editor', 'value': 5, 'selected': True})
check('error pending retry', solve(2, {'id':'a'}, {'id':'r'}, [], {}, [('r','a')], {('r','a'):'Required'}, []), {'kind': 'error', 'value': 2, 'message': 'Required', 'retry': False})
check('error retry allowed', solve(2, {'id':'a'}, {'id':'r'}, [], {}, [], {('r','a'):'Required'}, []), {'kind': 'error', 'value': 2, 'message': 'Required', 'retry': True})
check('pending content', solve(3, {'id':'a'}, {'id':'r'}, [], {}, [('r','a')], {}, []), {'kind': 'pending', 'value': 3, 'dim': True})
check('placeholder row', solve(4, {'id':'a'}, {'id':'r','placeholder':True}, [], {}, [], {}, []), {'kind': 'skeleton', 'value': None})
check('false custom label', solve(False, {'id':'a','true_text':'On','false_text':'Off','align':'center'}, {'id':'r'}, [], {}, [], {}, []), {'kind': 'cell', 'text': 'Off', 'align': 'center', 'selected': False, 'stale': False, 'link': None})
check('zero link', solve(0, {'id':'a','null_text':'N/A','link':True,'align':'end'}, {'id':'r','_links':{'a':'/zero'}}, [('r','a')], {}, [], {}, [('r','a')]), {'kind': 'cell', 'text': '0', 'align': 'end', 'selected': True, 'stale': True, 'link': '/zero'})
check('empty string distinct null', solve('', {'id':'a','null_text':'N/A'}, {'id':'r','_links':{'a':'/hidden'}}, [], {}, [], {}, []), {'kind': 'cell', 'text': '', 'align': 'start', 'selected': False, 'stale': False, 'link': None})
check('null text', solve(None, {'id':'a','null_text':'N/A'}, {'id':'r'}, [], {}, [], {}, []), {'kind': 'cell', 'text': 'N/A', 'align': 'start', 'selected': False, 'stale': False, 'link': None})
if N == 5:
check('editor over errors', solve(5, {'id':'a','label':'Amount'}, {'id':'r','index':0}, [('r','a')], {('r','a'):5}, [('r','a')], {('r','a'):'Bad value'}, []), {'kind': 'editor', 'value': 5, 'selected': True})
check('error pending retry', solve(2, {'id':'a'}, {'id':'r'}, [], {}, [('r','a')], {('r','a'):'Required'}, []), {'kind': 'error', 'value': 2, 'message': 'Required', 'retry': False})
check('error retry allowed', solve(2, {'id':'a'}, {'id':'r'}, [], {}, [], {('r','a'):'Required'}, []), {'kind': 'error', 'value': 2, 'message': 'Required', 'retry': True})
check('pending content', solve(3, {'id':'a'}, {'id':'r'}, [], {}, [('r','a')], {}, []), {'kind': 'pending', 'value': 3, 'dim': True})
check('placeholder row', solve(4, {'id':'a'}, {'id':'r','placeholder':True}, [], {}, [], {}, []), {'kind': 'skeleton', 'value': None})
check('false custom label', solve(False, {'id':'a','true_text':'On','false_text':'Off','align':'center'}, {'id':'r'}, [], {}, [], {}, []), {'kind': 'cell', 'text': 'Off', 'align': 'center', 'selected': False, 'stale': False, 'link': None})
check('zero link', solve(0, {'id':'a','null_text':'N/A','link':True,'align':'end'}, {'id':'r','_links':{'a':'/zero'}}, [('r','a')], {}, [], {}, [('r','a')]), {'kind': 'cell', 'text': '0', 'align': 'end', 'selected': True, 'stale': True, 'link': '/zero'})
check('empty string distinct null', solve('', {'id':'a','null_text':'N/A'}, {'id':'r','_links':{'a':'/hidden'}}, [], {}, [], {}, []), {'kind': 'cell', 'text': '', 'align': 'start', 'selected': False, 'stale': False, 'link': None})
check('null text', solve(None, {'id':'a','null_text':'N/A'}, {'id':'r'}, [], {}, [], {}, []), {'kind': 'cell', 'text': 'N/A', 'align': 'start', 'selected': False, 'stale': False, 'link': None})
check('variant active editor draft', solve(0, {'id':'a'}, {'id':'r'}, [], {('r','a'):N}, [], {}, []), {'kind':'editor','value':N,'selected':False})
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 |
|---|---|---|---|
| editor over errors | {'kind': 'editor', 'selected': True, 'value': 5} | {'kind': 'editor', 'selected': True, 'value': 5} | Passed |
| error pending retry | {'kind': 'error', 'message': 'Required', 'retry': False, 'value': 2} | {'kind': 'error', 'message': 'Required', 'retry': False, 'value': 2} | Passed |
| error retry allowed | {'kind': 'error', 'message': 'Required', 'retry': True, 'value': 2} | {'kind': 'error', 'message': 'Required', 'retry': True, 'value': 2} | Passed |
| pending content | {'dim': True, 'kind': 'pending', 'value': 3} | {'dim': True, 'kind': 'pending', 'value': 3} | Passed |
| placeholder row | {'kind': 'skeleton', 'value': None} | {'kind': 'skeleton', 'value': None} | Passed |
| false custom label | {'align': 'center', 'kind': 'cell', 'link': None, 'selected': False, 'stale': False, 'text': 'Off'} | {'align': 'center', 'kind': 'cell', 'link': None, 'selected': False, 'stale': False, 'text': 'Off'} | Passed |
| zero link | {'align': 'end', 'kind': 'cell', 'link': '/zero', 'selected': True, 'stale': True, 'text': '0'} | {'align': 'end', 'kind': 'cell', 'link': '/zero', 'selected': True, 'stale': True, 'text': '0'} | Passed |
| empty string distinct null | {'align': 'start', 'kind': 'cell', 'link': None, 'selected': False, 'stale': False, 'text': ''} | {'align': 'start', 'kind': 'cell', 'link': None, 'selected': False, 'stale': False, 'text': ''} | Passed |
| null text | {'align': 'start', 'kind': 'cell', 'link': None, 'selected': False, 'stale': False, 'text': 'N/A'} | {'align': 'start', 'kind': 'cell', 'link': None, 'selected': False, 'stale': False, 'text': 'N/A'} | Passed |
| variant active editor draft | {'kind': 'editor', 'selected': False, 'value': 1} | {'kind': 'editor', 'selected': False, 'value': 1} | Passed |
SHA-256 / a5473a6fc1049be5bbc868de5c7dbe230089c6464cf17a97ea5b33d78c23c5bb
Verification & scope
Values are finite JSON scalar values; editor/error/selection maps are keyed by stable row-column pairs. Deterministic offline table UI model; no browser, DOM, framework, or standards conformance is claimed. 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:43:08.190291+00:00.
Case digest / f267dc04c8153974f6858235ac1124d66e919f442a40a6edda17d5bd989ebe7c