FA-38681 / Tree accessibility / Open access
Accessible subtree reparent transaction: Stable focused descendant is replaced during reparent · case 01
Stable focused descendant is replaced during reparent produces the wrong hierarchical widget state in a regression fixture.
ROOT CAUSE
The reparent-state contract is violated at `focus=d['focus']` by replacing it with `focus=d['root']`.
THE FAILURE
The reparent-state contract is violated at `focus=d['focus']` by replacing it with `focus=d['root']`.
Unsuccessful approach: The partial repair `focus=d['target']` still violates a boundary or preservation case.
Case contract
The closure contains a moved subtree and the source and destination are distinct parents. Reject drops into that closure or a read-only destination. Accepted moves replace the root parent, shift every descendant level by the parent-depth delta, invalidate sibling metadata, retain ID-based selection and focus, and increment only affected parent versions.
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):
accept=d['target'] not in d['closure'] and not d['readonly']
parent=d['target'] if accept else d['old_parent']
delta=d['target_depth']+1-d['depths'][d['root']]
depths={x:(v+delta if accept and x in d['closure'] else v) for x,v in d['depths'].items()}
old_children=[x for x in d['old_children'] if not(accept and x==d['root'])]
new_children=d['new_children'][:d['position']]+[d['root']]+d['new_children'][d['position']:] if accept else d['new_children']
invalid=sorted(set([d['old_parent'],d['target']])) if accept else []
versions={x:v+(1 if accept and x in invalid else 0) for x,v in d['versions'].items()}
focus=d['root']
selected=d['selected']
expanded=sorted(set(d['expanded'])|({d['target']} if accept and d['reveal'] else set()))
return [parent,depths,old_children,new_children,invalid,versions,focus,selected,expanded]
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
cases = {1: [('accepted', {'target': 'q', 'closure': ['b', 'c'], 'readonly': False, 'root': 'b', 'old_parent': 'r', 'target_depth': 2, 'depths': {'r': 0, 'b': 1, 'c': 2, 'q': 2, 'outside': 0}, 'old_children': ['a', 'b', 'z'], 'new_children': ['x', 'y'], 'position': 1, 'versions': {'r': 3, 'q': 7, 'outside': 8}, 'focus': 'c', 'selected': ['c', 'a'], 'expanded': ['r'], 'reveal': True}, ['q', {'r': 0, 'b': 3, 'c': 4, 'q': 2, 'outside': 0}, ['a', 'z'], ['x', 'b', 'y'], ['q', 'r'], {'r': 4, 'q': 8, 'outside': 8}, 'c', ['c', 'a'], ['q', 'r']]), ('descendant target', {'target': 'c', 'closure': ['b', 'c'], 'readonly': False, 'root': 'b', 'old_parent': 'r', 'target_depth': 2, 'depths': {'r': 0, 'b': 1, 'c': 2, 'q': 2, 'outside': 0}, 'old_children': ['a', 'b', 'z'], 'new_children': ['x', 'y'], 'position': 1, 'versions': {'r': 3, 'q': 7, 'outside': 8}, 'focus': 'c', 'selected': ['c', 'a'], 'expanded': ['r'], 'reveal': True}, ['r', {'r': 0, 'b': 1, 'c': 2, 'q': 2, 'outside': 0}, ['a', 'b', 'z'], ['x', 'y'], [], {'r': 3, 'q': 7, 'outside': 8}, 'c', ['c', 'a'], ['r']]), ('protected target', {'target': 'q', 'closure': ['b', 'c'], 'readonly': True, 'root': 'b', 'old_parent': 'r', 'target_depth': 2, 'depths': {'r': 0, 'b': 1, 'c': 2, 'q': 2, 'outside': 0}, 'old_children': ['a', 'b', 'z'], 'new_children': ['x', 'y'], 'position': 1, 'versions': {'r': 3, 'q': 7, 'outside': 8}, 'focus': 'c', 'selected': ['c', 'a'], 'expanded': ['r'], 'reveal': True}, ['r', {'r': 0, 'b': 1, 'c': 2, 'q': 2, 'outside': 0}, ['a', 'b', 'z'], ['x', 'y'], [], {'r': 3, 'q': 7, 'outside': 8}, 'c', ['c', 'a'], ['r']]), ('no reveal', {'target': 'q', 'closure': ['b', 'c'], 'readonly': False, 'root': 'b', 'old_parent': 'r', 'target_depth': 2, 'depths': {'r': 0, 'b': 1, 'c': 2, 'q': 2, 'outside': 0}, 'old_children': ['a', 'b', 'z'], 'new_children': ['x', 'y'], 'position': 1, 'versions': {'r': 3, 'q': 7, 'outside': 8}, 'focus': 'c', 'selected': ['c', 'a'], 'expanded': ['r'], 'reveal': False}, ['q', {'r': 0, 'b': 3, 'c': 4, 'q': 2, 'outside': 0}, ['a', 'z'], ['x', 'b', 'y'], ['q', 'r'], {'r': 4, 'q': 8, 'outside': 8}, 'c', ['c', 'a'], ['r']]), ('insert first', {'target': 'q', 'closure': ['b', 'c'], 'readonly': False, 'root': 'b', 'old_parent': 'r', 'target_depth': 2, 'depths': {'r': 0, 'b': 1, 'c': 2, 'q': 2, 'outside': 0}, 'old_children': ['a', 'b', 'z'], 'new_children': ['x', 'y'], 'position': 0, 'versions': {'r': 3, 'q': 7, 'outside': 8}, 'focus': 'c', 'selected': ['c', 'a'], 'expanded': ['r'], 'reveal': True}, ['q', {'r': 0, 'b': 3, 'c': 4, 'q': 2, 'outside': 0}, ['a', 'z'], ['b', 'x', 'y'], ['q', 'r'], {'r': 4, 'q': 8, 'outside': 8}, 'c', ['c', 'a'], ['q', 'r']]), ('insert last', {'target': 'q', 'closure': ['b', 'c'], 'readonly': False, 'root': 'b', 'old_parent': 'r', 'target_depth': 2, 'depths': {'r': 0, 'b': 1, 'c': 2, 'q': 2, 'outside': 0}, 'old_children': ['a', 'b', 'z'], 'new_children': ['x', 'y'], 'position': 2, 'versions': {'r': 3, 'q': 7, 'outside': 8}, 'focus': 'outside', 'selected': ['c', 'a'], 'expanded': ['r'], 'reveal': True}, ['q', {'r': 0, 'b': 3, 'c': 4, 'q': 2, 'outside': 0}, ['a', 'z'], ['x', 'y', 'b'], ['q', 'r'], {'r': 4, 'q': 8, 'outside': 8}, 'outside', ['c', 'a'], ['q', 'r']])], 2: [('accepted', {'target': 'q', 'closure': ['b', 'c'], 'readonly': False, 'root': 'b', 'old_parent': 'r', 'target_depth': 3, 'depths': {'r': 0, 'b': 1, 'c': 2, 'q': 3, 'outside': 0}, 'old_children': ['a', 'b', 'z'], 'new_children': ['x', 'y'], 'position': 1, 'versions': {'r': 3, 'q': 7, 'outside': 8}, 'focus': 'c', 'selected': ['c', 'a'], 'expanded': ['r'], 'reveal': True}, ['q', {'r': 0, 'b': 4, 'c': 5, 'q': 3, 'outside': 0}, ['a', 'z'], ['x', 'b', 'y'], ['q', 'r'], {'r': 4, 'q': 8, 'outside': 8}, 'c', ['c', 'a'], ['q', 'r']]), ('descendant target', {'target': 'c', 'closure': ['b', 'c'], 'readonly': False, 'root': 'b', 'old_parent': 'r', 'target_depth': 3, 'depths': {'r': 0, 'b': 1, 'c': 2, 'q': 3, 'outside': 0}, 'old_children': ['a', 'b', 'z'], 'new_children': ['x', 'y'], 'position': 1, 'versions': {'r': 3, 'q': 7, 'outside': 8}, 'focus': 'c', 'selected': ['c', 'a'], 'expanded': ['r'], 'reveal': True}, ['r', {'r': 0, 'b': 1, 'c': 2, 'q': 3, 'outside': 0}, ['a', 'b', 'z'], ['x', 'y'], [], {'r': 3, 'q': 7, 'outside': 8}, 'c', ['c', 'a'], ['r']]), ('protected target', {'target': 'q', 'closure': ['b', 'c'], 'readonly': True, 'root': 'b', 'old_parent': 'r', 'target_depth': 3, 'depths': {'r': 0, 'b': 1, 'c': 2, 'q': 3, 'outside': 0}, 'old_children': ['a', 'b', 'z'], 'new_children': ['x', 'y'], 'position': 1, 'versions': {'r': 3, 'q': 7, 'outside': 8}, 'focus': 'c', 'selected': ['c', 'a'], 'expanded': ['r'], 'reveal': True}, ['r', {'r': 0, 'b': 1, 'c': 2, 'q': 3, 'outside': 0}, ['a', 'b', 'z'], ['x', 'y'], [], {'r': 3, 'q': 7, 'outside': 8}, 'c', ['c', 'a'], ['r']]), ('no reveal', {'target': 'q', 'closure': ['b', 'c'], 'readonly': False, 'root': 'b', 'old_parent': 'r', 'target_depth': 3, 'depths': {'r': 0, 'b': 1, 'c': 2, 'q': 3, 'outside': 0}, 'old_children': ['a', 'b', 'z'], 'new_children': ['x', 'y'], 'position': 1, 'versions': {'r': 3, 'q': 7, 'outside': 8}, 'focus': 'c', 'selected': ['c', 'a'], 'expanded': ['r'], 'reveal': False}, ['q', {'r': 0, 'b': 4, 'c': 5, 'q': 3, 'outside': 0}, ['a', 'z'], ['x', 'b', 'y'], ['q', 'r'], {'r': 4, 'q': 8, 'outside': 8}, 'c', ['c', 'a'], ['r']]), ('insert first', {'target': 'q', 'closure': ['b', 'c'], 'readonly': False, 'root': 'b', 'old_parent': 'r', 'target_depth': 3, 'depths': {'r': 0, 'b': 1, 'c': 2, 'q': 3, 'outside': 0}, 'old_children': ['a', 'b', 'z'], 'new_children': ['x', 'y'], 'position': 0, 'versions': {'r': 3, 'q': 7, 'outside': 8}, 'focus': 'c', 'selected': ['c', 'a'], 'expanded': ['r'], 'reveal': True}, ['q', {'r': 0, 'b': 4, 'c': 5, 'q': 3, 'outside': 0}, ['a', 'z'], ['b', 'x', 'y'], ['q', 'r'], {'r': 4, 'q': 8, 'outside': 8}, 'c', ['c', 'a'], ['q', 'r']]), ('insert last', {'target': 'q', 'closure': ['b', 'c'], 'readonly': False, 'root': 'b', 'old_parent': 'r', 'target_depth': 3, 'depths': {'r': 0, 'b': 1, 'c': 2, 'q': 3, 'outside': 0}, 'old_children': ['a', 'b', 'z'], 'new_children': ['x', 'y'], 'position': 2, 'versions': {'r': 3, 'q': 7, 'outside': 8}, 'focus': 'outside', 'selected': ['c', 'a'], 'expanded': ['r'], 'reveal': True}, ['q', {'r': 0, 'b': 4, 'c': 5, 'q': 3, 'outside': 0}, ['a', 'z'], ['x', 'y', 'b'], ['q', 'r'], {'r': 4, 'q': 8, 'outside': 8}, 'outside', ['c', 'a'], ['q', 'r']])], 3: [('accepted', {'target': 'q', 'closure': ['b', 'c'], 'readonly': False, 'root': 'b', 'old_parent': 'r', 'target_depth': 4, 'depths': {'r': 0, 'b': 1, 'c': 2, 'q': 4, 'outside': 0}, 'old_children': ['a', 'b', 'z'], 'new_children': ['x', 'y'], 'position': 1, 'versions': {'r': 3, 'q': 7, 'outside': 8}, 'focus': 'c', 'selected': ['c', 'a'], 'expanded': ['r'], 'reveal': True}, ['q', {'r': 0, 'b': 5, 'c': 6, 'q': 4, 'outside': 0}, ['a', 'z'], ['x', 'b', 'y'], ['q', 'r'], {'r': 4, 'q': 8, 'outside': 8}, 'c', ['c', 'a'], ['q', 'r']]), ('descendant target', {'target': 'c', 'closure': ['b', 'c'], 'readonly': False, 'root': 'b', 'old_parent': 'r', 'target_depth': 4, 'depths': {'r': 0, 'b': 1, 'c': 2, 'q': 4, 'outside': 0}, 'old_children': ['a', 'b', 'z'], 'new_children': ['x', 'y'], 'position': 1, 'versions': {'r': 3, 'q': 7, 'outside': 8}, 'focus': 'c', 'selected': ['c', 'a'], 'expanded': ['r'], 'reveal': True}, ['r', {'r': 0, 'b': 1, 'c': 2, 'q': 4, 'outside': 0}, ['a', 'b', 'z'], ['x', 'y'], [], {'r': 3, 'q': 7, 'outside': 8}, 'c', ['c', 'a'], ['r']]), ('protected target', {'target': 'q', 'closure': ['b', 'c'], 'readonly': True, 'root': 'b', 'old_parent': 'r', 'target_depth': 4, 'depths': {'r': 0, 'b': 1, 'c': 2, 'q': 4, 'outside': 0}, 'old_children': ['a', 'b', 'z'], 'new_children': ['x', 'y'], 'position': 1, 'versions': {'r': 3, 'q': 7, 'outside': 8}, 'focus': 'c', 'selected': ['c', 'a'], 'expanded': ['r'], 'reveal': True}, ['r', {'r': 0, 'b': 1, 'c': 2, 'q': 4, 'outside': 0}, ['a', 'b', 'z'], ['x', 'y'], [], {'r': 3, 'q': 7, 'outside': 8}, 'c', ['c', 'a'], ['r']]), ('no reveal', {'target': 'q', 'closure': ['b', 'c'], 'readonly': False, 'root': 'b', 'old_parent': 'r', 'target_depth': 4, 'depths': {'r': 0, 'b': 1, 'c': 2, 'q': 4, 'outside': 0}, 'old_children': ['a', 'b', 'z'], 'new_children': ['x', 'y'], 'position': 1, 'versions': {'r': 3, 'q': 7, 'outside': 8}, 'focus': 'c', 'selected': ['c', 'a'], 'expanded': ['r'], 'reveal': False}, ['q', {'r': 0, 'b': 5, 'c': 6, 'q': 4, 'outside': 0}, ['a', 'z'], ['x', 'b', 'y'], ['q', 'r'], {'r': 4, 'q': 8, 'outside': 8}, 'c', ['c', 'a'], ['r']]), ('insert first', {'target': 'q', 'closure': ['b', 'c'], 'readonly': False, 'root': 'b', 'old_parent': 'r', 'target_depth': 4, 'depths': {'r': 0, 'b': 1, 'c': 2, 'q': 4, 'outside': 0}, 'old_children': ['a', 'b', 'z'], 'new_children': ['x', 'y'], 'position': 0, 'versions': {'r': 3, 'q': 7, 'outside': 8}, 'focus': 'c', 'selected': ['c', 'a'], 'expanded': ['r'], 'reveal': True}, ['q', {'r': 0, 'b': 5, 'c': 6, 'q': 4, 'outside': 0}, ['a', 'z'], ['b', 'x', 'y'], ['q', 'r'], {'r': 4, 'q': 8, 'outside': 8}, 'c', ['c', 'a'], ['q', 'r']]), ('insert last', {'target': 'q', 'closure': ['b', 'c'], 'readonly': False, 'root': 'b', 'old_parent': 'r', 'target_depth': 4, 'depths': {'r': 0, 'b': 1, 'c': 2, 'q': 4, 'outside': 0}, 'old_children': ['a', 'b', 'z'], 'new_children': ['x', 'y'], 'position': 2, 'versions': {'r': 3, 'q': 7, 'outside': 8}, 'focus': 'outside', 'selected': ['c', 'a'], 'expanded': ['r'], 'reveal': True}, ['q', {'r': 0, 'b': 5, 'c': 6, 'q': 4, 'outside': 0}, ['a', 'z'], ['x', 'y', 'b'], ['q', 'r'], {'r': 4, 'q': 8, 'outside': 8}, 'outside', ['c', 'a'], ['q', 'r']])], 4: [('accepted', {'target': 'q', 'closure': ['b', 'c'], 'readonly': False, 'root': 'b', 'old_parent': 'r', 'target_depth': 5, 'depths': {'r': 0, 'b': 1, 'c': 2, 'q': 5, 'outside': 0}, 'old_children': ['a', 'b', 'z'], 'new_children': ['x', 'y'], 'position': 1, 'versions': {'r': 3, 'q': 7, 'outside': 8}, 'focus': 'c', 'selected': ['c', 'a'], 'expanded': ['r'], 'reveal': True}, ['q', {'r': 0, 'b': 6, 'c': 7, 'q': 5, 'outside': 0}, ['a', 'z'], ['x', 'b', 'y'], ['q', 'r'], {'r': 4, 'q': 8, 'outside': 8}, 'c', ['c', 'a'], ['q', 'r']]), ('descendant target', {'target': 'c', 'closure': ['b', 'c'], 'readonly': False, 'root': 'b', 'old_parent': 'r', 'target_depth': 5, 'depths': {'r': 0, 'b': 1, 'c': 2, 'q': 5, 'outside': 0}, 'old_children': ['a', 'b', 'z'], 'new_children': ['x', 'y'], 'position': 1, 'versions': {'r': 3, 'q': 7, 'outside': 8}, 'focus': 'c', 'selected': ['c', 'a'], 'expanded': ['r'], 'reveal': True}, ['r', {'r': 0, 'b': 1, 'c': 2, 'q': 5, 'outside': 0}, ['a', 'b', 'z'], ['x', 'y'], [], {'r': 3, 'q': 7, 'outside': 8}, 'c', ['c', 'a'], ['r']]), ('protected target', {'target': 'q', 'closure': ['b', 'c'], 'readonly': True, 'root': 'b', 'old_parent': 'r', 'target_depth': 5, 'depths': {'r': 0, 'b': 1, 'c': 2, 'q': 5, 'outside': 0}, 'old_children': ['a', 'b', 'z'], 'new_children': ['x', 'y'], 'position': 1, 'versions': {'r': 3, 'q': 7, 'outside': 8}, 'focus': 'c', 'selected': ['c', 'a'], 'expanded': ['r'], 'reveal': True}, ['r', {'r': 0, 'b': 1, 'c': 2, 'q': 5, 'outside': 0}, ['a', 'b', 'z'], ['x', 'y'], [], {'r': 3, 'q': 7, 'outside': 8}, 'c', ['c', 'a'], ['r']]), ('no reveal', {'target': 'q', 'closure': ['b', 'c'], 'readonly': False, 'root': 'b', 'old_parent': 'r', 'target_depth': 5, 'depths': {'r': 0, 'b': 1, 'c': 2, 'q': 5, 'outside': 0}, 'old_children': ['a', 'b', 'z'], 'new_children': ['x', 'y'], 'position': 1, 'versions': {'r': 3, 'q': 7, 'outside': 8}, 'focus': 'c', 'selected': ['c', 'a'], 'expanded': ['r'], 'reveal': False}, ['q', {'r': 0, 'b': 6, 'c': 7, 'q': 5, 'outside': 0}, ['a', 'z'], ['x', 'b', 'y'], ['q', 'r'], {'r': 4, 'q': 8, 'outside': 8}, 'c', ['c', 'a'], ['r']]), ('insert first', {'target': 'q', 'closure': ['b', 'c'], 'readonly': False, 'root': 'b', 'old_parent': 'r', 'target_depth': 5, 'depths': {'r': 0, 'b': 1, 'c': 2, 'q': 5, 'outside': 0}, 'old_children': ['a', 'b', 'z'], 'new_children': ['x', 'y'], 'position': 0, 'versions': {'r': 3, 'q': 7, 'outside': 8}, 'focus': 'c', 'selected': ['c', 'a'], 'expanded': ['r'], 'reveal': True}, ['q', {'r': 0, 'b': 6, 'c': 7, 'q': 5, 'outside': 0}, ['a', 'z'], ['b', 'x', 'y'], ['q', 'r'], {'r': 4, 'q': 8, 'outside': 8}, 'c', ['c', 'a'], ['q', 'r']]), ('insert last', {'target': 'q', 'closure': ['b', 'c'], 'readonly': False, 'root': 'b', 'old_parent': 'r', 'target_depth': 5, 'depths': {'r': 0, 'b': 1, 'c': 2, 'q': 5, 'outside': 0}, 'old_children': ['a', 'b', 'z'], 'new_children': ['x', 'y'], 'position': 2, 'versions': {'r': 3, 'q': 7, 'outside': 8}, 'focus': 'outside', 'selected': ['c', 'a'], 'expanded': ['r'], 'reveal': True}, ['q', {'r': 0, 'b': 6, 'c': 7, 'q': 5, 'outside': 0}, ['a', 'z'], ['x', 'y', 'b'], ['q', 'r'], {'r': 4, 'q': 8, 'outside': 8}, 'outside', ['c', 'a'], ['q', 'r']])], 5: [('accepted', {'target': 'q', 'closure': ['b', 'c'], 'readonly': False, 'root': 'b', 'old_parent': 'r', 'target_depth': 6, 'depths': {'r': 0, 'b': 1, 'c': 2, 'q': 6, 'outside': 0}, 'old_children': ['a', 'b', 'z'], 'new_children': ['x', 'y'], 'position': 1, 'versions': {'r': 3, 'q': 7, 'outside': 8}, 'focus': 'c', 'selected': ['c', 'a'], 'expanded': ['r'], 'reveal': True}, ['q', {'r': 0, 'b': 7, 'c': 8, 'q': 6, 'outside': 0}, ['a', 'z'], ['x', 'b', 'y'], ['q', 'r'], {'r': 4, 'q': 8, 'outside': 8}, 'c', ['c', 'a'], ['q', 'r']]), ('descendant target', {'target': 'c', 'closure': ['b', 'c'], 'readonly': False, 'root': 'b', 'old_parent': 'r', 'target_depth': 6, 'depths': {'r': 0, 'b': 1, 'c': 2, 'q': 6, 'outside': 0}, 'old_children': ['a', 'b', 'z'], 'new_children': ['x', 'y'], 'position': 1, 'versions': {'r': 3, 'q': 7, 'outside': 8}, 'focus': 'c', 'selected': ['c', 'a'], 'expanded': ['r'], 'reveal': True}, ['r', {'r': 0, 'b': 1, 'c': 2, 'q': 6, 'outside': 0}, ['a', 'b', 'z'], ['x', 'y'], [], {'r': 3, 'q': 7, 'outside': 8}, 'c', ['c', 'a'], ['r']]), ('protected target', {'target': 'q', 'closure': ['b', 'c'], 'readonly': True, 'root': 'b', 'old_parent': 'r', 'target_depth': 6, 'depths': {'r': 0, 'b': 1, 'c': 2, 'q': 6, 'outside': 0}, 'old_children': ['a', 'b', 'z'], 'new_children': ['x', 'y'], 'position': 1, 'versions': {'r': 3, 'q': 7, 'outside': 8}, 'focus': 'c', 'selected': ['c', 'a'], 'expanded': ['r'], 'reveal': True}, ['r', {'r': 0, 'b': 1, 'c': 2, 'q': 6, 'outside': 0}, ['a', 'b', 'z'], ['x', 'y'], [], {'r': 3, 'q': 7, 'outside': 8}, 'c', ['c', 'a'], ['r']]), ('no reveal', {'target': 'q', 'closure': ['b', 'c'], 'readonly': False, 'root': 'b', 'old_parent': 'r', 'target_depth': 6, 'depths': {'r': 0, 'b': 1, 'c': 2, 'q': 6, 'outside': 0}, 'old_children': ['a', 'b', 'z'], 'new_children': ['x', 'y'], 'position': 1, 'versions': {'r': 3, 'q': 7, 'outside': 8}, 'focus': 'c', 'selected': ['c', 'a'], 'expanded': ['r'], 'reveal': False}, ['q', {'r': 0, 'b': 7, 'c': 8, 'q': 6, 'outside': 0}, ['a', 'z'], ['x', 'b', 'y'], ['q', 'r'], {'r': 4, 'q': 8, 'outside': 8}, 'c', ['c', 'a'], ['r']]), ('insert first', {'target': 'q', 'closure': ['b', 'c'], 'readonly': False, 'root': 'b', 'old_parent': 'r', 'target_depth': 6, 'depths': {'r': 0, 'b': 1, 'c': 2, 'q': 6, 'outside': 0}, 'old_children': ['a', 'b', 'z'], 'new_children': ['x', 'y'], 'position': 0, 'versions': {'r': 3, 'q': 7, 'outside': 8}, 'focus': 'c', 'selected': ['c', 'a'], 'expanded': ['r'], 'reveal': True}, ['q', {'r': 0, 'b': 7, 'c': 8, 'q': 6, 'outside': 0}, ['a', 'z'], ['b', 'x', 'y'], ['q', 'r'], {'r': 4, 'q': 8, 'outside': 8}, 'c', ['c', 'a'], ['q', 'r']]), ('insert last', {'target': 'q', 'closure': ['b', 'c'], 'readonly': False, 'root': 'b', 'old_parent': 'r', 'target_depth': 6, 'depths': {'r': 0, 'b': 1, 'c': 2, 'q': 6, 'outside': 0}, 'old_children': ['a', 'b', 'z'], 'new_children': ['x', 'y'], 'position': 2, 'versions': {'r': 3, 'q': 7, 'outside': 8}, 'focus': 'outside', 'selected': ['c', 'a'], 'expanded': ['r'], 'reveal': True}, ['q', {'r': 0, 'b': 7, 'c': 8, 'q': 6, 'outside': 0}, ['a', 'z'], ['x', 'y', 'b'], ['q', 'r'], {'r': 4, 'q': 8, 'outside': 8}, 'outside', ['c', 'a'], ['q', 'r']])]}
for label, data, expected in cases[N]:
check(label, solve(data), expected)
print(json.dumps({"observations": observations, "passed": all(x["passed"] for x in observations)}, ensure_ascii=False))
raise SystemExit(0 if all(x["passed"] for x in observations) else 1)
| Boundary fixture | Actual | Expected | Outcome |
|---|---|---|---|
| accepted | ['q', {'b': 3, 'c': 4, 'outside': 0, 'q': 2, 'r': 0}, ['a', 'z'], ['x', 'b', 'y'], ['q', 'r'], {'outside': 8, 'q': 8, 'r': 4}, 'b', ['c', 'a'], ['q', 'r']] | ['q', {'b': 3, 'c': 4, 'outside': 0, 'q': 2, 'r': 0}, ['a', 'z'], ['x', 'b', 'y'], ['q', 'r'], {'outside': 8, 'q': 8, 'r': 4}, 'c', ['c', 'a'], ['q', 'r']] | Failed |
| descendant target | ['r', {'b': 1, 'c': 2, 'outside': 0, 'q': 2, 'r': 0}, ['a', 'b', 'z'], ['x', 'y'], [], {'outside': 8, 'q': 7, 'r': 3}, 'b', ['c', 'a'], ['r']] | ['r', {'b': 1, 'c': 2, 'outside': 0, 'q': 2, 'r': 0}, ['a', 'b', 'z'], ['x', 'y'], [], {'outside': 8, 'q': 7, 'r': 3}, 'c', ['c', 'a'], ['r']] | Failed |
| protected target | ['r', {'b': 1, 'c': 2, 'outside': 0, 'q': 2, 'r': 0}, ['a', 'b', 'z'], ['x', 'y'], [], {'outside': 8, 'q': 7, 'r': 3}, 'b', ['c', 'a'], ['r']] | ['r', {'b': 1, 'c': 2, 'outside': 0, 'q': 2, 'r': 0}, ['a', 'b', 'z'], ['x', 'y'], [], {'outside': 8, 'q': 7, 'r': 3}, 'c', ['c', 'a'], ['r']] | Failed |
| no reveal | ['q', {'b': 3, 'c': 4, 'outside': 0, 'q': 2, 'r': 0}, ['a', 'z'], ['x', 'b', 'y'], ['q', 'r'], {'outside': 8, 'q': 8, 'r': 4}, 'b', ['c', 'a'], ['r']] | ['q', {'b': 3, 'c': 4, 'outside': 0, 'q': 2, 'r': 0}, ['a', 'z'], ['x', 'b', 'y'], ['q', 'r'], {'outside': 8, 'q': 8, 'r': 4}, 'c', ['c', 'a'], ['r']] | Failed |
| insert first | ['q', {'b': 3, 'c': 4, 'outside': 0, 'q': 2, 'r': 0}, ['a', 'z'], ['b', 'x', 'y'], ['q', 'r'], {'outside': 8, 'q': 8, 'r': 4}, 'b', ['c', 'a'], ['q', 'r']] | ['q', {'b': 3, 'c': 4, 'outside': 0, 'q': 2, 'r': 0}, ['a', 'z'], ['b', 'x', 'y'], ['q', 'r'], {'outside': 8, 'q': 8, 'r': 4}, 'c', ['c', 'a'], ['q', 'r']] | Failed |
| insert last | ['q', {'b': 3, 'c': 4, 'outside': 0, 'q': 2, 'r': 0}, ['a', 'z'], ['x', 'y', 'b'], ['q', 'r'], {'outside': 8, 'q': 8, 'r': 4}, 'b', ['c', 'a'], ['q', 'r']] | ['q', {'b': 3, 'c': 4, 'outside': 0, 'q': 2, 'r': 0}, ['a', 'z'], ['x', 'y', 'b'], ['q', 'r'], {'outside': 8, 'q': 8, 'r': 4}, 'outside', ['c', 'a'], ['q', 'r']] | Failed |
SHA-256 / 829ed881e66ff6904742bbbe9c429b8b5f3040a193ca5cd406fcb67915d07fb3
2 / The unsuccessful fix
Exit 1"""Failure Map reference implementation. Python standard library only."""
import json
N = 1
observations = []
def solve(d):
accept=d['target'] not in d['closure'] and not d['readonly']
parent=d['target'] if accept else d['old_parent']
delta=d['target_depth']+1-d['depths'][d['root']]
depths={x:(v+delta if accept and x in d['closure'] else v) for x,v in d['depths'].items()}
old_children=[x for x in d['old_children'] if not(accept and x==d['root'])]
new_children=d['new_children'][:d['position']]+[d['root']]+d['new_children'][d['position']:] if accept else d['new_children']
invalid=sorted(set([d['old_parent'],d['target']])) if accept else []
versions={x:v+(1 if accept and x in invalid else 0) for x,v in d['versions'].items()}
focus=d['target']
selected=d['selected']
expanded=sorted(set(d['expanded'])|({d['target']} if accept and d['reveal'] else set()))
return [parent,depths,old_children,new_children,invalid,versions,focus,selected,expanded]
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
cases = {1: [('accepted', {'target': 'q', 'closure': ['b', 'c'], 'readonly': False, 'root': 'b', 'old_parent': 'r', 'target_depth': 2, 'depths': {'r': 0, 'b': 1, 'c': 2, 'q': 2, 'outside': 0}, 'old_children': ['a', 'b', 'z'], 'new_children': ['x', 'y'], 'position': 1, 'versions': {'r': 3, 'q': 7, 'outside': 8}, 'focus': 'c', 'selected': ['c', 'a'], 'expanded': ['r'], 'reveal': True}, ['q', {'r': 0, 'b': 3, 'c': 4, 'q': 2, 'outside': 0}, ['a', 'z'], ['x', 'b', 'y'], ['q', 'r'], {'r': 4, 'q': 8, 'outside': 8}, 'c', ['c', 'a'], ['q', 'r']]), ('descendant target', {'target': 'c', 'closure': ['b', 'c'], 'readonly': False, 'root': 'b', 'old_parent': 'r', 'target_depth': 2, 'depths': {'r': 0, 'b': 1, 'c': 2, 'q': 2, 'outside': 0}, 'old_children': ['a', 'b', 'z'], 'new_children': ['x', 'y'], 'position': 1, 'versions': {'r': 3, 'q': 7, 'outside': 8}, 'focus': 'c', 'selected': ['c', 'a'], 'expanded': ['r'], 'reveal': True}, ['r', {'r': 0, 'b': 1, 'c': 2, 'q': 2, 'outside': 0}, ['a', 'b', 'z'], ['x', 'y'], [], {'r': 3, 'q': 7, 'outside': 8}, 'c', ['c', 'a'], ['r']]), ('protected target', {'target': 'q', 'closure': ['b', 'c'], 'readonly': True, 'root': 'b', 'old_parent': 'r', 'target_depth': 2, 'depths': {'r': 0, 'b': 1, 'c': 2, 'q': 2, 'outside': 0}, 'old_children': ['a', 'b', 'z'], 'new_children': ['x', 'y'], 'position': 1, 'versions': {'r': 3, 'q': 7, 'outside': 8}, 'focus': 'c', 'selected': ['c', 'a'], 'expanded': ['r'], 'reveal': True}, ['r', {'r': 0, 'b': 1, 'c': 2, 'q': 2, 'outside': 0}, ['a', 'b', 'z'], ['x', 'y'], [], {'r': 3, 'q': 7, 'outside': 8}, 'c', ['c', 'a'], ['r']]), ('no reveal', {'target': 'q', 'closure': ['b', 'c'], 'readonly': False, 'root': 'b', 'old_parent': 'r', 'target_depth': 2, 'depths': {'r': 0, 'b': 1, 'c': 2, 'q': 2, 'outside': 0}, 'old_children': ['a', 'b', 'z'], 'new_children': ['x', 'y'], 'position': 1, 'versions': {'r': 3, 'q': 7, 'outside': 8}, 'focus': 'c', 'selected': ['c', 'a'], 'expanded': ['r'], 'reveal': False}, ['q', {'r': 0, 'b': 3, 'c': 4, 'q': 2, 'outside': 0}, ['a', 'z'], ['x', 'b', 'y'], ['q', 'r'], {'r': 4, 'q': 8, 'outside': 8}, 'c', ['c', 'a'], ['r']]), ('insert first', {'target': 'q', 'closure': ['b', 'c'], 'readonly': False, 'root': 'b', 'old_parent': 'r', 'target_depth': 2, 'depths': {'r': 0, 'b': 1, 'c': 2, 'q': 2, 'outside': 0}, 'old_children': ['a', 'b', 'z'], 'new_children': ['x', 'y'], 'position': 0, 'versions': {'r': 3, 'q': 7, 'outside': 8}, 'focus': 'c', 'selected': ['c', 'a'], 'expanded': ['r'], 'reveal': True}, ['q', {'r': 0, 'b': 3, 'c': 4, 'q': 2, 'outside': 0}, ['a', 'z'], ['b', 'x', 'y'], ['q', 'r'], {'r': 4, 'q': 8, 'outside': 8}, 'c', ['c', 'a'], ['q', 'r']]), ('insert last', {'target': 'q', 'closure': ['b', 'c'], 'readonly': False, 'root': 'b', 'old_parent': 'r', 'target_depth': 2, 'depths': {'r': 0, 'b': 1, 'c': 2, 'q': 2, 'outside': 0}, 'old_children': ['a', 'b', 'z'], 'new_children': ['x', 'y'], 'position': 2, 'versions': {'r': 3, 'q': 7, 'outside': 8}, 'focus': 'outside', 'selected': ['c', 'a'], 'expanded': ['r'], 'reveal': True}, ['q', {'r': 0, 'b': 3, 'c': 4, 'q': 2, 'outside': 0}, ['a', 'z'], ['x', 'y', 'b'], ['q', 'r'], {'r': 4, 'q': 8, 'outside': 8}, 'outside', ['c', 'a'], ['q', 'r']])], 2: [('accepted', {'target': 'q', 'closure': ['b', 'c'], 'readonly': False, 'root': 'b', 'old_parent': 'r', 'target_depth': 3, 'depths': {'r': 0, 'b': 1, 'c': 2, 'q': 3, 'outside': 0}, 'old_children': ['a', 'b', 'z'], 'new_children': ['x', 'y'], 'position': 1, 'versions': {'r': 3, 'q': 7, 'outside': 8}, 'focus': 'c', 'selected': ['c', 'a'], 'expanded': ['r'], 'reveal': True}, ['q', {'r': 0, 'b': 4, 'c': 5, 'q': 3, 'outside': 0}, ['a', 'z'], ['x', 'b', 'y'], ['q', 'r'], {'r': 4, 'q': 8, 'outside': 8}, 'c', ['c', 'a'], ['q', 'r']]), ('descendant target', {'target': 'c', 'closure': ['b', 'c'], 'readonly': False, 'root': 'b', 'old_parent': 'r', 'target_depth': 3, 'depths': {'r': 0, 'b': 1, 'c': 2, 'q': 3, 'outside': 0}, 'old_children': ['a', 'b', 'z'], 'new_children': ['x', 'y'], 'position': 1, 'versions': {'r': 3, 'q': 7, 'outside': 8}, 'focus': 'c', 'selected': ['c', 'a'], 'expanded': ['r'], 'reveal': True}, ['r', {'r': 0, 'b': 1, 'c': 2, 'q': 3, 'outside': 0}, ['a', 'b', 'z'], ['x', 'y'], [], {'r': 3, 'q': 7, 'outside': 8}, 'c', ['c', 'a'], ['r']]), ('protected target', {'target': 'q', 'closure': ['b', 'c'], 'readonly': True, 'root': 'b', 'old_parent': 'r', 'target_depth': 3, 'depths': {'r': 0, 'b': 1, 'c': 2, 'q': 3, 'outside': 0}, 'old_children': ['a', 'b', 'z'], 'new_children': ['x', 'y'], 'position': 1, 'versions': {'r': 3, 'q': 7, 'outside': 8}, 'focus': 'c', 'selected': ['c', 'a'], 'expanded': ['r'], 'reveal': True}, ['r', {'r': 0, 'b': 1, 'c': 2, 'q': 3, 'outside': 0}, ['a', 'b', 'z'], ['x', 'y'], [], {'r': 3, 'q': 7, 'outside': 8}, 'c', ['c', 'a'], ['r']]), ('no reveal', {'target': 'q', 'closure': ['b', 'c'], 'readonly': False, 'root': 'b', 'old_parent': 'r', 'target_depth': 3, 'depths': {'r': 0, 'b': 1, 'c': 2, 'q': 3, 'outside': 0}, 'old_children': ['a', 'b', 'z'], 'new_children': ['x', 'y'], 'position': 1, 'versions': {'r': 3, 'q': 7, 'outside': 8}, 'focus': 'c', 'selected': ['c', 'a'], 'expanded': ['r'], 'reveal': False}, ['q', {'r': 0, 'b': 4, 'c': 5, 'q': 3, 'outside': 0}, ['a', 'z'], ['x', 'b', 'y'], ['q', 'r'], {'r': 4, 'q': 8, 'outside': 8}, 'c', ['c', 'a'], ['r']]), ('insert first', {'target': 'q', 'closure': ['b', 'c'], 'readonly': False, 'root': 'b', 'old_parent': 'r', 'target_depth': 3, 'depths': {'r': 0, 'b': 1, 'c': 2, 'q': 3, 'outside': 0}, 'old_children': ['a', 'b', 'z'], 'new_children': ['x', 'y'], 'position': 0, 'versions': {'r': 3, 'q': 7, 'outside': 8}, 'focus': 'c', 'selected': ['c', 'a'], 'expanded': ['r'], 'reveal': True}, ['q', {'r': 0, 'b': 4, 'c': 5, 'q': 3, 'outside': 0}, ['a', 'z'], ['b', 'x', 'y'], ['q', 'r'], {'r': 4, 'q': 8, 'outside': 8}, 'c', ['c', 'a'], ['q', 'r']]), ('insert last', {'target': 'q', 'closure': ['b', 'c'], 'readonly': False, 'root': 'b', 'old_parent': 'r', 'target_depth': 3, 'depths': {'r': 0, 'b': 1, 'c': 2, 'q': 3, 'outside': 0}, 'old_children': ['a', 'b', 'z'], 'new_children': ['x', 'y'], 'position': 2, 'versions': {'r': 3, 'q': 7, 'outside': 8}, 'focus': 'outside', 'selected': ['c', 'a'], 'expanded': ['r'], 'reveal': True}, ['q', {'r': 0, 'b': 4, 'c': 5, 'q': 3, 'outside': 0}, ['a', 'z'], ['x', 'y', 'b'], ['q', 'r'], {'r': 4, 'q': 8, 'outside': 8}, 'outside', ['c', 'a'], ['q', 'r']])], 3: [('accepted', {'target': 'q', 'closure': ['b', 'c'], 'readonly': False, 'root': 'b', 'old_parent': 'r', 'target_depth': 4, 'depths': {'r': 0, 'b': 1, 'c': 2, 'q': 4, 'outside': 0}, 'old_children': ['a', 'b', 'z'], 'new_children': ['x', 'y'], 'position': 1, 'versions': {'r': 3, 'q': 7, 'outside': 8}, 'focus': 'c', 'selected': ['c', 'a'], 'expanded': ['r'], 'reveal': True}, ['q', {'r': 0, 'b': 5, 'c': 6, 'q': 4, 'outside': 0}, ['a', 'z'], ['x', 'b', 'y'], ['q', 'r'], {'r': 4, 'q': 8, 'outside': 8}, 'c', ['c', 'a'], ['q', 'r']]), ('descendant target', {'target': 'c', 'closure': ['b', 'c'], 'readonly': False, 'root': 'b', 'old_parent': 'r', 'target_depth': 4, 'depths': {'r': 0, 'b': 1, 'c': 2, 'q': 4, 'outside': 0}, 'old_children': ['a', 'b', 'z'], 'new_children': ['x', 'y'], 'position': 1, 'versions': {'r': 3, 'q': 7, 'outside': 8}, 'focus': 'c', 'selected': ['c', 'a'], 'expanded': ['r'], 'reveal': True}, ['r', {'r': 0, 'b': 1, 'c': 2, 'q': 4, 'outside': 0}, ['a', 'b', 'z'], ['x', 'y'], [], {'r': 3, 'q': 7, 'outside': 8}, 'c', ['c', 'a'], ['r']]), ('protected target', {'target': 'q', 'closure': ['b', 'c'], 'readonly': True, 'root': 'b', 'old_parent': 'r', 'target_depth': 4, 'depths': {'r': 0, 'b': 1, 'c': 2, 'q': 4, 'outside': 0}, 'old_children': ['a', 'b', 'z'], 'new_children': ['x', 'y'], 'position': 1, 'versions': {'r': 3, 'q': 7, 'outside': 8}, 'focus': 'c', 'selected': ['c', 'a'], 'expanded': ['r'], 'reveal': True}, ['r', {'r': 0, 'b': 1, 'c': 2, 'q': 4, 'outside': 0}, ['a', 'b', 'z'], ['x', 'y'], [], {'r': 3, 'q': 7, 'outside': 8}, 'c', ['c', 'a'], ['r']]), ('no reveal', {'target': 'q', 'closure': ['b', 'c'], 'readonly': False, 'root': 'b', 'old_parent': 'r', 'target_depth': 4, 'depths': {'r': 0, 'b': 1, 'c': 2, 'q': 4, 'outside': 0}, 'old_children': ['a', 'b', 'z'], 'new_children': ['x', 'y'], 'position': 1, 'versions': {'r': 3, 'q': 7, 'outside': 8}, 'focus': 'c', 'selected': ['c', 'a'], 'expanded': ['r'], 'reveal': False}, ['q', {'r': 0, 'b': 5, 'c': 6, 'q': 4, 'outside': 0}, ['a', 'z'], ['x', 'b', 'y'], ['q', 'r'], {'r': 4, 'q': 8, 'outside': 8}, 'c', ['c', 'a'], ['r']]), ('insert first', {'target': 'q', 'closure': ['b', 'c'], 'readonly': False, 'root': 'b', 'old_parent': 'r', 'target_depth': 4, 'depths': {'r': 0, 'b': 1, 'c': 2, 'q': 4, 'outside': 0}, 'old_children': ['a', 'b', 'z'], 'new_children': ['x', 'y'], 'position': 0, 'versions': {'r': 3, 'q': 7, 'outside': 8}, 'focus': 'c', 'selected': ['c', 'a'], 'expanded': ['r'], 'reveal': True}, ['q', {'r': 0, 'b': 5, 'c': 6, 'q': 4, 'outside': 0}, ['a', 'z'], ['b', 'x', 'y'], ['q', 'r'], {'r': 4, 'q': 8, 'outside': 8}, 'c', ['c', 'a'], ['q', 'r']]), ('insert last', {'target': 'q', 'closure': ['b', 'c'], 'readonly': False, 'root': 'b', 'old_parent': 'r', 'target_depth': 4, 'depths': {'r': 0, 'b': 1, 'c': 2, 'q': 4, 'outside': 0}, 'old_children': ['a', 'b', 'z'], 'new_children': ['x', 'y'], 'position': 2, 'versions': {'r': 3, 'q': 7, 'outside': 8}, 'focus': 'outside', 'selected': ['c', 'a'], 'expanded': ['r'], 'reveal': True}, ['q', {'r': 0, 'b': 5, 'c': 6, 'q': 4, 'outside': 0}, ['a', 'z'], ['x', 'y', 'b'], ['q', 'r'], {'r': 4, 'q': 8, 'outside': 8}, 'outside', ['c', 'a'], ['q', 'r']])], 4: [('accepted', {'target': 'q', 'closure': ['b', 'c'], 'readonly': False, 'root': 'b', 'old_parent': 'r', 'target_depth': 5, 'depths': {'r': 0, 'b': 1, 'c': 2, 'q': 5, 'outside': 0}, 'old_children': ['a', 'b', 'z'], 'new_children': ['x', 'y'], 'position': 1, 'versions': {'r': 3, 'q': 7, 'outside': 8}, 'focus': 'c', 'selected': ['c', 'a'], 'expanded': ['r'], 'reveal': True}, ['q', {'r': 0, 'b': 6, 'c': 7, 'q': 5, 'outside': 0}, ['a', 'z'], ['x', 'b', 'y'], ['q', 'r'], {'r': 4, 'q': 8, 'outside': 8}, 'c', ['c', 'a'], ['q', 'r']]), ('descendant target', {'target': 'c', 'closure': ['b', 'c'], 'readonly': False, 'root': 'b', 'old_parent': 'r', 'target_depth': 5, 'depths': {'r': 0, 'b': 1, 'c': 2, 'q': 5, 'outside': 0}, 'old_children': ['a', 'b', 'z'], 'new_children': ['x', 'y'], 'position': 1, 'versions': {'r': 3, 'q': 7, 'outside': 8}, 'focus': 'c', 'selected': ['c', 'a'], 'expanded': ['r'], 'reveal': True}, ['r', {'r': 0, 'b': 1, 'c': 2, 'q': 5, 'outside': 0}, ['a', 'b', 'z'], ['x', 'y'], [], {'r': 3, 'q': 7, 'outside': 8}, 'c', ['c', 'a'], ['r']]), ('protected target', {'target': 'q', 'closure': ['b', 'c'], 'readonly': True, 'root': 'b', 'old_parent': 'r', 'target_depth': 5, 'depths': {'r': 0, 'b': 1, 'c': 2, 'q': 5, 'outside': 0}, 'old_children': ['a', 'b', 'z'], 'new_children': ['x', 'y'], 'position': 1, 'versions': {'r': 3, 'q': 7, 'outside': 8}, 'focus': 'c', 'selected': ['c', 'a'], 'expanded': ['r'], 'reveal': True}, ['r', {'r': 0, 'b': 1, 'c': 2, 'q': 5, 'outside': 0}, ['a', 'b', 'z'], ['x', 'y'], [], {'r': 3, 'q': 7, 'outside': 8}, 'c', ['c', 'a'], ['r']]), ('no reveal', {'target': 'q', 'closure': ['b', 'c'], 'readonly': False, 'root': 'b', 'old_parent': 'r', 'target_depth': 5, 'depths': {'r': 0, 'b': 1, 'c': 2, 'q': 5, 'outside': 0}, 'old_children': ['a', 'b', 'z'], 'new_children': ['x', 'y'], 'position': 1, 'versions': {'r': 3, 'q': 7, 'outside': 8}, 'focus': 'c', 'selected': ['c', 'a'], 'expanded': ['r'], 'reveal': False}, ['q', {'r': 0, 'b': 6, 'c': 7, 'q': 5, 'outside': 0}, ['a', 'z'], ['x', 'b', 'y'], ['q', 'r'], {'r': 4, 'q': 8, 'outside': 8}, 'c', ['c', 'a'], ['r']]), ('insert first', {'target': 'q', 'closure': ['b', 'c'], 'readonly': False, 'root': 'b', 'old_parent': 'r', 'target_depth': 5, 'depths': {'r': 0, 'b': 1, 'c': 2, 'q': 5, 'outside': 0}, 'old_children': ['a', 'b', 'z'], 'new_children': ['x', 'y'], 'position': 0, 'versions': {'r': 3, 'q': 7, 'outside': 8}, 'focus': 'c', 'selected': ['c', 'a'], 'expanded': ['r'], 'reveal': True}, ['q', {'r': 0, 'b': 6, 'c': 7, 'q': 5, 'outside': 0}, ['a', 'z'], ['b', 'x', 'y'], ['q', 'r'], {'r': 4, 'q': 8, 'outside': 8}, 'c', ['c', 'a'], ['q', 'r']]), ('insert last', {'target': 'q', 'closure': ['b', 'c'], 'readonly': False, 'root': 'b', 'old_parent': 'r', 'target_depth': 5, 'depths': {'r': 0, 'b': 1, 'c': 2, 'q': 5, 'outside': 0}, 'old_children': ['a', 'b', 'z'], 'new_children': ['x', 'y'], 'position': 2, 'versions': {'r': 3, 'q': 7, 'outside': 8}, 'focus': 'outside', 'selected': ['c', 'a'], 'expanded': ['r'], 'reveal': True}, ['q', {'r': 0, 'b': 6, 'c': 7, 'q': 5, 'outside': 0}, ['a', 'z'], ['x', 'y', 'b'], ['q', 'r'], {'r': 4, 'q': 8, 'outside': 8}, 'outside', ['c', 'a'], ['q', 'r']])], 5: [('accepted', {'target': 'q', 'closure': ['b', 'c'], 'readonly': False, 'root': 'b', 'old_parent': 'r', 'target_depth': 6, 'depths': {'r': 0, 'b': 1, 'c': 2, 'q': 6, 'outside': 0}, 'old_children': ['a', 'b', 'z'], 'new_children': ['x', 'y'], 'position': 1, 'versions': {'r': 3, 'q': 7, 'outside': 8}, 'focus': 'c', 'selected': ['c', 'a'], 'expanded': ['r'], 'reveal': True}, ['q', {'r': 0, 'b': 7, 'c': 8, 'q': 6, 'outside': 0}, ['a', 'z'], ['x', 'b', 'y'], ['q', 'r'], {'r': 4, 'q': 8, 'outside': 8}, 'c', ['c', 'a'], ['q', 'r']]), ('descendant target', {'target': 'c', 'closure': ['b', 'c'], 'readonly': False, 'root': 'b', 'old_parent': 'r', 'target_depth': 6, 'depths': {'r': 0, 'b': 1, 'c': 2, 'q': 6, 'outside': 0}, 'old_children': ['a', 'b', 'z'], 'new_children': ['x', 'y'], 'position': 1, 'versions': {'r': 3, 'q': 7, 'outside': 8}, 'focus': 'c', 'selected': ['c', 'a'], 'expanded': ['r'], 'reveal': True}, ['r', {'r': 0, 'b': 1, 'c': 2, 'q': 6, 'outside': 0}, ['a', 'b', 'z'], ['x', 'y'], [], {'r': 3, 'q': 7, 'outside': 8}, 'c', ['c', 'a'], ['r']]), ('protected target', {'target': 'q', 'closure': ['b', 'c'], 'readonly': True, 'root': 'b', 'old_parent': 'r', 'target_depth': 6, 'depths': {'r': 0, 'b': 1, 'c': 2, 'q': 6, 'outside': 0}, 'old_children': ['a', 'b', 'z'], 'new_children': ['x', 'y'], 'position': 1, 'versions': {'r': 3, 'q': 7, 'outside': 8}, 'focus': 'c', 'selected': ['c', 'a'], 'expanded': ['r'], 'reveal': True}, ['r', {'r': 0, 'b': 1, 'c': 2, 'q': 6, 'outside': 0}, ['a', 'b', 'z'], ['x', 'y'], [], {'r': 3, 'q': 7, 'outside': 8}, 'c', ['c', 'a'], ['r']]), ('no reveal', {'target': 'q', 'closure': ['b', 'c'], 'readonly': False, 'root': 'b', 'old_parent': 'r', 'target_depth': 6, 'depths': {'r': 0, 'b': 1, 'c': 2, 'q': 6, 'outside': 0}, 'old_children': ['a', 'b', 'z'], 'new_children': ['x', 'y'], 'position': 1, 'versions': {'r': 3, 'q': 7, 'outside': 8}, 'focus': 'c', 'selected': ['c', 'a'], 'expanded': ['r'], 'reveal': False}, ['q', {'r': 0, 'b': 7, 'c': 8, 'q': 6, 'outside': 0}, ['a', 'z'], ['x', 'b', 'y'], ['q', 'r'], {'r': 4, 'q': 8, 'outside': 8}, 'c', ['c', 'a'], ['r']]), ('insert first', {'target': 'q', 'closure': ['b', 'c'], 'readonly': False, 'root': 'b', 'old_parent': 'r', 'target_depth': 6, 'depths': {'r': 0, 'b': 1, 'c': 2, 'q': 6, 'outside': 0}, 'old_children': ['a', 'b', 'z'], 'new_children': ['x', 'y'], 'position': 0, 'versions': {'r': 3, 'q': 7, 'outside': 8}, 'focus': 'c', 'selected': ['c', 'a'], 'expanded': ['r'], 'reveal': True}, ['q', {'r': 0, 'b': 7, 'c': 8, 'q': 6, 'outside': 0}, ['a', 'z'], ['b', 'x', 'y'], ['q', 'r'], {'r': 4, 'q': 8, 'outside': 8}, 'c', ['c', 'a'], ['q', 'r']]), ('insert last', {'target': 'q', 'closure': ['b', 'c'], 'readonly': False, 'root': 'b', 'old_parent': 'r', 'target_depth': 6, 'depths': {'r': 0, 'b': 1, 'c': 2, 'q': 6, 'outside': 0}, 'old_children': ['a', 'b', 'z'], 'new_children': ['x', 'y'], 'position': 2, 'versions': {'r': 3, 'q': 7, 'outside': 8}, 'focus': 'outside', 'selected': ['c', 'a'], 'expanded': ['r'], 'reveal': True}, ['q', {'r': 0, 'b': 7, 'c': 8, 'q': 6, 'outside': 0}, ['a', 'z'], ['x', 'y', 'b'], ['q', 'r'], {'r': 4, 'q': 8, 'outside': 8}, 'outside', ['c', 'a'], ['q', 'r']])]}
for label, data, expected in cases[N]:
check(label, solve(data), expected)
print(json.dumps({"observations": observations, "passed": all(x["passed"] for x in observations)}, ensure_ascii=False))
raise SystemExit(0 if all(x["passed"] for x in observations) else 1)
| Boundary fixture | Actual | Expected | Outcome |
|---|---|---|---|
| accepted | ['q', {'b': 3, 'c': 4, 'outside': 0, 'q': 2, 'r': 0}, ['a', 'z'], ['x', 'b', 'y'], ['q', 'r'], {'outside': 8, 'q': 8, 'r': 4}, 'q', ['c', 'a'], ['q', 'r']] | ['q', {'b': 3, 'c': 4, 'outside': 0, 'q': 2, 'r': 0}, ['a', 'z'], ['x', 'b', 'y'], ['q', 'r'], {'outside': 8, 'q': 8, 'r': 4}, 'c', ['c', 'a'], ['q', 'r']] | Failed |
| descendant target | ['r', {'b': 1, 'c': 2, 'outside': 0, 'q': 2, 'r': 0}, ['a', 'b', 'z'], ['x', 'y'], [], {'outside': 8, 'q': 7, 'r': 3}, 'c', ['c', 'a'], ['r']] | ['r', {'b': 1, 'c': 2, 'outside': 0, 'q': 2, 'r': 0}, ['a', 'b', 'z'], ['x', 'y'], [], {'outside': 8, 'q': 7, 'r': 3}, 'c', ['c', 'a'], ['r']] | Passed |
| protected target | ['r', {'b': 1, 'c': 2, 'outside': 0, 'q': 2, 'r': 0}, ['a', 'b', 'z'], ['x', 'y'], [], {'outside': 8, 'q': 7, 'r': 3}, 'q', ['c', 'a'], ['r']] | ['r', {'b': 1, 'c': 2, 'outside': 0, 'q': 2, 'r': 0}, ['a', 'b', 'z'], ['x', 'y'], [], {'outside': 8, 'q': 7, 'r': 3}, 'c', ['c', 'a'], ['r']] | Failed |
| no reveal | ['q', {'b': 3, 'c': 4, 'outside': 0, 'q': 2, 'r': 0}, ['a', 'z'], ['x', 'b', 'y'], ['q', 'r'], {'outside': 8, 'q': 8, 'r': 4}, 'q', ['c', 'a'], ['r']] | ['q', {'b': 3, 'c': 4, 'outside': 0, 'q': 2, 'r': 0}, ['a', 'z'], ['x', 'b', 'y'], ['q', 'r'], {'outside': 8, 'q': 8, 'r': 4}, 'c', ['c', 'a'], ['r']] | Failed |
| insert first | ['q', {'b': 3, 'c': 4, 'outside': 0, 'q': 2, 'r': 0}, ['a', 'z'], ['b', 'x', 'y'], ['q', 'r'], {'outside': 8, 'q': 8, 'r': 4}, 'q', ['c', 'a'], ['q', 'r']] | ['q', {'b': 3, 'c': 4, 'outside': 0, 'q': 2, 'r': 0}, ['a', 'z'], ['b', 'x', 'y'], ['q', 'r'], {'outside': 8, 'q': 8, 'r': 4}, 'c', ['c', 'a'], ['q', 'r']] | Failed |
| insert last | ['q', {'b': 3, 'c': 4, 'outside': 0, 'q': 2, 'r': 0}, ['a', 'z'], ['x', 'y', 'b'], ['q', 'r'], {'outside': 8, 'q': 8, 'r': 4}, 'q', ['c', 'a'], ['q', 'r']] | ['q', {'b': 3, 'c': 4, 'outside': 0, 'q': 2, 'r': 0}, ['a', 'z'], ['x', 'y', 'b'], ['q', 'r'], {'outside': 8, 'q': 8, 'r': 4}, 'outside', ['c', 'a'], ['q', 'r']] | Failed |
SHA-256 / e4ffd40ef86d2aca37f2a07dc51d5b9f3a50a48e6f74ee31e617c2a13fd1b647
HELD IN THE MEMBER ARCHIVE
The verified repair and its recorded checks are member-only.
This mechanism has 6 recorded checks per implementation. The open-access tier publishes the failure and the unsuccessful fix; the repaired source that passes every check, and the observations that prove it, are available to members.
Every case sharing this mechanism uses the same contract and the same repair, so this one record is held back for all of them.
Member access is invitation-based. Sign in with your invited account to inspect the repair.
Sign in to the archive ↗Verification & scope
Synthetic deterministic hierarchical-widget data contract; not an implementation of a browser accessibility tree. This reproducer isolates one failure mechanism. Results cover the supplied fixtures. Variants within a family share a test contract and should remain grouped when constructing evaluation splits. Related mechanisms with a shared evaluation_group must also remain together; these controlled models are not independent production incidents.
Observations recorded using Python 3.12.14 at 2026-09-29T14:43:13.678228+00:00.
Case digest / 4eb86d69d68e7645d951de87635adf9bd00b474fc6cfe4b0e145d803e395de85