FAILURE MAP
← Case archive

FA-37071 / Table interactions / Open access

Table row checkbox reconciliation: page select union · case 01

The table page select union result violates the stipulated table row checkbox reconciliation contract.

Verified by executionVariant 1 · 8 checks per implementationDownload source bundle ↓JSON ↗

ROOT CAUSE

The page select union decision uses 'set(eligible)' instead of 'active|set(eligible)'.

VERIFIED REPAIR

Apply the complete page select union rule: active|set(eligible).

Unsuccessful approach: The attempted repair 'active|set(page)' still loses a required part of the table contract.

Case contract

Checkbox header state concerns enabled loaded page rows; explicit selections use stable row IDs and survive pagination, global select-all uses exclusions, stale IDs are removed, and empty eligible pages are disabled and unchecked.

Why this case matters

An offline table UI model isolates table row checkbox reconciliation, 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, selected, page, disabled, mode, excluded):
    known={r['id'] for r in rows}
    eligible=[r['id'] for r in rows if r['id'] in page and r['id'] not in disabled]
    active=set(selected) & known
    checked=[r for r in eligible if (r not in excluded if mode=='all' else r in active)]
    return {'eligible':eligible,'checked':checked,'all':bool(eligible) and len(checked)==len(eligible),'mixed':0<len(checked)<len(eligible),'disabled':not eligible,'select_page':sorted(set(eligible)),'clear_page':sorted(active-set(eligible)),'off_page':sorted(active-set(page)),'excluded':sorted(set(excluded)&known),'count':len(known-set(excluded)) if mode=='all' else len(active)}
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
if N == 1:
    check('partial page', solve([{'id':'a'},{'id':'b'},{'id':'c'},{'id':'d'+str(1)}], ['a','c','stale'], ['a','b'], [], 'explicit', []), {'eligible': ['a', 'b'], 'checked': ['a'], 'all': False, 'mixed': True, 'disabled': False, 'select_page': ['a', 'b', 'c'], 'clear_page': ['c'], 'off_page': ['c'], 'excluded': [], 'count': 2})
    check('disabled row', solve([{'id':'a'},{'id':'b'}], ['a','b'], ['a','b'], ['b'], 'explicit', []), {'eligible': ['a'], 'checked': ['a'], 'all': True, 'mixed': False, 'disabled': False, 'select_page': ['a', 'b'], 'clear_page': ['b'], 'off_page': [], 'excluded': [], 'count': 2})
    check('global mode', solve([{'id':'a'},{'id':'b'},{'id':'c'}], [], ['a','b'], [], 'all', ['b','stale']), {'eligible': ['a', 'b'], 'checked': ['a'], 'all': False, 'mixed': True, 'disabled': False, 'select_page': ['a', 'b'], 'clear_page': [], 'off_page': [], 'excluded': ['b'], 'count': 2})
    check('empty page', solve([{'id':'a'}], ['a'], [], [], 'explicit', []), {'eligible': [], 'checked': [], 'all': False, 'mixed': False, 'disabled': True, 'select_page': ['a'], 'clear_page': ['a'], 'off_page': ['a'], 'excluded': [], 'count': 1})
    check('none checked', solve([{'id':'a'},{'id':'b'}], [], ['a','b'], [], 'explicit', []), {'eligible': ['a', 'b'], 'checked': [], 'all': False, 'mixed': False, 'disabled': False, 'select_page': ['a', 'b'], 'clear_page': [], 'off_page': [], 'excluded': [], 'count': 0})
    check('full checked', solve([{'id':'a'},{'id':'b'}], ['a','b'], ['a','b'], [], 'explicit', []), {'eligible': ['a', 'b'], 'checked': ['a', 'b'], 'all': True, 'mixed': False, 'disabled': False, 'select_page': ['a', 'b'], 'clear_page': [], 'off_page': [], 'excluded': [], 'count': 2})
    check('disabled unselected', solve([{'id':'a'},{'id':'b'}], [], ['a','b'], ['b'], 'explicit', []), {'eligible': ['a'], 'checked': [], 'all': False, 'mixed': False, 'disabled': False, 'select_page': ['a'], 'clear_page': [], 'off_page': [], 'excluded': [], 'count': 0})

if N == 2:
    check('partial page', solve([{'id':'a'},{'id':'b'},{'id':'c'},{'id':'d'+str(2)}], ['a','c','stale'], ['a','b'], [], 'explicit', []), {'eligible': ['a', 'b'], 'checked': ['a'], 'all': False, 'mixed': True, 'disabled': False, 'select_page': ['a', 'b', 'c'], 'clear_page': ['c'], 'off_page': ['c'], 'excluded': [], 'count': 2})
    check('disabled row', solve([{'id':'a'},{'id':'b'}], ['a','b'], ['a','b'], ['b'], 'explicit', []), {'eligible': ['a'], 'checked': ['a'], 'all': True, 'mixed': False, 'disabled': False, 'select_page': ['a', 'b'], 'clear_page': ['b'], 'off_page': [], 'excluded': [], 'count': 2})
    check('global mode', solve([{'id':'a'},{'id':'b'},{'id':'c'}], [], ['a','b'], [], 'all', ['b','stale']), {'eligible': ['a', 'b'], 'checked': ['a'], 'all': False, 'mixed': True, 'disabled': False, 'select_page': ['a', 'b'], 'clear_page': [], 'off_page': [], 'excluded': ['b'], 'count': 2})
    check('empty page', solve([{'id':'a'}], ['a'], [], [], 'explicit', []), {'eligible': [], 'checked': [], 'all': False, 'mixed': False, 'disabled': True, 'select_page': ['a'], 'clear_page': ['a'], 'off_page': ['a'], 'excluded': [], 'count': 1})
    check('none checked', solve([{'id':'a'},{'id':'b'}], [], ['a','b'], [], 'explicit', []), {'eligible': ['a', 'b'], 'checked': [], 'all': False, 'mixed': False, 'disabled': False, 'select_page': ['a', 'b'], 'clear_page': [], 'off_page': [], 'excluded': [], 'count': 0})
    check('full checked', solve([{'id':'a'},{'id':'b'}], ['a','b'], ['a','b'], [], 'explicit', []), {'eligible': ['a', 'b'], 'checked': ['a', 'b'], 'all': True, 'mixed': False, 'disabled': False, 'select_page': ['a', 'b'], 'clear_page': [], 'off_page': [], 'excluded': [], 'count': 2})
    check('disabled unselected', solve([{'id':'a'},{'id':'b'}], [], ['a','b'], ['b'], 'explicit', []), {'eligible': ['a'], 'checked': [], 'all': False, 'mixed': False, 'disabled': False, 'select_page': ['a'], 'clear_page': [], 'off_page': [], 'excluded': [], 'count': 0})

if N == 3:
    check('partial page', solve([{'id':'a'},{'id':'b'},{'id':'c'},{'id':'d'+str(3)}], ['a','c','stale'], ['a','b'], [], 'explicit', []), {'eligible': ['a', 'b'], 'checked': ['a'], 'all': False, 'mixed': True, 'disabled': False, 'select_page': ['a', 'b', 'c'], 'clear_page': ['c'], 'off_page': ['c'], 'excluded': [], 'count': 2})
    check('disabled row', solve([{'id':'a'},{'id':'b'}], ['a','b'], ['a','b'], ['b'], 'explicit', []), {'eligible': ['a'], 'checked': ['a'], 'all': True, 'mixed': False, 'disabled': False, 'select_page': ['a', 'b'], 'clear_page': ['b'], 'off_page': [], 'excluded': [], 'count': 2})
    check('global mode', solve([{'id':'a'},{'id':'b'},{'id':'c'}], [], ['a','b'], [], 'all', ['b','stale']), {'eligible': ['a', 'b'], 'checked': ['a'], 'all': False, 'mixed': True, 'disabled': False, 'select_page': ['a', 'b'], 'clear_page': [], 'off_page': [], 'excluded': ['b'], 'count': 2})
    check('empty page', solve([{'id':'a'}], ['a'], [], [], 'explicit', []), {'eligible': [], 'checked': [], 'all': False, 'mixed': False, 'disabled': True, 'select_page': ['a'], 'clear_page': ['a'], 'off_page': ['a'], 'excluded': [], 'count': 1})
    check('none checked', solve([{'id':'a'},{'id':'b'}], [], ['a','b'], [], 'explicit', []), {'eligible': ['a', 'b'], 'checked': [], 'all': False, 'mixed': False, 'disabled': False, 'select_page': ['a', 'b'], 'clear_page': [], 'off_page': [], 'excluded': [], 'count': 0})
    check('full checked', solve([{'id':'a'},{'id':'b'}], ['a','b'], ['a','b'], [], 'explicit', []), {'eligible': ['a', 'b'], 'checked': ['a', 'b'], 'all': True, 'mixed': False, 'disabled': False, 'select_page': ['a', 'b'], 'clear_page': [], 'off_page': [], 'excluded': [], 'count': 2})
    check('disabled unselected', solve([{'id':'a'},{'id':'b'}], [], ['a','b'], ['b'], 'explicit', []), {'eligible': ['a'], 'checked': [], 'all': False, 'mixed': False, 'disabled': False, 'select_page': ['a'], 'clear_page': [], 'off_page': [], 'excluded': [], 'count': 0})

if N == 4:
    check('partial page', solve([{'id':'a'},{'id':'b'},{'id':'c'},{'id':'d'+str(4)}], ['a','c','stale'], ['a','b'], [], 'explicit', []), {'eligible': ['a', 'b'], 'checked': ['a'], 'all': False, 'mixed': True, 'disabled': False, 'select_page': ['a', 'b', 'c'], 'clear_page': ['c'], 'off_page': ['c'], 'excluded': [], 'count': 2})
    check('disabled row', solve([{'id':'a'},{'id':'b'}], ['a','b'], ['a','b'], ['b'], 'explicit', []), {'eligible': ['a'], 'checked': ['a'], 'all': True, 'mixed': False, 'disabled': False, 'select_page': ['a', 'b'], 'clear_page': ['b'], 'off_page': [], 'excluded': [], 'count': 2})
    check('global mode', solve([{'id':'a'},{'id':'b'},{'id':'c'}], [], ['a','b'], [], 'all', ['b','stale']), {'eligible': ['a', 'b'], 'checked': ['a'], 'all': False, 'mixed': True, 'disabled': False, 'select_page': ['a', 'b'], 'clear_page': [], 'off_page': [], 'excluded': ['b'], 'count': 2})
    check('empty page', solve([{'id':'a'}], ['a'], [], [], 'explicit', []), {'eligible': [], 'checked': [], 'all': False, 'mixed': False, 'disabled': True, 'select_page': ['a'], 'clear_page': ['a'], 'off_page': ['a'], 'excluded': [], 'count': 1})
    check('none checked', solve([{'id':'a'},{'id':'b'}], [], ['a','b'], [], 'explicit', []), {'eligible': ['a', 'b'], 'checked': [], 'all': False, 'mixed': False, 'disabled': False, 'select_page': ['a', 'b'], 'clear_page': [], 'off_page': [], 'excluded': [], 'count': 0})
    check('full checked', solve([{'id':'a'},{'id':'b'}], ['a','b'], ['a','b'], [], 'explicit', []), {'eligible': ['a', 'b'], 'checked': ['a', 'b'], 'all': True, 'mixed': False, 'disabled': False, 'select_page': ['a', 'b'], 'clear_page': [], 'off_page': [], 'excluded': [], 'count': 2})
    check('disabled unselected', solve([{'id':'a'},{'id':'b'}], [], ['a','b'], ['b'], 'explicit', []), {'eligible': ['a'], 'checked': [], 'all': False, 'mixed': False, 'disabled': False, 'select_page': ['a'], 'clear_page': [], 'off_page': [], 'excluded': [], 'count': 0})

if N == 5:
    check('partial page', solve([{'id':'a'},{'id':'b'},{'id':'c'},{'id':'d'+str(5)}], ['a','c','stale'], ['a','b'], [], 'explicit', []), {'eligible': ['a', 'b'], 'checked': ['a'], 'all': False, 'mixed': True, 'disabled': False, 'select_page': ['a', 'b', 'c'], 'clear_page': ['c'], 'off_page': ['c'], 'excluded': [], 'count': 2})
    check('disabled row', solve([{'id':'a'},{'id':'b'}], ['a','b'], ['a','b'], ['b'], 'explicit', []), {'eligible': ['a'], 'checked': ['a'], 'all': True, 'mixed': False, 'disabled': False, 'select_page': ['a', 'b'], 'clear_page': ['b'], 'off_page': [], 'excluded': [], 'count': 2})
    check('global mode', solve([{'id':'a'},{'id':'b'},{'id':'c'}], [], ['a','b'], [], 'all', ['b','stale']), {'eligible': ['a', 'b'], 'checked': ['a'], 'all': False, 'mixed': True, 'disabled': False, 'select_page': ['a', 'b'], 'clear_page': [], 'off_page': [], 'excluded': ['b'], 'count': 2})
    check('empty page', solve([{'id':'a'}], ['a'], [], [], 'explicit', []), {'eligible': [], 'checked': [], 'all': False, 'mixed': False, 'disabled': True, 'select_page': ['a'], 'clear_page': ['a'], 'off_page': ['a'], 'excluded': [], 'count': 1})
    check('none checked', solve([{'id':'a'},{'id':'b'}], [], ['a','b'], [], 'explicit', []), {'eligible': ['a', 'b'], 'checked': [], 'all': False, 'mixed': False, 'disabled': False, 'select_page': ['a', 'b'], 'clear_page': [], 'off_page': [], 'excluded': [], 'count': 0})
    check('full checked', solve([{'id':'a'},{'id':'b'}], ['a','b'], ['a','b'], [], 'explicit', []), {'eligible': ['a', 'b'], 'checked': ['a', 'b'], 'all': True, 'mixed': False, 'disabled': False, 'select_page': ['a', 'b'], 'clear_page': [], 'off_page': [], 'excluded': [], 'count': 2})
    check('disabled unselected', solve([{'id':'a'},{'id':'b'}], [], ['a','b'], ['b'], 'explicit', []), {'eligible': ['a'], 'checked': [], 'all': False, 'mixed': False, 'disabled': False, 'select_page': ['a'], 'clear_page': [], 'off_page': [], 'excluded': [], 'count': 0})

check('variant selected identity', solve([{'id':'a'},{'id':'b'+str(N)}], ['b'+str(N)], ['a','b'+str(N)], [], 'explicit', []), {'eligible':['a','b'+str(N)], 'checked':['b'+str(N)], 'all':False, 'mixed':True, 'disabled':False, 'select_page':['a','b'+str(N)], 'clear_page':[], 'off_page':[], 'excluded':[], 'count':1})
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 fixtureActualExpectedOutcome
partial page{'all': False, 'checked': ['a'], 'clear_page': ['c'], 'count': 2, 'disabled': False, 'eligible': ['a', 'b'], 'excluded': [], 'mixed': True, 'off_page': ['c'], 'select_page': ['a', 'b']}{'all': False, 'checked': ['a'], 'clear_page': ['c'], 'count': 2, 'disabled': False, 'eligible': ['a', 'b'], 'excluded': [], 'mixed': True, 'off_page': ['c'], 'select_page': ['a', 'b', 'c']}Failed
disabled row{'all': True, 'checked': ['a'], 'clear_page': ['b'], 'count': 2, 'disabled': False, 'eligible': ['a'], 'excluded': [], 'mixed': False, 'off_page': [], 'select_page': ['a']}{'all': True, 'checked': ['a'], 'clear_page': ['b'], 'count': 2, 'disabled': False, 'eligible': ['a'], 'excluded': [], 'mixed': False, 'off_page': [], 'select_page': ['a', 'b']}Failed
global mode{'all': False, 'checked': ['a'], 'clear_page': [], 'count': 2, 'disabled': False, 'eligible': ['a', 'b'], 'excluded': ['b'], 'mixed': True, 'off_page': [], 'select_page': ['a', 'b']}{'all': False, 'checked': ['a'], 'clear_page': [], 'count': 2, 'disabled': False, 'eligible': ['a', 'b'], 'excluded': ['b'], 'mixed': True, 'off_page': [], 'select_page': ['a', 'b']}Passed
empty page{'all': False, 'checked': [], 'clear_page': ['a'], 'count': 1, 'disabled': True, 'eligible': [], 'excluded': [], 'mixed': False, 'off_page': ['a'], 'select_page': []}{'all': False, 'checked': [], 'clear_page': ['a'], 'count': 1, 'disabled': True, 'eligible': [], 'excluded': [], 'mixed': False, 'off_page': ['a'], 'select_page': ['a']}Failed
none checked{'all': False, 'checked': [], 'clear_page': [], 'count': 0, 'disabled': False, 'eligible': ['a', 'b'], 'excluded': [], 'mixed': False, 'off_page': [], 'select_page': ['a', 'b']}{'all': False, 'checked': [], 'clear_page': [], 'count': 0, 'disabled': False, 'eligible': ['a', 'b'], 'excluded': [], 'mixed': False, 'off_page': [], 'select_page': ['a', 'b']}Passed
full checked{'all': True, 'checked': ['a', 'b'], 'clear_page': [], 'count': 2, 'disabled': False, 'eligible': ['a', 'b'], 'excluded': [], 'mixed': False, 'off_page': [], 'select_page': ['a', 'b']}{'all': True, 'checked': ['a', 'b'], 'clear_page': [], 'count': 2, 'disabled': False, 'eligible': ['a', 'b'], 'excluded': [], 'mixed': False, 'off_page': [], 'select_page': ['a', 'b']}Passed
disabled unselected{'all': False, 'checked': [], 'clear_page': [], 'count': 0, 'disabled': False, 'eligible': ['a'], 'excluded': [], 'mixed': False, 'off_page': [], 'select_page': ['a']}{'all': False, 'checked': [], 'clear_page': [], 'count': 0, 'disabled': False, 'eligible': ['a'], 'excluded': [], 'mixed': False, 'off_page': [], 'select_page': ['a']}Passed
variant selected identity{'all': False, 'checked': ['b1'], 'clear_page': [], 'count': 1, 'disabled': False, 'eligible': ['a', 'b1'], 'excluded': [], 'mixed': True, 'off_page': [], 'select_page': ['a', 'b1']}{'all': False, 'checked': ['b1'], 'clear_page': [], 'count': 1, 'disabled': False, 'eligible': ['a', 'b1'], 'excluded': [], 'mixed': True, 'off_page': [], 'select_page': ['a', 'b1']}Passed

SHA-256 / 21159178f27a43e600576ef1a02dafd017a6e3d4b61535b49c373513e5b661a9

2 / The unsuccessful fix

Exit 1
"""Failure Map reference implementation. Python standard library only."""
import json

N = 1
observations = []
def solve(rows, selected, page, disabled, mode, excluded):
    known={r['id'] for r in rows}
    eligible=[r['id'] for r in rows if r['id'] in page and r['id'] not in disabled]
    active=set(selected) & known
    checked=[r for r in eligible if (r not in excluded if mode=='all' else r in active)]
    return {'eligible':eligible,'checked':checked,'all':bool(eligible) and len(checked)==len(eligible),'mixed':0<len(checked)<len(eligible),'disabled':not eligible,'select_page':sorted(active|set(page)),'clear_page':sorted(active-set(eligible)),'off_page':sorted(active-set(page)),'excluded':sorted(set(excluded)&known),'count':len(known-set(excluded)) if mode=='all' else len(active)}
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
if N == 1:
    check('partial page', solve([{'id':'a'},{'id':'b'},{'id':'c'},{'id':'d'+str(1)}], ['a','c','stale'], ['a','b'], [], 'explicit', []), {'eligible': ['a', 'b'], 'checked': ['a'], 'all': False, 'mixed': True, 'disabled': False, 'select_page': ['a', 'b', 'c'], 'clear_page': ['c'], 'off_page': ['c'], 'excluded': [], 'count': 2})
    check('disabled row', solve([{'id':'a'},{'id':'b'}], ['a','b'], ['a','b'], ['b'], 'explicit', []), {'eligible': ['a'], 'checked': ['a'], 'all': True, 'mixed': False, 'disabled': False, 'select_page': ['a', 'b'], 'clear_page': ['b'], 'off_page': [], 'excluded': [], 'count': 2})
    check('global mode', solve([{'id':'a'},{'id':'b'},{'id':'c'}], [], ['a','b'], [], 'all', ['b','stale']), {'eligible': ['a', 'b'], 'checked': ['a'], 'all': False, 'mixed': True, 'disabled': False, 'select_page': ['a', 'b'], 'clear_page': [], 'off_page': [], 'excluded': ['b'], 'count': 2})
    check('empty page', solve([{'id':'a'}], ['a'], [], [], 'explicit', []), {'eligible': [], 'checked': [], 'all': False, 'mixed': False, 'disabled': True, 'select_page': ['a'], 'clear_page': ['a'], 'off_page': ['a'], 'excluded': [], 'count': 1})
    check('none checked', solve([{'id':'a'},{'id':'b'}], [], ['a','b'], [], 'explicit', []), {'eligible': ['a', 'b'], 'checked': [], 'all': False, 'mixed': False, 'disabled': False, 'select_page': ['a', 'b'], 'clear_page': [], 'off_page': [], 'excluded': [], 'count': 0})
    check('full checked', solve([{'id':'a'},{'id':'b'}], ['a','b'], ['a','b'], [], 'explicit', []), {'eligible': ['a', 'b'], 'checked': ['a', 'b'], 'all': True, 'mixed': False, 'disabled': False, 'select_page': ['a', 'b'], 'clear_page': [], 'off_page': [], 'excluded': [], 'count': 2})
    check('disabled unselected', solve([{'id':'a'},{'id':'b'}], [], ['a','b'], ['b'], 'explicit', []), {'eligible': ['a'], 'checked': [], 'all': False, 'mixed': False, 'disabled': False, 'select_page': ['a'], 'clear_page': [], 'off_page': [], 'excluded': [], 'count': 0})

if N == 2:
    check('partial page', solve([{'id':'a'},{'id':'b'},{'id':'c'},{'id':'d'+str(2)}], ['a','c','stale'], ['a','b'], [], 'explicit', []), {'eligible': ['a', 'b'], 'checked': ['a'], 'all': False, 'mixed': True, 'disabled': False, 'select_page': ['a', 'b', 'c'], 'clear_page': ['c'], 'off_page': ['c'], 'excluded': [], 'count': 2})
    check('disabled row', solve([{'id':'a'},{'id':'b'}], ['a','b'], ['a','b'], ['b'], 'explicit', []), {'eligible': ['a'], 'checked': ['a'], 'all': True, 'mixed': False, 'disabled': False, 'select_page': ['a', 'b'], 'clear_page': ['b'], 'off_page': [], 'excluded': [], 'count': 2})
    check('global mode', solve([{'id':'a'},{'id':'b'},{'id':'c'}], [], ['a','b'], [], 'all', ['b','stale']), {'eligible': ['a', 'b'], 'checked': ['a'], 'all': False, 'mixed': True, 'disabled': False, 'select_page': ['a', 'b'], 'clear_page': [], 'off_page': [], 'excluded': ['b'], 'count': 2})
    check('empty page', solve([{'id':'a'}], ['a'], [], [], 'explicit', []), {'eligible': [], 'checked': [], 'all': False, 'mixed': False, 'disabled': True, 'select_page': ['a'], 'clear_page': ['a'], 'off_page': ['a'], 'excluded': [], 'count': 1})
    check('none checked', solve([{'id':'a'},{'id':'b'}], [], ['a','b'], [], 'explicit', []), {'eligible': ['a', 'b'], 'checked': [], 'all': False, 'mixed': False, 'disabled': False, 'select_page': ['a', 'b'], 'clear_page': [], 'off_page': [], 'excluded': [], 'count': 0})
    check('full checked', solve([{'id':'a'},{'id':'b'}], ['a','b'], ['a','b'], [], 'explicit', []), {'eligible': ['a', 'b'], 'checked': ['a', 'b'], 'all': True, 'mixed': False, 'disabled': False, 'select_page': ['a', 'b'], 'clear_page': [], 'off_page': [], 'excluded': [], 'count': 2})
    check('disabled unselected', solve([{'id':'a'},{'id':'b'}], [], ['a','b'], ['b'], 'explicit', []), {'eligible': ['a'], 'checked': [], 'all': False, 'mixed': False, 'disabled': False, 'select_page': ['a'], 'clear_page': [], 'off_page': [], 'excluded': [], 'count': 0})

if N == 3:
    check('partial page', solve([{'id':'a'},{'id':'b'},{'id':'c'},{'id':'d'+str(3)}], ['a','c','stale'], ['a','b'], [], 'explicit', []), {'eligible': ['a', 'b'], 'checked': ['a'], 'all': False, 'mixed': True, 'disabled': False, 'select_page': ['a', 'b', 'c'], 'clear_page': ['c'], 'off_page': ['c'], 'excluded': [], 'count': 2})
    check('disabled row', solve([{'id':'a'},{'id':'b'}], ['a','b'], ['a','b'], ['b'], 'explicit', []), {'eligible': ['a'], 'checked': ['a'], 'all': True, 'mixed': False, 'disabled': False, 'select_page': ['a', 'b'], 'clear_page': ['b'], 'off_page': [], 'excluded': [], 'count': 2})
    check('global mode', solve([{'id':'a'},{'id':'b'},{'id':'c'}], [], ['a','b'], [], 'all', ['b','stale']), {'eligible': ['a', 'b'], 'checked': ['a'], 'all': False, 'mixed': True, 'disabled': False, 'select_page': ['a', 'b'], 'clear_page': [], 'off_page': [], 'excluded': ['b'], 'count': 2})
    check('empty page', solve([{'id':'a'}], ['a'], [], [], 'explicit', []), {'eligible': [], 'checked': [], 'all': False, 'mixed': False, 'disabled': True, 'select_page': ['a'], 'clear_page': ['a'], 'off_page': ['a'], 'excluded': [], 'count': 1})
    check('none checked', solve([{'id':'a'},{'id':'b'}], [], ['a','b'], [], 'explicit', []), {'eligible': ['a', 'b'], 'checked': [], 'all': False, 'mixed': False, 'disabled': False, 'select_page': ['a', 'b'], 'clear_page': [], 'off_page': [], 'excluded': [], 'count': 0})
    check('full checked', solve([{'id':'a'},{'id':'b'}], ['a','b'], ['a','b'], [], 'explicit', []), {'eligible': ['a', 'b'], 'checked': ['a', 'b'], 'all': True, 'mixed': False, 'disabled': False, 'select_page': ['a', 'b'], 'clear_page': [], 'off_page': [], 'excluded': [], 'count': 2})
    check('disabled unselected', solve([{'id':'a'},{'id':'b'}], [], ['a','b'], ['b'], 'explicit', []), {'eligible': ['a'], 'checked': [], 'all': False, 'mixed': False, 'disabled': False, 'select_page': ['a'], 'clear_page': [], 'off_page': [], 'excluded': [], 'count': 0})

if N == 4:
    check('partial page', solve([{'id':'a'},{'id':'b'},{'id':'c'},{'id':'d'+str(4)}], ['a','c','stale'], ['a','b'], [], 'explicit', []), {'eligible': ['a', 'b'], 'checked': ['a'], 'all': False, 'mixed': True, 'disabled': False, 'select_page': ['a', 'b', 'c'], 'clear_page': ['c'], 'off_page': ['c'], 'excluded': [], 'count': 2})
    check('disabled row', solve([{'id':'a'},{'id':'b'}], ['a','b'], ['a','b'], ['b'], 'explicit', []), {'eligible': ['a'], 'checked': ['a'], 'all': True, 'mixed': False, 'disabled': False, 'select_page': ['a', 'b'], 'clear_page': ['b'], 'off_page': [], 'excluded': [], 'count': 2})
    check('global mode', solve([{'id':'a'},{'id':'b'},{'id':'c'}], [], ['a','b'], [], 'all', ['b','stale']), {'eligible': ['a', 'b'], 'checked': ['a'], 'all': False, 'mixed': True, 'disabled': False, 'select_page': ['a', 'b'], 'clear_page': [], 'off_page': [], 'excluded': ['b'], 'count': 2})
    check('empty page', solve([{'id':'a'}], ['a'], [], [], 'explicit', []), {'eligible': [], 'checked': [], 'all': False, 'mixed': False, 'disabled': True, 'select_page': ['a'], 'clear_page': ['a'], 'off_page': ['a'], 'excluded': [], 'count': 1})
    check('none checked', solve([{'id':'a'},{'id':'b'}], [], ['a','b'], [], 'explicit', []), {'eligible': ['a', 'b'], 'checked': [], 'all': False, 'mixed': False, 'disabled': False, 'select_page': ['a', 'b'], 'clear_page': [], 'off_page': [], 'excluded': [], 'count': 0})
    check('full checked', solve([{'id':'a'},{'id':'b'}], ['a','b'], ['a','b'], [], 'explicit', []), {'eligible': ['a', 'b'], 'checked': ['a', 'b'], 'all': True, 'mixed': False, 'disabled': False, 'select_page': ['a', 'b'], 'clear_page': [], 'off_page': [], 'excluded': [], 'count': 2})
    check('disabled unselected', solve([{'id':'a'},{'id':'b'}], [], ['a','b'], ['b'], 'explicit', []), {'eligible': ['a'], 'checked': [], 'all': False, 'mixed': False, 'disabled': False, 'select_page': ['a'], 'clear_page': [], 'off_page': [], 'excluded': [], 'count': 0})

if N == 5:
    check('partial page', solve([{'id':'a'},{'id':'b'},{'id':'c'},{'id':'d'+str(5)}], ['a','c','stale'], ['a','b'], [], 'explicit', []), {'eligible': ['a', 'b'], 'checked': ['a'], 'all': False, 'mixed': True, 'disabled': False, 'select_page': ['a', 'b', 'c'], 'clear_page': ['c'], 'off_page': ['c'], 'excluded': [], 'count': 2})
    check('disabled row', solve([{'id':'a'},{'id':'b'}], ['a','b'], ['a','b'], ['b'], 'explicit', []), {'eligible': ['a'], 'checked': ['a'], 'all': True, 'mixed': False, 'disabled': False, 'select_page': ['a', 'b'], 'clear_page': ['b'], 'off_page': [], 'excluded': [], 'count': 2})
    check('global mode', solve([{'id':'a'},{'id':'b'},{'id':'c'}], [], ['a','b'], [], 'all', ['b','stale']), {'eligible': ['a', 'b'], 'checked': ['a'], 'all': False, 'mixed': True, 'disabled': False, 'select_page': ['a', 'b'], 'clear_page': [], 'off_page': [], 'excluded': ['b'], 'count': 2})
    check('empty page', solve([{'id':'a'}], ['a'], [], [], 'explicit', []), {'eligible': [], 'checked': [], 'all': False, 'mixed': False, 'disabled': True, 'select_page': ['a'], 'clear_page': ['a'], 'off_page': ['a'], 'excluded': [], 'count': 1})
    check('none checked', solve([{'id':'a'},{'id':'b'}], [], ['a','b'], [], 'explicit', []), {'eligible': ['a', 'b'], 'checked': [], 'all': False, 'mixed': False, 'disabled': False, 'select_page': ['a', 'b'], 'clear_page': [], 'off_page': [], 'excluded': [], 'count': 0})
    check('full checked', solve([{'id':'a'},{'id':'b'}], ['a','b'], ['a','b'], [], 'explicit', []), {'eligible': ['a', 'b'], 'checked': ['a', 'b'], 'all': True, 'mixed': False, 'disabled': False, 'select_page': ['a', 'b'], 'clear_page': [], 'off_page': [], 'excluded': [], 'count': 2})
    check('disabled unselected', solve([{'id':'a'},{'id':'b'}], [], ['a','b'], ['b'], 'explicit', []), {'eligible': ['a'], 'checked': [], 'all': False, 'mixed': False, 'disabled': False, 'select_page': ['a'], 'clear_page': [], 'off_page': [], 'excluded': [], 'count': 0})

check('variant selected identity', solve([{'id':'a'},{'id':'b'+str(N)}], ['b'+str(N)], ['a','b'+str(N)], [], 'explicit', []), {'eligible':['a','b'+str(N)], 'checked':['b'+str(N)], 'all':False, 'mixed':True, 'disabled':False, 'select_page':['a','b'+str(N)], 'clear_page':[], 'off_page':[], 'excluded':[], 'count':1})
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 fixtureActualExpectedOutcome
partial page{'all': False, 'checked': ['a'], 'clear_page': ['c'], 'count': 2, 'disabled': False, 'eligible': ['a', 'b'], 'excluded': [], 'mixed': True, 'off_page': ['c'], 'select_page': ['a', 'b', 'c']}{'all': False, 'checked': ['a'], 'clear_page': ['c'], 'count': 2, 'disabled': False, 'eligible': ['a', 'b'], 'excluded': [], 'mixed': True, 'off_page': ['c'], 'select_page': ['a', 'b', 'c']}Passed
disabled row{'all': True, 'checked': ['a'], 'clear_page': ['b'], 'count': 2, 'disabled': False, 'eligible': ['a'], 'excluded': [], 'mixed': False, 'off_page': [], 'select_page': ['a', 'b']}{'all': True, 'checked': ['a'], 'clear_page': ['b'], 'count': 2, 'disabled': False, 'eligible': ['a'], 'excluded': [], 'mixed': False, 'off_page': [], 'select_page': ['a', 'b']}Passed
global mode{'all': False, 'checked': ['a'], 'clear_page': [], 'count': 2, 'disabled': False, 'eligible': ['a', 'b'], 'excluded': ['b'], 'mixed': True, 'off_page': [], 'select_page': ['a', 'b']}{'all': False, 'checked': ['a'], 'clear_page': [], 'count': 2, 'disabled': False, 'eligible': ['a', 'b'], 'excluded': ['b'], 'mixed': True, 'off_page': [], 'select_page': ['a', 'b']}Passed
empty page{'all': False, 'checked': [], 'clear_page': ['a'], 'count': 1, 'disabled': True, 'eligible': [], 'excluded': [], 'mixed': False, 'off_page': ['a'], 'select_page': ['a']}{'all': False, 'checked': [], 'clear_page': ['a'], 'count': 1, 'disabled': True, 'eligible': [], 'excluded': [], 'mixed': False, 'off_page': ['a'], 'select_page': ['a']}Passed
none checked{'all': False, 'checked': [], 'clear_page': [], 'count': 0, 'disabled': False, 'eligible': ['a', 'b'], 'excluded': [], 'mixed': False, 'off_page': [], 'select_page': ['a', 'b']}{'all': False, 'checked': [], 'clear_page': [], 'count': 0, 'disabled': False, 'eligible': ['a', 'b'], 'excluded': [], 'mixed': False, 'off_page': [], 'select_page': ['a', 'b']}Passed
full checked{'all': True, 'checked': ['a', 'b'], 'clear_page': [], 'count': 2, 'disabled': False, 'eligible': ['a', 'b'], 'excluded': [], 'mixed': False, 'off_page': [], 'select_page': ['a', 'b']}{'all': True, 'checked': ['a', 'b'], 'clear_page': [], 'count': 2, 'disabled': False, 'eligible': ['a', 'b'], 'excluded': [], 'mixed': False, 'off_page': [], 'select_page': ['a', 'b']}Passed
disabled unselected{'all': False, 'checked': [], 'clear_page': [], 'count': 0, 'disabled': False, 'eligible': ['a'], 'excluded': [], 'mixed': False, 'off_page': [], 'select_page': ['a', 'b']}{'all': False, 'checked': [], 'clear_page': [], 'count': 0, 'disabled': False, 'eligible': ['a'], 'excluded': [], 'mixed': False, 'off_page': [], 'select_page': ['a']}Failed
variant selected identity{'all': False, 'checked': ['b1'], 'clear_page': [], 'count': 1, 'disabled': False, 'eligible': ['a', 'b1'], 'excluded': [], 'mixed': True, 'off_page': [], 'select_page': ['a', 'b1']}{'all': False, 'checked': ['b1'], 'clear_page': [], 'count': 1, 'disabled': False, 'eligible': ['a', 'b1'], 'excluded': [], 'mixed': True, 'off_page': [], 'select_page': ['a', 'b1']}Passed

SHA-256 / 6f93f962d1fb36299676f0e678c96b9cff87f956ce033668f6f45ad99e05e585

3 / The verified repair

Exit 0
"""Failure Map reference implementation. Python standard library only."""
import json

N = 1
observations = []
def solve(rows, selected, page, disabled, mode, excluded):
    known={r['id'] for r in rows}
    eligible=[r['id'] for r in rows if r['id'] in page and r['id'] not in disabled]
    active=set(selected) & known
    checked=[r for r in eligible if (r not in excluded if mode=='all' else r in active)]
    return {'eligible':eligible,'checked':checked,'all':bool(eligible) and len(checked)==len(eligible),'mixed':0<len(checked)<len(eligible),'disabled':not eligible,'select_page':sorted(active|set(eligible)),'clear_page':sorted(active-set(eligible)),'off_page':sorted(active-set(page)),'excluded':sorted(set(excluded)&known),'count':len(known-set(excluded)) if mode=='all' else len(active)}
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
if N == 1:
    check('partial page', solve([{'id':'a'},{'id':'b'},{'id':'c'},{'id':'d'+str(1)}], ['a','c','stale'], ['a','b'], [], 'explicit', []), {'eligible': ['a', 'b'], 'checked': ['a'], 'all': False, 'mixed': True, 'disabled': False, 'select_page': ['a', 'b', 'c'], 'clear_page': ['c'], 'off_page': ['c'], 'excluded': [], 'count': 2})
    check('disabled row', solve([{'id':'a'},{'id':'b'}], ['a','b'], ['a','b'], ['b'], 'explicit', []), {'eligible': ['a'], 'checked': ['a'], 'all': True, 'mixed': False, 'disabled': False, 'select_page': ['a', 'b'], 'clear_page': ['b'], 'off_page': [], 'excluded': [], 'count': 2})
    check('global mode', solve([{'id':'a'},{'id':'b'},{'id':'c'}], [], ['a','b'], [], 'all', ['b','stale']), {'eligible': ['a', 'b'], 'checked': ['a'], 'all': False, 'mixed': True, 'disabled': False, 'select_page': ['a', 'b'], 'clear_page': [], 'off_page': [], 'excluded': ['b'], 'count': 2})
    check('empty page', solve([{'id':'a'}], ['a'], [], [], 'explicit', []), {'eligible': [], 'checked': [], 'all': False, 'mixed': False, 'disabled': True, 'select_page': ['a'], 'clear_page': ['a'], 'off_page': ['a'], 'excluded': [], 'count': 1})
    check('none checked', solve([{'id':'a'},{'id':'b'}], [], ['a','b'], [], 'explicit', []), {'eligible': ['a', 'b'], 'checked': [], 'all': False, 'mixed': False, 'disabled': False, 'select_page': ['a', 'b'], 'clear_page': [], 'off_page': [], 'excluded': [], 'count': 0})
    check('full checked', solve([{'id':'a'},{'id':'b'}], ['a','b'], ['a','b'], [], 'explicit', []), {'eligible': ['a', 'b'], 'checked': ['a', 'b'], 'all': True, 'mixed': False, 'disabled': False, 'select_page': ['a', 'b'], 'clear_page': [], 'off_page': [], 'excluded': [], 'count': 2})
    check('disabled unselected', solve([{'id':'a'},{'id':'b'}], [], ['a','b'], ['b'], 'explicit', []), {'eligible': ['a'], 'checked': [], 'all': False, 'mixed': False, 'disabled': False, 'select_page': ['a'], 'clear_page': [], 'off_page': [], 'excluded': [], 'count': 0})

if N == 2:
    check('partial page', solve([{'id':'a'},{'id':'b'},{'id':'c'},{'id':'d'+str(2)}], ['a','c','stale'], ['a','b'], [], 'explicit', []), {'eligible': ['a', 'b'], 'checked': ['a'], 'all': False, 'mixed': True, 'disabled': False, 'select_page': ['a', 'b', 'c'], 'clear_page': ['c'], 'off_page': ['c'], 'excluded': [], 'count': 2})
    check('disabled row', solve([{'id':'a'},{'id':'b'}], ['a','b'], ['a','b'], ['b'], 'explicit', []), {'eligible': ['a'], 'checked': ['a'], 'all': True, 'mixed': False, 'disabled': False, 'select_page': ['a', 'b'], 'clear_page': ['b'], 'off_page': [], 'excluded': [], 'count': 2})
    check('global mode', solve([{'id':'a'},{'id':'b'},{'id':'c'}], [], ['a','b'], [], 'all', ['b','stale']), {'eligible': ['a', 'b'], 'checked': ['a'], 'all': False, 'mixed': True, 'disabled': False, 'select_page': ['a', 'b'], 'clear_page': [], 'off_page': [], 'excluded': ['b'], 'count': 2})
    check('empty page', solve([{'id':'a'}], ['a'], [], [], 'explicit', []), {'eligible': [], 'checked': [], 'all': False, 'mixed': False, 'disabled': True, 'select_page': ['a'], 'clear_page': ['a'], 'off_page': ['a'], 'excluded': [], 'count': 1})
    check('none checked', solve([{'id':'a'},{'id':'b'}], [], ['a','b'], [], 'explicit', []), {'eligible': ['a', 'b'], 'checked': [], 'all': False, 'mixed': False, 'disabled': False, 'select_page': ['a', 'b'], 'clear_page': [], 'off_page': [], 'excluded': [], 'count': 0})
    check('full checked', solve([{'id':'a'},{'id':'b'}], ['a','b'], ['a','b'], [], 'explicit', []), {'eligible': ['a', 'b'], 'checked': ['a', 'b'], 'all': True, 'mixed': False, 'disabled': False, 'select_page': ['a', 'b'], 'clear_page': [], 'off_page': [], 'excluded': [], 'count': 2})
    check('disabled unselected', solve([{'id':'a'},{'id':'b'}], [], ['a','b'], ['b'], 'explicit', []), {'eligible': ['a'], 'checked': [], 'all': False, 'mixed': False, 'disabled': False, 'select_page': ['a'], 'clear_page': [], 'off_page': [], 'excluded': [], 'count': 0})

if N == 3:
    check('partial page', solve([{'id':'a'},{'id':'b'},{'id':'c'},{'id':'d'+str(3)}], ['a','c','stale'], ['a','b'], [], 'explicit', []), {'eligible': ['a', 'b'], 'checked': ['a'], 'all': False, 'mixed': True, 'disabled': False, 'select_page': ['a', 'b', 'c'], 'clear_page': ['c'], 'off_page': ['c'], 'excluded': [], 'count': 2})
    check('disabled row', solve([{'id':'a'},{'id':'b'}], ['a','b'], ['a','b'], ['b'], 'explicit', []), {'eligible': ['a'], 'checked': ['a'], 'all': True, 'mixed': False, 'disabled': False, 'select_page': ['a', 'b'], 'clear_page': ['b'], 'off_page': [], 'excluded': [], 'count': 2})
    check('global mode', solve([{'id':'a'},{'id':'b'},{'id':'c'}], [], ['a','b'], [], 'all', ['b','stale']), {'eligible': ['a', 'b'], 'checked': ['a'], 'all': False, 'mixed': True, 'disabled': False, 'select_page': ['a', 'b'], 'clear_page': [], 'off_page': [], 'excluded': ['b'], 'count': 2})
    check('empty page', solve([{'id':'a'}], ['a'], [], [], 'explicit', []), {'eligible': [], 'checked': [], 'all': False, 'mixed': False, 'disabled': True, 'select_page': ['a'], 'clear_page': ['a'], 'off_page': ['a'], 'excluded': [], 'count': 1})
    check('none checked', solve([{'id':'a'},{'id':'b'}], [], ['a','b'], [], 'explicit', []), {'eligible': ['a', 'b'], 'checked': [], 'all': False, 'mixed': False, 'disabled': False, 'select_page': ['a', 'b'], 'clear_page': [], 'off_page': [], 'excluded': [], 'count': 0})
    check('full checked', solve([{'id':'a'},{'id':'b'}], ['a','b'], ['a','b'], [], 'explicit', []), {'eligible': ['a', 'b'], 'checked': ['a', 'b'], 'all': True, 'mixed': False, 'disabled': False, 'select_page': ['a', 'b'], 'clear_page': [], 'off_page': [], 'excluded': [], 'count': 2})
    check('disabled unselected', solve([{'id':'a'},{'id':'b'}], [], ['a','b'], ['b'], 'explicit', []), {'eligible': ['a'], 'checked': [], 'all': False, 'mixed': False, 'disabled': False, 'select_page': ['a'], 'clear_page': [], 'off_page': [], 'excluded': [], 'count': 0})

if N == 4:
    check('partial page', solve([{'id':'a'},{'id':'b'},{'id':'c'},{'id':'d'+str(4)}], ['a','c','stale'], ['a','b'], [], 'explicit', []), {'eligible': ['a', 'b'], 'checked': ['a'], 'all': False, 'mixed': True, 'disabled': False, 'select_page': ['a', 'b', 'c'], 'clear_page': ['c'], 'off_page': ['c'], 'excluded': [], 'count': 2})
    check('disabled row', solve([{'id':'a'},{'id':'b'}], ['a','b'], ['a','b'], ['b'], 'explicit', []), {'eligible': ['a'], 'checked': ['a'], 'all': True, 'mixed': False, 'disabled': False, 'select_page': ['a', 'b'], 'clear_page': ['b'], 'off_page': [], 'excluded': [], 'count': 2})
    check('global mode', solve([{'id':'a'},{'id':'b'},{'id':'c'}], [], ['a','b'], [], 'all', ['b','stale']), {'eligible': ['a', 'b'], 'checked': ['a'], 'all': False, 'mixed': True, 'disabled': False, 'select_page': ['a', 'b'], 'clear_page': [], 'off_page': [], 'excluded': ['b'], 'count': 2})
    check('empty page', solve([{'id':'a'}], ['a'], [], [], 'explicit', []), {'eligible': [], 'checked': [], 'all': False, 'mixed': False, 'disabled': True, 'select_page': ['a'], 'clear_page': ['a'], 'off_page': ['a'], 'excluded': [], 'count': 1})
    check('none checked', solve([{'id':'a'},{'id':'b'}], [], ['a','b'], [], 'explicit', []), {'eligible': ['a', 'b'], 'checked': [], 'all': False, 'mixed': False, 'disabled': False, 'select_page': ['a', 'b'], 'clear_page': [], 'off_page': [], 'excluded': [], 'count': 0})
    check('full checked', solve([{'id':'a'},{'id':'b'}], ['a','b'], ['a','b'], [], 'explicit', []), {'eligible': ['a', 'b'], 'checked': ['a', 'b'], 'all': True, 'mixed': False, 'disabled': False, 'select_page': ['a', 'b'], 'clear_page': [], 'off_page': [], 'excluded': [], 'count': 2})
    check('disabled unselected', solve([{'id':'a'},{'id':'b'}], [], ['a','b'], ['b'], 'explicit', []), {'eligible': ['a'], 'checked': [], 'all': False, 'mixed': False, 'disabled': False, 'select_page': ['a'], 'clear_page': [], 'off_page': [], 'excluded': [], 'count': 0})

if N == 5:
    check('partial page', solve([{'id':'a'},{'id':'b'},{'id':'c'},{'id':'d'+str(5)}], ['a','c','stale'], ['a','b'], [], 'explicit', []), {'eligible': ['a', 'b'], 'checked': ['a'], 'all': False, 'mixed': True, 'disabled': False, 'select_page': ['a', 'b', 'c'], 'clear_page': ['c'], 'off_page': ['c'], 'excluded': [], 'count': 2})
    check('disabled row', solve([{'id':'a'},{'id':'b'}], ['a','b'], ['a','b'], ['b'], 'explicit', []), {'eligible': ['a'], 'checked': ['a'], 'all': True, 'mixed': False, 'disabled': False, 'select_page': ['a', 'b'], 'clear_page': ['b'], 'off_page': [], 'excluded': [], 'count': 2})
    check('global mode', solve([{'id':'a'},{'id':'b'},{'id':'c'}], [], ['a','b'], [], 'all', ['b','stale']), {'eligible': ['a', 'b'], 'checked': ['a'], 'all': False, 'mixed': True, 'disabled': False, 'select_page': ['a', 'b'], 'clear_page': [], 'off_page': [], 'excluded': ['b'], 'count': 2})
    check('empty page', solve([{'id':'a'}], ['a'], [], [], 'explicit', []), {'eligible': [], 'checked': [], 'all': False, 'mixed': False, 'disabled': True, 'select_page': ['a'], 'clear_page': ['a'], 'off_page': ['a'], 'excluded': [], 'count': 1})
    check('none checked', solve([{'id':'a'},{'id':'b'}], [], ['a','b'], [], 'explicit', []), {'eligible': ['a', 'b'], 'checked': [], 'all': False, 'mixed': False, 'disabled': False, 'select_page': ['a', 'b'], 'clear_page': [], 'off_page': [], 'excluded': [], 'count': 0})
    check('full checked', solve([{'id':'a'},{'id':'b'}], ['a','b'], ['a','b'], [], 'explicit', []), {'eligible': ['a', 'b'], 'checked': ['a', 'b'], 'all': True, 'mixed': False, 'disabled': False, 'select_page': ['a', 'b'], 'clear_page': [], 'off_page': [], 'excluded': [], 'count': 2})
    check('disabled unselected', solve([{'id':'a'},{'id':'b'}], [], ['a','b'], ['b'], 'explicit', []), {'eligible': ['a'], 'checked': [], 'all': False, 'mixed': False, 'disabled': False, 'select_page': ['a'], 'clear_page': [], 'off_page': [], 'excluded': [], 'count': 0})

check('variant selected identity', solve([{'id':'a'},{'id':'b'+str(N)}], ['b'+str(N)], ['a','b'+str(N)], [], 'explicit', []), {'eligible':['a','b'+str(N)], 'checked':['b'+str(N)], 'all':False, 'mixed':True, 'disabled':False, 'select_page':['a','b'+str(N)], 'clear_page':[], 'off_page':[], 'excluded':[], 'count':1})
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 fixtureActualExpectedOutcome
partial page{'all': False, 'checked': ['a'], 'clear_page': ['c'], 'count': 2, 'disabled': False, 'eligible': ['a', 'b'], 'excluded': [], 'mixed': True, 'off_page': ['c'], 'select_page': ['a', 'b', 'c']}{'all': False, 'checked': ['a'], 'clear_page': ['c'], 'count': 2, 'disabled': False, 'eligible': ['a', 'b'], 'excluded': [], 'mixed': True, 'off_page': ['c'], 'select_page': ['a', 'b', 'c']}Passed
disabled row{'all': True, 'checked': ['a'], 'clear_page': ['b'], 'count': 2, 'disabled': False, 'eligible': ['a'], 'excluded': [], 'mixed': False, 'off_page': [], 'select_page': ['a', 'b']}{'all': True, 'checked': ['a'], 'clear_page': ['b'], 'count': 2, 'disabled': False, 'eligible': ['a'], 'excluded': [], 'mixed': False, 'off_page': [], 'select_page': ['a', 'b']}Passed
global mode{'all': False, 'checked': ['a'], 'clear_page': [], 'count': 2, 'disabled': False, 'eligible': ['a', 'b'], 'excluded': ['b'], 'mixed': True, 'off_page': [], 'select_page': ['a', 'b']}{'all': False, 'checked': ['a'], 'clear_page': [], 'count': 2, 'disabled': False, 'eligible': ['a', 'b'], 'excluded': ['b'], 'mixed': True, 'off_page': [], 'select_page': ['a', 'b']}Passed
empty page{'all': False, 'checked': [], 'clear_page': ['a'], 'count': 1, 'disabled': True, 'eligible': [], 'excluded': [], 'mixed': False, 'off_page': ['a'], 'select_page': ['a']}{'all': False, 'checked': [], 'clear_page': ['a'], 'count': 1, 'disabled': True, 'eligible': [], 'excluded': [], 'mixed': False, 'off_page': ['a'], 'select_page': ['a']}Passed
none checked{'all': False, 'checked': [], 'clear_page': [], 'count': 0, 'disabled': False, 'eligible': ['a', 'b'], 'excluded': [], 'mixed': False, 'off_page': [], 'select_page': ['a', 'b']}{'all': False, 'checked': [], 'clear_page': [], 'count': 0, 'disabled': False, 'eligible': ['a', 'b'], 'excluded': [], 'mixed': False, 'off_page': [], 'select_page': ['a', 'b']}Passed
full checked{'all': True, 'checked': ['a', 'b'], 'clear_page': [], 'count': 2, 'disabled': False, 'eligible': ['a', 'b'], 'excluded': [], 'mixed': False, 'off_page': [], 'select_page': ['a', 'b']}{'all': True, 'checked': ['a', 'b'], 'clear_page': [], 'count': 2, 'disabled': False, 'eligible': ['a', 'b'], 'excluded': [], 'mixed': False, 'off_page': [], 'select_page': ['a', 'b']}Passed
disabled unselected{'all': False, 'checked': [], 'clear_page': [], 'count': 0, 'disabled': False, 'eligible': ['a'], 'excluded': [], 'mixed': False, 'off_page': [], 'select_page': ['a']}{'all': False, 'checked': [], 'clear_page': [], 'count': 0, 'disabled': False, 'eligible': ['a'], 'excluded': [], 'mixed': False, 'off_page': [], 'select_page': ['a']}Passed
variant selected identity{'all': False, 'checked': ['b1'], 'clear_page': [], 'count': 1, 'disabled': False, 'eligible': ['a', 'b1'], 'excluded': [], 'mixed': True, 'off_page': [], 'select_page': ['a', 'b1']}{'all': False, 'checked': ['b1'], 'clear_page': [], 'count': 1, 'disabled': False, 'eligible': ['a', 'b1'], 'excluded': [], 'mixed': True, 'off_page': [], 'select_page': ['a', 'b1']}Passed

SHA-256 / 0276e93fa0b918ed3f638271b2095cae3fac3050ab81bdae37b38e3c3df67b1f

Verification & scope

Loaded row IDs are unique; selection/exclusion lists contain stable scalar IDs. 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:42:57.651886+00:00.

Case digest / 0d77c8a362507de2a622df6d538b5bc532244f7d7a94b6ba2adc363cc2dbe444