FA-41721 / Listener lifecycle / Open access
A previously cancelled event runs its default action · case 01
A previously cancelled event runs its default action; the returned lifecycle plan violates the stated transition contract.
ROOT CAUSE
The default_run decision in the propagation-plan listener model is computed as True, losing a required lifecycle condition.
THE FAILURE
The default_run decision in the propagation-plan listener model is computed as True, losing a required lifecycle condition.
Unsuccessful approach: The partial repair uses not s['prevent']; a retained regression distinguishes it from the full transition.
Case contract
A stipulated non-UI event path is root-to-target. Capture visits ancestors in that order; bubble visits ancestors in reverse only for bubbling events. Target is visited once. stopPropagation prevents later nodes but not sibling callbacks on the current node; stopImmediate prevents both. Only cancelable, nonpassive listeners may prevent the default action. A prior prevented marker is monotonic. Inputs are finite state snapshots, including transitional and stale states; output fields are the exact independent actions/metadata defined by the corrected expression table. Numeric fixture capacities and counts vary with N. Field definitions, each independently computed from the input snapshot: capture = s['path'][:-1]; bubble = list(reversed(s['path'][:-1])) if s['bubbles'] else []; target = s['path'][-1] if s['path'] else None; next_node = not s['stopped'] and not s['immediate']; siblings = 0 if s['immediate'] else s['siblings']; default_prevented = s['prevented'] or (s['prevent'] and s['cancelable'] and not s['passive']); default_run = not s['prevented'] and not(s['prevent'] and s['cancelable'] and not s['passive']); current_target = s['current']; path_copy = list(s['path']); prevent_ignored = s['prevent'] and (s['passive'] or not s['cancelable'])
Why this case matters
Observer implementations need to preserve this state while subscriptions enter, execute, and leave their lifecycle.
1 / The failure
Exit 1"""Failure Map reference implementation. Python standard library only."""
import json
N = 1
observations = []
def solve(s):
return {
'capture': s['path'][:-1],
'bubble': list(reversed(s['path'][:-1])) if s['bubbles'] else [],
'target': s['path'][-1] if s['path'] else None,
'next_node': not s['stopped'] and not s['immediate'],
'siblings': 0 if s['immediate'] else s['siblings'],
'default_prevented': s['prevented'] or (s['prevent'] and s['cancelable'] and not s['passive']),
'default_run': True,
'current_target': s['current'],
'path_copy': list(s['path']),
'prevent_ignored': s['prevent'] and (s['passive'] or not s['cancelable']),
}
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = {1: [({'path': ['root', 'middle', 'target'], 'bubbles': False, 'stopped': True, 'immediate': False, 'cancelable': True, 'passive': True, 'prevent': True, 'prevented': False, 'siblings': 3, 'current': 'root'}, {'capture': ['root', 'middle'], 'bubble': [], 'target': 'target', 'next_node': False, 'siblings': 3, 'default_prevented': False, 'default_run': True, 'current_target': 'root', 'path_copy': ['root', 'middle', 'target'], 'prevent_ignored': True}), ({'path': ['target'], 'bubbles': False, 'stopped': False, 'immediate': True, 'cancelable': False, 'passive': False, 'prevent': True, 'prevented': True, 'siblings': 3, 'current': 'target'}, {'capture': [], 'bubble': [], 'target': 'target', 'next_node': False, 'siblings': 0, 'default_prevented': True, 'default_run': False, 'current_target': 'target', 'path_copy': ['target'], 'prevent_ignored': True}), ({'path': ['root', 'middle', 'target'], 'bubbles': True, 'stopped': False, 'immediate': True, 'cancelable': False, 'passive': False, 'prevent': True, 'prevented': True, 'siblings': 0, 'current': 'root'}, {'capture': ['root', 'middle'], 'bubble': ['middle', 'root'], 'target': 'target', 'next_node': False, 'siblings': 0, 'default_prevented': True, 'default_run': False, 'current_target': 'root', 'path_copy': ['root', 'middle', 'target'], 'prevent_ignored': True}), ({'path': ['target'], 'bubbles': False, 'stopped': True, 'immediate': True, 'cancelable': True, 'passive': False, 'prevent': False, 'prevented': True, 'siblings': 0, 'current': 'target'}, {'capture': [], 'bubble': [], 'target': 'target', 'next_node': False, 'siblings': 0, 'default_prevented': True, 'default_run': False, 'current_target': 'target', 'path_copy': ['target'], 'prevent_ignored': False}), ({'path': ['target'], 'bubbles': True, 'stopped': True, 'immediate': False, 'cancelable': False, 'passive': True, 'prevent': True, 'prevented': False, 'siblings': 0, 'current': 'target'}, {'capture': [], 'bubble': [], 'target': 'target', 'next_node': False, 'siblings': 0, 'default_prevented': False, 'default_run': True, 'current_target': 'target', 'path_copy': ['target'], 'prevent_ignored': True}), ({'path': ['target'], 'bubbles': False, 'stopped': False, 'immediate': False, 'cancelable': False, 'passive': True, 'prevent': True, 'prevented': False, 'siblings': 0, 'current': 'target'}, {'capture': [], 'bubble': [], 'target': 'target', 'next_node': True, 'siblings': 0, 'default_prevented': False, 'default_run': True, 'current_target': 'target', 'path_copy': ['target'], 'prevent_ignored': True}), ({'path': [], 'bubbles': False, 'stopped': False, 'immediate': False, 'cancelable': False, 'passive': False, 'prevent': False, 'prevented': False, 'siblings': 0, 'current': 'root'}, {'capture': [], 'bubble': [], 'target': None, 'next_node': True, 'siblings': 0, 'default_prevented': False, 'default_run': True, 'current_target': 'root', 'path_copy': [], 'prevent_ignored': False}), ({'path': ['root', 'middle', 'target'], 'bubbles': True, 'stopped': True, 'immediate': True, 'cancelable': True, 'passive': True, 'prevent': True, 'prevented': True, 'siblings': 3, 'current': 'target'}, {'capture': ['root', 'middle'], 'bubble': ['middle', 'root'], 'target': 'target', 'next_node': False, 'siblings': 0, 'default_prevented': True, 'default_run': False, 'current_target': 'target', 'path_copy': ['root', 'middle', 'target'], 'prevent_ignored': True})], 2: [({'path': ['root', 'middle', 'target'], 'bubbles': True, 'stopped': True, 'immediate': False, 'cancelable': True, 'passive': True, 'prevent': True, 'prevented': False, 'siblings': 6, 'current': 'root'}, {'capture': ['root', 'middle'], 'bubble': ['middle', 'root'], 'target': 'target', 'next_node': False, 'siblings': 6, 'default_prevented': False, 'default_run': True, 'current_target': 'root', 'path_copy': ['root', 'middle', 'target'], 'prevent_ignored': True}), ({'path': ['target'], 'bubbles': True, 'stopped': False, 'immediate': True, 'cancelable': False, 'passive': False, 'prevent': True, 'prevented': True, 'siblings': 6, 'current': 'root'}, {'capture': [], 'bubble': [], 'target': 'target', 'next_node': False, 'siblings': 0, 'default_prevented': True, 'default_run': False, 'current_target': 'root', 'path_copy': ['target'], 'prevent_ignored': True}), ({'path': ['root', 'middle', 'target'], 'bubbles': False, 'stopped': False, 'immediate': True, 'cancelable': False, 'passive': False, 'prevent': False, 'prevented': True, 'siblings': 6, 'current': 'target'}, {'capture': ['root', 'middle'], 'bubble': [], 'target': 'target', 'next_node': False, 'siblings': 0, 'default_prevented': True, 'default_run': False, 'current_target': 'target', 'path_copy': ['root', 'middle', 'target'], 'prevent_ignored': False}), ({'path': [], 'bubbles': False, 'stopped': True, 'immediate': False, 'cancelable': True, 'passive': True, 'prevent': False, 'prevented': False, 'siblings': 6, 'current': 'target'}, {'capture': [], 'bubble': [], 'target': None, 'next_node': False, 'siblings': 6, 'default_prevented': False, 'default_run': True, 'current_target': 'target', 'path_copy': [], 'prevent_ignored': False}), ({'path': ['target'], 'bubbles': True, 'stopped': True, 'immediate': False, 'cancelable': False, 'passive': True, 'prevent': True, 'prevented': False, 'siblings': 0, 'current': 'root'}, {'capture': [], 'bubble': [], 'target': 'target', 'next_node': False, 'siblings': 0, 'default_prevented': False, 'default_run': True, 'current_target': 'root', 'path_copy': ['target'], 'prevent_ignored': True}), ({'path': [], 'bubbles': True, 'stopped': True, 'immediate': True, 'cancelable': True, 'passive': True, 'prevent': False, 'prevented': True, 'siblings': 6, 'current': 'root'}, {'capture': [], 'bubble': [], 'target': None, 'next_node': False, 'siblings': 0, 'default_prevented': True, 'default_run': False, 'current_target': 'root', 'path_copy': [], 'prevent_ignored': False}), ({'path': [], 'bubbles': False, 'stopped': False, 'immediate': False, 'cancelable': False, 'passive': False, 'prevent': False, 'prevented': False, 'siblings': 0, 'current': 'root'}, {'capture': [], 'bubble': [], 'target': None, 'next_node': True, 'siblings': 0, 'default_prevented': False, 'default_run': True, 'current_target': 'root', 'path_copy': [], 'prevent_ignored': False}), ({'path': ['root', 'middle', 'target'], 'bubbles': True, 'stopped': True, 'immediate': True, 'cancelable': True, 'passive': True, 'prevent': True, 'prevented': True, 'siblings': 6, 'current': 'target'}, {'capture': ['root', 'middle'], 'bubble': ['middle', 'root'], 'target': 'target', 'next_node': False, 'siblings': 0, 'default_prevented': True, 'default_run': False, 'current_target': 'target', 'path_copy': ['root', 'middle', 'target'], 'prevent_ignored': True})], 3: [({'path': ['root', 'middle', 'target'], 'bubbles': True, 'stopped': True, 'immediate': False, 'cancelable': True, 'passive': True, 'prevent': True, 'prevented': False, 'siblings': 9, 'current': 'root'}, {'capture': ['root', 'middle'], 'bubble': ['middle', 'root'], 'target': 'target', 'next_node': False, 'siblings': 9, 'default_prevented': False, 'default_run': True, 'current_target': 'root', 'path_copy': ['root', 'middle', 'target'], 'prevent_ignored': True}), ({'path': ['root', 'middle', 'target'], 'bubbles': False, 'stopped': False, 'immediate': True, 'cancelable': False, 'passive': False, 'prevent': True, 'prevented': True, 'siblings': 9, 'current': 'root'}, {'capture': ['root', 'middle'], 'bubble': [], 'target': 'target', 'next_node': False, 'siblings': 0, 'default_prevented': True, 'default_run': False, 'current_target': 'root', 'path_copy': ['root', 'middle', 'target'], 'prevent_ignored': True}), ({'path': ['target'], 'bubbles': True, 'stopped': False, 'immediate': True, 'cancelable': True, 'passive': False, 'prevent': True, 'prevented': False, 'siblings': 9, 'current': 'root'}, {'capture': [], 'bubble': [], 'target': 'target', 'next_node': False, 'siblings': 0, 'default_prevented': True, 'default_run': False, 'current_target': 'root', 'path_copy': ['target'], 'prevent_ignored': False}), ({'path': ['root', 'middle', 'target'], 'bubbles': True, 'stopped': True, 'immediate': True, 'cancelable': False, 'passive': False, 'prevent': True, 'prevented': True, 'siblings': 0, 'current': 'root'}, {'capture': ['root', 'middle'], 'bubble': ['middle', 'root'], 'target': 'target', 'next_node': False, 'siblings': 0, 'default_prevented': True, 'default_run': False, 'current_target': 'root', 'path_copy': ['root', 'middle', 'target'], 'prevent_ignored': True}), ({'path': ['root', 'middle', 'target'], 'bubbles': True, 'stopped': True, 'immediate': True, 'cancelable': True, 'passive': False, 'prevent': False, 'prevented': True, 'siblings': 9, 'current': 'root'}, {'capture': ['root', 'middle'], 'bubble': ['middle', 'root'], 'target': 'target', 'next_node': False, 'siblings': 0, 'default_prevented': True, 'default_run': False, 'current_target': 'root', 'path_copy': ['root', 'middle', 'target'], 'prevent_ignored': False}), ({'path': ['root', 'middle', 'target'], 'bubbles': False, 'stopped': True, 'immediate': True, 'cancelable': True, 'passive': False, 'prevent': True, 'prevented': False, 'siblings': 9, 'current': 'target'}, {'capture': ['root', 'middle'], 'bubble': [], 'target': 'target', 'next_node': False, 'siblings': 0, 'default_prevented': True, 'default_run': False, 'current_target': 'target', 'path_copy': ['root', 'middle', 'target'], 'prevent_ignored': False}), ({'path': [], 'bubbles': False, 'stopped': False, 'immediate': False, 'cancelable': False, 'passive': False, 'prevent': False, 'prevented': False, 'siblings': 0, 'current': 'root'}, {'capture': [], 'bubble': [], 'target': None, 'next_node': True, 'siblings': 0, 'default_prevented': False, 'default_run': True, 'current_target': 'root', 'path_copy': [], 'prevent_ignored': False}), ({'path': ['root', 'middle', 'target'], 'bubbles': True, 'stopped': True, 'immediate': True, 'cancelable': True, 'passive': True, 'prevent': True, 'prevented': True, 'siblings': 9, 'current': 'target'}, {'capture': ['root', 'middle'], 'bubble': ['middle', 'root'], 'target': 'target', 'next_node': False, 'siblings': 0, 'default_prevented': True, 'default_run': False, 'current_target': 'target', 'path_copy': ['root', 'middle', 'target'], 'prevent_ignored': True})], 4: [({'path': ['root', 'middle', 'target'], 'bubbles': False, 'stopped': True, 'immediate': False, 'cancelable': True, 'passive': True, 'prevent': True, 'prevented': False, 'siblings': 12, 'current': 'root'}, {'capture': ['root', 'middle'], 'bubble': [], 'target': 'target', 'next_node': False, 'siblings': 12, 'default_prevented': False, 'default_run': True, 'current_target': 'root', 'path_copy': ['root', 'middle', 'target'], 'prevent_ignored': True}), ({'path': ['root', 'middle', 'target'], 'bubbles': True, 'stopped': False, 'immediate': True, 'cancelable': False, 'passive': False, 'prevent': True, 'prevented': True, 'siblings': 12, 'current': 'target'}, {'capture': ['root', 'middle'], 'bubble': ['middle', 'root'], 'target': 'target', 'next_node': False, 'siblings': 0, 'default_prevented': True, 'default_run': False, 'current_target': 'target', 'path_copy': ['root', 'middle', 'target'], 'prevent_ignored': True}), ({'path': ['target'], 'bubbles': True, 'stopped': True, 'immediate': True, 'cancelable': False, 'passive': True, 'prevent': False, 'prevented': True, 'siblings': 12, 'current': 'target'}, {'capture': [], 'bubble': [], 'target': 'target', 'next_node': False, 'siblings': 0, 'default_prevented': True, 'default_run': False, 'current_target': 'target', 'path_copy': ['target'], 'prevent_ignored': False}), ({'path': ['root', 'middle', 'target'], 'bubbles': False, 'stopped': True, 'immediate': False, 'cancelable': True, 'passive': False, 'prevent': False, 'prevented': True, 'siblings': 0, 'current': 'root'}, {'capture': ['root', 'middle'], 'bubble': [], 'target': 'target', 'next_node': False, 'siblings': 0, 'default_prevented': True, 'default_run': False, 'current_target': 'root', 'path_copy': ['root', 'middle', 'target'], 'prevent_ignored': False}), ({'path': [], 'bubbles': True, 'stopped': True, 'immediate': False, 'cancelable': False, 'passive': True, 'prevent': False, 'prevented': False, 'siblings': 12, 'current': 'target'}, {'capture': [], 'bubble': [], 'target': None, 'next_node': False, 'siblings': 12, 'default_prevented': False, 'default_run': True, 'current_target': 'target', 'path_copy': [], 'prevent_ignored': False}), ({'path': [], 'bubbles': False, 'stopped': True, 'immediate': True, 'cancelable': True, 'passive': False, 'prevent': True, 'prevented': False, 'siblings': 12, 'current': 'target'}, {'capture': [], 'bubble': [], 'target': None, 'next_node': False, 'siblings': 0, 'default_prevented': True, 'default_run': False, 'current_target': 'target', 'path_copy': [], 'prevent_ignored': False}), ({'path': [], 'bubbles': False, 'stopped': False, 'immediate': False, 'cancelable': False, 'passive': False, 'prevent': False, 'prevented': False, 'siblings': 0, 'current': 'root'}, {'capture': [], 'bubble': [], 'target': None, 'next_node': True, 'siblings': 0, 'default_prevented': False, 'default_run': True, 'current_target': 'root', 'path_copy': [], 'prevent_ignored': False}), ({'path': ['root', 'middle', 'target'], 'bubbles': True, 'stopped': True, 'immediate': True, 'cancelable': True, 'passive': True, 'prevent': True, 'prevented': True, 'siblings': 12, 'current': 'target'}, {'capture': ['root', 'middle'], 'bubble': ['middle', 'root'], 'target': 'target', 'next_node': False, 'siblings': 0, 'default_prevented': True, 'default_run': False, 'current_target': 'target', 'path_copy': ['root', 'middle', 'target'], 'prevent_ignored': True})], 5: [({'path': ['root', 'middle', 'target'], 'bubbles': False, 'stopped': True, 'immediate': False, 'cancelable': True, 'passive': True, 'prevent': True, 'prevented': False, 'siblings': 15, 'current': 'root'}, {'capture': ['root', 'middle'], 'bubble': [], 'target': 'target', 'next_node': False, 'siblings': 15, 'default_prevented': False, 'default_run': True, 'current_target': 'root', 'path_copy': ['root', 'middle', 'target'], 'prevent_ignored': True}), ({'path': ['target'], 'bubbles': True, 'stopped': False, 'immediate': True, 'cancelable': False, 'passive': False, 'prevent': True, 'prevented': True, 'siblings': 15, 'current': 'target'}, {'capture': [], 'bubble': [], 'target': 'target', 'next_node': False, 'siblings': 0, 'default_prevented': True, 'default_run': False, 'current_target': 'target', 'path_copy': ['target'], 'prevent_ignored': True}), ({'path': ['root', 'middle', 'target'], 'bubbles': True, 'stopped': True, 'immediate': False, 'cancelable': False, 'passive': True, 'prevent': False, 'prevented': False, 'siblings': 15, 'current': 'root'}, {'capture': ['root', 'middle'], 'bubble': ['middle', 'root'], 'target': 'target', 'next_node': False, 'siblings': 15, 'default_prevented': False, 'default_run': True, 'current_target': 'root', 'path_copy': ['root', 'middle', 'target'], 'prevent_ignored': False}), ({'path': [], 'bubbles': True, 'stopped': False, 'immediate': True, 'cancelable': True, 'passive': False, 'prevent': True, 'prevented': True, 'siblings': 0, 'current': 'target'}, {'capture': [], 'bubble': [], 'target': None, 'next_node': False, 'siblings': 0, 'default_prevented': True, 'default_run': False, 'current_target': 'target', 'path_copy': [], 'prevent_ignored': False}), ({'path': ['root', 'middle', 'target'], 'bubbles': False, 'stopped': False, 'immediate': False, 'cancelable': True, 'passive': False, 'prevent': False, 'prevented': True, 'siblings': 15, 'current': 'target'}, {'capture': ['root', 'middle'], 'bubble': [], 'target': 'target', 'next_node': True, 'siblings': 15, 'default_prevented': True, 'default_run': False, 'current_target': 'target', 'path_copy': ['root', 'middle', 'target'], 'prevent_ignored': False}), ({'path': ['target'], 'bubbles': False, 'stopped': False, 'immediate': False, 'cancelable': True, 'passive': True, 'prevent': False, 'prevented': True, 'siblings': 0, 'current': 'target'}, {'capture': [], 'bubble': [], 'target': 'target', 'next_node': True, 'siblings': 0, 'default_prevented': True, 'default_run': False, 'current_target': 'target', 'path_copy': ['target'], 'prevent_ignored': False}), ({'path': [], 'bubbles': False, 'stopped': False, 'immediate': False, 'cancelable': False, 'passive': False, 'prevent': False, 'prevented': False, 'siblings': 0, 'current': 'root'}, {'capture': [], 'bubble': [], 'target': None, 'next_node': True, 'siblings': 0, 'default_prevented': False, 'default_run': True, 'current_target': 'root', 'path_copy': [], 'prevent_ignored': False}), ({'path': ['root', 'middle', 'target'], 'bubbles': True, 'stopped': True, 'immediate': True, 'cancelable': True, 'passive': True, 'prevent': True, 'prevented': True, 'siblings': 15, 'current': 'target'}, {'capture': ['root', 'middle'], 'bubble': ['middle', 'root'], 'target': 'target', 'next_node': False, 'siblings': 0, 'default_prevented': True, 'default_run': False, 'current_target': 'target', 'path_copy': ['root', 'middle', 'target'], 'prevent_ignored': True})]}
for i,(state,expected) in enumerate(fixtures[N]):
check("transition "+str(i), solve(state), 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 |
|---|---|---|---|
| transition 0 | {'bubble': [], 'capture': ['root', 'middle'], 'current_target': 'root', 'default_prevented': False, 'default_run': True, 'next_node': False, 'path_copy': ['root', 'middle', 'target'], 'prevent_ignored': True, 'siblings': 3, 'target': 'target'} | {'bubble': [], 'capture': ['root', 'middle'], 'current_target': 'root', 'default_prevented': False, 'default_run': True, 'next_node': False, 'path_copy': ['root', 'middle', 'target'], 'prevent_ignored': True, 'siblings': 3, 'target': 'target'} | Passed |
| transition 1 | {'bubble': [], 'capture': [], 'current_target': 'target', 'default_prevented': True, 'default_run': True, 'next_node': False, 'path_copy': ['target'], 'prevent_ignored': True, 'siblings': 0, 'target': 'target'} | {'bubble': [], 'capture': [], 'current_target': 'target', 'default_prevented': True, 'default_run': False, 'next_node': False, 'path_copy': ['target'], 'prevent_ignored': True, 'siblings': 0, 'target': 'target'} | Failed |
| transition 2 | {'bubble': ['middle', 'root'], 'capture': ['root', 'middle'], 'current_target': 'root', 'default_prevented': True, 'default_run': True, 'next_node': False, 'path_copy': ['root', 'middle', 'target'], 'prevent_ignored': True, 'siblings': 0, 'target': 'target'} | {'bubble': ['middle', 'root'], 'capture': ['root', 'middle'], 'current_target': 'root', 'default_prevented': True, 'default_run': False, 'next_node': False, 'path_copy': ['root', 'middle', 'target'], 'prevent_ignored': True, 'siblings': 0, 'target': 'target'} | Failed |
| transition 3 | {'bubble': [], 'capture': [], 'current_target': 'target', 'default_prevented': True, 'default_run': True, 'next_node': False, 'path_copy': ['target'], 'prevent_ignored': False, 'siblings': 0, 'target': 'target'} | {'bubble': [], 'capture': [], 'current_target': 'target', 'default_prevented': True, 'default_run': False, 'next_node': False, 'path_copy': ['target'], 'prevent_ignored': False, 'siblings': 0, 'target': 'target'} | Failed |
| transition 4 | {'bubble': [], 'capture': [], 'current_target': 'target', 'default_prevented': False, 'default_run': True, 'next_node': False, 'path_copy': ['target'], 'prevent_ignored': True, 'siblings': 0, 'target': 'target'} | {'bubble': [], 'capture': [], 'current_target': 'target', 'default_prevented': False, 'default_run': True, 'next_node': False, 'path_copy': ['target'], 'prevent_ignored': True, 'siblings': 0, 'target': 'target'} | Passed |
| transition 5 | {'bubble': [], 'capture': [], 'current_target': 'target', 'default_prevented': False, 'default_run': True, 'next_node': True, 'path_copy': ['target'], 'prevent_ignored': True, 'siblings': 0, 'target': 'target'} | {'bubble': [], 'capture': [], 'current_target': 'target', 'default_prevented': False, 'default_run': True, 'next_node': True, 'path_copy': ['target'], 'prevent_ignored': True, 'siblings': 0, 'target': 'target'} | Passed |
| transition 6 | {'bubble': [], 'capture': [], 'current_target': 'root', 'default_prevented': False, 'default_run': True, 'next_node': True, 'path_copy': [], 'prevent_ignored': False, 'siblings': 0, 'target': None} | {'bubble': [], 'capture': [], 'current_target': 'root', 'default_prevented': False, 'default_run': True, 'next_node': True, 'path_copy': [], 'prevent_ignored': False, 'siblings': 0, 'target': None} | Passed |
| transition 7 | {'bubble': ['middle', 'root'], 'capture': ['root', 'middle'], 'current_target': 'target', 'default_prevented': True, 'default_run': True, 'next_node': False, 'path_copy': ['root', 'middle', 'target'], 'prevent_ignored': True, 'siblings': 0, 'target': 'target'} | {'bubble': ['middle', 'root'], 'capture': ['root', 'middle'], 'current_target': 'target', 'default_prevented': True, 'default_run': False, 'next_node': False, 'path_copy': ['root', 'middle', 'target'], 'prevent_ignored': True, 'siblings': 0, 'target': 'target'} | Failed |
SHA-256 / 151f9f57960b30f3e391ef91cbb500e62f1fc47cf907cc4f6b34f7f01b84de5e
2 / The unsuccessful fix
Exit 1"""Failure Map reference implementation. Python standard library only."""
import json
N = 1
observations = []
def solve(s):
return {
'capture': s['path'][:-1],
'bubble': list(reversed(s['path'][:-1])) if s['bubbles'] else [],
'target': s['path'][-1] if s['path'] else None,
'next_node': not s['stopped'] and not s['immediate'],
'siblings': 0 if s['immediate'] else s['siblings'],
'default_prevented': s['prevented'] or (s['prevent'] and s['cancelable'] and not s['passive']),
'default_run': not s['prevent'],
'current_target': s['current'],
'path_copy': list(s['path']),
'prevent_ignored': s['prevent'] and (s['passive'] or not s['cancelable']),
}
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = {1: [({'path': ['root', 'middle', 'target'], 'bubbles': False, 'stopped': True, 'immediate': False, 'cancelable': True, 'passive': True, 'prevent': True, 'prevented': False, 'siblings': 3, 'current': 'root'}, {'capture': ['root', 'middle'], 'bubble': [], 'target': 'target', 'next_node': False, 'siblings': 3, 'default_prevented': False, 'default_run': True, 'current_target': 'root', 'path_copy': ['root', 'middle', 'target'], 'prevent_ignored': True}), ({'path': ['target'], 'bubbles': False, 'stopped': False, 'immediate': True, 'cancelable': False, 'passive': False, 'prevent': True, 'prevented': True, 'siblings': 3, 'current': 'target'}, {'capture': [], 'bubble': [], 'target': 'target', 'next_node': False, 'siblings': 0, 'default_prevented': True, 'default_run': False, 'current_target': 'target', 'path_copy': ['target'], 'prevent_ignored': True}), ({'path': ['root', 'middle', 'target'], 'bubbles': True, 'stopped': False, 'immediate': True, 'cancelable': False, 'passive': False, 'prevent': True, 'prevented': True, 'siblings': 0, 'current': 'root'}, {'capture': ['root', 'middle'], 'bubble': ['middle', 'root'], 'target': 'target', 'next_node': False, 'siblings': 0, 'default_prevented': True, 'default_run': False, 'current_target': 'root', 'path_copy': ['root', 'middle', 'target'], 'prevent_ignored': True}), ({'path': ['target'], 'bubbles': False, 'stopped': True, 'immediate': True, 'cancelable': True, 'passive': False, 'prevent': False, 'prevented': True, 'siblings': 0, 'current': 'target'}, {'capture': [], 'bubble': [], 'target': 'target', 'next_node': False, 'siblings': 0, 'default_prevented': True, 'default_run': False, 'current_target': 'target', 'path_copy': ['target'], 'prevent_ignored': False}), ({'path': ['target'], 'bubbles': True, 'stopped': True, 'immediate': False, 'cancelable': False, 'passive': True, 'prevent': True, 'prevented': False, 'siblings': 0, 'current': 'target'}, {'capture': [], 'bubble': [], 'target': 'target', 'next_node': False, 'siblings': 0, 'default_prevented': False, 'default_run': True, 'current_target': 'target', 'path_copy': ['target'], 'prevent_ignored': True}), ({'path': ['target'], 'bubbles': False, 'stopped': False, 'immediate': False, 'cancelable': False, 'passive': True, 'prevent': True, 'prevented': False, 'siblings': 0, 'current': 'target'}, {'capture': [], 'bubble': [], 'target': 'target', 'next_node': True, 'siblings': 0, 'default_prevented': False, 'default_run': True, 'current_target': 'target', 'path_copy': ['target'], 'prevent_ignored': True}), ({'path': [], 'bubbles': False, 'stopped': False, 'immediate': False, 'cancelable': False, 'passive': False, 'prevent': False, 'prevented': False, 'siblings': 0, 'current': 'root'}, {'capture': [], 'bubble': [], 'target': None, 'next_node': True, 'siblings': 0, 'default_prevented': False, 'default_run': True, 'current_target': 'root', 'path_copy': [], 'prevent_ignored': False}), ({'path': ['root', 'middle', 'target'], 'bubbles': True, 'stopped': True, 'immediate': True, 'cancelable': True, 'passive': True, 'prevent': True, 'prevented': True, 'siblings': 3, 'current': 'target'}, {'capture': ['root', 'middle'], 'bubble': ['middle', 'root'], 'target': 'target', 'next_node': False, 'siblings': 0, 'default_prevented': True, 'default_run': False, 'current_target': 'target', 'path_copy': ['root', 'middle', 'target'], 'prevent_ignored': True})], 2: [({'path': ['root', 'middle', 'target'], 'bubbles': True, 'stopped': True, 'immediate': False, 'cancelable': True, 'passive': True, 'prevent': True, 'prevented': False, 'siblings': 6, 'current': 'root'}, {'capture': ['root', 'middle'], 'bubble': ['middle', 'root'], 'target': 'target', 'next_node': False, 'siblings': 6, 'default_prevented': False, 'default_run': True, 'current_target': 'root', 'path_copy': ['root', 'middle', 'target'], 'prevent_ignored': True}), ({'path': ['target'], 'bubbles': True, 'stopped': False, 'immediate': True, 'cancelable': False, 'passive': False, 'prevent': True, 'prevented': True, 'siblings': 6, 'current': 'root'}, {'capture': [], 'bubble': [], 'target': 'target', 'next_node': False, 'siblings': 0, 'default_prevented': True, 'default_run': False, 'current_target': 'root', 'path_copy': ['target'], 'prevent_ignored': True}), ({'path': ['root', 'middle', 'target'], 'bubbles': False, 'stopped': False, 'immediate': True, 'cancelable': False, 'passive': False, 'prevent': False, 'prevented': True, 'siblings': 6, 'current': 'target'}, {'capture': ['root', 'middle'], 'bubble': [], 'target': 'target', 'next_node': False, 'siblings': 0, 'default_prevented': True, 'default_run': False, 'current_target': 'target', 'path_copy': ['root', 'middle', 'target'], 'prevent_ignored': False}), ({'path': [], 'bubbles': False, 'stopped': True, 'immediate': False, 'cancelable': True, 'passive': True, 'prevent': False, 'prevented': False, 'siblings': 6, 'current': 'target'}, {'capture': [], 'bubble': [], 'target': None, 'next_node': False, 'siblings': 6, 'default_prevented': False, 'default_run': True, 'current_target': 'target', 'path_copy': [], 'prevent_ignored': False}), ({'path': ['target'], 'bubbles': True, 'stopped': True, 'immediate': False, 'cancelable': False, 'passive': True, 'prevent': True, 'prevented': False, 'siblings': 0, 'current': 'root'}, {'capture': [], 'bubble': [], 'target': 'target', 'next_node': False, 'siblings': 0, 'default_prevented': False, 'default_run': True, 'current_target': 'root', 'path_copy': ['target'], 'prevent_ignored': True}), ({'path': [], 'bubbles': True, 'stopped': True, 'immediate': True, 'cancelable': True, 'passive': True, 'prevent': False, 'prevented': True, 'siblings': 6, 'current': 'root'}, {'capture': [], 'bubble': [], 'target': None, 'next_node': False, 'siblings': 0, 'default_prevented': True, 'default_run': False, 'current_target': 'root', 'path_copy': [], 'prevent_ignored': False}), ({'path': [], 'bubbles': False, 'stopped': False, 'immediate': False, 'cancelable': False, 'passive': False, 'prevent': False, 'prevented': False, 'siblings': 0, 'current': 'root'}, {'capture': [], 'bubble': [], 'target': None, 'next_node': True, 'siblings': 0, 'default_prevented': False, 'default_run': True, 'current_target': 'root', 'path_copy': [], 'prevent_ignored': False}), ({'path': ['root', 'middle', 'target'], 'bubbles': True, 'stopped': True, 'immediate': True, 'cancelable': True, 'passive': True, 'prevent': True, 'prevented': True, 'siblings': 6, 'current': 'target'}, {'capture': ['root', 'middle'], 'bubble': ['middle', 'root'], 'target': 'target', 'next_node': False, 'siblings': 0, 'default_prevented': True, 'default_run': False, 'current_target': 'target', 'path_copy': ['root', 'middle', 'target'], 'prevent_ignored': True})], 3: [({'path': ['root', 'middle', 'target'], 'bubbles': True, 'stopped': True, 'immediate': False, 'cancelable': True, 'passive': True, 'prevent': True, 'prevented': False, 'siblings': 9, 'current': 'root'}, {'capture': ['root', 'middle'], 'bubble': ['middle', 'root'], 'target': 'target', 'next_node': False, 'siblings': 9, 'default_prevented': False, 'default_run': True, 'current_target': 'root', 'path_copy': ['root', 'middle', 'target'], 'prevent_ignored': True}), ({'path': ['root', 'middle', 'target'], 'bubbles': False, 'stopped': False, 'immediate': True, 'cancelable': False, 'passive': False, 'prevent': True, 'prevented': True, 'siblings': 9, 'current': 'root'}, {'capture': ['root', 'middle'], 'bubble': [], 'target': 'target', 'next_node': False, 'siblings': 0, 'default_prevented': True, 'default_run': False, 'current_target': 'root', 'path_copy': ['root', 'middle', 'target'], 'prevent_ignored': True}), ({'path': ['target'], 'bubbles': True, 'stopped': False, 'immediate': True, 'cancelable': True, 'passive': False, 'prevent': True, 'prevented': False, 'siblings': 9, 'current': 'root'}, {'capture': [], 'bubble': [], 'target': 'target', 'next_node': False, 'siblings': 0, 'default_prevented': True, 'default_run': False, 'current_target': 'root', 'path_copy': ['target'], 'prevent_ignored': False}), ({'path': ['root', 'middle', 'target'], 'bubbles': True, 'stopped': True, 'immediate': True, 'cancelable': False, 'passive': False, 'prevent': True, 'prevented': True, 'siblings': 0, 'current': 'root'}, {'capture': ['root', 'middle'], 'bubble': ['middle', 'root'], 'target': 'target', 'next_node': False, 'siblings': 0, 'default_prevented': True, 'default_run': False, 'current_target': 'root', 'path_copy': ['root', 'middle', 'target'], 'prevent_ignored': True}), ({'path': ['root', 'middle', 'target'], 'bubbles': True, 'stopped': True, 'immediate': True, 'cancelable': True, 'passive': False, 'prevent': False, 'prevented': True, 'siblings': 9, 'current': 'root'}, {'capture': ['root', 'middle'], 'bubble': ['middle', 'root'], 'target': 'target', 'next_node': False, 'siblings': 0, 'default_prevented': True, 'default_run': False, 'current_target': 'root', 'path_copy': ['root', 'middle', 'target'], 'prevent_ignored': False}), ({'path': ['root', 'middle', 'target'], 'bubbles': False, 'stopped': True, 'immediate': True, 'cancelable': True, 'passive': False, 'prevent': True, 'prevented': False, 'siblings': 9, 'current': 'target'}, {'capture': ['root', 'middle'], 'bubble': [], 'target': 'target', 'next_node': False, 'siblings': 0, 'default_prevented': True, 'default_run': False, 'current_target': 'target', 'path_copy': ['root', 'middle', 'target'], 'prevent_ignored': False}), ({'path': [], 'bubbles': False, 'stopped': False, 'immediate': False, 'cancelable': False, 'passive': False, 'prevent': False, 'prevented': False, 'siblings': 0, 'current': 'root'}, {'capture': [], 'bubble': [], 'target': None, 'next_node': True, 'siblings': 0, 'default_prevented': False, 'default_run': True, 'current_target': 'root', 'path_copy': [], 'prevent_ignored': False}), ({'path': ['root', 'middle', 'target'], 'bubbles': True, 'stopped': True, 'immediate': True, 'cancelable': True, 'passive': True, 'prevent': True, 'prevented': True, 'siblings': 9, 'current': 'target'}, {'capture': ['root', 'middle'], 'bubble': ['middle', 'root'], 'target': 'target', 'next_node': False, 'siblings': 0, 'default_prevented': True, 'default_run': False, 'current_target': 'target', 'path_copy': ['root', 'middle', 'target'], 'prevent_ignored': True})], 4: [({'path': ['root', 'middle', 'target'], 'bubbles': False, 'stopped': True, 'immediate': False, 'cancelable': True, 'passive': True, 'prevent': True, 'prevented': False, 'siblings': 12, 'current': 'root'}, {'capture': ['root', 'middle'], 'bubble': [], 'target': 'target', 'next_node': False, 'siblings': 12, 'default_prevented': False, 'default_run': True, 'current_target': 'root', 'path_copy': ['root', 'middle', 'target'], 'prevent_ignored': True}), ({'path': ['root', 'middle', 'target'], 'bubbles': True, 'stopped': False, 'immediate': True, 'cancelable': False, 'passive': False, 'prevent': True, 'prevented': True, 'siblings': 12, 'current': 'target'}, {'capture': ['root', 'middle'], 'bubble': ['middle', 'root'], 'target': 'target', 'next_node': False, 'siblings': 0, 'default_prevented': True, 'default_run': False, 'current_target': 'target', 'path_copy': ['root', 'middle', 'target'], 'prevent_ignored': True}), ({'path': ['target'], 'bubbles': True, 'stopped': True, 'immediate': True, 'cancelable': False, 'passive': True, 'prevent': False, 'prevented': True, 'siblings': 12, 'current': 'target'}, {'capture': [], 'bubble': [], 'target': 'target', 'next_node': False, 'siblings': 0, 'default_prevented': True, 'default_run': False, 'current_target': 'target', 'path_copy': ['target'], 'prevent_ignored': False}), ({'path': ['root', 'middle', 'target'], 'bubbles': False, 'stopped': True, 'immediate': False, 'cancelable': True, 'passive': False, 'prevent': False, 'prevented': True, 'siblings': 0, 'current': 'root'}, {'capture': ['root', 'middle'], 'bubble': [], 'target': 'target', 'next_node': False, 'siblings': 0, 'default_prevented': True, 'default_run': False, 'current_target': 'root', 'path_copy': ['root', 'middle', 'target'], 'prevent_ignored': False}), ({'path': [], 'bubbles': True, 'stopped': True, 'immediate': False, 'cancelable': False, 'passive': True, 'prevent': False, 'prevented': False, 'siblings': 12, 'current': 'target'}, {'capture': [], 'bubble': [], 'target': None, 'next_node': False, 'siblings': 12, 'default_prevented': False, 'default_run': True, 'current_target': 'target', 'path_copy': [], 'prevent_ignored': False}), ({'path': [], 'bubbles': False, 'stopped': True, 'immediate': True, 'cancelable': True, 'passive': False, 'prevent': True, 'prevented': False, 'siblings': 12, 'current': 'target'}, {'capture': [], 'bubble': [], 'target': None, 'next_node': False, 'siblings': 0, 'default_prevented': True, 'default_run': False, 'current_target': 'target', 'path_copy': [], 'prevent_ignored': False}), ({'path': [], 'bubbles': False, 'stopped': False, 'immediate': False, 'cancelable': False, 'passive': False, 'prevent': False, 'prevented': False, 'siblings': 0, 'current': 'root'}, {'capture': [], 'bubble': [], 'target': None, 'next_node': True, 'siblings': 0, 'default_prevented': False, 'default_run': True, 'current_target': 'root', 'path_copy': [], 'prevent_ignored': False}), ({'path': ['root', 'middle', 'target'], 'bubbles': True, 'stopped': True, 'immediate': True, 'cancelable': True, 'passive': True, 'prevent': True, 'prevented': True, 'siblings': 12, 'current': 'target'}, {'capture': ['root', 'middle'], 'bubble': ['middle', 'root'], 'target': 'target', 'next_node': False, 'siblings': 0, 'default_prevented': True, 'default_run': False, 'current_target': 'target', 'path_copy': ['root', 'middle', 'target'], 'prevent_ignored': True})], 5: [({'path': ['root', 'middle', 'target'], 'bubbles': False, 'stopped': True, 'immediate': False, 'cancelable': True, 'passive': True, 'prevent': True, 'prevented': False, 'siblings': 15, 'current': 'root'}, {'capture': ['root', 'middle'], 'bubble': [], 'target': 'target', 'next_node': False, 'siblings': 15, 'default_prevented': False, 'default_run': True, 'current_target': 'root', 'path_copy': ['root', 'middle', 'target'], 'prevent_ignored': True}), ({'path': ['target'], 'bubbles': True, 'stopped': False, 'immediate': True, 'cancelable': False, 'passive': False, 'prevent': True, 'prevented': True, 'siblings': 15, 'current': 'target'}, {'capture': [], 'bubble': [], 'target': 'target', 'next_node': False, 'siblings': 0, 'default_prevented': True, 'default_run': False, 'current_target': 'target', 'path_copy': ['target'], 'prevent_ignored': True}), ({'path': ['root', 'middle', 'target'], 'bubbles': True, 'stopped': True, 'immediate': False, 'cancelable': False, 'passive': True, 'prevent': False, 'prevented': False, 'siblings': 15, 'current': 'root'}, {'capture': ['root', 'middle'], 'bubble': ['middle', 'root'], 'target': 'target', 'next_node': False, 'siblings': 15, 'default_prevented': False, 'default_run': True, 'current_target': 'root', 'path_copy': ['root', 'middle', 'target'], 'prevent_ignored': False}), ({'path': [], 'bubbles': True, 'stopped': False, 'immediate': True, 'cancelable': True, 'passive': False, 'prevent': True, 'prevented': True, 'siblings': 0, 'current': 'target'}, {'capture': [], 'bubble': [], 'target': None, 'next_node': False, 'siblings': 0, 'default_prevented': True, 'default_run': False, 'current_target': 'target', 'path_copy': [], 'prevent_ignored': False}), ({'path': ['root', 'middle', 'target'], 'bubbles': False, 'stopped': False, 'immediate': False, 'cancelable': True, 'passive': False, 'prevent': False, 'prevented': True, 'siblings': 15, 'current': 'target'}, {'capture': ['root', 'middle'], 'bubble': [], 'target': 'target', 'next_node': True, 'siblings': 15, 'default_prevented': True, 'default_run': False, 'current_target': 'target', 'path_copy': ['root', 'middle', 'target'], 'prevent_ignored': False}), ({'path': ['target'], 'bubbles': False, 'stopped': False, 'immediate': False, 'cancelable': True, 'passive': True, 'prevent': False, 'prevented': True, 'siblings': 0, 'current': 'target'}, {'capture': [], 'bubble': [], 'target': 'target', 'next_node': True, 'siblings': 0, 'default_prevented': True, 'default_run': False, 'current_target': 'target', 'path_copy': ['target'], 'prevent_ignored': False}), ({'path': [], 'bubbles': False, 'stopped': False, 'immediate': False, 'cancelable': False, 'passive': False, 'prevent': False, 'prevented': False, 'siblings': 0, 'current': 'root'}, {'capture': [], 'bubble': [], 'target': None, 'next_node': True, 'siblings': 0, 'default_prevented': False, 'default_run': True, 'current_target': 'root', 'path_copy': [], 'prevent_ignored': False}), ({'path': ['root', 'middle', 'target'], 'bubbles': True, 'stopped': True, 'immediate': True, 'cancelable': True, 'passive': True, 'prevent': True, 'prevented': True, 'siblings': 15, 'current': 'target'}, {'capture': ['root', 'middle'], 'bubble': ['middle', 'root'], 'target': 'target', 'next_node': False, 'siblings': 0, 'default_prevented': True, 'default_run': False, 'current_target': 'target', 'path_copy': ['root', 'middle', 'target'], 'prevent_ignored': True})]}
for i,(state,expected) in enumerate(fixtures[N]):
check("transition "+str(i), solve(state), 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 |
|---|---|---|---|
| transition 0 | {'bubble': [], 'capture': ['root', 'middle'], 'current_target': 'root', 'default_prevented': False, 'default_run': False, 'next_node': False, 'path_copy': ['root', 'middle', 'target'], 'prevent_ignored': True, 'siblings': 3, 'target': 'target'} | {'bubble': [], 'capture': ['root', 'middle'], 'current_target': 'root', 'default_prevented': False, 'default_run': True, 'next_node': False, 'path_copy': ['root', 'middle', 'target'], 'prevent_ignored': True, 'siblings': 3, 'target': 'target'} | Failed |
| transition 1 | {'bubble': [], 'capture': [], 'current_target': 'target', 'default_prevented': True, 'default_run': False, 'next_node': False, 'path_copy': ['target'], 'prevent_ignored': True, 'siblings': 0, 'target': 'target'} | {'bubble': [], 'capture': [], 'current_target': 'target', 'default_prevented': True, 'default_run': False, 'next_node': False, 'path_copy': ['target'], 'prevent_ignored': True, 'siblings': 0, 'target': 'target'} | Passed |
| transition 2 | {'bubble': ['middle', 'root'], 'capture': ['root', 'middle'], 'current_target': 'root', 'default_prevented': True, 'default_run': False, 'next_node': False, 'path_copy': ['root', 'middle', 'target'], 'prevent_ignored': True, 'siblings': 0, 'target': 'target'} | {'bubble': ['middle', 'root'], 'capture': ['root', 'middle'], 'current_target': 'root', 'default_prevented': True, 'default_run': False, 'next_node': False, 'path_copy': ['root', 'middle', 'target'], 'prevent_ignored': True, 'siblings': 0, 'target': 'target'} | Passed |
| transition 3 | {'bubble': [], 'capture': [], 'current_target': 'target', 'default_prevented': True, 'default_run': True, 'next_node': False, 'path_copy': ['target'], 'prevent_ignored': False, 'siblings': 0, 'target': 'target'} | {'bubble': [], 'capture': [], 'current_target': 'target', 'default_prevented': True, 'default_run': False, 'next_node': False, 'path_copy': ['target'], 'prevent_ignored': False, 'siblings': 0, 'target': 'target'} | Failed |
| transition 4 | {'bubble': [], 'capture': [], 'current_target': 'target', 'default_prevented': False, 'default_run': False, 'next_node': False, 'path_copy': ['target'], 'prevent_ignored': True, 'siblings': 0, 'target': 'target'} | {'bubble': [], 'capture': [], 'current_target': 'target', 'default_prevented': False, 'default_run': True, 'next_node': False, 'path_copy': ['target'], 'prevent_ignored': True, 'siblings': 0, 'target': 'target'} | Failed |
| transition 5 | {'bubble': [], 'capture': [], 'current_target': 'target', 'default_prevented': False, 'default_run': False, 'next_node': True, 'path_copy': ['target'], 'prevent_ignored': True, 'siblings': 0, 'target': 'target'} | {'bubble': [], 'capture': [], 'current_target': 'target', 'default_prevented': False, 'default_run': True, 'next_node': True, 'path_copy': ['target'], 'prevent_ignored': True, 'siblings': 0, 'target': 'target'} | Failed |
| transition 6 | {'bubble': [], 'capture': [], 'current_target': 'root', 'default_prevented': False, 'default_run': True, 'next_node': True, 'path_copy': [], 'prevent_ignored': False, 'siblings': 0, 'target': None} | {'bubble': [], 'capture': [], 'current_target': 'root', 'default_prevented': False, 'default_run': True, 'next_node': True, 'path_copy': [], 'prevent_ignored': False, 'siblings': 0, 'target': None} | Passed |
| transition 7 | {'bubble': ['middle', 'root'], 'capture': ['root', 'middle'], 'current_target': 'target', 'default_prevented': True, 'default_run': False, 'next_node': False, 'path_copy': ['root', 'middle', 'target'], 'prevent_ignored': True, 'siblings': 0, 'target': 'target'} | {'bubble': ['middle', 'root'], 'capture': ['root', 'middle'], 'current_target': 'target', 'default_prevented': True, 'default_run': False, 'next_node': False, 'path_copy': ['root', 'middle', 'target'], 'prevent_ignored': True, 'siblings': 0, 'target': 'target'} | Passed |
SHA-256 / 18e21e7db5548c9ac336e32eb0870ad1f9d1852a941b9f27a41f6279fbc84b3a
HELD IN THE MEMBER ARCHIVE
The verified repair and its recorded checks are member-only.
This mechanism has 8 recorded checks per implementation. The open-access tier publishes the failure and the unsuccessful fix; the repaired source that passes every check, and the observations that prove it, are available to members.
Every case sharing this mechanism uses the same contract and the same repair, so this one record is held back for all of them.
Member access is invitation-based. Sign in with your invited account to inspect the repair.
Sign in to the archive ↗Verification & scope
A deterministic, bounded, single-threaded transition planner. Returned plans model state changes; they do not implement a production event framework. 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:44.301311+00:00.
Case digest / 37222a4153ebc67a35128efe52db31d6ad6e51ba759da88c9d0c549c8ac499cb