FA-38111 / Table interactions / Open access
Table cell renderer state precedence: pending render value · case 01
The table pending render value result violates the stipulated table cell renderer state precedence contract.
ROOT CAUSE
The pending render value decision uses "'kind':'pending','value':None" instead of "'kind':'pending','value':cell".
VERIFIED REPAIR
Apply the complete pending render value rule: 'kind':'pending','value':cell.
Unsuccessful approach: The attempted repair "'kind':'pending','value':''" 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':None,'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': None} | {'dim': True, 'kind': 'pending', 'value': 3} | Failed |
| 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 / e9227d4bb5d40795c0a9d7fbc68fae02b68722c02eaf57ad60006f74f64be963
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':'','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': ''} | {'dim': True, 'kind': 'pending', 'value': 3} | Failed |
| 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 / 350a33d8fb09e4e1200c3e4f1fc8f402f00a0b8d8a8550a9a42d78fb7e844ac4
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:07.929135+00:00.
Case digest / 6d9b55e08db87535dfc8fcba7a6c31e48d1c52dd5e9d4ff35f102c388474d15b