FA-39161 / Tree accessibility / Open access
Treegrid rectangular cell range: Disabled row or protected cell becomes selected · case 01
Disabled row or protected cell becomes selected produces the wrong hierarchical widget state in a regression fixture.
ROOT CAUSE
The treegrid-range contract is violated at `r not in d['disabled'] and r+':'+c not in d['protected']` by replacing it with `r+':'+c not in d['protected']`.
THE FAILURE
The treegrid-range contract is violated at `r not in d['disabled'] and r+':'+c not in d['protected']` by replacing it with `r+':'+c not in d['protected']`.
Unsuccessful approach: The partial repair `r not in d['disabled']` still violates a boundary or preservation case.
Case contract
A cell range spans visible rows within the anchor sibling group and visible columns; collapsed descendants and other sibling groups are excluded. Disabled rows and protected cells are skipped. Range serialization follows row-major visible order; additive range preserves prior cells.
Why this case matters
Offline executable model of a hierarchical accessibility interaction; inputs are bounded and valid as stipulated. No browser, assistive technology, or normative ARIA conformance is claimed.
1 / The failure
Exit 1"""Failure Map reference implementation. Python standard library only."""
import json
N = 1
observations = []
def solve(d):
rows=[x for x in d['rows'] if d['parents'][x]==d['parents'][d['anchor_row']]]
a=rows.index(d['anchor_row']); b=rows.index(d['target_row'])
rowspan=rows[min(a,b):max(a,b)+1]
cols=[x for x in d['columns'] if x not in d['hidden']]
c=cols.index(d['anchor_col']); e=cols.index(d['target_col'])
colspan=cols[min(c,e):max(c,e)+1]
cells=[r+':'+c for r in rowspan for c in colspan if r+':'+c not in d['protected']]
combined=set(cells)|(set(d['selected']) if d['additive'] else set())
ordered=[r+':'+c for r in d['rows'] for c in cols if r+':'+c in combined]
return [ordered,d['target_row']+':'+d['target_col'],[d['anchor_row'],d['anchor_col']]]
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
cases = {1: [('rectangle', {'rows': ['a', 'child', 'b', 'c', 'd', 'v0'], 'parents': {'a': 'r', 'child': 'a', 'b': 'r', 'c': 'r', 'd': 'r', 'v0': 'r'}, 'anchor_row': 'a', 'target_row': 'd', 'columns': ['name', 'h', 'x', 'y', 'tail'], 'hidden': ['h'], 'anchor_col': 'name', 'target_col': 'y', 'disabled': ['b'], 'protected': ['c:x'], 'selected': ['d:tail'], 'additive': False}, [['a:name', 'a:x', 'a:y', 'c:name', 'c:y', 'd:name', 'd:x', 'd:y'], 'd:y', ['a', 'name']]), ('reverse rows', {'rows': ['a', 'child', 'b', 'c', 'd', 'v0'], 'parents': {'a': 'r', 'child': 'a', 'b': 'r', 'c': 'r', 'd': 'r', 'v0': 'r'}, 'anchor_row': 'd', 'target_row': 'a', 'columns': ['name', 'h', 'x', 'y', 'tail'], 'hidden': ['h'], 'anchor_col': 'name', 'target_col': 'y', 'disabled': ['b'], 'protected': ['c:x'], 'selected': ['d:tail'], 'additive': False}, [['a:name', 'a:x', 'a:y', 'c:name', 'c:y', 'd:name', 'd:x', 'd:y'], 'a:y', ['d', 'name']]), ('reverse cols', {'rows': ['a', 'child', 'b', 'c', 'd', 'v0'], 'parents': {'a': 'r', 'child': 'a', 'b': 'r', 'c': 'r', 'd': 'r', 'v0': 'r'}, 'anchor_row': 'a', 'target_row': 'd', 'columns': ['name', 'h', 'x', 'y', 'tail'], 'hidden': ['h'], 'anchor_col': 'y', 'target_col': 'name', 'disabled': ['b'], 'protected': ['c:x'], 'selected': ['d:tail'], 'additive': False}, [['a:name', 'a:x', 'a:y', 'c:name', 'c:y', 'd:name', 'd:x', 'd:y'], 'd:name', ['a', 'y']]), ('additive', {'rows': ['a', 'child', 'b', 'c', 'd', 'v0'], 'parents': {'a': 'r', 'child': 'a', 'b': 'r', 'c': 'r', 'd': 'r', 'v0': 'r'}, 'anchor_row': 'a', 'target_row': 'd', 'columns': ['name', 'h', 'x', 'y', 'tail'], 'hidden': ['h'], 'anchor_col': 'name', 'target_col': 'y', 'disabled': ['b'], 'protected': ['c:x'], 'selected': ['d:tail'], 'additive': True}, [['a:name', 'a:x', 'a:y', 'c:name', 'c:y', 'd:name', 'd:x', 'd:y', 'd:tail'], 'd:y', ['a', 'name']]), ('single cell', {'rows': ['a', 'child', 'b', 'c', 'd', 'v0'], 'parents': {'a': 'r', 'child': 'a', 'b': 'r', 'c': 'r', 'd': 'r', 'v0': 'r'}, 'anchor_row': 'c', 'target_row': 'c', 'columns': ['name', 'h', 'x', 'y', 'tail'], 'hidden': ['h'], 'anchor_col': 'x', 'target_col': 'x', 'disabled': ['b'], 'protected': ['c:x'], 'selected': ['d:tail'], 'additive': False}, [[], 'c:x', ['c', 'x']]), ('narrow column', {'rows': ['a', 'child', 'b', 'c', 'd', 'v0'], 'parents': {'a': 'r', 'child': 'a', 'b': 'r', 'c': 'r', 'd': 'r', 'v0': 'r'}, 'anchor_row': 'a', 'target_row': 'd', 'columns': ['name', 'h', 'x', 'y', 'tail'], 'hidden': ['h'], 'anchor_col': 'x', 'target_col': 'x', 'disabled': ['b'], 'protected': ['c:x'], 'selected': ['d:tail'], 'additive': False}, [['a:x', 'd:x'], 'd:x', ['a', 'x']])], 2: [('rectangle', {'rows': ['a', 'child', 'b', 'c', 'd', 'v0', 'v1'], 'parents': {'a': 'r', 'child': 'a', 'b': 'r', 'c': 'r', 'd': 'r', 'v0': 'r', 'v1': 'r'}, 'anchor_row': 'a', 'target_row': 'd', 'columns': ['name', 'h', 'x', 'y', 'tail'], 'hidden': ['h'], 'anchor_col': 'name', 'target_col': 'y', 'disabled': ['b'], 'protected': ['c:x'], 'selected': ['d:tail'], 'additive': False}, [['a:name', 'a:x', 'a:y', 'c:name', 'c:y', 'd:name', 'd:x', 'd:y'], 'd:y', ['a', 'name']]), ('reverse rows', {'rows': ['a', 'child', 'b', 'c', 'd', 'v0', 'v1'], 'parents': {'a': 'r', 'child': 'a', 'b': 'r', 'c': 'r', 'd': 'r', 'v0': 'r', 'v1': 'r'}, 'anchor_row': 'd', 'target_row': 'a', 'columns': ['name', 'h', 'x', 'y', 'tail'], 'hidden': ['h'], 'anchor_col': 'name', 'target_col': 'y', 'disabled': ['b'], 'protected': ['c:x'], 'selected': ['d:tail'], 'additive': False}, [['a:name', 'a:x', 'a:y', 'c:name', 'c:y', 'd:name', 'd:x', 'd:y'], 'a:y', ['d', 'name']]), ('reverse cols', {'rows': ['a', 'child', 'b', 'c', 'd', 'v0', 'v1'], 'parents': {'a': 'r', 'child': 'a', 'b': 'r', 'c': 'r', 'd': 'r', 'v0': 'r', 'v1': 'r'}, 'anchor_row': 'a', 'target_row': 'd', 'columns': ['name', 'h', 'x', 'y', 'tail'], 'hidden': ['h'], 'anchor_col': 'y', 'target_col': 'name', 'disabled': ['b'], 'protected': ['c:x'], 'selected': ['d:tail'], 'additive': False}, [['a:name', 'a:x', 'a:y', 'c:name', 'c:y', 'd:name', 'd:x', 'd:y'], 'd:name', ['a', 'y']]), ('additive', {'rows': ['a', 'child', 'b', 'c', 'd', 'v0', 'v1'], 'parents': {'a': 'r', 'child': 'a', 'b': 'r', 'c': 'r', 'd': 'r', 'v0': 'r', 'v1': 'r'}, 'anchor_row': 'a', 'target_row': 'd', 'columns': ['name', 'h', 'x', 'y', 'tail'], 'hidden': ['h'], 'anchor_col': 'name', 'target_col': 'y', 'disabled': ['b'], 'protected': ['c:x'], 'selected': ['d:tail'], 'additive': True}, [['a:name', 'a:x', 'a:y', 'c:name', 'c:y', 'd:name', 'd:x', 'd:y', 'd:tail'], 'd:y', ['a', 'name']]), ('single cell', {'rows': ['a', 'child', 'b', 'c', 'd', 'v0', 'v1'], 'parents': {'a': 'r', 'child': 'a', 'b': 'r', 'c': 'r', 'd': 'r', 'v0': 'r', 'v1': 'r'}, 'anchor_row': 'c', 'target_row': 'c', 'columns': ['name', 'h', 'x', 'y', 'tail'], 'hidden': ['h'], 'anchor_col': 'x', 'target_col': 'x', 'disabled': ['b'], 'protected': ['c:x'], 'selected': ['d:tail'], 'additive': False}, [[], 'c:x', ['c', 'x']]), ('narrow column', {'rows': ['a', 'child', 'b', 'c', 'd', 'v0', 'v1'], 'parents': {'a': 'r', 'child': 'a', 'b': 'r', 'c': 'r', 'd': 'r', 'v0': 'r', 'v1': 'r'}, 'anchor_row': 'a', 'target_row': 'd', 'columns': ['name', 'h', 'x', 'y', 'tail'], 'hidden': ['h'], 'anchor_col': 'x', 'target_col': 'x', 'disabled': ['b'], 'protected': ['c:x'], 'selected': ['d:tail'], 'additive': False}, [['a:x', 'd:x'], 'd:x', ['a', 'x']])], 3: [('rectangle', {'rows': ['a', 'child', 'b', 'c', 'd', 'v0', 'v1', 'v2'], 'parents': {'a': 'r', 'child': 'a', 'b': 'r', 'c': 'r', 'd': 'r', 'v0': 'r', 'v1': 'r', 'v2': 'r'}, 'anchor_row': 'a', 'target_row': 'd', 'columns': ['name', 'h', 'x', 'y', 'tail'], 'hidden': ['h'], 'anchor_col': 'name', 'target_col': 'y', 'disabled': ['b'], 'protected': ['c:x'], 'selected': ['d:tail'], 'additive': False}, [['a:name', 'a:x', 'a:y', 'c:name', 'c:y', 'd:name', 'd:x', 'd:y'], 'd:y', ['a', 'name']]), ('reverse rows', {'rows': ['a', 'child', 'b', 'c', 'd', 'v0', 'v1', 'v2'], 'parents': {'a': 'r', 'child': 'a', 'b': 'r', 'c': 'r', 'd': 'r', 'v0': 'r', 'v1': 'r', 'v2': 'r'}, 'anchor_row': 'd', 'target_row': 'a', 'columns': ['name', 'h', 'x', 'y', 'tail'], 'hidden': ['h'], 'anchor_col': 'name', 'target_col': 'y', 'disabled': ['b'], 'protected': ['c:x'], 'selected': ['d:tail'], 'additive': False}, [['a:name', 'a:x', 'a:y', 'c:name', 'c:y', 'd:name', 'd:x', 'd:y'], 'a:y', ['d', 'name']]), ('reverse cols', {'rows': ['a', 'child', 'b', 'c', 'd', 'v0', 'v1', 'v2'], 'parents': {'a': 'r', 'child': 'a', 'b': 'r', 'c': 'r', 'd': 'r', 'v0': 'r', 'v1': 'r', 'v2': 'r'}, 'anchor_row': 'a', 'target_row': 'd', 'columns': ['name', 'h', 'x', 'y', 'tail'], 'hidden': ['h'], 'anchor_col': 'y', 'target_col': 'name', 'disabled': ['b'], 'protected': ['c:x'], 'selected': ['d:tail'], 'additive': False}, [['a:name', 'a:x', 'a:y', 'c:name', 'c:y', 'd:name', 'd:x', 'd:y'], 'd:name', ['a', 'y']]), ('additive', {'rows': ['a', 'child', 'b', 'c', 'd', 'v0', 'v1', 'v2'], 'parents': {'a': 'r', 'child': 'a', 'b': 'r', 'c': 'r', 'd': 'r', 'v0': 'r', 'v1': 'r', 'v2': 'r'}, 'anchor_row': 'a', 'target_row': 'd', 'columns': ['name', 'h', 'x', 'y', 'tail'], 'hidden': ['h'], 'anchor_col': 'name', 'target_col': 'y', 'disabled': ['b'], 'protected': ['c:x'], 'selected': ['d:tail'], 'additive': True}, [['a:name', 'a:x', 'a:y', 'c:name', 'c:y', 'd:name', 'd:x', 'd:y', 'd:tail'], 'd:y', ['a', 'name']]), ('single cell', {'rows': ['a', 'child', 'b', 'c', 'd', 'v0', 'v1', 'v2'], 'parents': {'a': 'r', 'child': 'a', 'b': 'r', 'c': 'r', 'd': 'r', 'v0': 'r', 'v1': 'r', 'v2': 'r'}, 'anchor_row': 'c', 'target_row': 'c', 'columns': ['name', 'h', 'x', 'y', 'tail'], 'hidden': ['h'], 'anchor_col': 'x', 'target_col': 'x', 'disabled': ['b'], 'protected': ['c:x'], 'selected': ['d:tail'], 'additive': False}, [[], 'c:x', ['c', 'x']]), ('narrow column', {'rows': ['a', 'child', 'b', 'c', 'd', 'v0', 'v1', 'v2'], 'parents': {'a': 'r', 'child': 'a', 'b': 'r', 'c': 'r', 'd': 'r', 'v0': 'r', 'v1': 'r', 'v2': 'r'}, 'anchor_row': 'a', 'target_row': 'd', 'columns': ['name', 'h', 'x', 'y', 'tail'], 'hidden': ['h'], 'anchor_col': 'x', 'target_col': 'x', 'disabled': ['b'], 'protected': ['c:x'], 'selected': ['d:tail'], 'additive': False}, [['a:x', 'd:x'], 'd:x', ['a', 'x']])], 4: [('rectangle', {'rows': ['a', 'child', 'b', 'c', 'd', 'v0', 'v1', 'v2', 'v3'], 'parents': {'a': 'r', 'child': 'a', 'b': 'r', 'c': 'r', 'd': 'r', 'v0': 'r', 'v1': 'r', 'v2': 'r', 'v3': 'r'}, 'anchor_row': 'a', 'target_row': 'd', 'columns': ['name', 'h', 'x', 'y', 'tail'], 'hidden': ['h'], 'anchor_col': 'name', 'target_col': 'y', 'disabled': ['b'], 'protected': ['c:x'], 'selected': ['d:tail'], 'additive': False}, [['a:name', 'a:x', 'a:y', 'c:name', 'c:y', 'd:name', 'd:x', 'd:y'], 'd:y', ['a', 'name']]), ('reverse rows', {'rows': ['a', 'child', 'b', 'c', 'd', 'v0', 'v1', 'v2', 'v3'], 'parents': {'a': 'r', 'child': 'a', 'b': 'r', 'c': 'r', 'd': 'r', 'v0': 'r', 'v1': 'r', 'v2': 'r', 'v3': 'r'}, 'anchor_row': 'd', 'target_row': 'a', 'columns': ['name', 'h', 'x', 'y', 'tail'], 'hidden': ['h'], 'anchor_col': 'name', 'target_col': 'y', 'disabled': ['b'], 'protected': ['c:x'], 'selected': ['d:tail'], 'additive': False}, [['a:name', 'a:x', 'a:y', 'c:name', 'c:y', 'd:name', 'd:x', 'd:y'], 'a:y', ['d', 'name']]), ('reverse cols', {'rows': ['a', 'child', 'b', 'c', 'd', 'v0', 'v1', 'v2', 'v3'], 'parents': {'a': 'r', 'child': 'a', 'b': 'r', 'c': 'r', 'd': 'r', 'v0': 'r', 'v1': 'r', 'v2': 'r', 'v3': 'r'}, 'anchor_row': 'a', 'target_row': 'd', 'columns': ['name', 'h', 'x', 'y', 'tail'], 'hidden': ['h'], 'anchor_col': 'y', 'target_col': 'name', 'disabled': ['b'], 'protected': ['c:x'], 'selected': ['d:tail'], 'additive': False}, [['a:name', 'a:x', 'a:y', 'c:name', 'c:y', 'd:name', 'd:x', 'd:y'], 'd:name', ['a', 'y']]), ('additive', {'rows': ['a', 'child', 'b', 'c', 'd', 'v0', 'v1', 'v2', 'v3'], 'parents': {'a': 'r', 'child': 'a', 'b': 'r', 'c': 'r', 'd': 'r', 'v0': 'r', 'v1': 'r', 'v2': 'r', 'v3': 'r'}, 'anchor_row': 'a', 'target_row': 'd', 'columns': ['name', 'h', 'x', 'y', 'tail'], 'hidden': ['h'], 'anchor_col': 'name', 'target_col': 'y', 'disabled': ['b'], 'protected': ['c:x'], 'selected': ['d:tail'], 'additive': True}, [['a:name', 'a:x', 'a:y', 'c:name', 'c:y', 'd:name', 'd:x', 'd:y', 'd:tail'], 'd:y', ['a', 'name']]), ('single cell', {'rows': ['a', 'child', 'b', 'c', 'd', 'v0', 'v1', 'v2', 'v3'], 'parents': {'a': 'r', 'child': 'a', 'b': 'r', 'c': 'r', 'd': 'r', 'v0': 'r', 'v1': 'r', 'v2': 'r', 'v3': 'r'}, 'anchor_row': 'c', 'target_row': 'c', 'columns': ['name', 'h', 'x', 'y', 'tail'], 'hidden': ['h'], 'anchor_col': 'x', 'target_col': 'x', 'disabled': ['b'], 'protected': ['c:x'], 'selected': ['d:tail'], 'additive': False}, [[], 'c:x', ['c', 'x']]), ('narrow column', {'rows': ['a', 'child', 'b', 'c', 'd', 'v0', 'v1', 'v2', 'v3'], 'parents': {'a': 'r', 'child': 'a', 'b': 'r', 'c': 'r', 'd': 'r', 'v0': 'r', 'v1': 'r', 'v2': 'r', 'v3': 'r'}, 'anchor_row': 'a', 'target_row': 'd', 'columns': ['name', 'h', 'x', 'y', 'tail'], 'hidden': ['h'], 'anchor_col': 'x', 'target_col': 'x', 'disabled': ['b'], 'protected': ['c:x'], 'selected': ['d:tail'], 'additive': False}, [['a:x', 'd:x'], 'd:x', ['a', 'x']])], 5: [('rectangle', {'rows': ['a', 'child', 'b', 'c', 'd', 'v0', 'v1', 'v2', 'v3', 'v4'], 'parents': {'a': 'r', 'child': 'a', 'b': 'r', 'c': 'r', 'd': 'r', 'v0': 'r', 'v1': 'r', 'v2': 'r', 'v3': 'r', 'v4': 'r'}, 'anchor_row': 'a', 'target_row': 'd', 'columns': ['name', 'h', 'x', 'y', 'tail'], 'hidden': ['h'], 'anchor_col': 'name', 'target_col': 'y', 'disabled': ['b'], 'protected': ['c:x'], 'selected': ['d:tail'], 'additive': False}, [['a:name', 'a:x', 'a:y', 'c:name', 'c:y', 'd:name', 'd:x', 'd:y'], 'd:y', ['a', 'name']]), ('reverse rows', {'rows': ['a', 'child', 'b', 'c', 'd', 'v0', 'v1', 'v2', 'v3', 'v4'], 'parents': {'a': 'r', 'child': 'a', 'b': 'r', 'c': 'r', 'd': 'r', 'v0': 'r', 'v1': 'r', 'v2': 'r', 'v3': 'r', 'v4': 'r'}, 'anchor_row': 'd', 'target_row': 'a', 'columns': ['name', 'h', 'x', 'y', 'tail'], 'hidden': ['h'], 'anchor_col': 'name', 'target_col': 'y', 'disabled': ['b'], 'protected': ['c:x'], 'selected': ['d:tail'], 'additive': False}, [['a:name', 'a:x', 'a:y', 'c:name', 'c:y', 'd:name', 'd:x', 'd:y'], 'a:y', ['d', 'name']]), ('reverse cols', {'rows': ['a', 'child', 'b', 'c', 'd', 'v0', 'v1', 'v2', 'v3', 'v4'], 'parents': {'a': 'r', 'child': 'a', 'b': 'r', 'c': 'r', 'd': 'r', 'v0': 'r', 'v1': 'r', 'v2': 'r', 'v3': 'r', 'v4': 'r'}, 'anchor_row': 'a', 'target_row': 'd', 'columns': ['name', 'h', 'x', 'y', 'tail'], 'hidden': ['h'], 'anchor_col': 'y', 'target_col': 'name', 'disabled': ['b'], 'protected': ['c:x'], 'selected': ['d:tail'], 'additive': False}, [['a:name', 'a:x', 'a:y', 'c:name', 'c:y', 'd:name', 'd:x', 'd:y'], 'd:name', ['a', 'y']]), ('additive', {'rows': ['a', 'child', 'b', 'c', 'd', 'v0', 'v1', 'v2', 'v3', 'v4'], 'parents': {'a': 'r', 'child': 'a', 'b': 'r', 'c': 'r', 'd': 'r', 'v0': 'r', 'v1': 'r', 'v2': 'r', 'v3': 'r', 'v4': 'r'}, 'anchor_row': 'a', 'target_row': 'd', 'columns': ['name', 'h', 'x', 'y', 'tail'], 'hidden': ['h'], 'anchor_col': 'name', 'target_col': 'y', 'disabled': ['b'], 'protected': ['c:x'], 'selected': ['d:tail'], 'additive': True}, [['a:name', 'a:x', 'a:y', 'c:name', 'c:y', 'd:name', 'd:x', 'd:y', 'd:tail'], 'd:y', ['a', 'name']]), ('single cell', {'rows': ['a', 'child', 'b', 'c', 'd', 'v0', 'v1', 'v2', 'v3', 'v4'], 'parents': {'a': 'r', 'child': 'a', 'b': 'r', 'c': 'r', 'd': 'r', 'v0': 'r', 'v1': 'r', 'v2': 'r', 'v3': 'r', 'v4': 'r'}, 'anchor_row': 'c', 'target_row': 'c', 'columns': ['name', 'h', 'x', 'y', 'tail'], 'hidden': ['h'], 'anchor_col': 'x', 'target_col': 'x', 'disabled': ['b'], 'protected': ['c:x'], 'selected': ['d:tail'], 'additive': False}, [[], 'c:x', ['c', 'x']]), ('narrow column', {'rows': ['a', 'child', 'b', 'c', 'd', 'v0', 'v1', 'v2', 'v3', 'v4'], 'parents': {'a': 'r', 'child': 'a', 'b': 'r', 'c': 'r', 'd': 'r', 'v0': 'r', 'v1': 'r', 'v2': 'r', 'v3': 'r', 'v4': 'r'}, 'anchor_row': 'a', 'target_row': 'd', 'columns': ['name', 'h', 'x', 'y', 'tail'], 'hidden': ['h'], 'anchor_col': 'x', 'target_col': 'x', 'disabled': ['b'], 'protected': ['c:x'], 'selected': ['d:tail'], 'additive': False}, [['a:x', 'd:x'], 'd:x', ['a', 'x']])]}
for label, data, expected in cases[N]:
check(label, solve(data), expected)
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 |
|---|---|---|---|
| rectangle | [['a:name', 'a:x', 'a:y', 'b:name', 'b:x', 'b:y', 'c:name', 'c:y', 'd:name', 'd:x', 'd:y'], 'd:y', ['a', 'name']] | [['a:name', 'a:x', 'a:y', 'c:name', 'c:y', 'd:name', 'd:x', 'd:y'], 'd:y', ['a', 'name']] | Failed |
| reverse rows | [['a:name', 'a:x', 'a:y', 'b:name', 'b:x', 'b:y', 'c:name', 'c:y', 'd:name', 'd:x', 'd:y'], 'a:y', ['d', 'name']] | [['a:name', 'a:x', 'a:y', 'c:name', 'c:y', 'd:name', 'd:x', 'd:y'], 'a:y', ['d', 'name']] | Failed |
| reverse cols | [['a:name', 'a:x', 'a:y', 'b:name', 'b:x', 'b:y', 'c:name', 'c:y', 'd:name', 'd:x', 'd:y'], 'd:name', ['a', 'y']] | [['a:name', 'a:x', 'a:y', 'c:name', 'c:y', 'd:name', 'd:x', 'd:y'], 'd:name', ['a', 'y']] | Failed |
| additive | [['a:name', 'a:x', 'a:y', 'b:name', 'b:x', 'b:y', 'c:name', 'c:y', 'd:name', 'd:x', 'd:y', 'd:tail'], 'd:y', ['a', 'name']] | [['a:name', 'a:x', 'a:y', 'c:name', 'c:y', 'd:name', 'd:x', 'd:y', 'd:tail'], 'd:y', ['a', 'name']] | Failed |
| single cell | [[], 'c:x', ['c', 'x']] | [[], 'c:x', ['c', 'x']] | Passed |
| narrow column | [['a:x', 'b:x', 'd:x'], 'd:x', ['a', 'x']] | [['a:x', 'd:x'], 'd:x', ['a', 'x']] | Failed |
SHA-256 / 0e90ad41988db04a4aaf360ef45630d634f65f81ce275e46c0a55018a8ff8bd8
2 / The unsuccessful fix
Exit 1"""Failure Map reference implementation. Python standard library only."""
import json
N = 1
observations = []
def solve(d):
rows=[x for x in d['rows'] if d['parents'][x]==d['parents'][d['anchor_row']]]
a=rows.index(d['anchor_row']); b=rows.index(d['target_row'])
rowspan=rows[min(a,b):max(a,b)+1]
cols=[x for x in d['columns'] if x not in d['hidden']]
c=cols.index(d['anchor_col']); e=cols.index(d['target_col'])
colspan=cols[min(c,e):max(c,e)+1]
cells=[r+':'+c for r in rowspan for c in colspan if r not in d['disabled']]
combined=set(cells)|(set(d['selected']) if d['additive'] else set())
ordered=[r+':'+c for r in d['rows'] for c in cols if r+':'+c in combined]
return [ordered,d['target_row']+':'+d['target_col'],[d['anchor_row'],d['anchor_col']]]
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
cases = {1: [('rectangle', {'rows': ['a', 'child', 'b', 'c', 'd', 'v0'], 'parents': {'a': 'r', 'child': 'a', 'b': 'r', 'c': 'r', 'd': 'r', 'v0': 'r'}, 'anchor_row': 'a', 'target_row': 'd', 'columns': ['name', 'h', 'x', 'y', 'tail'], 'hidden': ['h'], 'anchor_col': 'name', 'target_col': 'y', 'disabled': ['b'], 'protected': ['c:x'], 'selected': ['d:tail'], 'additive': False}, [['a:name', 'a:x', 'a:y', 'c:name', 'c:y', 'd:name', 'd:x', 'd:y'], 'd:y', ['a', 'name']]), ('reverse rows', {'rows': ['a', 'child', 'b', 'c', 'd', 'v0'], 'parents': {'a': 'r', 'child': 'a', 'b': 'r', 'c': 'r', 'd': 'r', 'v0': 'r'}, 'anchor_row': 'd', 'target_row': 'a', 'columns': ['name', 'h', 'x', 'y', 'tail'], 'hidden': ['h'], 'anchor_col': 'name', 'target_col': 'y', 'disabled': ['b'], 'protected': ['c:x'], 'selected': ['d:tail'], 'additive': False}, [['a:name', 'a:x', 'a:y', 'c:name', 'c:y', 'd:name', 'd:x', 'd:y'], 'a:y', ['d', 'name']]), ('reverse cols', {'rows': ['a', 'child', 'b', 'c', 'd', 'v0'], 'parents': {'a': 'r', 'child': 'a', 'b': 'r', 'c': 'r', 'd': 'r', 'v0': 'r'}, 'anchor_row': 'a', 'target_row': 'd', 'columns': ['name', 'h', 'x', 'y', 'tail'], 'hidden': ['h'], 'anchor_col': 'y', 'target_col': 'name', 'disabled': ['b'], 'protected': ['c:x'], 'selected': ['d:tail'], 'additive': False}, [['a:name', 'a:x', 'a:y', 'c:name', 'c:y', 'd:name', 'd:x', 'd:y'], 'd:name', ['a', 'y']]), ('additive', {'rows': ['a', 'child', 'b', 'c', 'd', 'v0'], 'parents': {'a': 'r', 'child': 'a', 'b': 'r', 'c': 'r', 'd': 'r', 'v0': 'r'}, 'anchor_row': 'a', 'target_row': 'd', 'columns': ['name', 'h', 'x', 'y', 'tail'], 'hidden': ['h'], 'anchor_col': 'name', 'target_col': 'y', 'disabled': ['b'], 'protected': ['c:x'], 'selected': ['d:tail'], 'additive': True}, [['a:name', 'a:x', 'a:y', 'c:name', 'c:y', 'd:name', 'd:x', 'd:y', 'd:tail'], 'd:y', ['a', 'name']]), ('single cell', {'rows': ['a', 'child', 'b', 'c', 'd', 'v0'], 'parents': {'a': 'r', 'child': 'a', 'b': 'r', 'c': 'r', 'd': 'r', 'v0': 'r'}, 'anchor_row': 'c', 'target_row': 'c', 'columns': ['name', 'h', 'x', 'y', 'tail'], 'hidden': ['h'], 'anchor_col': 'x', 'target_col': 'x', 'disabled': ['b'], 'protected': ['c:x'], 'selected': ['d:tail'], 'additive': False}, [[], 'c:x', ['c', 'x']]), ('narrow column', {'rows': ['a', 'child', 'b', 'c', 'd', 'v0'], 'parents': {'a': 'r', 'child': 'a', 'b': 'r', 'c': 'r', 'd': 'r', 'v0': 'r'}, 'anchor_row': 'a', 'target_row': 'd', 'columns': ['name', 'h', 'x', 'y', 'tail'], 'hidden': ['h'], 'anchor_col': 'x', 'target_col': 'x', 'disabled': ['b'], 'protected': ['c:x'], 'selected': ['d:tail'], 'additive': False}, [['a:x', 'd:x'], 'd:x', ['a', 'x']])], 2: [('rectangle', {'rows': ['a', 'child', 'b', 'c', 'd', 'v0', 'v1'], 'parents': {'a': 'r', 'child': 'a', 'b': 'r', 'c': 'r', 'd': 'r', 'v0': 'r', 'v1': 'r'}, 'anchor_row': 'a', 'target_row': 'd', 'columns': ['name', 'h', 'x', 'y', 'tail'], 'hidden': ['h'], 'anchor_col': 'name', 'target_col': 'y', 'disabled': ['b'], 'protected': ['c:x'], 'selected': ['d:tail'], 'additive': False}, [['a:name', 'a:x', 'a:y', 'c:name', 'c:y', 'd:name', 'd:x', 'd:y'], 'd:y', ['a', 'name']]), ('reverse rows', {'rows': ['a', 'child', 'b', 'c', 'd', 'v0', 'v1'], 'parents': {'a': 'r', 'child': 'a', 'b': 'r', 'c': 'r', 'd': 'r', 'v0': 'r', 'v1': 'r'}, 'anchor_row': 'd', 'target_row': 'a', 'columns': ['name', 'h', 'x', 'y', 'tail'], 'hidden': ['h'], 'anchor_col': 'name', 'target_col': 'y', 'disabled': ['b'], 'protected': ['c:x'], 'selected': ['d:tail'], 'additive': False}, [['a:name', 'a:x', 'a:y', 'c:name', 'c:y', 'd:name', 'd:x', 'd:y'], 'a:y', ['d', 'name']]), ('reverse cols', {'rows': ['a', 'child', 'b', 'c', 'd', 'v0', 'v1'], 'parents': {'a': 'r', 'child': 'a', 'b': 'r', 'c': 'r', 'd': 'r', 'v0': 'r', 'v1': 'r'}, 'anchor_row': 'a', 'target_row': 'd', 'columns': ['name', 'h', 'x', 'y', 'tail'], 'hidden': ['h'], 'anchor_col': 'y', 'target_col': 'name', 'disabled': ['b'], 'protected': ['c:x'], 'selected': ['d:tail'], 'additive': False}, [['a:name', 'a:x', 'a:y', 'c:name', 'c:y', 'd:name', 'd:x', 'd:y'], 'd:name', ['a', 'y']]), ('additive', {'rows': ['a', 'child', 'b', 'c', 'd', 'v0', 'v1'], 'parents': {'a': 'r', 'child': 'a', 'b': 'r', 'c': 'r', 'd': 'r', 'v0': 'r', 'v1': 'r'}, 'anchor_row': 'a', 'target_row': 'd', 'columns': ['name', 'h', 'x', 'y', 'tail'], 'hidden': ['h'], 'anchor_col': 'name', 'target_col': 'y', 'disabled': ['b'], 'protected': ['c:x'], 'selected': ['d:tail'], 'additive': True}, [['a:name', 'a:x', 'a:y', 'c:name', 'c:y', 'd:name', 'd:x', 'd:y', 'd:tail'], 'd:y', ['a', 'name']]), ('single cell', {'rows': ['a', 'child', 'b', 'c', 'd', 'v0', 'v1'], 'parents': {'a': 'r', 'child': 'a', 'b': 'r', 'c': 'r', 'd': 'r', 'v0': 'r', 'v1': 'r'}, 'anchor_row': 'c', 'target_row': 'c', 'columns': ['name', 'h', 'x', 'y', 'tail'], 'hidden': ['h'], 'anchor_col': 'x', 'target_col': 'x', 'disabled': ['b'], 'protected': ['c:x'], 'selected': ['d:tail'], 'additive': False}, [[], 'c:x', ['c', 'x']]), ('narrow column', {'rows': ['a', 'child', 'b', 'c', 'd', 'v0', 'v1'], 'parents': {'a': 'r', 'child': 'a', 'b': 'r', 'c': 'r', 'd': 'r', 'v0': 'r', 'v1': 'r'}, 'anchor_row': 'a', 'target_row': 'd', 'columns': ['name', 'h', 'x', 'y', 'tail'], 'hidden': ['h'], 'anchor_col': 'x', 'target_col': 'x', 'disabled': ['b'], 'protected': ['c:x'], 'selected': ['d:tail'], 'additive': False}, [['a:x', 'd:x'], 'd:x', ['a', 'x']])], 3: [('rectangle', {'rows': ['a', 'child', 'b', 'c', 'd', 'v0', 'v1', 'v2'], 'parents': {'a': 'r', 'child': 'a', 'b': 'r', 'c': 'r', 'd': 'r', 'v0': 'r', 'v1': 'r', 'v2': 'r'}, 'anchor_row': 'a', 'target_row': 'd', 'columns': ['name', 'h', 'x', 'y', 'tail'], 'hidden': ['h'], 'anchor_col': 'name', 'target_col': 'y', 'disabled': ['b'], 'protected': ['c:x'], 'selected': ['d:tail'], 'additive': False}, [['a:name', 'a:x', 'a:y', 'c:name', 'c:y', 'd:name', 'd:x', 'd:y'], 'd:y', ['a', 'name']]), ('reverse rows', {'rows': ['a', 'child', 'b', 'c', 'd', 'v0', 'v1', 'v2'], 'parents': {'a': 'r', 'child': 'a', 'b': 'r', 'c': 'r', 'd': 'r', 'v0': 'r', 'v1': 'r', 'v2': 'r'}, 'anchor_row': 'd', 'target_row': 'a', 'columns': ['name', 'h', 'x', 'y', 'tail'], 'hidden': ['h'], 'anchor_col': 'name', 'target_col': 'y', 'disabled': ['b'], 'protected': ['c:x'], 'selected': ['d:tail'], 'additive': False}, [['a:name', 'a:x', 'a:y', 'c:name', 'c:y', 'd:name', 'd:x', 'd:y'], 'a:y', ['d', 'name']]), ('reverse cols', {'rows': ['a', 'child', 'b', 'c', 'd', 'v0', 'v1', 'v2'], 'parents': {'a': 'r', 'child': 'a', 'b': 'r', 'c': 'r', 'd': 'r', 'v0': 'r', 'v1': 'r', 'v2': 'r'}, 'anchor_row': 'a', 'target_row': 'd', 'columns': ['name', 'h', 'x', 'y', 'tail'], 'hidden': ['h'], 'anchor_col': 'y', 'target_col': 'name', 'disabled': ['b'], 'protected': ['c:x'], 'selected': ['d:tail'], 'additive': False}, [['a:name', 'a:x', 'a:y', 'c:name', 'c:y', 'd:name', 'd:x', 'd:y'], 'd:name', ['a', 'y']]), ('additive', {'rows': ['a', 'child', 'b', 'c', 'd', 'v0', 'v1', 'v2'], 'parents': {'a': 'r', 'child': 'a', 'b': 'r', 'c': 'r', 'd': 'r', 'v0': 'r', 'v1': 'r', 'v2': 'r'}, 'anchor_row': 'a', 'target_row': 'd', 'columns': ['name', 'h', 'x', 'y', 'tail'], 'hidden': ['h'], 'anchor_col': 'name', 'target_col': 'y', 'disabled': ['b'], 'protected': ['c:x'], 'selected': ['d:tail'], 'additive': True}, [['a:name', 'a:x', 'a:y', 'c:name', 'c:y', 'd:name', 'd:x', 'd:y', 'd:tail'], 'd:y', ['a', 'name']]), ('single cell', {'rows': ['a', 'child', 'b', 'c', 'd', 'v0', 'v1', 'v2'], 'parents': {'a': 'r', 'child': 'a', 'b': 'r', 'c': 'r', 'd': 'r', 'v0': 'r', 'v1': 'r', 'v2': 'r'}, 'anchor_row': 'c', 'target_row': 'c', 'columns': ['name', 'h', 'x', 'y', 'tail'], 'hidden': ['h'], 'anchor_col': 'x', 'target_col': 'x', 'disabled': ['b'], 'protected': ['c:x'], 'selected': ['d:tail'], 'additive': False}, [[], 'c:x', ['c', 'x']]), ('narrow column', {'rows': ['a', 'child', 'b', 'c', 'd', 'v0', 'v1', 'v2'], 'parents': {'a': 'r', 'child': 'a', 'b': 'r', 'c': 'r', 'd': 'r', 'v0': 'r', 'v1': 'r', 'v2': 'r'}, 'anchor_row': 'a', 'target_row': 'd', 'columns': ['name', 'h', 'x', 'y', 'tail'], 'hidden': ['h'], 'anchor_col': 'x', 'target_col': 'x', 'disabled': ['b'], 'protected': ['c:x'], 'selected': ['d:tail'], 'additive': False}, [['a:x', 'd:x'], 'd:x', ['a', 'x']])], 4: [('rectangle', {'rows': ['a', 'child', 'b', 'c', 'd', 'v0', 'v1', 'v2', 'v3'], 'parents': {'a': 'r', 'child': 'a', 'b': 'r', 'c': 'r', 'd': 'r', 'v0': 'r', 'v1': 'r', 'v2': 'r', 'v3': 'r'}, 'anchor_row': 'a', 'target_row': 'd', 'columns': ['name', 'h', 'x', 'y', 'tail'], 'hidden': ['h'], 'anchor_col': 'name', 'target_col': 'y', 'disabled': ['b'], 'protected': ['c:x'], 'selected': ['d:tail'], 'additive': False}, [['a:name', 'a:x', 'a:y', 'c:name', 'c:y', 'd:name', 'd:x', 'd:y'], 'd:y', ['a', 'name']]), ('reverse rows', {'rows': ['a', 'child', 'b', 'c', 'd', 'v0', 'v1', 'v2', 'v3'], 'parents': {'a': 'r', 'child': 'a', 'b': 'r', 'c': 'r', 'd': 'r', 'v0': 'r', 'v1': 'r', 'v2': 'r', 'v3': 'r'}, 'anchor_row': 'd', 'target_row': 'a', 'columns': ['name', 'h', 'x', 'y', 'tail'], 'hidden': ['h'], 'anchor_col': 'name', 'target_col': 'y', 'disabled': ['b'], 'protected': ['c:x'], 'selected': ['d:tail'], 'additive': False}, [['a:name', 'a:x', 'a:y', 'c:name', 'c:y', 'd:name', 'd:x', 'd:y'], 'a:y', ['d', 'name']]), ('reverse cols', {'rows': ['a', 'child', 'b', 'c', 'd', 'v0', 'v1', 'v2', 'v3'], 'parents': {'a': 'r', 'child': 'a', 'b': 'r', 'c': 'r', 'd': 'r', 'v0': 'r', 'v1': 'r', 'v2': 'r', 'v3': 'r'}, 'anchor_row': 'a', 'target_row': 'd', 'columns': ['name', 'h', 'x', 'y', 'tail'], 'hidden': ['h'], 'anchor_col': 'y', 'target_col': 'name', 'disabled': ['b'], 'protected': ['c:x'], 'selected': ['d:tail'], 'additive': False}, [['a:name', 'a:x', 'a:y', 'c:name', 'c:y', 'd:name', 'd:x', 'd:y'], 'd:name', ['a', 'y']]), ('additive', {'rows': ['a', 'child', 'b', 'c', 'd', 'v0', 'v1', 'v2', 'v3'], 'parents': {'a': 'r', 'child': 'a', 'b': 'r', 'c': 'r', 'd': 'r', 'v0': 'r', 'v1': 'r', 'v2': 'r', 'v3': 'r'}, 'anchor_row': 'a', 'target_row': 'd', 'columns': ['name', 'h', 'x', 'y', 'tail'], 'hidden': ['h'], 'anchor_col': 'name', 'target_col': 'y', 'disabled': ['b'], 'protected': ['c:x'], 'selected': ['d:tail'], 'additive': True}, [['a:name', 'a:x', 'a:y', 'c:name', 'c:y', 'd:name', 'd:x', 'd:y', 'd:tail'], 'd:y', ['a', 'name']]), ('single cell', {'rows': ['a', 'child', 'b', 'c', 'd', 'v0', 'v1', 'v2', 'v3'], 'parents': {'a': 'r', 'child': 'a', 'b': 'r', 'c': 'r', 'd': 'r', 'v0': 'r', 'v1': 'r', 'v2': 'r', 'v3': 'r'}, 'anchor_row': 'c', 'target_row': 'c', 'columns': ['name', 'h', 'x', 'y', 'tail'], 'hidden': ['h'], 'anchor_col': 'x', 'target_col': 'x', 'disabled': ['b'], 'protected': ['c:x'], 'selected': ['d:tail'], 'additive': False}, [[], 'c:x', ['c', 'x']]), ('narrow column', {'rows': ['a', 'child', 'b', 'c', 'd', 'v0', 'v1', 'v2', 'v3'], 'parents': {'a': 'r', 'child': 'a', 'b': 'r', 'c': 'r', 'd': 'r', 'v0': 'r', 'v1': 'r', 'v2': 'r', 'v3': 'r'}, 'anchor_row': 'a', 'target_row': 'd', 'columns': ['name', 'h', 'x', 'y', 'tail'], 'hidden': ['h'], 'anchor_col': 'x', 'target_col': 'x', 'disabled': ['b'], 'protected': ['c:x'], 'selected': ['d:tail'], 'additive': False}, [['a:x', 'd:x'], 'd:x', ['a', 'x']])], 5: [('rectangle', {'rows': ['a', 'child', 'b', 'c', 'd', 'v0', 'v1', 'v2', 'v3', 'v4'], 'parents': {'a': 'r', 'child': 'a', 'b': 'r', 'c': 'r', 'd': 'r', 'v0': 'r', 'v1': 'r', 'v2': 'r', 'v3': 'r', 'v4': 'r'}, 'anchor_row': 'a', 'target_row': 'd', 'columns': ['name', 'h', 'x', 'y', 'tail'], 'hidden': ['h'], 'anchor_col': 'name', 'target_col': 'y', 'disabled': ['b'], 'protected': ['c:x'], 'selected': ['d:tail'], 'additive': False}, [['a:name', 'a:x', 'a:y', 'c:name', 'c:y', 'd:name', 'd:x', 'd:y'], 'd:y', ['a', 'name']]), ('reverse rows', {'rows': ['a', 'child', 'b', 'c', 'd', 'v0', 'v1', 'v2', 'v3', 'v4'], 'parents': {'a': 'r', 'child': 'a', 'b': 'r', 'c': 'r', 'd': 'r', 'v0': 'r', 'v1': 'r', 'v2': 'r', 'v3': 'r', 'v4': 'r'}, 'anchor_row': 'd', 'target_row': 'a', 'columns': ['name', 'h', 'x', 'y', 'tail'], 'hidden': ['h'], 'anchor_col': 'name', 'target_col': 'y', 'disabled': ['b'], 'protected': ['c:x'], 'selected': ['d:tail'], 'additive': False}, [['a:name', 'a:x', 'a:y', 'c:name', 'c:y', 'd:name', 'd:x', 'd:y'], 'a:y', ['d', 'name']]), ('reverse cols', {'rows': ['a', 'child', 'b', 'c', 'd', 'v0', 'v1', 'v2', 'v3', 'v4'], 'parents': {'a': 'r', 'child': 'a', 'b': 'r', 'c': 'r', 'd': 'r', 'v0': 'r', 'v1': 'r', 'v2': 'r', 'v3': 'r', 'v4': 'r'}, 'anchor_row': 'a', 'target_row': 'd', 'columns': ['name', 'h', 'x', 'y', 'tail'], 'hidden': ['h'], 'anchor_col': 'y', 'target_col': 'name', 'disabled': ['b'], 'protected': ['c:x'], 'selected': ['d:tail'], 'additive': False}, [['a:name', 'a:x', 'a:y', 'c:name', 'c:y', 'd:name', 'd:x', 'd:y'], 'd:name', ['a', 'y']]), ('additive', {'rows': ['a', 'child', 'b', 'c', 'd', 'v0', 'v1', 'v2', 'v3', 'v4'], 'parents': {'a': 'r', 'child': 'a', 'b': 'r', 'c': 'r', 'd': 'r', 'v0': 'r', 'v1': 'r', 'v2': 'r', 'v3': 'r', 'v4': 'r'}, 'anchor_row': 'a', 'target_row': 'd', 'columns': ['name', 'h', 'x', 'y', 'tail'], 'hidden': ['h'], 'anchor_col': 'name', 'target_col': 'y', 'disabled': ['b'], 'protected': ['c:x'], 'selected': ['d:tail'], 'additive': True}, [['a:name', 'a:x', 'a:y', 'c:name', 'c:y', 'd:name', 'd:x', 'd:y', 'd:tail'], 'd:y', ['a', 'name']]), ('single cell', {'rows': ['a', 'child', 'b', 'c', 'd', 'v0', 'v1', 'v2', 'v3', 'v4'], 'parents': {'a': 'r', 'child': 'a', 'b': 'r', 'c': 'r', 'd': 'r', 'v0': 'r', 'v1': 'r', 'v2': 'r', 'v3': 'r', 'v4': 'r'}, 'anchor_row': 'c', 'target_row': 'c', 'columns': ['name', 'h', 'x', 'y', 'tail'], 'hidden': ['h'], 'anchor_col': 'x', 'target_col': 'x', 'disabled': ['b'], 'protected': ['c:x'], 'selected': ['d:tail'], 'additive': False}, [[], 'c:x', ['c', 'x']]), ('narrow column', {'rows': ['a', 'child', 'b', 'c', 'd', 'v0', 'v1', 'v2', 'v3', 'v4'], 'parents': {'a': 'r', 'child': 'a', 'b': 'r', 'c': 'r', 'd': 'r', 'v0': 'r', 'v1': 'r', 'v2': 'r', 'v3': 'r', 'v4': 'r'}, 'anchor_row': 'a', 'target_row': 'd', 'columns': ['name', 'h', 'x', 'y', 'tail'], 'hidden': ['h'], 'anchor_col': 'x', 'target_col': 'x', 'disabled': ['b'], 'protected': ['c:x'], 'selected': ['d:tail'], 'additive': False}, [['a:x', 'd:x'], 'd:x', ['a', 'x']])]}
for label, data, expected in cases[N]:
check(label, solve(data), expected)
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 |
|---|---|---|---|
| rectangle | [['a:name', 'a:x', 'a:y', 'c:name', 'c:x', 'c:y', 'd:name', 'd:x', 'd:y'], 'd:y', ['a', 'name']] | [['a:name', 'a:x', 'a:y', 'c:name', 'c:y', 'd:name', 'd:x', 'd:y'], 'd:y', ['a', 'name']] | Failed |
| reverse rows | [['a:name', 'a:x', 'a:y', 'c:name', 'c:x', 'c:y', 'd:name', 'd:x', 'd:y'], 'a:y', ['d', 'name']] | [['a:name', 'a:x', 'a:y', 'c:name', 'c:y', 'd:name', 'd:x', 'd:y'], 'a:y', ['d', 'name']] | Failed |
| reverse cols | [['a:name', 'a:x', 'a:y', 'c:name', 'c:x', 'c:y', 'd:name', 'd:x', 'd:y'], 'd:name', ['a', 'y']] | [['a:name', 'a:x', 'a:y', 'c:name', 'c:y', 'd:name', 'd:x', 'd:y'], 'd:name', ['a', 'y']] | Failed |
| additive | [['a:name', 'a:x', 'a:y', 'c:name', 'c:x', 'c:y', 'd:name', 'd:x', 'd:y', 'd:tail'], 'd:y', ['a', 'name']] | [['a:name', 'a:x', 'a:y', 'c:name', 'c:y', 'd:name', 'd:x', 'd:y', 'd:tail'], 'd:y', ['a', 'name']] | Failed |
| single cell | [['c:x'], 'c:x', ['c', 'x']] | [[], 'c:x', ['c', 'x']] | Failed |
| narrow column | [['a:x', 'c:x', 'd:x'], 'd:x', ['a', 'x']] | [['a:x', 'd:x'], 'd:x', ['a', 'x']] | Failed |
SHA-256 / 95f4a4831dfb700abeee1a437900026c6b8c8c5b2ec5baae8e0e54cab40afa57
HELD IN THE MEMBER ARCHIVE
The verified repair and its recorded checks are member-only.
This mechanism has 6 recorded checks per implementation. The open-access tier publishes the failure and the unsuccessful fix; the repaired source that passes every check, and the observations that prove it, are available to members.
Every case sharing this mechanism uses the same contract and the same repair, so this one record is held back for all of them.
Member access is invitation-based. Sign in with your invited account to inspect the repair.
Sign in to the archive ↗Verification & scope
Synthetic deterministic hierarchical-widget data contract; not an implementation of a browser accessibility tree. 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:18.692580+00:00.
Case digest / a07c38640e9daa5e030d186e1ccbc9a7ea413959b21e9372a26d66e1f143850d