FA-38086 / Table interactions / Open access
Table pane cell hit testing: column hit halfopen · case 01
The table column hit halfopen result violates the stipulated table pane cell hit testing contract.
ROOT CAUSE
The column hit halfopen decision uses "cursor<=local<=cursor+c['width']" instead of "cursor<=local<cursor+c['width']".
THE FAILURE
The column hit halfopen decision uses "cursor<=local<=cursor+c['width']" instead of "cursor<=local<cursor+c['width']".
Unsuccessful approach: The attempted repair "cursor<local<cursor+c['width']" still loses a required part of the table contract.
Case contract
Hit testing subtracts header height, adds body scroll, applies half-open row/column extents, partitions left/right/center panes with left precedence, transforms right pinned and center-scrolled coordinates independently, and rejects coordinates outside the table viewport.
Why this case matters
An offline table UI model isolates table pane cell hit testing, 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(rows, columns, x, y, header, scroll_y, scroll_x, width, left_ids, right_ids):
if y<header: return {'region':'header','row':None,'column':None}
body_y=y-header+scroll_y
r=None; cursor=0
for row in rows:
if cursor<=body_y<cursor+row['height']: r=row['id']; break
cursor+=row['height']
left=[c for c in columns if c['id'] in left_ids]
right=[c for c in columns if c['id'] in right_ids and c['id'] not in left_ids]
center=[c for c in columns if c['id'] not in left_ids and c['id'] not in right_ids]
lw=sum(c['width'] for c in left); rw=sum(c['width'] for c in right)
if not 0<=x<width: return {'region':'outside','row':r,'column':None}
if x<lw: pane=left; local=x; region='left'
elif x>=width-rw: pane=right; local=x-(width-rw); region='right'
else: pane=center; local=x-lw+scroll_x; region='center'
col=None; cursor=0
for c in pane:
if cursor<=local<=cursor+c['width']: col=c['id']; break
cursor+=c['width']
return {'region':region,'row':r,'column':col}
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
if N == 1:
check('center scroll', solve([{'id':'r0','height':5},{'id':'r1','height':7}], [{'id':'a','width':3},{'id':'b','width':5},{'id':'c','width':6},{'id':'d','width':4}], 5, 3, 2, 4, 4, 18, ['a'], ['d']), {'region': 'center', 'row': 'r1', 'column': 'c'})
check('exact row column edges', solve([{'id':'r0','height':5},{'id':'r1','height':7}], [{'id':'a','width':3},{'id':'b','width':5},{'id':'c','width':6}], 8, 7, 2, 0, 0, 14, ['a'], []), {'region': 'center', 'row': 'r1', 'column': 'c'})
check('right pinned cell', solve([{'id':'r0','height':1+5}], [{'id':'a','width':3},{'id':'b','width':5},{'id':'c','width':4},{'id':'d','width':3}], 13, 2, 2, 0, 2, 15, ['a'], ['c','d']), {'region': 'right', 'row': 'r0', 'column': 'd'})
check('left boundary', solve([{'id':'r0','height':5}], [{'id':'a','width':3},{'id':'b','width':5}], 3, 2, 2, 0, 0, 8, ['a'], []), {'region': 'center', 'row': 'r0', 'column': 'b'})
check('overlapping pin assignment', solve([{'id':'r0','height':5}], [{'id':'a','width':2},{'id':'b','width':3},{'id':'c','width':4},{'id':'d','width':5}], 10, 3, 2, 0, 0, 14, ['a','b'], ['b','d']), {'region': 'right', 'row': 'r0', 'column': 'd'})
check('outside right edge', solve([{'id':'r0','height':5}], [{'id':'a','width':3}], 3, 3, 2, 0, 0, 3, [], []), {'region': 'outside', 'row': 'r0', 'column': None})
check('negative x', solve([{'id':'r0','height':5}], [{'id':'a','width':3}], -1, 3, 2, 0, 0, 3, [], []), {'region': 'outside', 'row': 'r0', 'column': None})
check('header offset crossing', solve([{'id':'r0','height':5},{'id':'r1','height':5}], [{'id':'a','width':3}], 1, 5, 2, 0, 0, 3, ['a'], []), {'region': 'left', 'row': 'r0', 'column': 'a'})
check('overlap pin edge', solve([{'id':'r','height':8}], [{'id':'a','width':2},{'id':'b','width':3},{'id':'c','width':4},{'id':'d','width':5}], 6, 3, 2, 0, 0, 14, ['a','b'], ['b','d']), {'region': 'center', 'row': 'r', 'column': 'c'})
check('center blank area', solve([{'id':'r','height':8}], [{'id':'a','width':3},{'id':'b','width':5},{'id':'c','width':6},{'id':'d','width':4}], 15, 3, 2, 0, 0, 30, ['a'], ['d']), {'region': 'center', 'row': 'r', 'column': None})
check('left pane interior', solve([{'id':'r','height':8}], [{'id':'a','width':3},{'id':'b','width':5}], 1, 3, 2, 0, 0, 8, ['a'], []), {'region': 'left', 'row': 'r', 'column': 'a'})
check('center local origin', solve([{'id':'r','height':8}], [{'id':'a','width':3},{'id':'b','width':5},{'id':'c','width':6}], 6, 3, 2, 0, 0, 14, ['a'], []), {'region': 'center', 'row': 'r', 'column': 'b'})
check('header region', solve([], [], 1, 1, 2, 0, 0, 3, [], []), {'region': 'header', 'row': None, 'column': None})
if N == 2:
check('center scroll', solve([{'id':'r0','height':5},{'id':'r1','height':7}], [{'id':'a','width':3},{'id':'b','width':5},{'id':'c','width':6},{'id':'d','width':4}], 5, 3, 2, 4, 4, 18, ['a'], ['d']), {'region': 'center', 'row': 'r1', 'column': 'c'})
check('exact row column edges', solve([{'id':'r0','height':5},{'id':'r1','height':7}], [{'id':'a','width':3},{'id':'b','width':5},{'id':'c','width':6}], 8, 7, 2, 0, 0, 14, ['a'], []), {'region': 'center', 'row': 'r1', 'column': 'c'})
check('right pinned cell', solve([{'id':'r0','height':2+5}], [{'id':'a','width':3},{'id':'b','width':5},{'id':'c','width':4},{'id':'d','width':3}], 13, 2, 2, 0, 2, 15, ['a'], ['c','d']), {'region': 'right', 'row': 'r0', 'column': 'd'})
check('left boundary', solve([{'id':'r0','height':5}], [{'id':'a','width':3},{'id':'b','width':5}], 3, 2, 2, 0, 0, 8, ['a'], []), {'region': 'center', 'row': 'r0', 'column': 'b'})
check('overlapping pin assignment', solve([{'id':'r0','height':5}], [{'id':'a','width':2},{'id':'b','width':3},{'id':'c','width':4},{'id':'d','width':5}], 10, 3, 2, 0, 0, 14, ['a','b'], ['b','d']), {'region': 'right', 'row': 'r0', 'column': 'd'})
check('outside right edge', solve([{'id':'r0','height':5}], [{'id':'a','width':3}], 3, 3, 2, 0, 0, 3, [], []), {'region': 'outside', 'row': 'r0', 'column': None})
check('negative x', solve([{'id':'r0','height':5}], [{'id':'a','width':3}], -1, 3, 2, 0, 0, 3, [], []), {'region': 'outside', 'row': 'r0', 'column': None})
check('header offset crossing', solve([{'id':'r0','height':5},{'id':'r1','height':5}], [{'id':'a','width':3}], 1, 5, 2, 0, 0, 3, ['a'], []), {'region': 'left', 'row': 'r0', 'column': 'a'})
check('overlap pin edge', solve([{'id':'r','height':8}], [{'id':'a','width':2},{'id':'b','width':3},{'id':'c','width':4},{'id':'d','width':5}], 6, 3, 2, 0, 0, 14, ['a','b'], ['b','d']), {'region': 'center', 'row': 'r', 'column': 'c'})
check('center blank area', solve([{'id':'r','height':8}], [{'id':'a','width':3},{'id':'b','width':5},{'id':'c','width':6},{'id':'d','width':4}], 15, 3, 2, 0, 0, 30, ['a'], ['d']), {'region': 'center', 'row': 'r', 'column': None})
check('left pane interior', solve([{'id':'r','height':8}], [{'id':'a','width':3},{'id':'b','width':5}], 1, 3, 2, 0, 0, 8, ['a'], []), {'region': 'left', 'row': 'r', 'column': 'a'})
check('center local origin', solve([{'id':'r','height':8}], [{'id':'a','width':3},{'id':'b','width':5},{'id':'c','width':6}], 6, 3, 2, 0, 0, 14, ['a'], []), {'region': 'center', 'row': 'r', 'column': 'b'})
check('header region', solve([], [], 1, 1, 2, 0, 0, 3, [], []), {'region': 'header', 'row': None, 'column': None})
if N == 3:
check('center scroll', solve([{'id':'r0','height':5},{'id':'r1','height':7}], [{'id':'a','width':3},{'id':'b','width':5},{'id':'c','width':6},{'id':'d','width':4}], 5, 3, 2, 4, 4, 18, ['a'], ['d']), {'region': 'center', 'row': 'r1', 'column': 'c'})
check('exact row column edges', solve([{'id':'r0','height':5},{'id':'r1','height':7}], [{'id':'a','width':3},{'id':'b','width':5},{'id':'c','width':6}], 8, 7, 2, 0, 0, 14, ['a'], []), {'region': 'center', 'row': 'r1', 'column': 'c'})
check('right pinned cell', solve([{'id':'r0','height':3+5}], [{'id':'a','width':3},{'id':'b','width':5},{'id':'c','width':4},{'id':'d','width':3}], 13, 2, 2, 0, 2, 15, ['a'], ['c','d']), {'region': 'right', 'row': 'r0', 'column': 'd'})
check('left boundary', solve([{'id':'r0','height':5}], [{'id':'a','width':3},{'id':'b','width':5}], 3, 2, 2, 0, 0, 8, ['a'], []), {'region': 'center', 'row': 'r0', 'column': 'b'})
check('overlapping pin assignment', solve([{'id':'r0','height':5}], [{'id':'a','width':2},{'id':'b','width':3},{'id':'c','width':4},{'id':'d','width':5}], 10, 3, 2, 0, 0, 14, ['a','b'], ['b','d']), {'region': 'right', 'row': 'r0', 'column': 'd'})
check('outside right edge', solve([{'id':'r0','height':5}], [{'id':'a','width':3}], 3, 3, 2, 0, 0, 3, [], []), {'region': 'outside', 'row': 'r0', 'column': None})
check('negative x', solve([{'id':'r0','height':5}], [{'id':'a','width':3}], -1, 3, 2, 0, 0, 3, [], []), {'region': 'outside', 'row': 'r0', 'column': None})
check('header offset crossing', solve([{'id':'r0','height':5},{'id':'r1','height':5}], [{'id':'a','width':3}], 1, 5, 2, 0, 0, 3, ['a'], []), {'region': 'left', 'row': 'r0', 'column': 'a'})
check('overlap pin edge', solve([{'id':'r','height':8}], [{'id':'a','width':2},{'id':'b','width':3},{'id':'c','width':4},{'id':'d','width':5}], 6, 3, 2, 0, 0, 14, ['a','b'], ['b','d']), {'region': 'center', 'row': 'r', 'column': 'c'})
check('center blank area', solve([{'id':'r','height':8}], [{'id':'a','width':3},{'id':'b','width':5},{'id':'c','width':6},{'id':'d','width':4}], 15, 3, 2, 0, 0, 30, ['a'], ['d']), {'region': 'center', 'row': 'r', 'column': None})
check('left pane interior', solve([{'id':'r','height':8}], [{'id':'a','width':3},{'id':'b','width':5}], 1, 3, 2, 0, 0, 8, ['a'], []), {'region': 'left', 'row': 'r', 'column': 'a'})
check('center local origin', solve([{'id':'r','height':8}], [{'id':'a','width':3},{'id':'b','width':5},{'id':'c','width':6}], 6, 3, 2, 0, 0, 14, ['a'], []), {'region': 'center', 'row': 'r', 'column': 'b'})
check('header region', solve([], [], 1, 1, 2, 0, 0, 3, [], []), {'region': 'header', 'row': None, 'column': None})
if N == 4:
check('center scroll', solve([{'id':'r0','height':5},{'id':'r1','height':7}], [{'id':'a','width':3},{'id':'b','width':5},{'id':'c','width':6},{'id':'d','width':4}], 5, 3, 2, 4, 4, 18, ['a'], ['d']), {'region': 'center', 'row': 'r1', 'column': 'c'})
check('exact row column edges', solve([{'id':'r0','height':5},{'id':'r1','height':7}], [{'id':'a','width':3},{'id':'b','width':5},{'id':'c','width':6}], 8, 7, 2, 0, 0, 14, ['a'], []), {'region': 'center', 'row': 'r1', 'column': 'c'})
check('right pinned cell', solve([{'id':'r0','height':4+5}], [{'id':'a','width':3},{'id':'b','width':5},{'id':'c','width':4},{'id':'d','width':3}], 13, 2, 2, 0, 2, 15, ['a'], ['c','d']), {'region': 'right', 'row': 'r0', 'column': 'd'})
check('left boundary', solve([{'id':'r0','height':5}], [{'id':'a','width':3},{'id':'b','width':5}], 3, 2, 2, 0, 0, 8, ['a'], []), {'region': 'center', 'row': 'r0', 'column': 'b'})
check('overlapping pin assignment', solve([{'id':'r0','height':5}], [{'id':'a','width':2},{'id':'b','width':3},{'id':'c','width':4},{'id':'d','width':5}], 10, 3, 2, 0, 0, 14, ['a','b'], ['b','d']), {'region': 'right', 'row': 'r0', 'column': 'd'})
check('outside right edge', solve([{'id':'r0','height':5}], [{'id':'a','width':3}], 3, 3, 2, 0, 0, 3, [], []), {'region': 'outside', 'row': 'r0', 'column': None})
check('negative x', solve([{'id':'r0','height':5}], [{'id':'a','width':3}], -1, 3, 2, 0, 0, 3, [], []), {'region': 'outside', 'row': 'r0', 'column': None})
check('header offset crossing', solve([{'id':'r0','height':5},{'id':'r1','height':5}], [{'id':'a','width':3}], 1, 5, 2, 0, 0, 3, ['a'], []), {'region': 'left', 'row': 'r0', 'column': 'a'})
check('overlap pin edge', solve([{'id':'r','height':8}], [{'id':'a','width':2},{'id':'b','width':3},{'id':'c','width':4},{'id':'d','width':5}], 6, 3, 2, 0, 0, 14, ['a','b'], ['b','d']), {'region': 'center', 'row': 'r', 'column': 'c'})
check('center blank area', solve([{'id':'r','height':8}], [{'id':'a','width':3},{'id':'b','width':5},{'id':'c','width':6},{'id':'d','width':4}], 15, 3, 2, 0, 0, 30, ['a'], ['d']), {'region': 'center', 'row': 'r', 'column': None})
check('left pane interior', solve([{'id':'r','height':8}], [{'id':'a','width':3},{'id':'b','width':5}], 1, 3, 2, 0, 0, 8, ['a'], []), {'region': 'left', 'row': 'r', 'column': 'a'})
check('center local origin', solve([{'id':'r','height':8}], [{'id':'a','width':3},{'id':'b','width':5},{'id':'c','width':6}], 6, 3, 2, 0, 0, 14, ['a'], []), {'region': 'center', 'row': 'r', 'column': 'b'})
check('header region', solve([], [], 1, 1, 2, 0, 0, 3, [], []), {'region': 'header', 'row': None, 'column': None})
if N == 5:
check('center scroll', solve([{'id':'r0','height':5},{'id':'r1','height':7}], [{'id':'a','width':3},{'id':'b','width':5},{'id':'c','width':6},{'id':'d','width':4}], 5, 3, 2, 4, 4, 18, ['a'], ['d']), {'region': 'center', 'row': 'r1', 'column': 'c'})
check('exact row column edges', solve([{'id':'r0','height':5},{'id':'r1','height':7}], [{'id':'a','width':3},{'id':'b','width':5},{'id':'c','width':6}], 8, 7, 2, 0, 0, 14, ['a'], []), {'region': 'center', 'row': 'r1', 'column': 'c'})
check('right pinned cell', solve([{'id':'r0','height':5+5}], [{'id':'a','width':3},{'id':'b','width':5},{'id':'c','width':4},{'id':'d','width':3}], 13, 2, 2, 0, 2, 15, ['a'], ['c','d']), {'region': 'right', 'row': 'r0', 'column': 'd'})
check('left boundary', solve([{'id':'r0','height':5}], [{'id':'a','width':3},{'id':'b','width':5}], 3, 2, 2, 0, 0, 8, ['a'], []), {'region': 'center', 'row': 'r0', 'column': 'b'})
check('overlapping pin assignment', solve([{'id':'r0','height':5}], [{'id':'a','width':2},{'id':'b','width':3},{'id':'c','width':4},{'id':'d','width':5}], 10, 3, 2, 0, 0, 14, ['a','b'], ['b','d']), {'region': 'right', 'row': 'r0', 'column': 'd'})
check('outside right edge', solve([{'id':'r0','height':5}], [{'id':'a','width':3}], 3, 3, 2, 0, 0, 3, [], []), {'region': 'outside', 'row': 'r0', 'column': None})
check('negative x', solve([{'id':'r0','height':5}], [{'id':'a','width':3}], -1, 3, 2, 0, 0, 3, [], []), {'region': 'outside', 'row': 'r0', 'column': None})
check('header offset crossing', solve([{'id':'r0','height':5},{'id':'r1','height':5}], [{'id':'a','width':3}], 1, 5, 2, 0, 0, 3, ['a'], []), {'region': 'left', 'row': 'r0', 'column': 'a'})
check('overlap pin edge', solve([{'id':'r','height':8}], [{'id':'a','width':2},{'id':'b','width':3},{'id':'c','width':4},{'id':'d','width':5}], 6, 3, 2, 0, 0, 14, ['a','b'], ['b','d']), {'region': 'center', 'row': 'r', 'column': 'c'})
check('center blank area', solve([{'id':'r','height':8}], [{'id':'a','width':3},{'id':'b','width':5},{'id':'c','width':6},{'id':'d','width':4}], 15, 3, 2, 0, 0, 30, ['a'], ['d']), {'region': 'center', 'row': 'r', 'column': None})
check('left pane interior', solve([{'id':'r','height':8}], [{'id':'a','width':3},{'id':'b','width':5}], 1, 3, 2, 0, 0, 8, ['a'], []), {'region': 'left', 'row': 'r', 'column': 'a'})
check('center local origin', solve([{'id':'r','height':8}], [{'id':'a','width':3},{'id':'b','width':5},{'id':'c','width':6}], 6, 3, 2, 0, 0, 14, ['a'], []), {'region': 'center', 'row': 'r', 'column': 'b'})
check('header region', solve([], [], 1, 1, 2, 0, 0, 3, [], []), {'region': 'header', 'row': None, 'column': None})
check('variant measured row boundary', solve([{'id':'r0','height':N+2},{'id':'r1','height':10}], [{'id':'x','width':4}], 1, 7, 2, 0, 0, 4, [], []), {'region':'center','row':'r1' if N<=3 else 'r0','column':'x'})
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 |
|---|---|---|---|
| center scroll | {'column': 'c', 'region': 'center', 'row': 'r1'} | {'column': 'c', 'region': 'center', 'row': 'r1'} | Passed |
| exact row column edges | {'column': 'b', 'region': 'center', 'row': 'r1'} | {'column': 'c', 'region': 'center', 'row': 'r1'} | Failed |
| right pinned cell | {'column': 'd', 'region': 'right', 'row': 'r0'} | {'column': 'd', 'region': 'right', 'row': 'r0'} | Passed |
| left boundary | {'column': 'b', 'region': 'center', 'row': 'r0'} | {'column': 'b', 'region': 'center', 'row': 'r0'} | Passed |
| overlapping pin assignment | {'column': 'd', 'region': 'right', 'row': 'r0'} | {'column': 'd', 'region': 'right', 'row': 'r0'} | Passed |
| outside right edge | {'column': None, 'region': 'outside', 'row': 'r0'} | {'column': None, 'region': 'outside', 'row': 'r0'} | Passed |
| negative x | {'column': None, 'region': 'outside', 'row': 'r0'} | {'column': None, 'region': 'outside', 'row': 'r0'} | Passed |
| header offset crossing | {'column': 'a', 'region': 'left', 'row': 'r0'} | {'column': 'a', 'region': 'left', 'row': 'r0'} | Passed |
| overlap pin edge | {'column': 'c', 'region': 'center', 'row': 'r'} | {'column': 'c', 'region': 'center', 'row': 'r'} | Passed |
| center blank area | {'column': None, 'region': 'center', 'row': 'r'} | {'column': None, 'region': 'center', 'row': 'r'} | Passed |
| left pane interior | {'column': 'a', 'region': 'left', 'row': 'r'} | {'column': 'a', 'region': 'left', 'row': 'r'} | Passed |
| center local origin | {'column': 'b', 'region': 'center', 'row': 'r'} | {'column': 'b', 'region': 'center', 'row': 'r'} | Passed |
| header region | {'column': None, 'region': 'header', 'row': None} | {'column': None, 'region': 'header', 'row': None} | Passed |
| variant measured row boundary | {'column': 'x', 'region': 'center', 'row': 'r1'} | {'column': 'x', 'region': 'center', 'row': 'r1'} | Passed |
SHA-256 / e2e48766a485e074f1c4c914cf003f15416edfec06517e76551d05b5e01d11b6
2 / The unsuccessful fix
Exit 1"""Failure Map reference implementation. Python standard library only."""
import json
N = 1
observations = []
def solve(rows, columns, x, y, header, scroll_y, scroll_x, width, left_ids, right_ids):
if y<header: return {'region':'header','row':None,'column':None}
body_y=y-header+scroll_y
r=None; cursor=0
for row in rows:
if cursor<=body_y<cursor+row['height']: r=row['id']; break
cursor+=row['height']
left=[c for c in columns if c['id'] in left_ids]
right=[c for c in columns if c['id'] in right_ids and c['id'] not in left_ids]
center=[c for c in columns if c['id'] not in left_ids and c['id'] not in right_ids]
lw=sum(c['width'] for c in left); rw=sum(c['width'] for c in right)
if not 0<=x<width: return {'region':'outside','row':r,'column':None}
if x<lw: pane=left; local=x; region='left'
elif x>=width-rw: pane=right; local=x-(width-rw); region='right'
else: pane=center; local=x-lw+scroll_x; region='center'
col=None; cursor=0
for c in pane:
if cursor<local<cursor+c['width']: col=c['id']; break
cursor+=c['width']
return {'region':region,'row':r,'column':col}
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
if N == 1:
check('center scroll', solve([{'id':'r0','height':5},{'id':'r1','height':7}], [{'id':'a','width':3},{'id':'b','width':5},{'id':'c','width':6},{'id':'d','width':4}], 5, 3, 2, 4, 4, 18, ['a'], ['d']), {'region': 'center', 'row': 'r1', 'column': 'c'})
check('exact row column edges', solve([{'id':'r0','height':5},{'id':'r1','height':7}], [{'id':'a','width':3},{'id':'b','width':5},{'id':'c','width':6}], 8, 7, 2, 0, 0, 14, ['a'], []), {'region': 'center', 'row': 'r1', 'column': 'c'})
check('right pinned cell', solve([{'id':'r0','height':1+5}], [{'id':'a','width':3},{'id':'b','width':5},{'id':'c','width':4},{'id':'d','width':3}], 13, 2, 2, 0, 2, 15, ['a'], ['c','d']), {'region': 'right', 'row': 'r0', 'column': 'd'})
check('left boundary', solve([{'id':'r0','height':5}], [{'id':'a','width':3},{'id':'b','width':5}], 3, 2, 2, 0, 0, 8, ['a'], []), {'region': 'center', 'row': 'r0', 'column': 'b'})
check('overlapping pin assignment', solve([{'id':'r0','height':5}], [{'id':'a','width':2},{'id':'b','width':3},{'id':'c','width':4},{'id':'d','width':5}], 10, 3, 2, 0, 0, 14, ['a','b'], ['b','d']), {'region': 'right', 'row': 'r0', 'column': 'd'})
check('outside right edge', solve([{'id':'r0','height':5}], [{'id':'a','width':3}], 3, 3, 2, 0, 0, 3, [], []), {'region': 'outside', 'row': 'r0', 'column': None})
check('negative x', solve([{'id':'r0','height':5}], [{'id':'a','width':3}], -1, 3, 2, 0, 0, 3, [], []), {'region': 'outside', 'row': 'r0', 'column': None})
check('header offset crossing', solve([{'id':'r0','height':5},{'id':'r1','height':5}], [{'id':'a','width':3}], 1, 5, 2, 0, 0, 3, ['a'], []), {'region': 'left', 'row': 'r0', 'column': 'a'})
check('overlap pin edge', solve([{'id':'r','height':8}], [{'id':'a','width':2},{'id':'b','width':3},{'id':'c','width':4},{'id':'d','width':5}], 6, 3, 2, 0, 0, 14, ['a','b'], ['b','d']), {'region': 'center', 'row': 'r', 'column': 'c'})
check('center blank area', solve([{'id':'r','height':8}], [{'id':'a','width':3},{'id':'b','width':5},{'id':'c','width':6},{'id':'d','width':4}], 15, 3, 2, 0, 0, 30, ['a'], ['d']), {'region': 'center', 'row': 'r', 'column': None})
check('left pane interior', solve([{'id':'r','height':8}], [{'id':'a','width':3},{'id':'b','width':5}], 1, 3, 2, 0, 0, 8, ['a'], []), {'region': 'left', 'row': 'r', 'column': 'a'})
check('center local origin', solve([{'id':'r','height':8}], [{'id':'a','width':3},{'id':'b','width':5},{'id':'c','width':6}], 6, 3, 2, 0, 0, 14, ['a'], []), {'region': 'center', 'row': 'r', 'column': 'b'})
check('header region', solve([], [], 1, 1, 2, 0, 0, 3, [], []), {'region': 'header', 'row': None, 'column': None})
if N == 2:
check('center scroll', solve([{'id':'r0','height':5},{'id':'r1','height':7}], [{'id':'a','width':3},{'id':'b','width':5},{'id':'c','width':6},{'id':'d','width':4}], 5, 3, 2, 4, 4, 18, ['a'], ['d']), {'region': 'center', 'row': 'r1', 'column': 'c'})
check('exact row column edges', solve([{'id':'r0','height':5},{'id':'r1','height':7}], [{'id':'a','width':3},{'id':'b','width':5},{'id':'c','width':6}], 8, 7, 2, 0, 0, 14, ['a'], []), {'region': 'center', 'row': 'r1', 'column': 'c'})
check('right pinned cell', solve([{'id':'r0','height':2+5}], [{'id':'a','width':3},{'id':'b','width':5},{'id':'c','width':4},{'id':'d','width':3}], 13, 2, 2, 0, 2, 15, ['a'], ['c','d']), {'region': 'right', 'row': 'r0', 'column': 'd'})
check('left boundary', solve([{'id':'r0','height':5}], [{'id':'a','width':3},{'id':'b','width':5}], 3, 2, 2, 0, 0, 8, ['a'], []), {'region': 'center', 'row': 'r0', 'column': 'b'})
check('overlapping pin assignment', solve([{'id':'r0','height':5}], [{'id':'a','width':2},{'id':'b','width':3},{'id':'c','width':4},{'id':'d','width':5}], 10, 3, 2, 0, 0, 14, ['a','b'], ['b','d']), {'region': 'right', 'row': 'r0', 'column': 'd'})
check('outside right edge', solve([{'id':'r0','height':5}], [{'id':'a','width':3}], 3, 3, 2, 0, 0, 3, [], []), {'region': 'outside', 'row': 'r0', 'column': None})
check('negative x', solve([{'id':'r0','height':5}], [{'id':'a','width':3}], -1, 3, 2, 0, 0, 3, [], []), {'region': 'outside', 'row': 'r0', 'column': None})
check('header offset crossing', solve([{'id':'r0','height':5},{'id':'r1','height':5}], [{'id':'a','width':3}], 1, 5, 2, 0, 0, 3, ['a'], []), {'region': 'left', 'row': 'r0', 'column': 'a'})
check('overlap pin edge', solve([{'id':'r','height':8}], [{'id':'a','width':2},{'id':'b','width':3},{'id':'c','width':4},{'id':'d','width':5}], 6, 3, 2, 0, 0, 14, ['a','b'], ['b','d']), {'region': 'center', 'row': 'r', 'column': 'c'})
check('center blank area', solve([{'id':'r','height':8}], [{'id':'a','width':3},{'id':'b','width':5},{'id':'c','width':6},{'id':'d','width':4}], 15, 3, 2, 0, 0, 30, ['a'], ['d']), {'region': 'center', 'row': 'r', 'column': None})
check('left pane interior', solve([{'id':'r','height':8}], [{'id':'a','width':3},{'id':'b','width':5}], 1, 3, 2, 0, 0, 8, ['a'], []), {'region': 'left', 'row': 'r', 'column': 'a'})
check('center local origin', solve([{'id':'r','height':8}], [{'id':'a','width':3},{'id':'b','width':5},{'id':'c','width':6}], 6, 3, 2, 0, 0, 14, ['a'], []), {'region': 'center', 'row': 'r', 'column': 'b'})
check('header region', solve([], [], 1, 1, 2, 0, 0, 3, [], []), {'region': 'header', 'row': None, 'column': None})
if N == 3:
check('center scroll', solve([{'id':'r0','height':5},{'id':'r1','height':7}], [{'id':'a','width':3},{'id':'b','width':5},{'id':'c','width':6},{'id':'d','width':4}], 5, 3, 2, 4, 4, 18, ['a'], ['d']), {'region': 'center', 'row': 'r1', 'column': 'c'})
check('exact row column edges', solve([{'id':'r0','height':5},{'id':'r1','height':7}], [{'id':'a','width':3},{'id':'b','width':5},{'id':'c','width':6}], 8, 7, 2, 0, 0, 14, ['a'], []), {'region': 'center', 'row': 'r1', 'column': 'c'})
check('right pinned cell', solve([{'id':'r0','height':3+5}], [{'id':'a','width':3},{'id':'b','width':5},{'id':'c','width':4},{'id':'d','width':3}], 13, 2, 2, 0, 2, 15, ['a'], ['c','d']), {'region': 'right', 'row': 'r0', 'column': 'd'})
check('left boundary', solve([{'id':'r0','height':5}], [{'id':'a','width':3},{'id':'b','width':5}], 3, 2, 2, 0, 0, 8, ['a'], []), {'region': 'center', 'row': 'r0', 'column': 'b'})
check('overlapping pin assignment', solve([{'id':'r0','height':5}], [{'id':'a','width':2},{'id':'b','width':3},{'id':'c','width':4},{'id':'d','width':5}], 10, 3, 2, 0, 0, 14, ['a','b'], ['b','d']), {'region': 'right', 'row': 'r0', 'column': 'd'})
check('outside right edge', solve([{'id':'r0','height':5}], [{'id':'a','width':3}], 3, 3, 2, 0, 0, 3, [], []), {'region': 'outside', 'row': 'r0', 'column': None})
check('negative x', solve([{'id':'r0','height':5}], [{'id':'a','width':3}], -1, 3, 2, 0, 0, 3, [], []), {'region': 'outside', 'row': 'r0', 'column': None})
check('header offset crossing', solve([{'id':'r0','height':5},{'id':'r1','height':5}], [{'id':'a','width':3}], 1, 5, 2, 0, 0, 3, ['a'], []), {'region': 'left', 'row': 'r0', 'column': 'a'})
check('overlap pin edge', solve([{'id':'r','height':8}], [{'id':'a','width':2},{'id':'b','width':3},{'id':'c','width':4},{'id':'d','width':5}], 6, 3, 2, 0, 0, 14, ['a','b'], ['b','d']), {'region': 'center', 'row': 'r', 'column': 'c'})
check('center blank area', solve([{'id':'r','height':8}], [{'id':'a','width':3},{'id':'b','width':5},{'id':'c','width':6},{'id':'d','width':4}], 15, 3, 2, 0, 0, 30, ['a'], ['d']), {'region': 'center', 'row': 'r', 'column': None})
check('left pane interior', solve([{'id':'r','height':8}], [{'id':'a','width':3},{'id':'b','width':5}], 1, 3, 2, 0, 0, 8, ['a'], []), {'region': 'left', 'row': 'r', 'column': 'a'})
check('center local origin', solve([{'id':'r','height':8}], [{'id':'a','width':3},{'id':'b','width':5},{'id':'c','width':6}], 6, 3, 2, 0, 0, 14, ['a'], []), {'region': 'center', 'row': 'r', 'column': 'b'})
check('header region', solve([], [], 1, 1, 2, 0, 0, 3, [], []), {'region': 'header', 'row': None, 'column': None})
if N == 4:
check('center scroll', solve([{'id':'r0','height':5},{'id':'r1','height':7}], [{'id':'a','width':3},{'id':'b','width':5},{'id':'c','width':6},{'id':'d','width':4}], 5, 3, 2, 4, 4, 18, ['a'], ['d']), {'region': 'center', 'row': 'r1', 'column': 'c'})
check('exact row column edges', solve([{'id':'r0','height':5},{'id':'r1','height':7}], [{'id':'a','width':3},{'id':'b','width':5},{'id':'c','width':6}], 8, 7, 2, 0, 0, 14, ['a'], []), {'region': 'center', 'row': 'r1', 'column': 'c'})
check('right pinned cell', solve([{'id':'r0','height':4+5}], [{'id':'a','width':3},{'id':'b','width':5},{'id':'c','width':4},{'id':'d','width':3}], 13, 2, 2, 0, 2, 15, ['a'], ['c','d']), {'region': 'right', 'row': 'r0', 'column': 'd'})
check('left boundary', solve([{'id':'r0','height':5}], [{'id':'a','width':3},{'id':'b','width':5}], 3, 2, 2, 0, 0, 8, ['a'], []), {'region': 'center', 'row': 'r0', 'column': 'b'})
check('overlapping pin assignment', solve([{'id':'r0','height':5}], [{'id':'a','width':2},{'id':'b','width':3},{'id':'c','width':4},{'id':'d','width':5}], 10, 3, 2, 0, 0, 14, ['a','b'], ['b','d']), {'region': 'right', 'row': 'r0', 'column': 'd'})
check('outside right edge', solve([{'id':'r0','height':5}], [{'id':'a','width':3}], 3, 3, 2, 0, 0, 3, [], []), {'region': 'outside', 'row': 'r0', 'column': None})
check('negative x', solve([{'id':'r0','height':5}], [{'id':'a','width':3}], -1, 3, 2, 0, 0, 3, [], []), {'region': 'outside', 'row': 'r0', 'column': None})
check('header offset crossing', solve([{'id':'r0','height':5},{'id':'r1','height':5}], [{'id':'a','width':3}], 1, 5, 2, 0, 0, 3, ['a'], []), {'region': 'left', 'row': 'r0', 'column': 'a'})
check('overlap pin edge', solve([{'id':'r','height':8}], [{'id':'a','width':2},{'id':'b','width':3},{'id':'c','width':4},{'id':'d','width':5}], 6, 3, 2, 0, 0, 14, ['a','b'], ['b','d']), {'region': 'center', 'row': 'r', 'column': 'c'})
check('center blank area', solve([{'id':'r','height':8}], [{'id':'a','width':3},{'id':'b','width':5},{'id':'c','width':6},{'id':'d','width':4}], 15, 3, 2, 0, 0, 30, ['a'], ['d']), {'region': 'center', 'row': 'r', 'column': None})
check('left pane interior', solve([{'id':'r','height':8}], [{'id':'a','width':3},{'id':'b','width':5}], 1, 3, 2, 0, 0, 8, ['a'], []), {'region': 'left', 'row': 'r', 'column': 'a'})
check('center local origin', solve([{'id':'r','height':8}], [{'id':'a','width':3},{'id':'b','width':5},{'id':'c','width':6}], 6, 3, 2, 0, 0, 14, ['a'], []), {'region': 'center', 'row': 'r', 'column': 'b'})
check('header region', solve([], [], 1, 1, 2, 0, 0, 3, [], []), {'region': 'header', 'row': None, 'column': None})
if N == 5:
check('center scroll', solve([{'id':'r0','height':5},{'id':'r1','height':7}], [{'id':'a','width':3},{'id':'b','width':5},{'id':'c','width':6},{'id':'d','width':4}], 5, 3, 2, 4, 4, 18, ['a'], ['d']), {'region': 'center', 'row': 'r1', 'column': 'c'})
check('exact row column edges', solve([{'id':'r0','height':5},{'id':'r1','height':7}], [{'id':'a','width':3},{'id':'b','width':5},{'id':'c','width':6}], 8, 7, 2, 0, 0, 14, ['a'], []), {'region': 'center', 'row': 'r1', 'column': 'c'})
check('right pinned cell', solve([{'id':'r0','height':5+5}], [{'id':'a','width':3},{'id':'b','width':5},{'id':'c','width':4},{'id':'d','width':3}], 13, 2, 2, 0, 2, 15, ['a'], ['c','d']), {'region': 'right', 'row': 'r0', 'column': 'd'})
check('left boundary', solve([{'id':'r0','height':5}], [{'id':'a','width':3},{'id':'b','width':5}], 3, 2, 2, 0, 0, 8, ['a'], []), {'region': 'center', 'row': 'r0', 'column': 'b'})
check('overlapping pin assignment', solve([{'id':'r0','height':5}], [{'id':'a','width':2},{'id':'b','width':3},{'id':'c','width':4},{'id':'d','width':5}], 10, 3, 2, 0, 0, 14, ['a','b'], ['b','d']), {'region': 'right', 'row': 'r0', 'column': 'd'})
check('outside right edge', solve([{'id':'r0','height':5}], [{'id':'a','width':3}], 3, 3, 2, 0, 0, 3, [], []), {'region': 'outside', 'row': 'r0', 'column': None})
check('negative x', solve([{'id':'r0','height':5}], [{'id':'a','width':3}], -1, 3, 2, 0, 0, 3, [], []), {'region': 'outside', 'row': 'r0', 'column': None})
check('header offset crossing', solve([{'id':'r0','height':5},{'id':'r1','height':5}], [{'id':'a','width':3}], 1, 5, 2, 0, 0, 3, ['a'], []), {'region': 'left', 'row': 'r0', 'column': 'a'})
check('overlap pin edge', solve([{'id':'r','height':8}], [{'id':'a','width':2},{'id':'b','width':3},{'id':'c','width':4},{'id':'d','width':5}], 6, 3, 2, 0, 0, 14, ['a','b'], ['b','d']), {'region': 'center', 'row': 'r', 'column': 'c'})
check('center blank area', solve([{'id':'r','height':8}], [{'id':'a','width':3},{'id':'b','width':5},{'id':'c','width':6},{'id':'d','width':4}], 15, 3, 2, 0, 0, 30, ['a'], ['d']), {'region': 'center', 'row': 'r', 'column': None})
check('left pane interior', solve([{'id':'r','height':8}], [{'id':'a','width':3},{'id':'b','width':5}], 1, 3, 2, 0, 0, 8, ['a'], []), {'region': 'left', 'row': 'r', 'column': 'a'})
check('center local origin', solve([{'id':'r','height':8}], [{'id':'a','width':3},{'id':'b','width':5},{'id':'c','width':6}], 6, 3, 2, 0, 0, 14, ['a'], []), {'region': 'center', 'row': 'r', 'column': 'b'})
check('header region', solve([], [], 1, 1, 2, 0, 0, 3, [], []), {'region': 'header', 'row': None, 'column': None})
check('variant measured row boundary', solve([{'id':'r0','height':N+2},{'id':'r1','height':10}], [{'id':'x','width':4}], 1, 7, 2, 0, 0, 4, [], []), {'region':'center','row':'r1' if N<=3 else 'r0','column':'x'})
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 |
|---|---|---|---|
| center scroll | {'column': 'c', 'region': 'center', 'row': 'r1'} | {'column': 'c', 'region': 'center', 'row': 'r1'} | Passed |
| exact row column edges | {'column': None, 'region': 'center', 'row': 'r1'} | {'column': 'c', 'region': 'center', 'row': 'r1'} | Failed |
| right pinned cell | {'column': 'd', 'region': 'right', 'row': 'r0'} | {'column': 'd', 'region': 'right', 'row': 'r0'} | Passed |
| left boundary | {'column': None, 'region': 'center', 'row': 'r0'} | {'column': 'b', 'region': 'center', 'row': 'r0'} | Failed |
| overlapping pin assignment | {'column': 'd', 'region': 'right', 'row': 'r0'} | {'column': 'd', 'region': 'right', 'row': 'r0'} | Passed |
| outside right edge | {'column': None, 'region': 'outside', 'row': 'r0'} | {'column': None, 'region': 'outside', 'row': 'r0'} | Passed |
| negative x | {'column': None, 'region': 'outside', 'row': 'r0'} | {'column': None, 'region': 'outside', 'row': 'r0'} | Passed |
| header offset crossing | {'column': 'a', 'region': 'left', 'row': 'r0'} | {'column': 'a', 'region': 'left', 'row': 'r0'} | Passed |
| overlap pin edge | {'column': 'c', 'region': 'center', 'row': 'r'} | {'column': 'c', 'region': 'center', 'row': 'r'} | Passed |
| center blank area | {'column': None, 'region': 'center', 'row': 'r'} | {'column': None, 'region': 'center', 'row': 'r'} | Passed |
| left pane interior | {'column': 'a', 'region': 'left', 'row': 'r'} | {'column': 'a', 'region': 'left', 'row': 'r'} | Passed |
| center local origin | {'column': 'b', 'region': 'center', 'row': 'r'} | {'column': 'b', 'region': 'center', 'row': 'r'} | Passed |
| header region | {'column': None, 'region': 'header', 'row': None} | {'column': None, 'region': 'header', 'row': None} | Passed |
| variant measured row boundary | {'column': 'x', 'region': 'center', 'row': 'r1'} | {'column': 'x', 'region': 'center', 'row': 'r1'} | Passed |
SHA-256 / 197931d7a30561e10c9d64caf2cf63807cd40ce96aade73a5be712c7833f9926
HELD IN THE MEMBER ARCHIVE
The verified repair and its recorded checks are member-only.
This mechanism has 14 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
Rows and columns have unique IDs and positive sizes; coordinates are finite and pane reservations fit the viewport. 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.634190+00:00.
Case digest / b0ab1b146bb32eff607d5eba9dbb31ddde8e9476d9cdd0ccbd77aff9a26d9fcb