FA-39216 / Tree accessibility / Open access
Lazy subtree inherited check intent: Uncontrolled descendants lose stored checkbox state · case 01
Uncontrolled descendants lose stored checkbox state produces the wrong hierarchical widget state in a regression fixture.
ROOT CAUSE
The inherited-check-intent contract is violated at `intent[nearest] if nearest is not None else d['stored'].get(x,False)` by replacing it with `intent[nearest] if nearest is not None else False`.
VERIFIED REPAIR
Restore `intent[nearest] if nearest is not None else d['stored'].get(x,False)` at this fault site while retaining the other tree state decisions.
Unsuccessful approach: The partial repair `d['stored'].get(x,False)` still violates a boundary or preservation case.
Case contract
Checking an incompletely loaded branch stores inherited intent. Loaded writable descendants receive nearest ancestor intent unless they have an explicit override. Disabled descendants keep stored state. A fully loaded empty branch removes obsolete intent; pending intent remains for unknown descendants.
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):
intent=dict(d['intent'])
if d['toggle'] is not None: intent[d['branch']]=d['toggle']
if d['complete'] and not d['descendants']: intent.pop(d['branch'],None)
result={}
for x in d['descendants']:
nearest=next((a for a in reversed(d['ancestors'][x]) if a in intent),None)
inherited=intent[nearest] if nearest is not None else False
value=d['overrides'].get(x,inherited)
result[x]=d['stored'].get(x,False) if x in d['disabled'] else value
pending={x:v for x,v in intent.items() if x in d['unknown']}
checked=[x for x in d['descendants'] if result[x]]
return [intent,result,pending,checked]
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
cases = {1: [('inherit', {'intent': {'r': True, 'b': False, 'q': True}, 'toggle': True, 'branch': 'b', 'complete': False, 'descendants': ['z', 'a', 'c', 'd', 'e', 'v0'], 'ancestors': {'z': ['r', 'b'], 'a': ['r', 'b'], 'c': ['r', 'b'], 'd': [], 'e': ['r'], 'v0': ['r', 'b']}, 'stored': {'c': True, 'd': True}, 'overrides': {'a': False}, 'disabled': ['c'], 'unknown': ['b', 'q']}, [{'r': True, 'b': True, 'q': True}, {'z': True, 'a': False, 'c': True, 'd': True, 'e': True, 'v0': True}, {'b': True, 'q': True}, ['z', 'c', 'd', 'e', 'v0']]), ('no toggle', {'intent': {'r': True, 'b': False, 'q': True}, 'toggle': None, 'branch': 'b', 'complete': False, 'descendants': ['z', 'a', 'c', 'd', 'e', 'v0'], 'ancestors': {'z': ['r', 'b'], 'a': ['r', 'b'], 'c': ['r', 'b'], 'd': [], 'e': ['r'], 'v0': ['r', 'b']}, 'stored': {'c': True, 'd': True}, 'overrides': {'a': False}, 'disabled': ['c'], 'unknown': ['b', 'q']}, [{'r': True, 'b': False, 'q': True}, {'z': False, 'a': False, 'c': True, 'd': True, 'e': True, 'v0': False}, {'b': False, 'q': True}, ['c', 'd', 'e']]), ('uncheck', {'intent': {'r': True, 'b': True, 'q': True}, 'toggle': False, 'branch': 'b', 'complete': False, 'descendants': ['z', 'a', 'c', 'd', 'e', 'v0'], 'ancestors': {'z': ['r', 'b'], 'a': ['r', 'b'], 'c': ['r', 'b'], 'd': [], 'e': ['r'], 'v0': ['r', 'b']}, 'stored': {'c': True, 'd': True}, 'overrides': {'a': False}, 'disabled': ['c'], 'unknown': ['b', 'q']}, [{'r': True, 'b': False, 'q': True}, {'z': False, 'a': False, 'c': True, 'd': True, 'e': True, 'v0': False}, {'b': False, 'q': True}, ['c', 'd', 'e']]), ('empty unknown', {'intent': {'r': True, 'b': False, 'q': True}, 'toggle': True, 'branch': 'b', 'complete': False, 'descendants': [], 'ancestors': {'z': ['r', 'b'], 'a': ['r', 'b'], 'c': ['r', 'b'], 'd': [], 'e': ['r'], 'v0': ['r', 'b']}, 'stored': {'c': True, 'd': True}, 'overrides': {'a': False}, 'disabled': ['c'], 'unknown': ['b', 'q']}, [{'r': True, 'b': True, 'q': True}, {}, {'b': True, 'q': True}, []]), ('empty complete', {'intent': {'r': True, 'b': False, 'q': True}, 'toggle': True, 'branch': 'b', 'complete': True, 'descendants': [], 'ancestors': {'z': ['r', 'b'], 'a': ['r', 'b'], 'c': ['r', 'b'], 'd': [], 'e': ['r'], 'v0': ['r', 'b']}, 'stored': {'c': True, 'd': True}, 'overrides': {'a': False}, 'disabled': ['c'], 'unknown': ['b', 'q']}, [{'r': True, 'q': True}, {}, {'q': True}, []]), ('loaded complete', {'intent': {'r': True, 'b': False, 'q': True}, 'toggle': True, 'branch': 'b', 'complete': True, 'descendants': ['z', 'a', 'c', 'd', 'e', 'v0'], 'ancestors': {'z': ['r', 'b'], 'a': ['r', 'b'], 'c': ['r', 'b'], 'd': [], 'e': ['r'], 'v0': ['r', 'b']}, 'stored': {'c': True, 'd': True}, 'overrides': {'a': False}, 'disabled': ['c'], 'unknown': ['b', 'q']}, [{'r': True, 'b': True, 'q': True}, {'z': True, 'a': False, 'c': True, 'd': True, 'e': True, 'v0': True}, {'b': True, 'q': True}, ['z', 'c', 'd', 'e', 'v0']]), ('disabled uncheck', {'intent': {'r': True, 'b': False, 'q': True}, 'toggle': False, 'branch': 'b', 'complete': False, 'descendants': ['z', 'a', 'c', 'd', 'e', 'v0'], 'ancestors': {'z': ['r', 'b'], 'a': ['r', 'b'], 'c': ['r', 'b'], 'd': [], 'e': ['r'], 'v0': ['r', 'b']}, 'stored': {'c': True, 'd': True}, 'overrides': {'a': False}, 'disabled': ['c'], 'unknown': ['b', 'q']}, [{'r': True, 'b': False, 'q': True}, {'z': False, 'a': False, 'c': True, 'd': True, 'e': True, 'v0': False}, {'b': False, 'q': True}, ['c', 'd', 'e']])], 2: [('inherit', {'intent': {'r': True, 'b': False, 'q': True}, 'toggle': True, 'branch': 'b', 'complete': False, 'descendants': ['z', 'a', 'c', 'd', 'e', 'v0', 'v1'], 'ancestors': {'z': ['r', 'b'], 'a': ['r', 'b'], 'c': ['r', 'b'], 'd': [], 'e': ['r'], 'v0': ['r', 'b'], 'v1': ['r', 'b']}, 'stored': {'c': True, 'd': True}, 'overrides': {'a': False}, 'disabled': ['c'], 'unknown': ['b', 'q']}, [{'r': True, 'b': True, 'q': True}, {'z': True, 'a': False, 'c': True, 'd': True, 'e': True, 'v0': True, 'v1': True}, {'b': True, 'q': True}, ['z', 'c', 'd', 'e', 'v0', 'v1']]), ('no toggle', {'intent': {'r': True, 'b': False, 'q': True}, 'toggle': None, 'branch': 'b', 'complete': False, 'descendants': ['z', 'a', 'c', 'd', 'e', 'v0', 'v1'], 'ancestors': {'z': ['r', 'b'], 'a': ['r', 'b'], 'c': ['r', 'b'], 'd': [], 'e': ['r'], 'v0': ['r', 'b'], 'v1': ['r', 'b']}, 'stored': {'c': True, 'd': True}, 'overrides': {'a': False}, 'disabled': ['c'], 'unknown': ['b', 'q']}, [{'r': True, 'b': False, 'q': True}, {'z': False, 'a': False, 'c': True, 'd': True, 'e': True, 'v0': False, 'v1': False}, {'b': False, 'q': True}, ['c', 'd', 'e']]), ('uncheck', {'intent': {'r': True, 'b': True, 'q': True}, 'toggle': False, 'branch': 'b', 'complete': False, 'descendants': ['z', 'a', 'c', 'd', 'e', 'v0', 'v1'], 'ancestors': {'z': ['r', 'b'], 'a': ['r', 'b'], 'c': ['r', 'b'], 'd': [], 'e': ['r'], 'v0': ['r', 'b'], 'v1': ['r', 'b']}, 'stored': {'c': True, 'd': True}, 'overrides': {'a': False}, 'disabled': ['c'], 'unknown': ['b', 'q']}, [{'r': True, 'b': False, 'q': True}, {'z': False, 'a': False, 'c': True, 'd': True, 'e': True, 'v0': False, 'v1': False}, {'b': False, 'q': True}, ['c', 'd', 'e']]), ('empty unknown', {'intent': {'r': True, 'b': False, 'q': True}, 'toggle': True, 'branch': 'b', 'complete': False, 'descendants': [], 'ancestors': {'z': ['r', 'b'], 'a': ['r', 'b'], 'c': ['r', 'b'], 'd': [], 'e': ['r'], 'v0': ['r', 'b'], 'v1': ['r', 'b']}, 'stored': {'c': True, 'd': True}, 'overrides': {'a': False}, 'disabled': ['c'], 'unknown': ['b', 'q']}, [{'r': True, 'b': True, 'q': True}, {}, {'b': True, 'q': True}, []]), ('empty complete', {'intent': {'r': True, 'b': False, 'q': True}, 'toggle': True, 'branch': 'b', 'complete': True, 'descendants': [], 'ancestors': {'z': ['r', 'b'], 'a': ['r', 'b'], 'c': ['r', 'b'], 'd': [], 'e': ['r'], 'v0': ['r', 'b'], 'v1': ['r', 'b']}, 'stored': {'c': True, 'd': True}, 'overrides': {'a': False}, 'disabled': ['c'], 'unknown': ['b', 'q']}, [{'r': True, 'q': True}, {}, {'q': True}, []]), ('loaded complete', {'intent': {'r': True, 'b': False, 'q': True}, 'toggle': True, 'branch': 'b', 'complete': True, 'descendants': ['z', 'a', 'c', 'd', 'e', 'v0', 'v1'], 'ancestors': {'z': ['r', 'b'], 'a': ['r', 'b'], 'c': ['r', 'b'], 'd': [], 'e': ['r'], 'v0': ['r', 'b'], 'v1': ['r', 'b']}, 'stored': {'c': True, 'd': True}, 'overrides': {'a': False}, 'disabled': ['c'], 'unknown': ['b', 'q']}, [{'r': True, 'b': True, 'q': True}, {'z': True, 'a': False, 'c': True, 'd': True, 'e': True, 'v0': True, 'v1': True}, {'b': True, 'q': True}, ['z', 'c', 'd', 'e', 'v0', 'v1']]), ('disabled uncheck', {'intent': {'r': True, 'b': False, 'q': True}, 'toggle': False, 'branch': 'b', 'complete': False, 'descendants': ['z', 'a', 'c', 'd', 'e', 'v0', 'v1'], 'ancestors': {'z': ['r', 'b'], 'a': ['r', 'b'], 'c': ['r', 'b'], 'd': [], 'e': ['r'], 'v0': ['r', 'b'], 'v1': ['r', 'b']}, 'stored': {'c': True, 'd': True}, 'overrides': {'a': False}, 'disabled': ['c'], 'unknown': ['b', 'q']}, [{'r': True, 'b': False, 'q': True}, {'z': False, 'a': False, 'c': True, 'd': True, 'e': True, 'v0': False, 'v1': False}, {'b': False, 'q': True}, ['c', 'd', 'e']])], 3: [('inherit', {'intent': {'r': True, 'b': False, 'q': True}, 'toggle': True, 'branch': 'b', 'complete': False, 'descendants': ['z', 'a', 'c', 'd', 'e', 'v0', 'v1', 'v2'], 'ancestors': {'z': ['r', 'b'], 'a': ['r', 'b'], 'c': ['r', 'b'], 'd': [], 'e': ['r'], 'v0': ['r', 'b'], 'v1': ['r', 'b'], 'v2': ['r', 'b']}, 'stored': {'c': True, 'd': True}, 'overrides': {'a': False}, 'disabled': ['c'], 'unknown': ['b', 'q']}, [{'r': True, 'b': True, 'q': True}, {'z': True, 'a': False, 'c': True, 'd': True, 'e': True, 'v0': True, 'v1': True, 'v2': True}, {'b': True, 'q': True}, ['z', 'c', 'd', 'e', 'v0', 'v1', 'v2']]), ('no toggle', {'intent': {'r': True, 'b': False, 'q': True}, 'toggle': None, 'branch': 'b', 'complete': False, 'descendants': ['z', 'a', 'c', 'd', 'e', 'v0', 'v1', 'v2'], 'ancestors': {'z': ['r', 'b'], 'a': ['r', 'b'], 'c': ['r', 'b'], 'd': [], 'e': ['r'], 'v0': ['r', 'b'], 'v1': ['r', 'b'], 'v2': ['r', 'b']}, 'stored': {'c': True, 'd': True}, 'overrides': {'a': False}, 'disabled': ['c'], 'unknown': ['b', 'q']}, [{'r': True, 'b': False, 'q': True}, {'z': False, 'a': False, 'c': True, 'd': True, 'e': True, 'v0': False, 'v1': False, 'v2': False}, {'b': False, 'q': True}, ['c', 'd', 'e']]), ('uncheck', {'intent': {'r': True, 'b': True, 'q': True}, 'toggle': False, 'branch': 'b', 'complete': False, 'descendants': ['z', 'a', 'c', 'd', 'e', 'v0', 'v1', 'v2'], 'ancestors': {'z': ['r', 'b'], 'a': ['r', 'b'], 'c': ['r', 'b'], 'd': [], 'e': ['r'], 'v0': ['r', 'b'], 'v1': ['r', 'b'], 'v2': ['r', 'b']}, 'stored': {'c': True, 'd': True}, 'overrides': {'a': False}, 'disabled': ['c'], 'unknown': ['b', 'q']}, [{'r': True, 'b': False, 'q': True}, {'z': False, 'a': False, 'c': True, 'd': True, 'e': True, 'v0': False, 'v1': False, 'v2': False}, {'b': False, 'q': True}, ['c', 'd', 'e']]), ('empty unknown', {'intent': {'r': True, 'b': False, 'q': True}, 'toggle': True, 'branch': 'b', 'complete': False, 'descendants': [], 'ancestors': {'z': ['r', 'b'], 'a': ['r', 'b'], 'c': ['r', 'b'], 'd': [], 'e': ['r'], 'v0': ['r', 'b'], 'v1': ['r', 'b'], 'v2': ['r', 'b']}, 'stored': {'c': True, 'd': True}, 'overrides': {'a': False}, 'disabled': ['c'], 'unknown': ['b', 'q']}, [{'r': True, 'b': True, 'q': True}, {}, {'b': True, 'q': True}, []]), ('empty complete', {'intent': {'r': True, 'b': False, 'q': True}, 'toggle': True, 'branch': 'b', 'complete': True, 'descendants': [], 'ancestors': {'z': ['r', 'b'], 'a': ['r', 'b'], 'c': ['r', 'b'], 'd': [], 'e': ['r'], 'v0': ['r', 'b'], 'v1': ['r', 'b'], 'v2': ['r', 'b']}, 'stored': {'c': True, 'd': True}, 'overrides': {'a': False}, 'disabled': ['c'], 'unknown': ['b', 'q']}, [{'r': True, 'q': True}, {}, {'q': True}, []]), ('loaded complete', {'intent': {'r': True, 'b': False, 'q': True}, 'toggle': True, 'branch': 'b', 'complete': True, 'descendants': ['z', 'a', 'c', 'd', 'e', 'v0', 'v1', 'v2'], 'ancestors': {'z': ['r', 'b'], 'a': ['r', 'b'], 'c': ['r', 'b'], 'd': [], 'e': ['r'], 'v0': ['r', 'b'], 'v1': ['r', 'b'], 'v2': ['r', 'b']}, 'stored': {'c': True, 'd': True}, 'overrides': {'a': False}, 'disabled': ['c'], 'unknown': ['b', 'q']}, [{'r': True, 'b': True, 'q': True}, {'z': True, 'a': False, 'c': True, 'd': True, 'e': True, 'v0': True, 'v1': True, 'v2': True}, {'b': True, 'q': True}, ['z', 'c', 'd', 'e', 'v0', 'v1', 'v2']]), ('disabled uncheck', {'intent': {'r': True, 'b': False, 'q': True}, 'toggle': False, 'branch': 'b', 'complete': False, 'descendants': ['z', 'a', 'c', 'd', 'e', 'v0', 'v1', 'v2'], 'ancestors': {'z': ['r', 'b'], 'a': ['r', 'b'], 'c': ['r', 'b'], 'd': [], 'e': ['r'], 'v0': ['r', 'b'], 'v1': ['r', 'b'], 'v2': ['r', 'b']}, 'stored': {'c': True, 'd': True}, 'overrides': {'a': False}, 'disabled': ['c'], 'unknown': ['b', 'q']}, [{'r': True, 'b': False, 'q': True}, {'z': False, 'a': False, 'c': True, 'd': True, 'e': True, 'v0': False, 'v1': False, 'v2': False}, {'b': False, 'q': True}, ['c', 'd', 'e']])], 4: [('inherit', {'intent': {'r': True, 'b': False, 'q': True}, 'toggle': True, 'branch': 'b', 'complete': False, 'descendants': ['z', 'a', 'c', 'd', 'e', 'v0', 'v1', 'v2', 'v3'], 'ancestors': {'z': ['r', 'b'], 'a': ['r', 'b'], 'c': ['r', 'b'], 'd': [], 'e': ['r'], 'v0': ['r', 'b'], 'v1': ['r', 'b'], 'v2': ['r', 'b'], 'v3': ['r', 'b']}, 'stored': {'c': True, 'd': True}, 'overrides': {'a': False}, 'disabled': ['c'], 'unknown': ['b', 'q']}, [{'r': True, 'b': True, 'q': True}, {'z': True, 'a': False, 'c': True, 'd': True, 'e': True, 'v0': True, 'v1': True, 'v2': True, 'v3': True}, {'b': True, 'q': True}, ['z', 'c', 'd', 'e', 'v0', 'v1', 'v2', 'v3']]), ('no toggle', {'intent': {'r': True, 'b': False, 'q': True}, 'toggle': None, 'branch': 'b', 'complete': False, 'descendants': ['z', 'a', 'c', 'd', 'e', 'v0', 'v1', 'v2', 'v3'], 'ancestors': {'z': ['r', 'b'], 'a': ['r', 'b'], 'c': ['r', 'b'], 'd': [], 'e': ['r'], 'v0': ['r', 'b'], 'v1': ['r', 'b'], 'v2': ['r', 'b'], 'v3': ['r', 'b']}, 'stored': {'c': True, 'd': True}, 'overrides': {'a': False}, 'disabled': ['c'], 'unknown': ['b', 'q']}, [{'r': True, 'b': False, 'q': True}, {'z': False, 'a': False, 'c': True, 'd': True, 'e': True, 'v0': False, 'v1': False, 'v2': False, 'v3': False}, {'b': False, 'q': True}, ['c', 'd', 'e']]), ('uncheck', {'intent': {'r': True, 'b': True, 'q': True}, 'toggle': False, 'branch': 'b', 'complete': False, 'descendants': ['z', 'a', 'c', 'd', 'e', 'v0', 'v1', 'v2', 'v3'], 'ancestors': {'z': ['r', 'b'], 'a': ['r', 'b'], 'c': ['r', 'b'], 'd': [], 'e': ['r'], 'v0': ['r', 'b'], 'v1': ['r', 'b'], 'v2': ['r', 'b'], 'v3': ['r', 'b']}, 'stored': {'c': True, 'd': True}, 'overrides': {'a': False}, 'disabled': ['c'], 'unknown': ['b', 'q']}, [{'r': True, 'b': False, 'q': True}, {'z': False, 'a': False, 'c': True, 'd': True, 'e': True, 'v0': False, 'v1': False, 'v2': False, 'v3': False}, {'b': False, 'q': True}, ['c', 'd', 'e']]), ('empty unknown', {'intent': {'r': True, 'b': False, 'q': True}, 'toggle': True, 'branch': 'b', 'complete': False, 'descendants': [], 'ancestors': {'z': ['r', 'b'], 'a': ['r', 'b'], 'c': ['r', 'b'], 'd': [], 'e': ['r'], 'v0': ['r', 'b'], 'v1': ['r', 'b'], 'v2': ['r', 'b'], 'v3': ['r', 'b']}, 'stored': {'c': True, 'd': True}, 'overrides': {'a': False}, 'disabled': ['c'], 'unknown': ['b', 'q']}, [{'r': True, 'b': True, 'q': True}, {}, {'b': True, 'q': True}, []]), ('empty complete', {'intent': {'r': True, 'b': False, 'q': True}, 'toggle': True, 'branch': 'b', 'complete': True, 'descendants': [], 'ancestors': {'z': ['r', 'b'], 'a': ['r', 'b'], 'c': ['r', 'b'], 'd': [], 'e': ['r'], 'v0': ['r', 'b'], 'v1': ['r', 'b'], 'v2': ['r', 'b'], 'v3': ['r', 'b']}, 'stored': {'c': True, 'd': True}, 'overrides': {'a': False}, 'disabled': ['c'], 'unknown': ['b', 'q']}, [{'r': True, 'q': True}, {}, {'q': True}, []]), ('loaded complete', {'intent': {'r': True, 'b': False, 'q': True}, 'toggle': True, 'branch': 'b', 'complete': True, 'descendants': ['z', 'a', 'c', 'd', 'e', 'v0', 'v1', 'v2', 'v3'], 'ancestors': {'z': ['r', 'b'], 'a': ['r', 'b'], 'c': ['r', 'b'], 'd': [], 'e': ['r'], 'v0': ['r', 'b'], 'v1': ['r', 'b'], 'v2': ['r', 'b'], 'v3': ['r', 'b']}, 'stored': {'c': True, 'd': True}, 'overrides': {'a': False}, 'disabled': ['c'], 'unknown': ['b', 'q']}, [{'r': True, 'b': True, 'q': True}, {'z': True, 'a': False, 'c': True, 'd': True, 'e': True, 'v0': True, 'v1': True, 'v2': True, 'v3': True}, {'b': True, 'q': True}, ['z', 'c', 'd', 'e', 'v0', 'v1', 'v2', 'v3']]), ('disabled uncheck', {'intent': {'r': True, 'b': False, 'q': True}, 'toggle': False, 'branch': 'b', 'complete': False, 'descendants': ['z', 'a', 'c', 'd', 'e', 'v0', 'v1', 'v2', 'v3'], 'ancestors': {'z': ['r', 'b'], 'a': ['r', 'b'], 'c': ['r', 'b'], 'd': [], 'e': ['r'], 'v0': ['r', 'b'], 'v1': ['r', 'b'], 'v2': ['r', 'b'], 'v3': ['r', 'b']}, 'stored': {'c': True, 'd': True}, 'overrides': {'a': False}, 'disabled': ['c'], 'unknown': ['b', 'q']}, [{'r': True, 'b': False, 'q': True}, {'z': False, 'a': False, 'c': True, 'd': True, 'e': True, 'v0': False, 'v1': False, 'v2': False, 'v3': False}, {'b': False, 'q': True}, ['c', 'd', 'e']])], 5: [('inherit', {'intent': {'r': True, 'b': False, 'q': True}, 'toggle': True, 'branch': 'b', 'complete': False, 'descendants': ['z', 'a', 'c', 'd', 'e', 'v0', 'v1', 'v2', 'v3', 'v4'], 'ancestors': {'z': ['r', 'b'], 'a': ['r', 'b'], 'c': ['r', 'b'], 'd': [], 'e': ['r'], 'v0': ['r', 'b'], 'v1': ['r', 'b'], 'v2': ['r', 'b'], 'v3': ['r', 'b'], 'v4': ['r', 'b']}, 'stored': {'c': True, 'd': True}, 'overrides': {'a': False}, 'disabled': ['c'], 'unknown': ['b', 'q']}, [{'r': True, 'b': True, 'q': True}, {'z': True, 'a': False, 'c': True, 'd': True, 'e': True, 'v0': True, 'v1': True, 'v2': True, 'v3': True, 'v4': True}, {'b': True, 'q': True}, ['z', 'c', 'd', 'e', 'v0', 'v1', 'v2', 'v3', 'v4']]), ('no toggle', {'intent': {'r': True, 'b': False, 'q': True}, 'toggle': None, 'branch': 'b', 'complete': False, 'descendants': ['z', 'a', 'c', 'd', 'e', 'v0', 'v1', 'v2', 'v3', 'v4'], 'ancestors': {'z': ['r', 'b'], 'a': ['r', 'b'], 'c': ['r', 'b'], 'd': [], 'e': ['r'], 'v0': ['r', 'b'], 'v1': ['r', 'b'], 'v2': ['r', 'b'], 'v3': ['r', 'b'], 'v4': ['r', 'b']}, 'stored': {'c': True, 'd': True}, 'overrides': {'a': False}, 'disabled': ['c'], 'unknown': ['b', 'q']}, [{'r': True, 'b': False, 'q': True}, {'z': False, 'a': False, 'c': True, 'd': True, 'e': True, 'v0': False, 'v1': False, 'v2': False, 'v3': False, 'v4': False}, {'b': False, 'q': True}, ['c', 'd', 'e']]), ('uncheck', {'intent': {'r': True, 'b': True, 'q': True}, 'toggle': False, 'branch': 'b', 'complete': False, 'descendants': ['z', 'a', 'c', 'd', 'e', 'v0', 'v1', 'v2', 'v3', 'v4'], 'ancestors': {'z': ['r', 'b'], 'a': ['r', 'b'], 'c': ['r', 'b'], 'd': [], 'e': ['r'], 'v0': ['r', 'b'], 'v1': ['r', 'b'], 'v2': ['r', 'b'], 'v3': ['r', 'b'], 'v4': ['r', 'b']}, 'stored': {'c': True, 'd': True}, 'overrides': {'a': False}, 'disabled': ['c'], 'unknown': ['b', 'q']}, [{'r': True, 'b': False, 'q': True}, {'z': False, 'a': False, 'c': True, 'd': True, 'e': True, 'v0': False, 'v1': False, 'v2': False, 'v3': False, 'v4': False}, {'b': False, 'q': True}, ['c', 'd', 'e']]), ('empty unknown', {'intent': {'r': True, 'b': False, 'q': True}, 'toggle': True, 'branch': 'b', 'complete': False, 'descendants': [], 'ancestors': {'z': ['r', 'b'], 'a': ['r', 'b'], 'c': ['r', 'b'], 'd': [], 'e': ['r'], 'v0': ['r', 'b'], 'v1': ['r', 'b'], 'v2': ['r', 'b'], 'v3': ['r', 'b'], 'v4': ['r', 'b']}, 'stored': {'c': True, 'd': True}, 'overrides': {'a': False}, 'disabled': ['c'], 'unknown': ['b', 'q']}, [{'r': True, 'b': True, 'q': True}, {}, {'b': True, 'q': True}, []]), ('empty complete', {'intent': {'r': True, 'b': False, 'q': True}, 'toggle': True, 'branch': 'b', 'complete': True, 'descendants': [], 'ancestors': {'z': ['r', 'b'], 'a': ['r', 'b'], 'c': ['r', 'b'], 'd': [], 'e': ['r'], 'v0': ['r', 'b'], 'v1': ['r', 'b'], 'v2': ['r', 'b'], 'v3': ['r', 'b'], 'v4': ['r', 'b']}, 'stored': {'c': True, 'd': True}, 'overrides': {'a': False}, 'disabled': ['c'], 'unknown': ['b', 'q']}, [{'r': True, 'q': True}, {}, {'q': True}, []]), ('loaded complete', {'intent': {'r': True, 'b': False, 'q': True}, 'toggle': True, 'branch': 'b', 'complete': True, 'descendants': ['z', 'a', 'c', 'd', 'e', 'v0', 'v1', 'v2', 'v3', 'v4'], 'ancestors': {'z': ['r', 'b'], 'a': ['r', 'b'], 'c': ['r', 'b'], 'd': [], 'e': ['r'], 'v0': ['r', 'b'], 'v1': ['r', 'b'], 'v2': ['r', 'b'], 'v3': ['r', 'b'], 'v4': ['r', 'b']}, 'stored': {'c': True, 'd': True}, 'overrides': {'a': False}, 'disabled': ['c'], 'unknown': ['b', 'q']}, [{'r': True, 'b': True, 'q': True}, {'z': True, 'a': False, 'c': True, 'd': True, 'e': True, 'v0': True, 'v1': True, 'v2': True, 'v3': True, 'v4': True}, {'b': True, 'q': True}, ['z', 'c', 'd', 'e', 'v0', 'v1', 'v2', 'v3', 'v4']]), ('disabled uncheck', {'intent': {'r': True, 'b': False, 'q': True}, 'toggle': False, 'branch': 'b', 'complete': False, 'descendants': ['z', 'a', 'c', 'd', 'e', 'v0', 'v1', 'v2', 'v3', 'v4'], 'ancestors': {'z': ['r', 'b'], 'a': ['r', 'b'], 'c': ['r', 'b'], 'd': [], 'e': ['r'], 'v0': ['r', 'b'], 'v1': ['r', 'b'], 'v2': ['r', 'b'], 'v3': ['r', 'b'], 'v4': ['r', 'b']}, 'stored': {'c': True, 'd': True}, 'overrides': {'a': False}, 'disabled': ['c'], 'unknown': ['b', 'q']}, [{'r': True, 'b': False, 'q': True}, {'z': False, 'a': False, 'c': True, 'd': True, 'e': True, 'v0': False, 'v1': False, 'v2': False, 'v3': False, 'v4': False}, {'b': False, 'q': True}, ['c', 'd', 'e']])]}
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 |
|---|---|---|---|
| inherit | [{'b': True, 'q': True, 'r': True}, {'a': False, 'c': True, 'd': False, 'e': True, 'v0': True, 'z': True}, {'b': True, 'q': True}, ['z', 'c', 'e', 'v0']] | [{'b': True, 'q': True, 'r': True}, {'a': False, 'c': True, 'd': True, 'e': True, 'v0': True, 'z': True}, {'b': True, 'q': True}, ['z', 'c', 'd', 'e', 'v0']] | Failed |
| no toggle | [{'b': False, 'q': True, 'r': True}, {'a': False, 'c': True, 'd': False, 'e': True, 'v0': False, 'z': False}, {'b': False, 'q': True}, ['c', 'e']] | [{'b': False, 'q': True, 'r': True}, {'a': False, 'c': True, 'd': True, 'e': True, 'v0': False, 'z': False}, {'b': False, 'q': True}, ['c', 'd', 'e']] | Failed |
| uncheck | [{'b': False, 'q': True, 'r': True}, {'a': False, 'c': True, 'd': False, 'e': True, 'v0': False, 'z': False}, {'b': False, 'q': True}, ['c', 'e']] | [{'b': False, 'q': True, 'r': True}, {'a': False, 'c': True, 'd': True, 'e': True, 'v0': False, 'z': False}, {'b': False, 'q': True}, ['c', 'd', 'e']] | Failed |
| empty unknown | [{'b': True, 'q': True, 'r': True}, {}, {'b': True, 'q': True}, []] | [{'b': True, 'q': True, 'r': True}, {}, {'b': True, 'q': True}, []] | Passed |
| empty complete | [{'q': True, 'r': True}, {}, {'q': True}, []] | [{'q': True, 'r': True}, {}, {'q': True}, []] | Passed |
| loaded complete | [{'b': True, 'q': True, 'r': True}, {'a': False, 'c': True, 'd': False, 'e': True, 'v0': True, 'z': True}, {'b': True, 'q': True}, ['z', 'c', 'e', 'v0']] | [{'b': True, 'q': True, 'r': True}, {'a': False, 'c': True, 'd': True, 'e': True, 'v0': True, 'z': True}, {'b': True, 'q': True}, ['z', 'c', 'd', 'e', 'v0']] | Failed |
| disabled uncheck | [{'b': False, 'q': True, 'r': True}, {'a': False, 'c': True, 'd': False, 'e': True, 'v0': False, 'z': False}, {'b': False, 'q': True}, ['c', 'e']] | [{'b': False, 'q': True, 'r': True}, {'a': False, 'c': True, 'd': True, 'e': True, 'v0': False, 'z': False}, {'b': False, 'q': True}, ['c', 'd', 'e']] | Failed |
SHA-256 / bb611ae2b839e1c19e9a294d619458e5d2a903f4d96586843e607887e4f8455f
2 / The unsuccessful fix
Exit 1"""Failure Map reference implementation. Python standard library only."""
import json
N = 1
observations = []
def solve(d):
intent=dict(d['intent'])
if d['toggle'] is not None: intent[d['branch']]=d['toggle']
if d['complete'] and not d['descendants']: intent.pop(d['branch'],None)
result={}
for x in d['descendants']:
nearest=next((a for a in reversed(d['ancestors'][x]) if a in intent),None)
inherited=d['stored'].get(x,False)
value=d['overrides'].get(x,inherited)
result[x]=d['stored'].get(x,False) if x in d['disabled'] else value
pending={x:v for x,v in intent.items() if x in d['unknown']}
checked=[x for x in d['descendants'] if result[x]]
return [intent,result,pending,checked]
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
cases = {1: [('inherit', {'intent': {'r': True, 'b': False, 'q': True}, 'toggle': True, 'branch': 'b', 'complete': False, 'descendants': ['z', 'a', 'c', 'd', 'e', 'v0'], 'ancestors': {'z': ['r', 'b'], 'a': ['r', 'b'], 'c': ['r', 'b'], 'd': [], 'e': ['r'], 'v0': ['r', 'b']}, 'stored': {'c': True, 'd': True}, 'overrides': {'a': False}, 'disabled': ['c'], 'unknown': ['b', 'q']}, [{'r': True, 'b': True, 'q': True}, {'z': True, 'a': False, 'c': True, 'd': True, 'e': True, 'v0': True}, {'b': True, 'q': True}, ['z', 'c', 'd', 'e', 'v0']]), ('no toggle', {'intent': {'r': True, 'b': False, 'q': True}, 'toggle': None, 'branch': 'b', 'complete': False, 'descendants': ['z', 'a', 'c', 'd', 'e', 'v0'], 'ancestors': {'z': ['r', 'b'], 'a': ['r', 'b'], 'c': ['r', 'b'], 'd': [], 'e': ['r'], 'v0': ['r', 'b']}, 'stored': {'c': True, 'd': True}, 'overrides': {'a': False}, 'disabled': ['c'], 'unknown': ['b', 'q']}, [{'r': True, 'b': False, 'q': True}, {'z': False, 'a': False, 'c': True, 'd': True, 'e': True, 'v0': False}, {'b': False, 'q': True}, ['c', 'd', 'e']]), ('uncheck', {'intent': {'r': True, 'b': True, 'q': True}, 'toggle': False, 'branch': 'b', 'complete': False, 'descendants': ['z', 'a', 'c', 'd', 'e', 'v0'], 'ancestors': {'z': ['r', 'b'], 'a': ['r', 'b'], 'c': ['r', 'b'], 'd': [], 'e': ['r'], 'v0': ['r', 'b']}, 'stored': {'c': True, 'd': True}, 'overrides': {'a': False}, 'disabled': ['c'], 'unknown': ['b', 'q']}, [{'r': True, 'b': False, 'q': True}, {'z': False, 'a': False, 'c': True, 'd': True, 'e': True, 'v0': False}, {'b': False, 'q': True}, ['c', 'd', 'e']]), ('empty unknown', {'intent': {'r': True, 'b': False, 'q': True}, 'toggle': True, 'branch': 'b', 'complete': False, 'descendants': [], 'ancestors': {'z': ['r', 'b'], 'a': ['r', 'b'], 'c': ['r', 'b'], 'd': [], 'e': ['r'], 'v0': ['r', 'b']}, 'stored': {'c': True, 'd': True}, 'overrides': {'a': False}, 'disabled': ['c'], 'unknown': ['b', 'q']}, [{'r': True, 'b': True, 'q': True}, {}, {'b': True, 'q': True}, []]), ('empty complete', {'intent': {'r': True, 'b': False, 'q': True}, 'toggle': True, 'branch': 'b', 'complete': True, 'descendants': [], 'ancestors': {'z': ['r', 'b'], 'a': ['r', 'b'], 'c': ['r', 'b'], 'd': [], 'e': ['r'], 'v0': ['r', 'b']}, 'stored': {'c': True, 'd': True}, 'overrides': {'a': False}, 'disabled': ['c'], 'unknown': ['b', 'q']}, [{'r': True, 'q': True}, {}, {'q': True}, []]), ('loaded complete', {'intent': {'r': True, 'b': False, 'q': True}, 'toggle': True, 'branch': 'b', 'complete': True, 'descendants': ['z', 'a', 'c', 'd', 'e', 'v0'], 'ancestors': {'z': ['r', 'b'], 'a': ['r', 'b'], 'c': ['r', 'b'], 'd': [], 'e': ['r'], 'v0': ['r', 'b']}, 'stored': {'c': True, 'd': True}, 'overrides': {'a': False}, 'disabled': ['c'], 'unknown': ['b', 'q']}, [{'r': True, 'b': True, 'q': True}, {'z': True, 'a': False, 'c': True, 'd': True, 'e': True, 'v0': True}, {'b': True, 'q': True}, ['z', 'c', 'd', 'e', 'v0']]), ('disabled uncheck', {'intent': {'r': True, 'b': False, 'q': True}, 'toggle': False, 'branch': 'b', 'complete': False, 'descendants': ['z', 'a', 'c', 'd', 'e', 'v0'], 'ancestors': {'z': ['r', 'b'], 'a': ['r', 'b'], 'c': ['r', 'b'], 'd': [], 'e': ['r'], 'v0': ['r', 'b']}, 'stored': {'c': True, 'd': True}, 'overrides': {'a': False}, 'disabled': ['c'], 'unknown': ['b', 'q']}, [{'r': True, 'b': False, 'q': True}, {'z': False, 'a': False, 'c': True, 'd': True, 'e': True, 'v0': False}, {'b': False, 'q': True}, ['c', 'd', 'e']])], 2: [('inherit', {'intent': {'r': True, 'b': False, 'q': True}, 'toggle': True, 'branch': 'b', 'complete': False, 'descendants': ['z', 'a', 'c', 'd', 'e', 'v0', 'v1'], 'ancestors': {'z': ['r', 'b'], 'a': ['r', 'b'], 'c': ['r', 'b'], 'd': [], 'e': ['r'], 'v0': ['r', 'b'], 'v1': ['r', 'b']}, 'stored': {'c': True, 'd': True}, 'overrides': {'a': False}, 'disabled': ['c'], 'unknown': ['b', 'q']}, [{'r': True, 'b': True, 'q': True}, {'z': True, 'a': False, 'c': True, 'd': True, 'e': True, 'v0': True, 'v1': True}, {'b': True, 'q': True}, ['z', 'c', 'd', 'e', 'v0', 'v1']]), ('no toggle', {'intent': {'r': True, 'b': False, 'q': True}, 'toggle': None, 'branch': 'b', 'complete': False, 'descendants': ['z', 'a', 'c', 'd', 'e', 'v0', 'v1'], 'ancestors': {'z': ['r', 'b'], 'a': ['r', 'b'], 'c': ['r', 'b'], 'd': [], 'e': ['r'], 'v0': ['r', 'b'], 'v1': ['r', 'b']}, 'stored': {'c': True, 'd': True}, 'overrides': {'a': False}, 'disabled': ['c'], 'unknown': ['b', 'q']}, [{'r': True, 'b': False, 'q': True}, {'z': False, 'a': False, 'c': True, 'd': True, 'e': True, 'v0': False, 'v1': False}, {'b': False, 'q': True}, ['c', 'd', 'e']]), ('uncheck', {'intent': {'r': True, 'b': True, 'q': True}, 'toggle': False, 'branch': 'b', 'complete': False, 'descendants': ['z', 'a', 'c', 'd', 'e', 'v0', 'v1'], 'ancestors': {'z': ['r', 'b'], 'a': ['r', 'b'], 'c': ['r', 'b'], 'd': [], 'e': ['r'], 'v0': ['r', 'b'], 'v1': ['r', 'b']}, 'stored': {'c': True, 'd': True}, 'overrides': {'a': False}, 'disabled': ['c'], 'unknown': ['b', 'q']}, [{'r': True, 'b': False, 'q': True}, {'z': False, 'a': False, 'c': True, 'd': True, 'e': True, 'v0': False, 'v1': False}, {'b': False, 'q': True}, ['c', 'd', 'e']]), ('empty unknown', {'intent': {'r': True, 'b': False, 'q': True}, 'toggle': True, 'branch': 'b', 'complete': False, 'descendants': [], 'ancestors': {'z': ['r', 'b'], 'a': ['r', 'b'], 'c': ['r', 'b'], 'd': [], 'e': ['r'], 'v0': ['r', 'b'], 'v1': ['r', 'b']}, 'stored': {'c': True, 'd': True}, 'overrides': {'a': False}, 'disabled': ['c'], 'unknown': ['b', 'q']}, [{'r': True, 'b': True, 'q': True}, {}, {'b': True, 'q': True}, []]), ('empty complete', {'intent': {'r': True, 'b': False, 'q': True}, 'toggle': True, 'branch': 'b', 'complete': True, 'descendants': [], 'ancestors': {'z': ['r', 'b'], 'a': ['r', 'b'], 'c': ['r', 'b'], 'd': [], 'e': ['r'], 'v0': ['r', 'b'], 'v1': ['r', 'b']}, 'stored': {'c': True, 'd': True}, 'overrides': {'a': False}, 'disabled': ['c'], 'unknown': ['b', 'q']}, [{'r': True, 'q': True}, {}, {'q': True}, []]), ('loaded complete', {'intent': {'r': True, 'b': False, 'q': True}, 'toggle': True, 'branch': 'b', 'complete': True, 'descendants': ['z', 'a', 'c', 'd', 'e', 'v0', 'v1'], 'ancestors': {'z': ['r', 'b'], 'a': ['r', 'b'], 'c': ['r', 'b'], 'd': [], 'e': ['r'], 'v0': ['r', 'b'], 'v1': ['r', 'b']}, 'stored': {'c': True, 'd': True}, 'overrides': {'a': False}, 'disabled': ['c'], 'unknown': ['b', 'q']}, [{'r': True, 'b': True, 'q': True}, {'z': True, 'a': False, 'c': True, 'd': True, 'e': True, 'v0': True, 'v1': True}, {'b': True, 'q': True}, ['z', 'c', 'd', 'e', 'v0', 'v1']]), ('disabled uncheck', {'intent': {'r': True, 'b': False, 'q': True}, 'toggle': False, 'branch': 'b', 'complete': False, 'descendants': ['z', 'a', 'c', 'd', 'e', 'v0', 'v1'], 'ancestors': {'z': ['r', 'b'], 'a': ['r', 'b'], 'c': ['r', 'b'], 'd': [], 'e': ['r'], 'v0': ['r', 'b'], 'v1': ['r', 'b']}, 'stored': {'c': True, 'd': True}, 'overrides': {'a': False}, 'disabled': ['c'], 'unknown': ['b', 'q']}, [{'r': True, 'b': False, 'q': True}, {'z': False, 'a': False, 'c': True, 'd': True, 'e': True, 'v0': False, 'v1': False}, {'b': False, 'q': True}, ['c', 'd', 'e']])], 3: [('inherit', {'intent': {'r': True, 'b': False, 'q': True}, 'toggle': True, 'branch': 'b', 'complete': False, 'descendants': ['z', 'a', 'c', 'd', 'e', 'v0', 'v1', 'v2'], 'ancestors': {'z': ['r', 'b'], 'a': ['r', 'b'], 'c': ['r', 'b'], 'd': [], 'e': ['r'], 'v0': ['r', 'b'], 'v1': ['r', 'b'], 'v2': ['r', 'b']}, 'stored': {'c': True, 'd': True}, 'overrides': {'a': False}, 'disabled': ['c'], 'unknown': ['b', 'q']}, [{'r': True, 'b': True, 'q': True}, {'z': True, 'a': False, 'c': True, 'd': True, 'e': True, 'v0': True, 'v1': True, 'v2': True}, {'b': True, 'q': True}, ['z', 'c', 'd', 'e', 'v0', 'v1', 'v2']]), ('no toggle', {'intent': {'r': True, 'b': False, 'q': True}, 'toggle': None, 'branch': 'b', 'complete': False, 'descendants': ['z', 'a', 'c', 'd', 'e', 'v0', 'v1', 'v2'], 'ancestors': {'z': ['r', 'b'], 'a': ['r', 'b'], 'c': ['r', 'b'], 'd': [], 'e': ['r'], 'v0': ['r', 'b'], 'v1': ['r', 'b'], 'v2': ['r', 'b']}, 'stored': {'c': True, 'd': True}, 'overrides': {'a': False}, 'disabled': ['c'], 'unknown': ['b', 'q']}, [{'r': True, 'b': False, 'q': True}, {'z': False, 'a': False, 'c': True, 'd': True, 'e': True, 'v0': False, 'v1': False, 'v2': False}, {'b': False, 'q': True}, ['c', 'd', 'e']]), ('uncheck', {'intent': {'r': True, 'b': True, 'q': True}, 'toggle': False, 'branch': 'b', 'complete': False, 'descendants': ['z', 'a', 'c', 'd', 'e', 'v0', 'v1', 'v2'], 'ancestors': {'z': ['r', 'b'], 'a': ['r', 'b'], 'c': ['r', 'b'], 'd': [], 'e': ['r'], 'v0': ['r', 'b'], 'v1': ['r', 'b'], 'v2': ['r', 'b']}, 'stored': {'c': True, 'd': True}, 'overrides': {'a': False}, 'disabled': ['c'], 'unknown': ['b', 'q']}, [{'r': True, 'b': False, 'q': True}, {'z': False, 'a': False, 'c': True, 'd': True, 'e': True, 'v0': False, 'v1': False, 'v2': False}, {'b': False, 'q': True}, ['c', 'd', 'e']]), ('empty unknown', {'intent': {'r': True, 'b': False, 'q': True}, 'toggle': True, 'branch': 'b', 'complete': False, 'descendants': [], 'ancestors': {'z': ['r', 'b'], 'a': ['r', 'b'], 'c': ['r', 'b'], 'd': [], 'e': ['r'], 'v0': ['r', 'b'], 'v1': ['r', 'b'], 'v2': ['r', 'b']}, 'stored': {'c': True, 'd': True}, 'overrides': {'a': False}, 'disabled': ['c'], 'unknown': ['b', 'q']}, [{'r': True, 'b': True, 'q': True}, {}, {'b': True, 'q': True}, []]), ('empty complete', {'intent': {'r': True, 'b': False, 'q': True}, 'toggle': True, 'branch': 'b', 'complete': True, 'descendants': [], 'ancestors': {'z': ['r', 'b'], 'a': ['r', 'b'], 'c': ['r', 'b'], 'd': [], 'e': ['r'], 'v0': ['r', 'b'], 'v1': ['r', 'b'], 'v2': ['r', 'b']}, 'stored': {'c': True, 'd': True}, 'overrides': {'a': False}, 'disabled': ['c'], 'unknown': ['b', 'q']}, [{'r': True, 'q': True}, {}, {'q': True}, []]), ('loaded complete', {'intent': {'r': True, 'b': False, 'q': True}, 'toggle': True, 'branch': 'b', 'complete': True, 'descendants': ['z', 'a', 'c', 'd', 'e', 'v0', 'v1', 'v2'], 'ancestors': {'z': ['r', 'b'], 'a': ['r', 'b'], 'c': ['r', 'b'], 'd': [], 'e': ['r'], 'v0': ['r', 'b'], 'v1': ['r', 'b'], 'v2': ['r', 'b']}, 'stored': {'c': True, 'd': True}, 'overrides': {'a': False}, 'disabled': ['c'], 'unknown': ['b', 'q']}, [{'r': True, 'b': True, 'q': True}, {'z': True, 'a': False, 'c': True, 'd': True, 'e': True, 'v0': True, 'v1': True, 'v2': True}, {'b': True, 'q': True}, ['z', 'c', 'd', 'e', 'v0', 'v1', 'v2']]), ('disabled uncheck', {'intent': {'r': True, 'b': False, 'q': True}, 'toggle': False, 'branch': 'b', 'complete': False, 'descendants': ['z', 'a', 'c', 'd', 'e', 'v0', 'v1', 'v2'], 'ancestors': {'z': ['r', 'b'], 'a': ['r', 'b'], 'c': ['r', 'b'], 'd': [], 'e': ['r'], 'v0': ['r', 'b'], 'v1': ['r', 'b'], 'v2': ['r', 'b']}, 'stored': {'c': True, 'd': True}, 'overrides': {'a': False}, 'disabled': ['c'], 'unknown': ['b', 'q']}, [{'r': True, 'b': False, 'q': True}, {'z': False, 'a': False, 'c': True, 'd': True, 'e': True, 'v0': False, 'v1': False, 'v2': False}, {'b': False, 'q': True}, ['c', 'd', 'e']])], 4: [('inherit', {'intent': {'r': True, 'b': False, 'q': True}, 'toggle': True, 'branch': 'b', 'complete': False, 'descendants': ['z', 'a', 'c', 'd', 'e', 'v0', 'v1', 'v2', 'v3'], 'ancestors': {'z': ['r', 'b'], 'a': ['r', 'b'], 'c': ['r', 'b'], 'd': [], 'e': ['r'], 'v0': ['r', 'b'], 'v1': ['r', 'b'], 'v2': ['r', 'b'], 'v3': ['r', 'b']}, 'stored': {'c': True, 'd': True}, 'overrides': {'a': False}, 'disabled': ['c'], 'unknown': ['b', 'q']}, [{'r': True, 'b': True, 'q': True}, {'z': True, 'a': False, 'c': True, 'd': True, 'e': True, 'v0': True, 'v1': True, 'v2': True, 'v3': True}, {'b': True, 'q': True}, ['z', 'c', 'd', 'e', 'v0', 'v1', 'v2', 'v3']]), ('no toggle', {'intent': {'r': True, 'b': False, 'q': True}, 'toggle': None, 'branch': 'b', 'complete': False, 'descendants': ['z', 'a', 'c', 'd', 'e', 'v0', 'v1', 'v2', 'v3'], 'ancestors': {'z': ['r', 'b'], 'a': ['r', 'b'], 'c': ['r', 'b'], 'd': [], 'e': ['r'], 'v0': ['r', 'b'], 'v1': ['r', 'b'], 'v2': ['r', 'b'], 'v3': ['r', 'b']}, 'stored': {'c': True, 'd': True}, 'overrides': {'a': False}, 'disabled': ['c'], 'unknown': ['b', 'q']}, [{'r': True, 'b': False, 'q': True}, {'z': False, 'a': False, 'c': True, 'd': True, 'e': True, 'v0': False, 'v1': False, 'v2': False, 'v3': False}, {'b': False, 'q': True}, ['c', 'd', 'e']]), ('uncheck', {'intent': {'r': True, 'b': True, 'q': True}, 'toggle': False, 'branch': 'b', 'complete': False, 'descendants': ['z', 'a', 'c', 'd', 'e', 'v0', 'v1', 'v2', 'v3'], 'ancestors': {'z': ['r', 'b'], 'a': ['r', 'b'], 'c': ['r', 'b'], 'd': [], 'e': ['r'], 'v0': ['r', 'b'], 'v1': ['r', 'b'], 'v2': ['r', 'b'], 'v3': ['r', 'b']}, 'stored': {'c': True, 'd': True}, 'overrides': {'a': False}, 'disabled': ['c'], 'unknown': ['b', 'q']}, [{'r': True, 'b': False, 'q': True}, {'z': False, 'a': False, 'c': True, 'd': True, 'e': True, 'v0': False, 'v1': False, 'v2': False, 'v3': False}, {'b': False, 'q': True}, ['c', 'd', 'e']]), ('empty unknown', {'intent': {'r': True, 'b': False, 'q': True}, 'toggle': True, 'branch': 'b', 'complete': False, 'descendants': [], 'ancestors': {'z': ['r', 'b'], 'a': ['r', 'b'], 'c': ['r', 'b'], 'd': [], 'e': ['r'], 'v0': ['r', 'b'], 'v1': ['r', 'b'], 'v2': ['r', 'b'], 'v3': ['r', 'b']}, 'stored': {'c': True, 'd': True}, 'overrides': {'a': False}, 'disabled': ['c'], 'unknown': ['b', 'q']}, [{'r': True, 'b': True, 'q': True}, {}, {'b': True, 'q': True}, []]), ('empty complete', {'intent': {'r': True, 'b': False, 'q': True}, 'toggle': True, 'branch': 'b', 'complete': True, 'descendants': [], 'ancestors': {'z': ['r', 'b'], 'a': ['r', 'b'], 'c': ['r', 'b'], 'd': [], 'e': ['r'], 'v0': ['r', 'b'], 'v1': ['r', 'b'], 'v2': ['r', 'b'], 'v3': ['r', 'b']}, 'stored': {'c': True, 'd': True}, 'overrides': {'a': False}, 'disabled': ['c'], 'unknown': ['b', 'q']}, [{'r': True, 'q': True}, {}, {'q': True}, []]), ('loaded complete', {'intent': {'r': True, 'b': False, 'q': True}, 'toggle': True, 'branch': 'b', 'complete': True, 'descendants': ['z', 'a', 'c', 'd', 'e', 'v0', 'v1', 'v2', 'v3'], 'ancestors': {'z': ['r', 'b'], 'a': ['r', 'b'], 'c': ['r', 'b'], 'd': [], 'e': ['r'], 'v0': ['r', 'b'], 'v1': ['r', 'b'], 'v2': ['r', 'b'], 'v3': ['r', 'b']}, 'stored': {'c': True, 'd': True}, 'overrides': {'a': False}, 'disabled': ['c'], 'unknown': ['b', 'q']}, [{'r': True, 'b': True, 'q': True}, {'z': True, 'a': False, 'c': True, 'd': True, 'e': True, 'v0': True, 'v1': True, 'v2': True, 'v3': True}, {'b': True, 'q': True}, ['z', 'c', 'd', 'e', 'v0', 'v1', 'v2', 'v3']]), ('disabled uncheck', {'intent': {'r': True, 'b': False, 'q': True}, 'toggle': False, 'branch': 'b', 'complete': False, 'descendants': ['z', 'a', 'c', 'd', 'e', 'v0', 'v1', 'v2', 'v3'], 'ancestors': {'z': ['r', 'b'], 'a': ['r', 'b'], 'c': ['r', 'b'], 'd': [], 'e': ['r'], 'v0': ['r', 'b'], 'v1': ['r', 'b'], 'v2': ['r', 'b'], 'v3': ['r', 'b']}, 'stored': {'c': True, 'd': True}, 'overrides': {'a': False}, 'disabled': ['c'], 'unknown': ['b', 'q']}, [{'r': True, 'b': False, 'q': True}, {'z': False, 'a': False, 'c': True, 'd': True, 'e': True, 'v0': False, 'v1': False, 'v2': False, 'v3': False}, {'b': False, 'q': True}, ['c', 'd', 'e']])], 5: [('inherit', {'intent': {'r': True, 'b': False, 'q': True}, 'toggle': True, 'branch': 'b', 'complete': False, 'descendants': ['z', 'a', 'c', 'd', 'e', 'v0', 'v1', 'v2', 'v3', 'v4'], 'ancestors': {'z': ['r', 'b'], 'a': ['r', 'b'], 'c': ['r', 'b'], 'd': [], 'e': ['r'], 'v0': ['r', 'b'], 'v1': ['r', 'b'], 'v2': ['r', 'b'], 'v3': ['r', 'b'], 'v4': ['r', 'b']}, 'stored': {'c': True, 'd': True}, 'overrides': {'a': False}, 'disabled': ['c'], 'unknown': ['b', 'q']}, [{'r': True, 'b': True, 'q': True}, {'z': True, 'a': False, 'c': True, 'd': True, 'e': True, 'v0': True, 'v1': True, 'v2': True, 'v3': True, 'v4': True}, {'b': True, 'q': True}, ['z', 'c', 'd', 'e', 'v0', 'v1', 'v2', 'v3', 'v4']]), ('no toggle', {'intent': {'r': True, 'b': False, 'q': True}, 'toggle': None, 'branch': 'b', 'complete': False, 'descendants': ['z', 'a', 'c', 'd', 'e', 'v0', 'v1', 'v2', 'v3', 'v4'], 'ancestors': {'z': ['r', 'b'], 'a': ['r', 'b'], 'c': ['r', 'b'], 'd': [], 'e': ['r'], 'v0': ['r', 'b'], 'v1': ['r', 'b'], 'v2': ['r', 'b'], 'v3': ['r', 'b'], 'v4': ['r', 'b']}, 'stored': {'c': True, 'd': True}, 'overrides': {'a': False}, 'disabled': ['c'], 'unknown': ['b', 'q']}, [{'r': True, 'b': False, 'q': True}, {'z': False, 'a': False, 'c': True, 'd': True, 'e': True, 'v0': False, 'v1': False, 'v2': False, 'v3': False, 'v4': False}, {'b': False, 'q': True}, ['c', 'd', 'e']]), ('uncheck', {'intent': {'r': True, 'b': True, 'q': True}, 'toggle': False, 'branch': 'b', 'complete': False, 'descendants': ['z', 'a', 'c', 'd', 'e', 'v0', 'v1', 'v2', 'v3', 'v4'], 'ancestors': {'z': ['r', 'b'], 'a': ['r', 'b'], 'c': ['r', 'b'], 'd': [], 'e': ['r'], 'v0': ['r', 'b'], 'v1': ['r', 'b'], 'v2': ['r', 'b'], 'v3': ['r', 'b'], 'v4': ['r', 'b']}, 'stored': {'c': True, 'd': True}, 'overrides': {'a': False}, 'disabled': ['c'], 'unknown': ['b', 'q']}, [{'r': True, 'b': False, 'q': True}, {'z': False, 'a': False, 'c': True, 'd': True, 'e': True, 'v0': False, 'v1': False, 'v2': False, 'v3': False, 'v4': False}, {'b': False, 'q': True}, ['c', 'd', 'e']]), ('empty unknown', {'intent': {'r': True, 'b': False, 'q': True}, 'toggle': True, 'branch': 'b', 'complete': False, 'descendants': [], 'ancestors': {'z': ['r', 'b'], 'a': ['r', 'b'], 'c': ['r', 'b'], 'd': [], 'e': ['r'], 'v0': ['r', 'b'], 'v1': ['r', 'b'], 'v2': ['r', 'b'], 'v3': ['r', 'b'], 'v4': ['r', 'b']}, 'stored': {'c': True, 'd': True}, 'overrides': {'a': False}, 'disabled': ['c'], 'unknown': ['b', 'q']}, [{'r': True, 'b': True, 'q': True}, {}, {'b': True, 'q': True}, []]), ('empty complete', {'intent': {'r': True, 'b': False, 'q': True}, 'toggle': True, 'branch': 'b', 'complete': True, 'descendants': [], 'ancestors': {'z': ['r', 'b'], 'a': ['r', 'b'], 'c': ['r', 'b'], 'd': [], 'e': ['r'], 'v0': ['r', 'b'], 'v1': ['r', 'b'], 'v2': ['r', 'b'], 'v3': ['r', 'b'], 'v4': ['r', 'b']}, 'stored': {'c': True, 'd': True}, 'overrides': {'a': False}, 'disabled': ['c'], 'unknown': ['b', 'q']}, [{'r': True, 'q': True}, {}, {'q': True}, []]), ('loaded complete', {'intent': {'r': True, 'b': False, 'q': True}, 'toggle': True, 'branch': 'b', 'complete': True, 'descendants': ['z', 'a', 'c', 'd', 'e', 'v0', 'v1', 'v2', 'v3', 'v4'], 'ancestors': {'z': ['r', 'b'], 'a': ['r', 'b'], 'c': ['r', 'b'], 'd': [], 'e': ['r'], 'v0': ['r', 'b'], 'v1': ['r', 'b'], 'v2': ['r', 'b'], 'v3': ['r', 'b'], 'v4': ['r', 'b']}, 'stored': {'c': True, 'd': True}, 'overrides': {'a': False}, 'disabled': ['c'], 'unknown': ['b', 'q']}, [{'r': True, 'b': True, 'q': True}, {'z': True, 'a': False, 'c': True, 'd': True, 'e': True, 'v0': True, 'v1': True, 'v2': True, 'v3': True, 'v4': True}, {'b': True, 'q': True}, ['z', 'c', 'd', 'e', 'v0', 'v1', 'v2', 'v3', 'v4']]), ('disabled uncheck', {'intent': {'r': True, 'b': False, 'q': True}, 'toggle': False, 'branch': 'b', 'complete': False, 'descendants': ['z', 'a', 'c', 'd', 'e', 'v0', 'v1', 'v2', 'v3', 'v4'], 'ancestors': {'z': ['r', 'b'], 'a': ['r', 'b'], 'c': ['r', 'b'], 'd': [], 'e': ['r'], 'v0': ['r', 'b'], 'v1': ['r', 'b'], 'v2': ['r', 'b'], 'v3': ['r', 'b'], 'v4': ['r', 'b']}, 'stored': {'c': True, 'd': True}, 'overrides': {'a': False}, 'disabled': ['c'], 'unknown': ['b', 'q']}, [{'r': True, 'b': False, 'q': True}, {'z': False, 'a': False, 'c': True, 'd': True, 'e': True, 'v0': False, 'v1': False, 'v2': False, 'v3': False, 'v4': False}, {'b': False, 'q': True}, ['c', 'd', 'e']])]}
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 |
|---|---|---|---|
| inherit | [{'b': True, 'q': True, 'r': True}, {'a': False, 'c': True, 'd': True, 'e': False, 'v0': False, 'z': False}, {'b': True, 'q': True}, ['c', 'd']] | [{'b': True, 'q': True, 'r': True}, {'a': False, 'c': True, 'd': True, 'e': True, 'v0': True, 'z': True}, {'b': True, 'q': True}, ['z', 'c', 'd', 'e', 'v0']] | Failed |
| no toggle | [{'b': False, 'q': True, 'r': True}, {'a': False, 'c': True, 'd': True, 'e': False, 'v0': False, 'z': False}, {'b': False, 'q': True}, ['c', 'd']] | [{'b': False, 'q': True, 'r': True}, {'a': False, 'c': True, 'd': True, 'e': True, 'v0': False, 'z': False}, {'b': False, 'q': True}, ['c', 'd', 'e']] | Failed |
| uncheck | [{'b': False, 'q': True, 'r': True}, {'a': False, 'c': True, 'd': True, 'e': False, 'v0': False, 'z': False}, {'b': False, 'q': True}, ['c', 'd']] | [{'b': False, 'q': True, 'r': True}, {'a': False, 'c': True, 'd': True, 'e': True, 'v0': False, 'z': False}, {'b': False, 'q': True}, ['c', 'd', 'e']] | Failed |
| empty unknown | [{'b': True, 'q': True, 'r': True}, {}, {'b': True, 'q': True}, []] | [{'b': True, 'q': True, 'r': True}, {}, {'b': True, 'q': True}, []] | Passed |
| empty complete | [{'q': True, 'r': True}, {}, {'q': True}, []] | [{'q': True, 'r': True}, {}, {'q': True}, []] | Passed |
| loaded complete | [{'b': True, 'q': True, 'r': True}, {'a': False, 'c': True, 'd': True, 'e': False, 'v0': False, 'z': False}, {'b': True, 'q': True}, ['c', 'd']] | [{'b': True, 'q': True, 'r': True}, {'a': False, 'c': True, 'd': True, 'e': True, 'v0': True, 'z': True}, {'b': True, 'q': True}, ['z', 'c', 'd', 'e', 'v0']] | Failed |
| disabled uncheck | [{'b': False, 'q': True, 'r': True}, {'a': False, 'c': True, 'd': True, 'e': False, 'v0': False, 'z': False}, {'b': False, 'q': True}, ['c', 'd']] | [{'b': False, 'q': True, 'r': True}, {'a': False, 'c': True, 'd': True, 'e': True, 'v0': False, 'z': False}, {'b': False, 'q': True}, ['c', 'd', 'e']] | Failed |
SHA-256 / 456a098d6d77f2d59398c2f63acc36de00f0f3c5b6aad530fe95dfb32e51656e
3 / The verified repair
Exit 0"""Failure Map reference implementation. Python standard library only."""
import json
N = 1
observations = []
def solve(d):
intent=dict(d['intent'])
if d['toggle'] is not None: intent[d['branch']]=d['toggle']
if d['complete'] and not d['descendants']: intent.pop(d['branch'],None)
result={}
for x in d['descendants']:
nearest=next((a for a in reversed(d['ancestors'][x]) if a in intent),None)
inherited=intent[nearest] if nearest is not None else d['stored'].get(x,False)
value=d['overrides'].get(x,inherited)
result[x]=d['stored'].get(x,False) if x in d['disabled'] else value
pending={x:v for x,v in intent.items() if x in d['unknown']}
checked=[x for x in d['descendants'] if result[x]]
return [intent,result,pending,checked]
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
cases = {1: [('inherit', {'intent': {'r': True, 'b': False, 'q': True}, 'toggle': True, 'branch': 'b', 'complete': False, 'descendants': ['z', 'a', 'c', 'd', 'e', 'v0'], 'ancestors': {'z': ['r', 'b'], 'a': ['r', 'b'], 'c': ['r', 'b'], 'd': [], 'e': ['r'], 'v0': ['r', 'b']}, 'stored': {'c': True, 'd': True}, 'overrides': {'a': False}, 'disabled': ['c'], 'unknown': ['b', 'q']}, [{'r': True, 'b': True, 'q': True}, {'z': True, 'a': False, 'c': True, 'd': True, 'e': True, 'v0': True}, {'b': True, 'q': True}, ['z', 'c', 'd', 'e', 'v0']]), ('no toggle', {'intent': {'r': True, 'b': False, 'q': True}, 'toggle': None, 'branch': 'b', 'complete': False, 'descendants': ['z', 'a', 'c', 'd', 'e', 'v0'], 'ancestors': {'z': ['r', 'b'], 'a': ['r', 'b'], 'c': ['r', 'b'], 'd': [], 'e': ['r'], 'v0': ['r', 'b']}, 'stored': {'c': True, 'd': True}, 'overrides': {'a': False}, 'disabled': ['c'], 'unknown': ['b', 'q']}, [{'r': True, 'b': False, 'q': True}, {'z': False, 'a': False, 'c': True, 'd': True, 'e': True, 'v0': False}, {'b': False, 'q': True}, ['c', 'd', 'e']]), ('uncheck', {'intent': {'r': True, 'b': True, 'q': True}, 'toggle': False, 'branch': 'b', 'complete': False, 'descendants': ['z', 'a', 'c', 'd', 'e', 'v0'], 'ancestors': {'z': ['r', 'b'], 'a': ['r', 'b'], 'c': ['r', 'b'], 'd': [], 'e': ['r'], 'v0': ['r', 'b']}, 'stored': {'c': True, 'd': True}, 'overrides': {'a': False}, 'disabled': ['c'], 'unknown': ['b', 'q']}, [{'r': True, 'b': False, 'q': True}, {'z': False, 'a': False, 'c': True, 'd': True, 'e': True, 'v0': False}, {'b': False, 'q': True}, ['c', 'd', 'e']]), ('empty unknown', {'intent': {'r': True, 'b': False, 'q': True}, 'toggle': True, 'branch': 'b', 'complete': False, 'descendants': [], 'ancestors': {'z': ['r', 'b'], 'a': ['r', 'b'], 'c': ['r', 'b'], 'd': [], 'e': ['r'], 'v0': ['r', 'b']}, 'stored': {'c': True, 'd': True}, 'overrides': {'a': False}, 'disabled': ['c'], 'unknown': ['b', 'q']}, [{'r': True, 'b': True, 'q': True}, {}, {'b': True, 'q': True}, []]), ('empty complete', {'intent': {'r': True, 'b': False, 'q': True}, 'toggle': True, 'branch': 'b', 'complete': True, 'descendants': [], 'ancestors': {'z': ['r', 'b'], 'a': ['r', 'b'], 'c': ['r', 'b'], 'd': [], 'e': ['r'], 'v0': ['r', 'b']}, 'stored': {'c': True, 'd': True}, 'overrides': {'a': False}, 'disabled': ['c'], 'unknown': ['b', 'q']}, [{'r': True, 'q': True}, {}, {'q': True}, []]), ('loaded complete', {'intent': {'r': True, 'b': False, 'q': True}, 'toggle': True, 'branch': 'b', 'complete': True, 'descendants': ['z', 'a', 'c', 'd', 'e', 'v0'], 'ancestors': {'z': ['r', 'b'], 'a': ['r', 'b'], 'c': ['r', 'b'], 'd': [], 'e': ['r'], 'v0': ['r', 'b']}, 'stored': {'c': True, 'd': True}, 'overrides': {'a': False}, 'disabled': ['c'], 'unknown': ['b', 'q']}, [{'r': True, 'b': True, 'q': True}, {'z': True, 'a': False, 'c': True, 'd': True, 'e': True, 'v0': True}, {'b': True, 'q': True}, ['z', 'c', 'd', 'e', 'v0']]), ('disabled uncheck', {'intent': {'r': True, 'b': False, 'q': True}, 'toggle': False, 'branch': 'b', 'complete': False, 'descendants': ['z', 'a', 'c', 'd', 'e', 'v0'], 'ancestors': {'z': ['r', 'b'], 'a': ['r', 'b'], 'c': ['r', 'b'], 'd': [], 'e': ['r'], 'v0': ['r', 'b']}, 'stored': {'c': True, 'd': True}, 'overrides': {'a': False}, 'disabled': ['c'], 'unknown': ['b', 'q']}, [{'r': True, 'b': False, 'q': True}, {'z': False, 'a': False, 'c': True, 'd': True, 'e': True, 'v0': False}, {'b': False, 'q': True}, ['c', 'd', 'e']])], 2: [('inherit', {'intent': {'r': True, 'b': False, 'q': True}, 'toggle': True, 'branch': 'b', 'complete': False, 'descendants': ['z', 'a', 'c', 'd', 'e', 'v0', 'v1'], 'ancestors': {'z': ['r', 'b'], 'a': ['r', 'b'], 'c': ['r', 'b'], 'd': [], 'e': ['r'], 'v0': ['r', 'b'], 'v1': ['r', 'b']}, 'stored': {'c': True, 'd': True}, 'overrides': {'a': False}, 'disabled': ['c'], 'unknown': ['b', 'q']}, [{'r': True, 'b': True, 'q': True}, {'z': True, 'a': False, 'c': True, 'd': True, 'e': True, 'v0': True, 'v1': True}, {'b': True, 'q': True}, ['z', 'c', 'd', 'e', 'v0', 'v1']]), ('no toggle', {'intent': {'r': True, 'b': False, 'q': True}, 'toggle': None, 'branch': 'b', 'complete': False, 'descendants': ['z', 'a', 'c', 'd', 'e', 'v0', 'v1'], 'ancestors': {'z': ['r', 'b'], 'a': ['r', 'b'], 'c': ['r', 'b'], 'd': [], 'e': ['r'], 'v0': ['r', 'b'], 'v1': ['r', 'b']}, 'stored': {'c': True, 'd': True}, 'overrides': {'a': False}, 'disabled': ['c'], 'unknown': ['b', 'q']}, [{'r': True, 'b': False, 'q': True}, {'z': False, 'a': False, 'c': True, 'd': True, 'e': True, 'v0': False, 'v1': False}, {'b': False, 'q': True}, ['c', 'd', 'e']]), ('uncheck', {'intent': {'r': True, 'b': True, 'q': True}, 'toggle': False, 'branch': 'b', 'complete': False, 'descendants': ['z', 'a', 'c', 'd', 'e', 'v0', 'v1'], 'ancestors': {'z': ['r', 'b'], 'a': ['r', 'b'], 'c': ['r', 'b'], 'd': [], 'e': ['r'], 'v0': ['r', 'b'], 'v1': ['r', 'b']}, 'stored': {'c': True, 'd': True}, 'overrides': {'a': False}, 'disabled': ['c'], 'unknown': ['b', 'q']}, [{'r': True, 'b': False, 'q': True}, {'z': False, 'a': False, 'c': True, 'd': True, 'e': True, 'v0': False, 'v1': False}, {'b': False, 'q': True}, ['c', 'd', 'e']]), ('empty unknown', {'intent': {'r': True, 'b': False, 'q': True}, 'toggle': True, 'branch': 'b', 'complete': False, 'descendants': [], 'ancestors': {'z': ['r', 'b'], 'a': ['r', 'b'], 'c': ['r', 'b'], 'd': [], 'e': ['r'], 'v0': ['r', 'b'], 'v1': ['r', 'b']}, 'stored': {'c': True, 'd': True}, 'overrides': {'a': False}, 'disabled': ['c'], 'unknown': ['b', 'q']}, [{'r': True, 'b': True, 'q': True}, {}, {'b': True, 'q': True}, []]), ('empty complete', {'intent': {'r': True, 'b': False, 'q': True}, 'toggle': True, 'branch': 'b', 'complete': True, 'descendants': [], 'ancestors': {'z': ['r', 'b'], 'a': ['r', 'b'], 'c': ['r', 'b'], 'd': [], 'e': ['r'], 'v0': ['r', 'b'], 'v1': ['r', 'b']}, 'stored': {'c': True, 'd': True}, 'overrides': {'a': False}, 'disabled': ['c'], 'unknown': ['b', 'q']}, [{'r': True, 'q': True}, {}, {'q': True}, []]), ('loaded complete', {'intent': {'r': True, 'b': False, 'q': True}, 'toggle': True, 'branch': 'b', 'complete': True, 'descendants': ['z', 'a', 'c', 'd', 'e', 'v0', 'v1'], 'ancestors': {'z': ['r', 'b'], 'a': ['r', 'b'], 'c': ['r', 'b'], 'd': [], 'e': ['r'], 'v0': ['r', 'b'], 'v1': ['r', 'b']}, 'stored': {'c': True, 'd': True}, 'overrides': {'a': False}, 'disabled': ['c'], 'unknown': ['b', 'q']}, [{'r': True, 'b': True, 'q': True}, {'z': True, 'a': False, 'c': True, 'd': True, 'e': True, 'v0': True, 'v1': True}, {'b': True, 'q': True}, ['z', 'c', 'd', 'e', 'v0', 'v1']]), ('disabled uncheck', {'intent': {'r': True, 'b': False, 'q': True}, 'toggle': False, 'branch': 'b', 'complete': False, 'descendants': ['z', 'a', 'c', 'd', 'e', 'v0', 'v1'], 'ancestors': {'z': ['r', 'b'], 'a': ['r', 'b'], 'c': ['r', 'b'], 'd': [], 'e': ['r'], 'v0': ['r', 'b'], 'v1': ['r', 'b']}, 'stored': {'c': True, 'd': True}, 'overrides': {'a': False}, 'disabled': ['c'], 'unknown': ['b', 'q']}, [{'r': True, 'b': False, 'q': True}, {'z': False, 'a': False, 'c': True, 'd': True, 'e': True, 'v0': False, 'v1': False}, {'b': False, 'q': True}, ['c', 'd', 'e']])], 3: [('inherit', {'intent': {'r': True, 'b': False, 'q': True}, 'toggle': True, 'branch': 'b', 'complete': False, 'descendants': ['z', 'a', 'c', 'd', 'e', 'v0', 'v1', 'v2'], 'ancestors': {'z': ['r', 'b'], 'a': ['r', 'b'], 'c': ['r', 'b'], 'd': [], 'e': ['r'], 'v0': ['r', 'b'], 'v1': ['r', 'b'], 'v2': ['r', 'b']}, 'stored': {'c': True, 'd': True}, 'overrides': {'a': False}, 'disabled': ['c'], 'unknown': ['b', 'q']}, [{'r': True, 'b': True, 'q': True}, {'z': True, 'a': False, 'c': True, 'd': True, 'e': True, 'v0': True, 'v1': True, 'v2': True}, {'b': True, 'q': True}, ['z', 'c', 'd', 'e', 'v0', 'v1', 'v2']]), ('no toggle', {'intent': {'r': True, 'b': False, 'q': True}, 'toggle': None, 'branch': 'b', 'complete': False, 'descendants': ['z', 'a', 'c', 'd', 'e', 'v0', 'v1', 'v2'], 'ancestors': {'z': ['r', 'b'], 'a': ['r', 'b'], 'c': ['r', 'b'], 'd': [], 'e': ['r'], 'v0': ['r', 'b'], 'v1': ['r', 'b'], 'v2': ['r', 'b']}, 'stored': {'c': True, 'd': True}, 'overrides': {'a': False}, 'disabled': ['c'], 'unknown': ['b', 'q']}, [{'r': True, 'b': False, 'q': True}, {'z': False, 'a': False, 'c': True, 'd': True, 'e': True, 'v0': False, 'v1': False, 'v2': False}, {'b': False, 'q': True}, ['c', 'd', 'e']]), ('uncheck', {'intent': {'r': True, 'b': True, 'q': True}, 'toggle': False, 'branch': 'b', 'complete': False, 'descendants': ['z', 'a', 'c', 'd', 'e', 'v0', 'v1', 'v2'], 'ancestors': {'z': ['r', 'b'], 'a': ['r', 'b'], 'c': ['r', 'b'], 'd': [], 'e': ['r'], 'v0': ['r', 'b'], 'v1': ['r', 'b'], 'v2': ['r', 'b']}, 'stored': {'c': True, 'd': True}, 'overrides': {'a': False}, 'disabled': ['c'], 'unknown': ['b', 'q']}, [{'r': True, 'b': False, 'q': True}, {'z': False, 'a': False, 'c': True, 'd': True, 'e': True, 'v0': False, 'v1': False, 'v2': False}, {'b': False, 'q': True}, ['c', 'd', 'e']]), ('empty unknown', {'intent': {'r': True, 'b': False, 'q': True}, 'toggle': True, 'branch': 'b', 'complete': False, 'descendants': [], 'ancestors': {'z': ['r', 'b'], 'a': ['r', 'b'], 'c': ['r', 'b'], 'd': [], 'e': ['r'], 'v0': ['r', 'b'], 'v1': ['r', 'b'], 'v2': ['r', 'b']}, 'stored': {'c': True, 'd': True}, 'overrides': {'a': False}, 'disabled': ['c'], 'unknown': ['b', 'q']}, [{'r': True, 'b': True, 'q': True}, {}, {'b': True, 'q': True}, []]), ('empty complete', {'intent': {'r': True, 'b': False, 'q': True}, 'toggle': True, 'branch': 'b', 'complete': True, 'descendants': [], 'ancestors': {'z': ['r', 'b'], 'a': ['r', 'b'], 'c': ['r', 'b'], 'd': [], 'e': ['r'], 'v0': ['r', 'b'], 'v1': ['r', 'b'], 'v2': ['r', 'b']}, 'stored': {'c': True, 'd': True}, 'overrides': {'a': False}, 'disabled': ['c'], 'unknown': ['b', 'q']}, [{'r': True, 'q': True}, {}, {'q': True}, []]), ('loaded complete', {'intent': {'r': True, 'b': False, 'q': True}, 'toggle': True, 'branch': 'b', 'complete': True, 'descendants': ['z', 'a', 'c', 'd', 'e', 'v0', 'v1', 'v2'], 'ancestors': {'z': ['r', 'b'], 'a': ['r', 'b'], 'c': ['r', 'b'], 'd': [], 'e': ['r'], 'v0': ['r', 'b'], 'v1': ['r', 'b'], 'v2': ['r', 'b']}, 'stored': {'c': True, 'd': True}, 'overrides': {'a': False}, 'disabled': ['c'], 'unknown': ['b', 'q']}, [{'r': True, 'b': True, 'q': True}, {'z': True, 'a': False, 'c': True, 'd': True, 'e': True, 'v0': True, 'v1': True, 'v2': True}, {'b': True, 'q': True}, ['z', 'c', 'd', 'e', 'v0', 'v1', 'v2']]), ('disabled uncheck', {'intent': {'r': True, 'b': False, 'q': True}, 'toggle': False, 'branch': 'b', 'complete': False, 'descendants': ['z', 'a', 'c', 'd', 'e', 'v0', 'v1', 'v2'], 'ancestors': {'z': ['r', 'b'], 'a': ['r', 'b'], 'c': ['r', 'b'], 'd': [], 'e': ['r'], 'v0': ['r', 'b'], 'v1': ['r', 'b'], 'v2': ['r', 'b']}, 'stored': {'c': True, 'd': True}, 'overrides': {'a': False}, 'disabled': ['c'], 'unknown': ['b', 'q']}, [{'r': True, 'b': False, 'q': True}, {'z': False, 'a': False, 'c': True, 'd': True, 'e': True, 'v0': False, 'v1': False, 'v2': False}, {'b': False, 'q': True}, ['c', 'd', 'e']])], 4: [('inherit', {'intent': {'r': True, 'b': False, 'q': True}, 'toggle': True, 'branch': 'b', 'complete': False, 'descendants': ['z', 'a', 'c', 'd', 'e', 'v0', 'v1', 'v2', 'v3'], 'ancestors': {'z': ['r', 'b'], 'a': ['r', 'b'], 'c': ['r', 'b'], 'd': [], 'e': ['r'], 'v0': ['r', 'b'], 'v1': ['r', 'b'], 'v2': ['r', 'b'], 'v3': ['r', 'b']}, 'stored': {'c': True, 'd': True}, 'overrides': {'a': False}, 'disabled': ['c'], 'unknown': ['b', 'q']}, [{'r': True, 'b': True, 'q': True}, {'z': True, 'a': False, 'c': True, 'd': True, 'e': True, 'v0': True, 'v1': True, 'v2': True, 'v3': True}, {'b': True, 'q': True}, ['z', 'c', 'd', 'e', 'v0', 'v1', 'v2', 'v3']]), ('no toggle', {'intent': {'r': True, 'b': False, 'q': True}, 'toggle': None, 'branch': 'b', 'complete': False, 'descendants': ['z', 'a', 'c', 'd', 'e', 'v0', 'v1', 'v2', 'v3'], 'ancestors': {'z': ['r', 'b'], 'a': ['r', 'b'], 'c': ['r', 'b'], 'd': [], 'e': ['r'], 'v0': ['r', 'b'], 'v1': ['r', 'b'], 'v2': ['r', 'b'], 'v3': ['r', 'b']}, 'stored': {'c': True, 'd': True}, 'overrides': {'a': False}, 'disabled': ['c'], 'unknown': ['b', 'q']}, [{'r': True, 'b': False, 'q': True}, {'z': False, 'a': False, 'c': True, 'd': True, 'e': True, 'v0': False, 'v1': False, 'v2': False, 'v3': False}, {'b': False, 'q': True}, ['c', 'd', 'e']]), ('uncheck', {'intent': {'r': True, 'b': True, 'q': True}, 'toggle': False, 'branch': 'b', 'complete': False, 'descendants': ['z', 'a', 'c', 'd', 'e', 'v0', 'v1', 'v2', 'v3'], 'ancestors': {'z': ['r', 'b'], 'a': ['r', 'b'], 'c': ['r', 'b'], 'd': [], 'e': ['r'], 'v0': ['r', 'b'], 'v1': ['r', 'b'], 'v2': ['r', 'b'], 'v3': ['r', 'b']}, 'stored': {'c': True, 'd': True}, 'overrides': {'a': False}, 'disabled': ['c'], 'unknown': ['b', 'q']}, [{'r': True, 'b': False, 'q': True}, {'z': False, 'a': False, 'c': True, 'd': True, 'e': True, 'v0': False, 'v1': False, 'v2': False, 'v3': False}, {'b': False, 'q': True}, ['c', 'd', 'e']]), ('empty unknown', {'intent': {'r': True, 'b': False, 'q': True}, 'toggle': True, 'branch': 'b', 'complete': False, 'descendants': [], 'ancestors': {'z': ['r', 'b'], 'a': ['r', 'b'], 'c': ['r', 'b'], 'd': [], 'e': ['r'], 'v0': ['r', 'b'], 'v1': ['r', 'b'], 'v2': ['r', 'b'], 'v3': ['r', 'b']}, 'stored': {'c': True, 'd': True}, 'overrides': {'a': False}, 'disabled': ['c'], 'unknown': ['b', 'q']}, [{'r': True, 'b': True, 'q': True}, {}, {'b': True, 'q': True}, []]), ('empty complete', {'intent': {'r': True, 'b': False, 'q': True}, 'toggle': True, 'branch': 'b', 'complete': True, 'descendants': [], 'ancestors': {'z': ['r', 'b'], 'a': ['r', 'b'], 'c': ['r', 'b'], 'd': [], 'e': ['r'], 'v0': ['r', 'b'], 'v1': ['r', 'b'], 'v2': ['r', 'b'], 'v3': ['r', 'b']}, 'stored': {'c': True, 'd': True}, 'overrides': {'a': False}, 'disabled': ['c'], 'unknown': ['b', 'q']}, [{'r': True, 'q': True}, {}, {'q': True}, []]), ('loaded complete', {'intent': {'r': True, 'b': False, 'q': True}, 'toggle': True, 'branch': 'b', 'complete': True, 'descendants': ['z', 'a', 'c', 'd', 'e', 'v0', 'v1', 'v2', 'v3'], 'ancestors': {'z': ['r', 'b'], 'a': ['r', 'b'], 'c': ['r', 'b'], 'd': [], 'e': ['r'], 'v0': ['r', 'b'], 'v1': ['r', 'b'], 'v2': ['r', 'b'], 'v3': ['r', 'b']}, 'stored': {'c': True, 'd': True}, 'overrides': {'a': False}, 'disabled': ['c'], 'unknown': ['b', 'q']}, [{'r': True, 'b': True, 'q': True}, {'z': True, 'a': False, 'c': True, 'd': True, 'e': True, 'v0': True, 'v1': True, 'v2': True, 'v3': True}, {'b': True, 'q': True}, ['z', 'c', 'd', 'e', 'v0', 'v1', 'v2', 'v3']]), ('disabled uncheck', {'intent': {'r': True, 'b': False, 'q': True}, 'toggle': False, 'branch': 'b', 'complete': False, 'descendants': ['z', 'a', 'c', 'd', 'e', 'v0', 'v1', 'v2', 'v3'], 'ancestors': {'z': ['r', 'b'], 'a': ['r', 'b'], 'c': ['r', 'b'], 'd': [], 'e': ['r'], 'v0': ['r', 'b'], 'v1': ['r', 'b'], 'v2': ['r', 'b'], 'v3': ['r', 'b']}, 'stored': {'c': True, 'd': True}, 'overrides': {'a': False}, 'disabled': ['c'], 'unknown': ['b', 'q']}, [{'r': True, 'b': False, 'q': True}, {'z': False, 'a': False, 'c': True, 'd': True, 'e': True, 'v0': False, 'v1': False, 'v2': False, 'v3': False}, {'b': False, 'q': True}, ['c', 'd', 'e']])], 5: [('inherit', {'intent': {'r': True, 'b': False, 'q': True}, 'toggle': True, 'branch': 'b', 'complete': False, 'descendants': ['z', 'a', 'c', 'd', 'e', 'v0', 'v1', 'v2', 'v3', 'v4'], 'ancestors': {'z': ['r', 'b'], 'a': ['r', 'b'], 'c': ['r', 'b'], 'd': [], 'e': ['r'], 'v0': ['r', 'b'], 'v1': ['r', 'b'], 'v2': ['r', 'b'], 'v3': ['r', 'b'], 'v4': ['r', 'b']}, 'stored': {'c': True, 'd': True}, 'overrides': {'a': False}, 'disabled': ['c'], 'unknown': ['b', 'q']}, [{'r': True, 'b': True, 'q': True}, {'z': True, 'a': False, 'c': True, 'd': True, 'e': True, 'v0': True, 'v1': True, 'v2': True, 'v3': True, 'v4': True}, {'b': True, 'q': True}, ['z', 'c', 'd', 'e', 'v0', 'v1', 'v2', 'v3', 'v4']]), ('no toggle', {'intent': {'r': True, 'b': False, 'q': True}, 'toggle': None, 'branch': 'b', 'complete': False, 'descendants': ['z', 'a', 'c', 'd', 'e', 'v0', 'v1', 'v2', 'v3', 'v4'], 'ancestors': {'z': ['r', 'b'], 'a': ['r', 'b'], 'c': ['r', 'b'], 'd': [], 'e': ['r'], 'v0': ['r', 'b'], 'v1': ['r', 'b'], 'v2': ['r', 'b'], 'v3': ['r', 'b'], 'v4': ['r', 'b']}, 'stored': {'c': True, 'd': True}, 'overrides': {'a': False}, 'disabled': ['c'], 'unknown': ['b', 'q']}, [{'r': True, 'b': False, 'q': True}, {'z': False, 'a': False, 'c': True, 'd': True, 'e': True, 'v0': False, 'v1': False, 'v2': False, 'v3': False, 'v4': False}, {'b': False, 'q': True}, ['c', 'd', 'e']]), ('uncheck', {'intent': {'r': True, 'b': True, 'q': True}, 'toggle': False, 'branch': 'b', 'complete': False, 'descendants': ['z', 'a', 'c', 'd', 'e', 'v0', 'v1', 'v2', 'v3', 'v4'], 'ancestors': {'z': ['r', 'b'], 'a': ['r', 'b'], 'c': ['r', 'b'], 'd': [], 'e': ['r'], 'v0': ['r', 'b'], 'v1': ['r', 'b'], 'v2': ['r', 'b'], 'v3': ['r', 'b'], 'v4': ['r', 'b']}, 'stored': {'c': True, 'd': True}, 'overrides': {'a': False}, 'disabled': ['c'], 'unknown': ['b', 'q']}, [{'r': True, 'b': False, 'q': True}, {'z': False, 'a': False, 'c': True, 'd': True, 'e': True, 'v0': False, 'v1': False, 'v2': False, 'v3': False, 'v4': False}, {'b': False, 'q': True}, ['c', 'd', 'e']]), ('empty unknown', {'intent': {'r': True, 'b': False, 'q': True}, 'toggle': True, 'branch': 'b', 'complete': False, 'descendants': [], 'ancestors': {'z': ['r', 'b'], 'a': ['r', 'b'], 'c': ['r', 'b'], 'd': [], 'e': ['r'], 'v0': ['r', 'b'], 'v1': ['r', 'b'], 'v2': ['r', 'b'], 'v3': ['r', 'b'], 'v4': ['r', 'b']}, 'stored': {'c': True, 'd': True}, 'overrides': {'a': False}, 'disabled': ['c'], 'unknown': ['b', 'q']}, [{'r': True, 'b': True, 'q': True}, {}, {'b': True, 'q': True}, []]), ('empty complete', {'intent': {'r': True, 'b': False, 'q': True}, 'toggle': True, 'branch': 'b', 'complete': True, 'descendants': [], 'ancestors': {'z': ['r', 'b'], 'a': ['r', 'b'], 'c': ['r', 'b'], 'd': [], 'e': ['r'], 'v0': ['r', 'b'], 'v1': ['r', 'b'], 'v2': ['r', 'b'], 'v3': ['r', 'b'], 'v4': ['r', 'b']}, 'stored': {'c': True, 'd': True}, 'overrides': {'a': False}, 'disabled': ['c'], 'unknown': ['b', 'q']}, [{'r': True, 'q': True}, {}, {'q': True}, []]), ('loaded complete', {'intent': {'r': True, 'b': False, 'q': True}, 'toggle': True, 'branch': 'b', 'complete': True, 'descendants': ['z', 'a', 'c', 'd', 'e', 'v0', 'v1', 'v2', 'v3', 'v4'], 'ancestors': {'z': ['r', 'b'], 'a': ['r', 'b'], 'c': ['r', 'b'], 'd': [], 'e': ['r'], 'v0': ['r', 'b'], 'v1': ['r', 'b'], 'v2': ['r', 'b'], 'v3': ['r', 'b'], 'v4': ['r', 'b']}, 'stored': {'c': True, 'd': True}, 'overrides': {'a': False}, 'disabled': ['c'], 'unknown': ['b', 'q']}, [{'r': True, 'b': True, 'q': True}, {'z': True, 'a': False, 'c': True, 'd': True, 'e': True, 'v0': True, 'v1': True, 'v2': True, 'v3': True, 'v4': True}, {'b': True, 'q': True}, ['z', 'c', 'd', 'e', 'v0', 'v1', 'v2', 'v3', 'v4']]), ('disabled uncheck', {'intent': {'r': True, 'b': False, 'q': True}, 'toggle': False, 'branch': 'b', 'complete': False, 'descendants': ['z', 'a', 'c', 'd', 'e', 'v0', 'v1', 'v2', 'v3', 'v4'], 'ancestors': {'z': ['r', 'b'], 'a': ['r', 'b'], 'c': ['r', 'b'], 'd': [], 'e': ['r'], 'v0': ['r', 'b'], 'v1': ['r', 'b'], 'v2': ['r', 'b'], 'v3': ['r', 'b'], 'v4': ['r', 'b']}, 'stored': {'c': True, 'd': True}, 'overrides': {'a': False}, 'disabled': ['c'], 'unknown': ['b', 'q']}, [{'r': True, 'b': False, 'q': True}, {'z': False, 'a': False, 'c': True, 'd': True, 'e': True, 'v0': False, 'v1': False, 'v2': False, 'v3': False, 'v4': False}, {'b': False, 'q': True}, ['c', 'd', 'e']])]}
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 |
|---|---|---|---|
| inherit | [{'b': True, 'q': True, 'r': True}, {'a': False, 'c': True, 'd': True, 'e': True, 'v0': True, 'z': True}, {'b': True, 'q': True}, ['z', 'c', 'd', 'e', 'v0']] | [{'b': True, 'q': True, 'r': True}, {'a': False, 'c': True, 'd': True, 'e': True, 'v0': True, 'z': True}, {'b': True, 'q': True}, ['z', 'c', 'd', 'e', 'v0']] | Passed |
| no toggle | [{'b': False, 'q': True, 'r': True}, {'a': False, 'c': True, 'd': True, 'e': True, 'v0': False, 'z': False}, {'b': False, 'q': True}, ['c', 'd', 'e']] | [{'b': False, 'q': True, 'r': True}, {'a': False, 'c': True, 'd': True, 'e': True, 'v0': False, 'z': False}, {'b': False, 'q': True}, ['c', 'd', 'e']] | Passed |
| uncheck | [{'b': False, 'q': True, 'r': True}, {'a': False, 'c': True, 'd': True, 'e': True, 'v0': False, 'z': False}, {'b': False, 'q': True}, ['c', 'd', 'e']] | [{'b': False, 'q': True, 'r': True}, {'a': False, 'c': True, 'd': True, 'e': True, 'v0': False, 'z': False}, {'b': False, 'q': True}, ['c', 'd', 'e']] | Passed |
| empty unknown | [{'b': True, 'q': True, 'r': True}, {}, {'b': True, 'q': True}, []] | [{'b': True, 'q': True, 'r': True}, {}, {'b': True, 'q': True}, []] | Passed |
| empty complete | [{'q': True, 'r': True}, {}, {'q': True}, []] | [{'q': True, 'r': True}, {}, {'q': True}, []] | Passed |
| loaded complete | [{'b': True, 'q': True, 'r': True}, {'a': False, 'c': True, 'd': True, 'e': True, 'v0': True, 'z': True}, {'b': True, 'q': True}, ['z', 'c', 'd', 'e', 'v0']] | [{'b': True, 'q': True, 'r': True}, {'a': False, 'c': True, 'd': True, 'e': True, 'v0': True, 'z': True}, {'b': True, 'q': True}, ['z', 'c', 'd', 'e', 'v0']] | Passed |
| disabled uncheck | [{'b': False, 'q': True, 'r': True}, {'a': False, 'c': True, 'd': True, 'e': True, 'v0': False, 'z': False}, {'b': False, 'q': True}, ['c', 'd', 'e']] | [{'b': False, 'q': True, 'r': True}, {'a': False, 'c': True, 'd': True, 'e': True, 'v0': False, 'z': False}, {'b': False, 'q': True}, ['c', 'd', 'e']] | Passed |
SHA-256 / 12e9c063d39eb4c5280a810374f14b4a6d3657aee760a9fbfb85a64cdf94565f
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:19.015328+00:00.
Case digest / 9fefdf70d36860d35e1dceb135b0a0c161d79b949a2756024bfd09570174f16c