FAILURE MAP
← Case archive

FA-39566 / Tree accessibility / Open access

Expanded tree viewport anchor stabilization: Anchor offset sign or fractional precision is lost · case 01

Anchor offset sign or fractional precision is lost produces the wrong hierarchical widget state in a regression fixture.

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

ROOT CAUSE

The viewport-anchor contract is violated at `requested=position+max(0,inside)` by replacing it with `requested=position-max(0,inside)`.

THE FAILURE

The viewport-anchor contract is violated at `requested=position+max(0,inside)` by replacing it with `requested=position-max(0,inside)`.

Unsuccessful approach: The partial repair `requested=position+int(max(0,inside))` still violates a boundary or preservation case.

Case contract

After branch expansion changes row heights/order, preserve the first visible surviving anchor and its pixel offset. If that row is removed, use the next surviving old row, then previous row. Clamp scroll to content extent, include fractional row offsets, and keep active-row identity independent from viewport anchoring.

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):
    old=d['old']; new=d['new']
    index=old.index(d['anchor']) if d['anchor'] in old else 0
    candidates=[d['anchor']]+old[index+1:]+list(reversed(old[:index]))
    anchor=next((x for x in candidates if x in new),(new[0] if new else None))
    position=sum(d['heights'][x] for x in new[:new.index(anchor)]) if anchor is not None else 0
    inside=min(d['offset'],d['heights'][anchor]-1) if anchor==d['anchor'] else 0
    requested=position-max(0,inside)
    content=sum(d['heights'][x] for x in new)
    scroll=max(0,min(requested,content-d['viewport']))
    active=d['active']
    return [anchor,scroll,content,active]
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
cases = {1: [('insert before anchor', {'old': ['r', 'a', 'b', 'c', 'z'], 'new': ['r', 'x', 'a', 'b', 'c', 'z'], 'anchor': 'b', 'heights': {'r': 10, 'a': 20, 'b': 16, 'c': 11, 'z': 12, 'x': 31, 'q': 5}, 'offset': 3.5, 'viewport': 20, 'active': 'a'}, ['b', 64.5, 100, 'a']), ('deleted anchor', {'old': ['r', 'a', 'b', 'c', 'z'], 'new': ['r', 'a', 'c', 'z'], 'anchor': 'b', 'heights': {'r': 10, 'a': 20, 'b': 16, 'c': 11, 'z': 12, 'x': 31, 'q': 5}, 'offset': 3.5, 'viewport': 20, 'active': 'a'}, ['c', 30, 53, 'a']), ('previous fallback', {'old': ['r', 'a', 'b', 'c', 'z'], 'new': ['r', 'a'], 'anchor': 'b', 'heights': {'r': 10, 'a': 20, 'b': 16, 'c': 11, 'z': 12, 'x': 31, 'q': 5}, 'offset': 3.5, 'viewport': 20, 'active': 'a'}, ['a', 10, 30, 'a']), ('new-only tree', {'old': ['r', 'a', 'b', 'c', 'z'], 'new': ['q'], 'anchor': 'b', 'heights': {'r': 10, 'a': 20, 'b': 16, 'c': 11, 'z': 12, 'x': 31, 'q': 5}, 'offset': 3.5, 'viewport': 20, 'active': 'a'}, ['q', 0, 5, 'a']), ('empty tree', {'old': ['r', 'a', 'b', 'c', 'z'], 'new': [], 'anchor': 'b', 'heights': {'r': 10, 'a': 20, 'b': 16, 'c': 11, 'z': 12, 'x': 31, 'q': 5}, 'offset': 3.5, 'viewport': 20, 'active': 'a'}, [None, 0, 0, 'a']), ('bottom clamp', {'old': ['r', 'a', 'b', 'c', 'z'], 'new': ['r', 'x', 'a', 'b', 'c', 'z'], 'anchor': 'b', 'heights': {'r': 10, 'a': 20, 'b': 16, 'c': 11, 'z': 12, 'x': 31, 'q': 5}, 'offset': 3.5, 'viewport': 60, 'active': 'a'}, ['b', 40, 100, 'a']), ('oversized offset', {'old': ['r', 'a', 'b', 'c', 'z'], 'new': ['r', 'x', 'a', 'b', 'c', 'z'], 'anchor': 'b', 'heights': {'r': 10, 'a': 20, 'b': 16, 'c': 11, 'z': 12, 'x': 31, 'q': 5}, 'offset': 100, 'viewport': 20, 'active': 'a'}, ['b', 76, 100, 'a']), ('reordered', {'old': ['r', 'a', 'b', 'c', 'z'], 'new': ['z', 'c', 'b', 'a', 'r'], 'anchor': 'b', 'heights': {'r': 10, 'a': 20, 'b': 16, 'c': 11, 'z': 12, 'x': 31, 'q': 5}, 'offset': 3.5, 'viewport': 20, 'active': 'a'}, ['b', 26.5, 69, 'a'])], 2: [('insert before anchor', {'old': ['r', 'a', 'b', 'c', 'z'], 'new': ['r', 'x', 'a', 'b', 'c', 'z'], 'anchor': 'b', 'heights': {'r': 10, 'a': 20, 'b': 17, 'c': 11, 'z': 12, 'x': 32, 'q': 5}, 'offset': 3.5, 'viewport': 20, 'active': 'a'}, ['b', 65.5, 102, 'a']), ('deleted anchor', {'old': ['r', 'a', 'b', 'c', 'z'], 'new': ['r', 'a', 'c', 'z'], 'anchor': 'b', 'heights': {'r': 10, 'a': 20, 'b': 17, 'c': 11, 'z': 12, 'x': 32, 'q': 5}, 'offset': 3.5, 'viewport': 20, 'active': 'a'}, ['c', 30, 53, 'a']), ('previous fallback', {'old': ['r', 'a', 'b', 'c', 'z'], 'new': ['r', 'a'], 'anchor': 'b', 'heights': {'r': 10, 'a': 20, 'b': 17, 'c': 11, 'z': 12, 'x': 32, 'q': 5}, 'offset': 3.5, 'viewport': 20, 'active': 'a'}, ['a', 10, 30, 'a']), ('new-only tree', {'old': ['r', 'a', 'b', 'c', 'z'], 'new': ['q'], 'anchor': 'b', 'heights': {'r': 10, 'a': 20, 'b': 17, 'c': 11, 'z': 12, 'x': 32, 'q': 5}, 'offset': 3.5, 'viewport': 20, 'active': 'a'}, ['q', 0, 5, 'a']), ('empty tree', {'old': ['r', 'a', 'b', 'c', 'z'], 'new': [], 'anchor': 'b', 'heights': {'r': 10, 'a': 20, 'b': 17, 'c': 11, 'z': 12, 'x': 32, 'q': 5}, 'offset': 3.5, 'viewport': 20, 'active': 'a'}, [None, 0, 0, 'a']), ('bottom clamp', {'old': ['r', 'a', 'b', 'c', 'z'], 'new': ['r', 'x', 'a', 'b', 'c', 'z'], 'anchor': 'b', 'heights': {'r': 10, 'a': 20, 'b': 17, 'c': 11, 'z': 12, 'x': 32, 'q': 5}, 'offset': 3.5, 'viewport': 60, 'active': 'a'}, ['b', 42, 102, 'a']), ('oversized offset', {'old': ['r', 'a', 'b', 'c', 'z'], 'new': ['r', 'x', 'a', 'b', 'c', 'z'], 'anchor': 'b', 'heights': {'r': 10, 'a': 20, 'b': 17, 'c': 11, 'z': 12, 'x': 32, 'q': 5}, 'offset': 100, 'viewport': 20, 'active': 'a'}, ['b', 78, 102, 'a']), ('reordered', {'old': ['r', 'a', 'b', 'c', 'z'], 'new': ['z', 'c', 'b', 'a', 'r'], 'anchor': 'b', 'heights': {'r': 10, 'a': 20, 'b': 17, 'c': 11, 'z': 12, 'x': 32, 'q': 5}, 'offset': 3.5, 'viewport': 20, 'active': 'a'}, ['b', 26.5, 70, 'a'])], 3: [('insert before anchor', {'old': ['r', 'a', 'b', 'c', 'z'], 'new': ['r', 'x', 'a', 'b', 'c', 'z'], 'anchor': 'b', 'heights': {'r': 10, 'a': 20, 'b': 18, 'c': 11, 'z': 12, 'x': 33, 'q': 5}, 'offset': 3.5, 'viewport': 20, 'active': 'a'}, ['b', 66.5, 104, 'a']), ('deleted anchor', {'old': ['r', 'a', 'b', 'c', 'z'], 'new': ['r', 'a', 'c', 'z'], 'anchor': 'b', 'heights': {'r': 10, 'a': 20, 'b': 18, 'c': 11, 'z': 12, 'x': 33, 'q': 5}, 'offset': 3.5, 'viewport': 20, 'active': 'a'}, ['c', 30, 53, 'a']), ('previous fallback', {'old': ['r', 'a', 'b', 'c', 'z'], 'new': ['r', 'a'], 'anchor': 'b', 'heights': {'r': 10, 'a': 20, 'b': 18, 'c': 11, 'z': 12, 'x': 33, 'q': 5}, 'offset': 3.5, 'viewport': 20, 'active': 'a'}, ['a', 10, 30, 'a']), ('new-only tree', {'old': ['r', 'a', 'b', 'c', 'z'], 'new': ['q'], 'anchor': 'b', 'heights': {'r': 10, 'a': 20, 'b': 18, 'c': 11, 'z': 12, 'x': 33, 'q': 5}, 'offset': 3.5, 'viewport': 20, 'active': 'a'}, ['q', 0, 5, 'a']), ('empty tree', {'old': ['r', 'a', 'b', 'c', 'z'], 'new': [], 'anchor': 'b', 'heights': {'r': 10, 'a': 20, 'b': 18, 'c': 11, 'z': 12, 'x': 33, 'q': 5}, 'offset': 3.5, 'viewport': 20, 'active': 'a'}, [None, 0, 0, 'a']), ('bottom clamp', {'old': ['r', 'a', 'b', 'c', 'z'], 'new': ['r', 'x', 'a', 'b', 'c', 'z'], 'anchor': 'b', 'heights': {'r': 10, 'a': 20, 'b': 18, 'c': 11, 'z': 12, 'x': 33, 'q': 5}, 'offset': 3.5, 'viewport': 60, 'active': 'a'}, ['b', 44, 104, 'a']), ('oversized offset', {'old': ['r', 'a', 'b', 'c', 'z'], 'new': ['r', 'x', 'a', 'b', 'c', 'z'], 'anchor': 'b', 'heights': {'r': 10, 'a': 20, 'b': 18, 'c': 11, 'z': 12, 'x': 33, 'q': 5}, 'offset': 100, 'viewport': 20, 'active': 'a'}, ['b', 80, 104, 'a']), ('reordered', {'old': ['r', 'a', 'b', 'c', 'z'], 'new': ['z', 'c', 'b', 'a', 'r'], 'anchor': 'b', 'heights': {'r': 10, 'a': 20, 'b': 18, 'c': 11, 'z': 12, 'x': 33, 'q': 5}, 'offset': 3.5, 'viewport': 20, 'active': 'a'}, ['b', 26.5, 71, 'a'])], 4: [('insert before anchor', {'old': ['r', 'a', 'b', 'c', 'z'], 'new': ['r', 'x', 'a', 'b', 'c', 'z'], 'anchor': 'b', 'heights': {'r': 10, 'a': 20, 'b': 19, 'c': 11, 'z': 12, 'x': 34, 'q': 5}, 'offset': 3.5, 'viewport': 20, 'active': 'a'}, ['b', 67.5, 106, 'a']), ('deleted anchor', {'old': ['r', 'a', 'b', 'c', 'z'], 'new': ['r', 'a', 'c', 'z'], 'anchor': 'b', 'heights': {'r': 10, 'a': 20, 'b': 19, 'c': 11, 'z': 12, 'x': 34, 'q': 5}, 'offset': 3.5, 'viewport': 20, 'active': 'a'}, ['c', 30, 53, 'a']), ('previous fallback', {'old': ['r', 'a', 'b', 'c', 'z'], 'new': ['r', 'a'], 'anchor': 'b', 'heights': {'r': 10, 'a': 20, 'b': 19, 'c': 11, 'z': 12, 'x': 34, 'q': 5}, 'offset': 3.5, 'viewport': 20, 'active': 'a'}, ['a', 10, 30, 'a']), ('new-only tree', {'old': ['r', 'a', 'b', 'c', 'z'], 'new': ['q'], 'anchor': 'b', 'heights': {'r': 10, 'a': 20, 'b': 19, 'c': 11, 'z': 12, 'x': 34, 'q': 5}, 'offset': 3.5, 'viewport': 20, 'active': 'a'}, ['q', 0, 5, 'a']), ('empty tree', {'old': ['r', 'a', 'b', 'c', 'z'], 'new': [], 'anchor': 'b', 'heights': {'r': 10, 'a': 20, 'b': 19, 'c': 11, 'z': 12, 'x': 34, 'q': 5}, 'offset': 3.5, 'viewport': 20, 'active': 'a'}, [None, 0, 0, 'a']), ('bottom clamp', {'old': ['r', 'a', 'b', 'c', 'z'], 'new': ['r', 'x', 'a', 'b', 'c', 'z'], 'anchor': 'b', 'heights': {'r': 10, 'a': 20, 'b': 19, 'c': 11, 'z': 12, 'x': 34, 'q': 5}, 'offset': 3.5, 'viewport': 60, 'active': 'a'}, ['b', 46, 106, 'a']), ('oversized offset', {'old': ['r', 'a', 'b', 'c', 'z'], 'new': ['r', 'x', 'a', 'b', 'c', 'z'], 'anchor': 'b', 'heights': {'r': 10, 'a': 20, 'b': 19, 'c': 11, 'z': 12, 'x': 34, 'q': 5}, 'offset': 100, 'viewport': 20, 'active': 'a'}, ['b', 82, 106, 'a']), ('reordered', {'old': ['r', 'a', 'b', 'c', 'z'], 'new': ['z', 'c', 'b', 'a', 'r'], 'anchor': 'b', 'heights': {'r': 10, 'a': 20, 'b': 19, 'c': 11, 'z': 12, 'x': 34, 'q': 5}, 'offset': 3.5, 'viewport': 20, 'active': 'a'}, ['b', 26.5, 72, 'a'])], 5: [('insert before anchor', {'old': ['r', 'a', 'b', 'c', 'z'], 'new': ['r', 'x', 'a', 'b', 'c', 'z'], 'anchor': 'b', 'heights': {'r': 10, 'a': 20, 'b': 20, 'c': 11, 'z': 12, 'x': 35, 'q': 5}, 'offset': 3.5, 'viewport': 20, 'active': 'a'}, ['b', 68.5, 108, 'a']), ('deleted anchor', {'old': ['r', 'a', 'b', 'c', 'z'], 'new': ['r', 'a', 'c', 'z'], 'anchor': 'b', 'heights': {'r': 10, 'a': 20, 'b': 20, 'c': 11, 'z': 12, 'x': 35, 'q': 5}, 'offset': 3.5, 'viewport': 20, 'active': 'a'}, ['c', 30, 53, 'a']), ('previous fallback', {'old': ['r', 'a', 'b', 'c', 'z'], 'new': ['r', 'a'], 'anchor': 'b', 'heights': {'r': 10, 'a': 20, 'b': 20, 'c': 11, 'z': 12, 'x': 35, 'q': 5}, 'offset': 3.5, 'viewport': 20, 'active': 'a'}, ['a', 10, 30, 'a']), ('new-only tree', {'old': ['r', 'a', 'b', 'c', 'z'], 'new': ['q'], 'anchor': 'b', 'heights': {'r': 10, 'a': 20, 'b': 20, 'c': 11, 'z': 12, 'x': 35, 'q': 5}, 'offset': 3.5, 'viewport': 20, 'active': 'a'}, ['q', 0, 5, 'a']), ('empty tree', {'old': ['r', 'a', 'b', 'c', 'z'], 'new': [], 'anchor': 'b', 'heights': {'r': 10, 'a': 20, 'b': 20, 'c': 11, 'z': 12, 'x': 35, 'q': 5}, 'offset': 3.5, 'viewport': 20, 'active': 'a'}, [None, 0, 0, 'a']), ('bottom clamp', {'old': ['r', 'a', 'b', 'c', 'z'], 'new': ['r', 'x', 'a', 'b', 'c', 'z'], 'anchor': 'b', 'heights': {'r': 10, 'a': 20, 'b': 20, 'c': 11, 'z': 12, 'x': 35, 'q': 5}, 'offset': 3.5, 'viewport': 60, 'active': 'a'}, ['b', 48, 108, 'a']), ('oversized offset', {'old': ['r', 'a', 'b', 'c', 'z'], 'new': ['r', 'x', 'a', 'b', 'c', 'z'], 'anchor': 'b', 'heights': {'r': 10, 'a': 20, 'b': 20, 'c': 11, 'z': 12, 'x': 35, 'q': 5}, 'offset': 100, 'viewport': 20, 'active': 'a'}, ['b', 84, 108, 'a']), ('reordered', {'old': ['r', 'a', 'b', 'c', 'z'], 'new': ['z', 'c', 'b', 'a', 'r'], 'anchor': 'b', 'heights': {'r': 10, 'a': 20, 'b': 20, 'c': 11, 'z': 12, 'x': 35, 'q': 5}, 'offset': 3.5, 'viewport': 20, 'active': 'a'}, ['b', 26.5, 73, 'a'])]}
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 fixtureActualExpectedOutcome
insert before anchor['b', 57.5, 100, 'a']['b', 64.5, 100, 'a']Failed
deleted anchor['c', 30, 53, 'a']['c', 30, 53, 'a']Passed
previous fallback['a', 10, 30, 'a']['a', 10, 30, 'a']Passed
new-only tree['q', 0, 5, 'a']['q', 0, 5, 'a']Passed
empty tree[None, 0, 0, 'a'][None, 0, 0, 'a']Passed
bottom clamp['b', 40, 100, 'a']['b', 40, 100, 'a']Passed
oversized offset['b', 46, 100, 'a']['b', 76, 100, 'a']Failed
reordered['b', 19.5, 69, 'a']['b', 26.5, 69, 'a']Failed

SHA-256 / bd42f4b2274a7e71a8c6ffaca65b9d715fbb69f7bcfb7ba51926d2c50afb73f0

2 / The unsuccessful fix

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

N = 1
observations = []
def solve(d):
    old=d['old']; new=d['new']
    index=old.index(d['anchor']) if d['anchor'] in old else 0
    candidates=[d['anchor']]+old[index+1:]+list(reversed(old[:index]))
    anchor=next((x for x in candidates if x in new),(new[0] if new else None))
    position=sum(d['heights'][x] for x in new[:new.index(anchor)]) if anchor is not None else 0
    inside=min(d['offset'],d['heights'][anchor]-1) if anchor==d['anchor'] else 0
    requested=position+int(max(0,inside))
    content=sum(d['heights'][x] for x in new)
    scroll=max(0,min(requested,content-d['viewport']))
    active=d['active']
    return [anchor,scroll,content,active]
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
cases = {1: [('insert before anchor', {'old': ['r', 'a', 'b', 'c', 'z'], 'new': ['r', 'x', 'a', 'b', 'c', 'z'], 'anchor': 'b', 'heights': {'r': 10, 'a': 20, 'b': 16, 'c': 11, 'z': 12, 'x': 31, 'q': 5}, 'offset': 3.5, 'viewport': 20, 'active': 'a'}, ['b', 64.5, 100, 'a']), ('deleted anchor', {'old': ['r', 'a', 'b', 'c', 'z'], 'new': ['r', 'a', 'c', 'z'], 'anchor': 'b', 'heights': {'r': 10, 'a': 20, 'b': 16, 'c': 11, 'z': 12, 'x': 31, 'q': 5}, 'offset': 3.5, 'viewport': 20, 'active': 'a'}, ['c', 30, 53, 'a']), ('previous fallback', {'old': ['r', 'a', 'b', 'c', 'z'], 'new': ['r', 'a'], 'anchor': 'b', 'heights': {'r': 10, 'a': 20, 'b': 16, 'c': 11, 'z': 12, 'x': 31, 'q': 5}, 'offset': 3.5, 'viewport': 20, 'active': 'a'}, ['a', 10, 30, 'a']), ('new-only tree', {'old': ['r', 'a', 'b', 'c', 'z'], 'new': ['q'], 'anchor': 'b', 'heights': {'r': 10, 'a': 20, 'b': 16, 'c': 11, 'z': 12, 'x': 31, 'q': 5}, 'offset': 3.5, 'viewport': 20, 'active': 'a'}, ['q', 0, 5, 'a']), ('empty tree', {'old': ['r', 'a', 'b', 'c', 'z'], 'new': [], 'anchor': 'b', 'heights': {'r': 10, 'a': 20, 'b': 16, 'c': 11, 'z': 12, 'x': 31, 'q': 5}, 'offset': 3.5, 'viewport': 20, 'active': 'a'}, [None, 0, 0, 'a']), ('bottom clamp', {'old': ['r', 'a', 'b', 'c', 'z'], 'new': ['r', 'x', 'a', 'b', 'c', 'z'], 'anchor': 'b', 'heights': {'r': 10, 'a': 20, 'b': 16, 'c': 11, 'z': 12, 'x': 31, 'q': 5}, 'offset': 3.5, 'viewport': 60, 'active': 'a'}, ['b', 40, 100, 'a']), ('oversized offset', {'old': ['r', 'a', 'b', 'c', 'z'], 'new': ['r', 'x', 'a', 'b', 'c', 'z'], 'anchor': 'b', 'heights': {'r': 10, 'a': 20, 'b': 16, 'c': 11, 'z': 12, 'x': 31, 'q': 5}, 'offset': 100, 'viewport': 20, 'active': 'a'}, ['b', 76, 100, 'a']), ('reordered', {'old': ['r', 'a', 'b', 'c', 'z'], 'new': ['z', 'c', 'b', 'a', 'r'], 'anchor': 'b', 'heights': {'r': 10, 'a': 20, 'b': 16, 'c': 11, 'z': 12, 'x': 31, 'q': 5}, 'offset': 3.5, 'viewport': 20, 'active': 'a'}, ['b', 26.5, 69, 'a'])], 2: [('insert before anchor', {'old': ['r', 'a', 'b', 'c', 'z'], 'new': ['r', 'x', 'a', 'b', 'c', 'z'], 'anchor': 'b', 'heights': {'r': 10, 'a': 20, 'b': 17, 'c': 11, 'z': 12, 'x': 32, 'q': 5}, 'offset': 3.5, 'viewport': 20, 'active': 'a'}, ['b', 65.5, 102, 'a']), ('deleted anchor', {'old': ['r', 'a', 'b', 'c', 'z'], 'new': ['r', 'a', 'c', 'z'], 'anchor': 'b', 'heights': {'r': 10, 'a': 20, 'b': 17, 'c': 11, 'z': 12, 'x': 32, 'q': 5}, 'offset': 3.5, 'viewport': 20, 'active': 'a'}, ['c', 30, 53, 'a']), ('previous fallback', {'old': ['r', 'a', 'b', 'c', 'z'], 'new': ['r', 'a'], 'anchor': 'b', 'heights': {'r': 10, 'a': 20, 'b': 17, 'c': 11, 'z': 12, 'x': 32, 'q': 5}, 'offset': 3.5, 'viewport': 20, 'active': 'a'}, ['a', 10, 30, 'a']), ('new-only tree', {'old': ['r', 'a', 'b', 'c', 'z'], 'new': ['q'], 'anchor': 'b', 'heights': {'r': 10, 'a': 20, 'b': 17, 'c': 11, 'z': 12, 'x': 32, 'q': 5}, 'offset': 3.5, 'viewport': 20, 'active': 'a'}, ['q', 0, 5, 'a']), ('empty tree', {'old': ['r', 'a', 'b', 'c', 'z'], 'new': [], 'anchor': 'b', 'heights': {'r': 10, 'a': 20, 'b': 17, 'c': 11, 'z': 12, 'x': 32, 'q': 5}, 'offset': 3.5, 'viewport': 20, 'active': 'a'}, [None, 0, 0, 'a']), ('bottom clamp', {'old': ['r', 'a', 'b', 'c', 'z'], 'new': ['r', 'x', 'a', 'b', 'c', 'z'], 'anchor': 'b', 'heights': {'r': 10, 'a': 20, 'b': 17, 'c': 11, 'z': 12, 'x': 32, 'q': 5}, 'offset': 3.5, 'viewport': 60, 'active': 'a'}, ['b', 42, 102, 'a']), ('oversized offset', {'old': ['r', 'a', 'b', 'c', 'z'], 'new': ['r', 'x', 'a', 'b', 'c', 'z'], 'anchor': 'b', 'heights': {'r': 10, 'a': 20, 'b': 17, 'c': 11, 'z': 12, 'x': 32, 'q': 5}, 'offset': 100, 'viewport': 20, 'active': 'a'}, ['b', 78, 102, 'a']), ('reordered', {'old': ['r', 'a', 'b', 'c', 'z'], 'new': ['z', 'c', 'b', 'a', 'r'], 'anchor': 'b', 'heights': {'r': 10, 'a': 20, 'b': 17, 'c': 11, 'z': 12, 'x': 32, 'q': 5}, 'offset': 3.5, 'viewport': 20, 'active': 'a'}, ['b', 26.5, 70, 'a'])], 3: [('insert before anchor', {'old': ['r', 'a', 'b', 'c', 'z'], 'new': ['r', 'x', 'a', 'b', 'c', 'z'], 'anchor': 'b', 'heights': {'r': 10, 'a': 20, 'b': 18, 'c': 11, 'z': 12, 'x': 33, 'q': 5}, 'offset': 3.5, 'viewport': 20, 'active': 'a'}, ['b', 66.5, 104, 'a']), ('deleted anchor', {'old': ['r', 'a', 'b', 'c', 'z'], 'new': ['r', 'a', 'c', 'z'], 'anchor': 'b', 'heights': {'r': 10, 'a': 20, 'b': 18, 'c': 11, 'z': 12, 'x': 33, 'q': 5}, 'offset': 3.5, 'viewport': 20, 'active': 'a'}, ['c', 30, 53, 'a']), ('previous fallback', {'old': ['r', 'a', 'b', 'c', 'z'], 'new': ['r', 'a'], 'anchor': 'b', 'heights': {'r': 10, 'a': 20, 'b': 18, 'c': 11, 'z': 12, 'x': 33, 'q': 5}, 'offset': 3.5, 'viewport': 20, 'active': 'a'}, ['a', 10, 30, 'a']), ('new-only tree', {'old': ['r', 'a', 'b', 'c', 'z'], 'new': ['q'], 'anchor': 'b', 'heights': {'r': 10, 'a': 20, 'b': 18, 'c': 11, 'z': 12, 'x': 33, 'q': 5}, 'offset': 3.5, 'viewport': 20, 'active': 'a'}, ['q', 0, 5, 'a']), ('empty tree', {'old': ['r', 'a', 'b', 'c', 'z'], 'new': [], 'anchor': 'b', 'heights': {'r': 10, 'a': 20, 'b': 18, 'c': 11, 'z': 12, 'x': 33, 'q': 5}, 'offset': 3.5, 'viewport': 20, 'active': 'a'}, [None, 0, 0, 'a']), ('bottom clamp', {'old': ['r', 'a', 'b', 'c', 'z'], 'new': ['r', 'x', 'a', 'b', 'c', 'z'], 'anchor': 'b', 'heights': {'r': 10, 'a': 20, 'b': 18, 'c': 11, 'z': 12, 'x': 33, 'q': 5}, 'offset': 3.5, 'viewport': 60, 'active': 'a'}, ['b', 44, 104, 'a']), ('oversized offset', {'old': ['r', 'a', 'b', 'c', 'z'], 'new': ['r', 'x', 'a', 'b', 'c', 'z'], 'anchor': 'b', 'heights': {'r': 10, 'a': 20, 'b': 18, 'c': 11, 'z': 12, 'x': 33, 'q': 5}, 'offset': 100, 'viewport': 20, 'active': 'a'}, ['b', 80, 104, 'a']), ('reordered', {'old': ['r', 'a', 'b', 'c', 'z'], 'new': ['z', 'c', 'b', 'a', 'r'], 'anchor': 'b', 'heights': {'r': 10, 'a': 20, 'b': 18, 'c': 11, 'z': 12, 'x': 33, 'q': 5}, 'offset': 3.5, 'viewport': 20, 'active': 'a'}, ['b', 26.5, 71, 'a'])], 4: [('insert before anchor', {'old': ['r', 'a', 'b', 'c', 'z'], 'new': ['r', 'x', 'a', 'b', 'c', 'z'], 'anchor': 'b', 'heights': {'r': 10, 'a': 20, 'b': 19, 'c': 11, 'z': 12, 'x': 34, 'q': 5}, 'offset': 3.5, 'viewport': 20, 'active': 'a'}, ['b', 67.5, 106, 'a']), ('deleted anchor', {'old': ['r', 'a', 'b', 'c', 'z'], 'new': ['r', 'a', 'c', 'z'], 'anchor': 'b', 'heights': {'r': 10, 'a': 20, 'b': 19, 'c': 11, 'z': 12, 'x': 34, 'q': 5}, 'offset': 3.5, 'viewport': 20, 'active': 'a'}, ['c', 30, 53, 'a']), ('previous fallback', {'old': ['r', 'a', 'b', 'c', 'z'], 'new': ['r', 'a'], 'anchor': 'b', 'heights': {'r': 10, 'a': 20, 'b': 19, 'c': 11, 'z': 12, 'x': 34, 'q': 5}, 'offset': 3.5, 'viewport': 20, 'active': 'a'}, ['a', 10, 30, 'a']), ('new-only tree', {'old': ['r', 'a', 'b', 'c', 'z'], 'new': ['q'], 'anchor': 'b', 'heights': {'r': 10, 'a': 20, 'b': 19, 'c': 11, 'z': 12, 'x': 34, 'q': 5}, 'offset': 3.5, 'viewport': 20, 'active': 'a'}, ['q', 0, 5, 'a']), ('empty tree', {'old': ['r', 'a', 'b', 'c', 'z'], 'new': [], 'anchor': 'b', 'heights': {'r': 10, 'a': 20, 'b': 19, 'c': 11, 'z': 12, 'x': 34, 'q': 5}, 'offset': 3.5, 'viewport': 20, 'active': 'a'}, [None, 0, 0, 'a']), ('bottom clamp', {'old': ['r', 'a', 'b', 'c', 'z'], 'new': ['r', 'x', 'a', 'b', 'c', 'z'], 'anchor': 'b', 'heights': {'r': 10, 'a': 20, 'b': 19, 'c': 11, 'z': 12, 'x': 34, 'q': 5}, 'offset': 3.5, 'viewport': 60, 'active': 'a'}, ['b', 46, 106, 'a']), ('oversized offset', {'old': ['r', 'a', 'b', 'c', 'z'], 'new': ['r', 'x', 'a', 'b', 'c', 'z'], 'anchor': 'b', 'heights': {'r': 10, 'a': 20, 'b': 19, 'c': 11, 'z': 12, 'x': 34, 'q': 5}, 'offset': 100, 'viewport': 20, 'active': 'a'}, ['b', 82, 106, 'a']), ('reordered', {'old': ['r', 'a', 'b', 'c', 'z'], 'new': ['z', 'c', 'b', 'a', 'r'], 'anchor': 'b', 'heights': {'r': 10, 'a': 20, 'b': 19, 'c': 11, 'z': 12, 'x': 34, 'q': 5}, 'offset': 3.5, 'viewport': 20, 'active': 'a'}, ['b', 26.5, 72, 'a'])], 5: [('insert before anchor', {'old': ['r', 'a', 'b', 'c', 'z'], 'new': ['r', 'x', 'a', 'b', 'c', 'z'], 'anchor': 'b', 'heights': {'r': 10, 'a': 20, 'b': 20, 'c': 11, 'z': 12, 'x': 35, 'q': 5}, 'offset': 3.5, 'viewport': 20, 'active': 'a'}, ['b', 68.5, 108, 'a']), ('deleted anchor', {'old': ['r', 'a', 'b', 'c', 'z'], 'new': ['r', 'a', 'c', 'z'], 'anchor': 'b', 'heights': {'r': 10, 'a': 20, 'b': 20, 'c': 11, 'z': 12, 'x': 35, 'q': 5}, 'offset': 3.5, 'viewport': 20, 'active': 'a'}, ['c', 30, 53, 'a']), ('previous fallback', {'old': ['r', 'a', 'b', 'c', 'z'], 'new': ['r', 'a'], 'anchor': 'b', 'heights': {'r': 10, 'a': 20, 'b': 20, 'c': 11, 'z': 12, 'x': 35, 'q': 5}, 'offset': 3.5, 'viewport': 20, 'active': 'a'}, ['a', 10, 30, 'a']), ('new-only tree', {'old': ['r', 'a', 'b', 'c', 'z'], 'new': ['q'], 'anchor': 'b', 'heights': {'r': 10, 'a': 20, 'b': 20, 'c': 11, 'z': 12, 'x': 35, 'q': 5}, 'offset': 3.5, 'viewport': 20, 'active': 'a'}, ['q', 0, 5, 'a']), ('empty tree', {'old': ['r', 'a', 'b', 'c', 'z'], 'new': [], 'anchor': 'b', 'heights': {'r': 10, 'a': 20, 'b': 20, 'c': 11, 'z': 12, 'x': 35, 'q': 5}, 'offset': 3.5, 'viewport': 20, 'active': 'a'}, [None, 0, 0, 'a']), ('bottom clamp', {'old': ['r', 'a', 'b', 'c', 'z'], 'new': ['r', 'x', 'a', 'b', 'c', 'z'], 'anchor': 'b', 'heights': {'r': 10, 'a': 20, 'b': 20, 'c': 11, 'z': 12, 'x': 35, 'q': 5}, 'offset': 3.5, 'viewport': 60, 'active': 'a'}, ['b', 48, 108, 'a']), ('oversized offset', {'old': ['r', 'a', 'b', 'c', 'z'], 'new': ['r', 'x', 'a', 'b', 'c', 'z'], 'anchor': 'b', 'heights': {'r': 10, 'a': 20, 'b': 20, 'c': 11, 'z': 12, 'x': 35, 'q': 5}, 'offset': 100, 'viewport': 20, 'active': 'a'}, ['b', 84, 108, 'a']), ('reordered', {'old': ['r', 'a', 'b', 'c', 'z'], 'new': ['z', 'c', 'b', 'a', 'r'], 'anchor': 'b', 'heights': {'r': 10, 'a': 20, 'b': 20, 'c': 11, 'z': 12, 'x': 35, 'q': 5}, 'offset': 3.5, 'viewport': 20, 'active': 'a'}, ['b', 26.5, 73, 'a'])]}
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 fixtureActualExpectedOutcome
insert before anchor['b', 64, 100, 'a']['b', 64.5, 100, 'a']Failed
deleted anchor['c', 30, 53, 'a']['c', 30, 53, 'a']Passed
previous fallback['a', 10, 30, 'a']['a', 10, 30, 'a']Passed
new-only tree['q', 0, 5, 'a']['q', 0, 5, 'a']Passed
empty tree[None, 0, 0, 'a'][None, 0, 0, 'a']Passed
bottom clamp['b', 40, 100, 'a']['b', 40, 100, 'a']Passed
oversized offset['b', 76, 100, 'a']['b', 76, 100, 'a']Passed
reordered['b', 26, 69, 'a']['b', 26.5, 69, 'a']Failed

SHA-256 / 3c2c5b4100597e477647c9132301f7ac2e4e3e1003645f3cde10b20763a68900

HELD IN THE MEMBER ARCHIVE

The verified repair and its recorded checks are member-only.

This mechanism has 8 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:22.633625+00:00.

Case digest / 13c904287dcaf0d32b2c8580c51a9ef94236955ab3abe8478d020195d2f16c4a