FAILURE MAP
← Case archive

FA-42761 / Listener lifecycle / Open access

Transferring one disposer removes every disposer from the composite · case 01

Transferring one disposer removes every disposer from the composite; the returned lifecycle plan violates the stated transition contract.

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

ROOT CAUSE

The retained decision in the teardown-stack listener model is computed as [] if s['transfer'] is not None else list(s['stack']), losing a required lifecycle condition.

VERIFIED REPAIR

Compute the retained decision from the complete contract: [r for r in s['stack'] if r[0]!=s['transfer']].

Unsuccessful approach: The partial repair uses list(s['stack']); a retained regression distinguishes it from the full transition.

Case contract

Plan a subscription composite teardown stack. Disposers are [id,already_run] entries and run in reverse acquisition order. Duplicate disposer IDs run at most once, keeping the latest acquisition position. Disposers added after closure run immediately. Teardown failures accumulate without suppressing later cleanup. Ownership transfer removes the transferred disposer from this stack without executing it. The current disposal wave finishes in its existing order; disposers added reentrantly form a subsequent wave in reverse acquisition order. Relinquishing a scope severs only capture references to that exact owner; unrelated receiver captures survive. The already-run projection groups aliases by disposer identity: any completed alias marks the identity completed, preserving first identity order. 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: order = list(dict.fromkeys(r[0] for r in reversed(s['stack']) if not r[1] and r[0]!=s['transfer'])); immediate = [s['added']] if s['closed'] and s['added'] is not None else []; store_added = [s['added']] if not s['closed'] and s['added'] is not None else []; transferred = [r[0] for r in s['stack'] if r[0]==s['transfer']]; retained = [r for r in s['stack'] if r[0]!=s['transfer']]; already_run = [k for k in dict.fromkeys(r[0] for r in s['stack']) if any(r[0]==k and r[1] for r in s['stack'])]; errors = list(s['errors']); reentrant = list(s['wave_remaining'])+list(reversed(s['added_during'])); owner = s['new_owner'] if s['transfer'] is not None else s['owner']; pending = [[r[0],None if r[1]==s['relinquished_owner'] else r[1]] for r in s['captures']]

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 {
        'order': list(dict.fromkeys(r[0] for r in reversed(s['stack']) if not r[1] and r[0]!=s['transfer'])),
        'immediate': [s['added']] if s['closed'] and s['added'] is not None else [],
        'store_added': [s['added']] if not s['closed'] and s['added'] is not None else [],
        'transferred': [r[0] for r in s['stack'] if r[0]==s['transfer']],
        'retained': [] if s['transfer'] is not None else list(s['stack']),
        'already_run': [k for k in dict.fromkeys(r[0] for r in s['stack']) if any(r[0]==k and r[1] for r in s['stack'])],
        'errors': list(s['errors']),
        'reentrant': list(s['wave_remaining'])+list(reversed(s['added_during'])),
        'owner': s['new_owner'] if s['transfer'] is not None else s['owner'],
        'pending': [[r[0],None if r[1]==s['relinquished_owner'] else r[1]] for r in s['captures']],
    }
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = {1: [({'stack': [['a', True], ['a', False], ['b', False], ['b', True]], 'closed': True, 'added': 'new', 'transfer': 'a', 'errors': ['one', 'two'], 'disposing': False, 'completed': True, 'owner': None, 'new_owner': 'other', 'pending': 2, 'wave_remaining': ['a', 'b'], 'added_during': ['x', 'y'], 'captures': [['a', 'old'], ['b', 'other']], 'relinquished_owner': 'old'}, {'order': ['b'], 'immediate': ['new'], 'store_added': [], 'transferred': ['a', 'a'], 'retained': [['b', False], ['b', True]], 'already_run': ['a', 'b'], 'errors': ['one', 'two'], 'reentrant': ['a', 'b', 'y', 'x'], 'owner': 'other', 'pending': [['a', None], ['b', 'other']]}), ({'stack': [['a', False], ['b', True], ['a', False], ['c', False]], 'closed': False, 'added': 'new', 'transfer': None, 'errors': ['one', 'two'], 'disposing': True, 'completed': False, 'owner': 'scope', 'new_owner': 'other', 'pending': 2, 'wave_remaining': ['a'], 'added_during': ['x', 'y'], 'captures': [], 'relinquished_owner': 'old'}, {'order': ['c', 'a'], 'immediate': [], 'store_added': ['new'], 'transferred': [], 'retained': [['a', False], ['b', True], ['a', False], ['c', False]], 'already_run': ['b'], 'errors': ['one', 'two'], 'reentrant': ['a', 'y', 'x'], 'owner': 'scope', 'pending': []}), ({'stack': [['a', True], ['a', False], ['b', False], ['b', True]], 'closed': False, 'added': 'new', 'transfer': None, 'errors': ['one'], 'disposing': False, 'completed': True, 'owner': None, 'new_owner': None, 'pending': 2, 'wave_remaining': ['a'], 'added_during': ['x', 'y'], 'captures': [['a', 'old'], ['b', 'other']], 'relinquished_owner': 'missing'}, {'order': ['b', 'a'], 'immediate': [], 'store_added': ['new'], 'transferred': [], 'retained': [['a', True], ['a', False], ['b', False], ['b', True]], 'already_run': ['a', 'b'], 'errors': ['one'], 'reentrant': ['a', 'y', 'x'], 'owner': None, 'pending': [['a', 'old'], ['b', 'other']]}), ({'stack': [], 'closed': False, 'added': 'new', 'transfer': 'a', 'errors': [], 'disposing': True, 'completed': True, 'owner': 'scope', 'new_owner': None, 'pending': 2, 'wave_remaining': [], 'added_during': [], 'captures': [['a', 'old'], ['b', 'other']], 'relinquished_owner': 'old'}, {'order': [], 'immediate': [], 'store_added': ['new'], 'transferred': [], 'retained': [], 'already_run': [], 'errors': [], 'reentrant': [], 'owner': None, 'pending': [['a', None], ['b', 'other']]}), ({'stack': [['a', False]], 'closed': False, 'added': None, 'transfer': 'missing', 'errors': [], 'disposing': False, 'completed': False, 'owner': None, 'new_owner': None, 'pending': 0, 'wave_remaining': ['a', 'b'], 'added_during': ['x'], 'captures': [['a', 'old'], ['b', 'other']], 'relinquished_owner': 'old'}, {'order': ['a'], 'immediate': [], 'store_added': [], 'transferred': [], 'retained': [['a', False]], 'already_run': [], 'errors': [], 'reentrant': ['a', 'b', 'x'], 'owner': None, 'pending': [['a', None], ['b', 'other']]}), ({'stack': [['a', False]], 'closed': True, 'added': None, 'transfer': None, 'errors': ['one'], 'disposing': False, 'completed': True, 'owner': 'scope', 'new_owner': 'other', 'pending': 2, 'wave_remaining': ['a', 'b'], 'added_during': ['x'], 'captures': [['c', None]], 'relinquished_owner': 'old'}, {'order': ['a'], 'immediate': [], 'store_added': [], 'transferred': [], 'retained': [['a', False]], 'already_run': [], 'errors': ['one'], 'reentrant': ['a', 'b', 'x'], 'owner': 'scope', 'pending': [['c', None]]}), ({'stack': [], 'closed': False, 'added': None, 'transfer': None, 'errors': [], 'disposing': False, 'completed': False, 'owner': None, 'new_owner': None, 'pending': 0, 'wave_remaining': [], 'added_during': [], 'captures': [], 'relinquished_owner': 'old'}, {'order': [], 'immediate': [], 'store_added': [], 'transferred': [], 'retained': [], 'already_run': [], 'errors': [], 'reentrant': [], 'owner': None, 'pending': []}), ({'stack': [['a', True], ['a', False], ['b', False], ['b', True]], 'closed': True, 'added': 'new', 'transfer': 'missing', 'errors': ['one', 'two'], 'disposing': True, 'completed': True, 'owner': 'scope', 'new_owner': 'other', 'pending': 2, 'wave_remaining': ['a', 'b'], 'added_during': ['x', 'y'], 'captures': [['c', None]], 'relinquished_owner': 'missing'}, {'order': ['b', 'a'], 'immediate': ['new'], 'store_added': [], 'transferred': [], 'retained': [['a', True], ['a', False], ['b', False], ['b', True]], 'already_run': ['a', 'b'], 'errors': ['one', 'two'], 'reentrant': ['a', 'b', 'y', 'x'], 'owner': 'other', 'pending': [['c', None]]})], 2: [({'stack': [['a', True], ['a', False], ['b', False], ['b', True]], 'closed': True, 'added': 'new', 'transfer': 'a', 'errors': ['one', 'two'], 'disposing': False, 'completed': True, 'owner': None, 'new_owner': 'other', 'pending': 0, 'wave_remaining': ['a', 'b'], 'added_during': ['x', 'y'], 'captures': [['a', 'old'], ['b', 'other']], 'relinquished_owner': 'old'}, {'order': ['b'], 'immediate': ['new'], 'store_added': [], 'transferred': ['a', 'a'], 'retained': [['b', False], ['b', True]], 'already_run': ['a', 'b'], 'errors': ['one', 'two'], 'reentrant': ['a', 'b', 'y', 'x'], 'owner': 'other', 'pending': [['a', None], ['b', 'other']]}), ({'stack': [['a', False], ['b', True], ['a', False], ['c', False]], 'closed': False, 'added': 'new', 'transfer': None, 'errors': ['one', 'two'], 'disposing': False, 'completed': False, 'owner': 'scope', 'new_owner': None, 'pending': 4, 'wave_remaining': [], 'added_during': ['x'], 'captures': [], 'relinquished_owner': 'missing'}, {'order': ['c', 'a'], 'immediate': [], 'store_added': ['new'], 'transferred': [], 'retained': [['a', False], ['b', True], ['a', False], ['c', False]], 'already_run': ['b'], 'errors': ['one', 'two'], 'reentrant': ['x'], 'owner': 'scope', 'pending': []}), ({'stack': [], 'closed': True, 'added': 'new', 'transfer': 'missing', 'errors': [], 'disposing': True, 'completed': True, 'owner': None, 'new_owner': 'other', 'pending': 4, 'wave_remaining': ['a', 'b'], 'added_during': ['x'], 'captures': [], 'relinquished_owner': 'missing'}, {'order': [], 'immediate': ['new'], 'store_added': [], 'transferred': [], 'retained': [], 'already_run': [], 'errors': [], 'reentrant': ['a', 'b', 'x'], 'owner': 'other', 'pending': []}), ({'stack': [['a', True], ['a', False], ['b', False], ['b', True]], 'closed': False, 'added': None, 'transfer': 'a', 'errors': ['one', 'two'], 'disposing': False, 'completed': True, 'owner': None, 'new_owner': 'other', 'pending': 4, 'wave_remaining': [], 'added_during': ['x', 'y'], 'captures': [['c', None]], 'relinquished_owner': 'old'}, {'order': ['b'], 'immediate': [], 'store_added': [], 'transferred': ['a', 'a'], 'retained': [['b', False], ['b', True]], 'already_run': ['a', 'b'], 'errors': ['one', 'two'], 'reentrant': ['y', 'x'], 'owner': 'other', 'pending': [['c', None]]}), ({'stack': [['a', False]], 'closed': False, 'added': 'new', 'transfer': None, 'errors': ['one'], 'disposing': False, 'completed': False, 'owner': None, 'new_owner': 'other', 'pending': 0, 'wave_remaining': [], 'added_during': ['x'], 'captures': [['c', None]], 'relinquished_owner': 'old'}, {'order': ['a'], 'immediate': [], 'store_added': ['new'], 'transferred': [], 'retained': [['a', False]], 'already_run': [], 'errors': ['one'], 'reentrant': ['x'], 'owner': None, 'pending': [['c', None]]}), ({'stack': [], 'closed': False, 'added': 'new', 'transfer': 'missing', 'errors': ['one', 'two'], 'disposing': True, 'completed': False, 'owner': None, 'new_owner': 'other', 'pending': 0, 'wave_remaining': [], 'added_during': [], 'captures': [['a', 'old'], ['b', 'other']], 'relinquished_owner': 'missing'}, {'order': [], 'immediate': [], 'store_added': ['new'], 'transferred': [], 'retained': [], 'already_run': [], 'errors': ['one', 'two'], 'reentrant': [], 'owner': 'other', 'pending': [['a', 'old'], ['b', 'other']]}), ({'stack': [], 'closed': False, 'added': None, 'transfer': None, 'errors': [], 'disposing': False, 'completed': False, 'owner': None, 'new_owner': None, 'pending': 0, 'wave_remaining': [], 'added_during': [], 'captures': [], 'relinquished_owner': 'old'}, {'order': [], 'immediate': [], 'store_added': [], 'transferred': [], 'retained': [], 'already_run': [], 'errors': [], 'reentrant': [], 'owner': None, 'pending': []}), ({'stack': [['a', True], ['a', False], ['b', False], ['b', True]], 'closed': True, 'added': 'new', 'transfer': 'missing', 'errors': ['one', 'two'], 'disposing': True, 'completed': True, 'owner': 'scope', 'new_owner': 'other', 'pending': 4, 'wave_remaining': ['a', 'b'], 'added_during': ['x', 'y'], 'captures': [['c', None]], 'relinquished_owner': 'missing'}, {'order': ['b', 'a'], 'immediate': ['new'], 'store_added': [], 'transferred': [], 'retained': [['a', True], ['a', False], ['b', False], ['b', True]], 'already_run': ['a', 'b'], 'errors': ['one', 'two'], 'reentrant': ['a', 'b', 'y', 'x'], 'owner': 'other', 'pending': [['c', None]]})], 3: [({'stack': [['a', True], ['a', False], ['b', False], ['b', True]], 'closed': False, 'added': 'new', 'transfer': 'a', 'errors': ['one', 'two'], 'disposing': True, 'completed': True, 'owner': 'scope', 'new_owner': None, 'pending': 6, 'wave_remaining': ['a'], 'added_during': ['x', 'y'], 'captures': [['a', 'old'], ['b', 'other']], 'relinquished_owner': 'old'}, {'order': ['b'], 'immediate': [], 'store_added': ['new'], 'transferred': ['a', 'a'], 'retained': [['b', False], ['b', True]], 'already_run': ['a', 'b'], 'errors': ['one', 'two'], 'reentrant': ['a', 'y', 'x'], 'owner': None, 'pending': [['a', None], ['b', 'other']]}), ({'stack': [['a', False], ['b', True], ['a', False], ['c', False]], 'closed': True, 'added': 'new', 'transfer': None, 'errors': [], 'disposing': True, 'completed': True, 'owner': None, 'new_owner': 'other', 'pending': 6, 'wave_remaining': [], 'added_during': [], 'captures': [], 'relinquished_owner': 'old'}, {'order': ['c', 'a'], 'immediate': ['new'], 'store_added': [], 'transferred': [], 'retained': [['a', False], ['b', True], ['a', False], ['c', False]], 'already_run': ['b'], 'errors': [], 'reentrant': [], 'owner': None, 'pending': []}), ({'stack': [], 'closed': False, 'added': None, 'transfer': None, 'errors': ['one'], 'disposing': False, 'completed': False, 'owner': None, 'new_owner': 'other', 'pending': 6, 'wave_remaining': ['a'], 'added_during': [], 'captures': [], 'relinquished_owner': 'missing'}, {'order': [], 'immediate': [], 'store_added': [], 'transferred': [], 'retained': [], 'already_run': [], 'errors': ['one'], 'reentrant': ['a'], 'owner': None, 'pending': []}), ({'stack': [['a', False]], 'closed': False, 'added': 'new', 'transfer': 'missing', 'errors': ['one'], 'disposing': True, 'completed': False, 'owner': 'scope', 'new_owner': 'other', 'pending': 6, 'wave_remaining': [], 'added_during': ['x', 'y'], 'captures': [['a', 'old'], ['b', 'other']], 'relinquished_owner': 'missing'}, {'order': ['a'], 'immediate': [], 'store_added': ['new'], 'transferred': [], 'retained': [['a', False]], 'already_run': [], 'errors': ['one'], 'reentrant': ['y', 'x'], 'owner': 'other', 'pending': [['a', 'old'], ['b', 'other']]}), ({'stack': [['a', False]], 'closed': True, 'added': 'new', 'transfer': 'a', 'errors': ['one'], 'disposing': True, 'completed': False, 'owner': None, 'new_owner': 'other', 'pending': 0, 'wave_remaining': [], 'added_during': ['x', 'y'], 'captures': [], 'relinquished_owner': 'old'}, {'order': [], 'immediate': ['new'], 'store_added': [], 'transferred': ['a'], 'retained': [], 'already_run': [], 'errors': ['one'], 'reentrant': ['y', 'x'], 'owner': 'other', 'pending': []}), ({'stack': [], 'closed': True, 'added': 'new', 'transfer': None, 'errors': ['one', 'two'], 'disposing': True, 'completed': False, 'owner': None, 'new_owner': 'other', 'pending': 0, 'wave_remaining': ['a', 'b'], 'added_during': ['x', 'y'], 'captures': [], 'relinquished_owner': 'missing'}, {'order': [], 'immediate': ['new'], 'store_added': [], 'transferred': [], 'retained': [], 'already_run': [], 'errors': ['one', 'two'], 'reentrant': ['a', 'b', 'y', 'x'], 'owner': None, 'pending': []}), ({'stack': [], 'closed': False, 'added': None, 'transfer': None, 'errors': [], 'disposing': False, 'completed': False, 'owner': None, 'new_owner': None, 'pending': 0, 'wave_remaining': [], 'added_during': [], 'captures': [], 'relinquished_owner': 'old'}, {'order': [], 'immediate': [], 'store_added': [], 'transferred': [], 'retained': [], 'already_run': [], 'errors': [], 'reentrant': [], 'owner': None, 'pending': []}), ({'stack': [['a', True], ['a', False], ['b', False], ['b', True]], 'closed': True, 'added': 'new', 'transfer': 'missing', 'errors': ['one', 'two'], 'disposing': True, 'completed': True, 'owner': 'scope', 'new_owner': 'other', 'pending': 6, 'wave_remaining': ['a', 'b'], 'added_during': ['x', 'y'], 'captures': [['c', None]], 'relinquished_owner': 'missing'}, {'order': ['b', 'a'], 'immediate': ['new'], 'store_added': [], 'transferred': [], 'retained': [['a', True], ['a', False], ['b', False], ['b', True]], 'already_run': ['a', 'b'], 'errors': ['one', 'two'], 'reentrant': ['a', 'b', 'y', 'x'], 'owner': 'other', 'pending': [['c', None]]})], 4: [({'stack': [['a', True], ['a', False], ['b', False], ['b', True]], 'closed': True, 'added': 'new', 'transfer': 'a', 'errors': ['one', 'two'], 'disposing': True, 'completed': False, 'owner': 'scope', 'new_owner': None, 'pending': 0, 'wave_remaining': ['a'], 'added_during': ['x', 'y'], 'captures': [['a', 'old'], ['b', 'other']], 'relinquished_owner': 'old'}, {'order': ['b'], 'immediate': ['new'], 'store_added': [], 'transferred': ['a', 'a'], 'retained': [['b', False], ['b', True]], 'already_run': ['a', 'b'], 'errors': ['one', 'two'], 'reentrant': ['a', 'y', 'x'], 'owner': None, 'pending': [['a', None], ['b', 'other']]}), ({'stack': [['a', False], ['b', True], ['a', False], ['c', False]], 'closed': False, 'added': 'new', 'transfer': None, 'errors': ['one'], 'disposing': False, 'completed': False, 'owner': 'scope', 'new_owner': 'other', 'pending': 8, 'wave_remaining': ['a'], 'added_during': [], 'captures': [], 'relinquished_owner': 'old'}, {'order': ['c', 'a'], 'immediate': [], 'store_added': ['new'], 'transferred': [], 'retained': [['a', False], ['b', True], ['a', False], ['c', False]], 'already_run': ['b'], 'errors': ['one'], 'reentrant': ['a'], 'owner': 'scope', 'pending': []}), ({'stack': [['a', False]], 'closed': False, 'added': None, 'transfer': None, 'errors': [], 'disposing': True, 'completed': True, 'owner': None, 'new_owner': 'other', 'pending': 0, 'wave_remaining': ['a', 'b'], 'added_during': [], 'captures': [['a', 'old'], ['b', 'other']], 'relinquished_owner': 'missing'}, {'order': ['a'], 'immediate': [], 'store_added': [], 'transferred': [], 'retained': [['a', False]], 'already_run': [], 'errors': [], 'reentrant': ['a', 'b'], 'owner': None, 'pending': [['a', 'old'], ['b', 'other']]}), ({'stack': [['a', True], ['a', False], ['b', False], ['b', True]], 'closed': False, 'added': None, 'transfer': None, 'errors': [], 'disposing': True, 'completed': False, 'owner': None, 'new_owner': 'other', 'pending': 8, 'wave_remaining': [], 'added_during': ['x'], 'captures': [['c', None]], 'relinquished_owner': 'old'}, {'order': ['b', 'a'], 'immediate': [], 'store_added': [], 'transferred': [], 'retained': [['a', True], ['a', False], ['b', False], ['b', True]], 'already_run': ['a', 'b'], 'errors': [], 'reentrant': ['x'], 'owner': None, 'pending': [['c', None]]}), ({'stack': [['a', True], ['a', False], ['b', False], ['b', True]], 'closed': False, 'added': 'new', 'transfer': None, 'errors': [], 'disposing': False, 'completed': True, 'owner': 'scope', 'new_owner': None, 'pending': 0, 'wave_remaining': ['a', 'b'], 'added_during': [], 'captures': [], 'relinquished_owner': 'old'}, {'order': ['b', 'a'], 'immediate': [], 'store_added': ['new'], 'transferred': [], 'retained': [['a', True], ['a', False], ['b', False], ['b', True]], 'already_run': ['a', 'b'], 'errors': [], 'reentrant': ['a', 'b'], 'owner': 'scope', 'pending': []}), ({'stack': [['a', True], ['a', False], ['b', False], ['b', True]], 'closed': False, 'added': 'new', 'transfer': 'missing', 'errors': ['one', 'two'], 'disposing': True, 'completed': False, 'owner': None, 'new_owner': None, 'pending': 0, 'wave_remaining': ['a'], 'added_during': [], 'captures': [['a', 'old'], ['b', 'other']], 'relinquished_owner': 'old'}, {'order': ['b', 'a'], 'immediate': [], 'store_added': ['new'], 'transferred': [], 'retained': [['a', True], ['a', False], ['b', False], ['b', True]], 'already_run': ['a', 'b'], 'errors': ['one', 'two'], 'reentrant': ['a'], 'owner': None, 'pending': [['a', None], ['b', 'other']]}), ({'stack': [], 'closed': False, 'added': None, 'transfer': None, 'errors': [], 'disposing': False, 'completed': False, 'owner': None, 'new_owner': None, 'pending': 0, 'wave_remaining': [], 'added_during': [], 'captures': [], 'relinquished_owner': 'old'}, {'order': [], 'immediate': [], 'store_added': [], 'transferred': [], 'retained': [], 'already_run': [], 'errors': [], 'reentrant': [], 'owner': None, 'pending': []}), ({'stack': [['a', True], ['a', False], ['b', False], ['b', True]], 'closed': True, 'added': 'new', 'transfer': 'missing', 'errors': ['one', 'two'], 'disposing': True, 'completed': True, 'owner': 'scope', 'new_owner': 'other', 'pending': 8, 'wave_remaining': ['a', 'b'], 'added_during': ['x', 'y'], 'captures': [['c', None]], 'relinquished_owner': 'missing'}, {'order': ['b', 'a'], 'immediate': ['new'], 'store_added': [], 'transferred': [], 'retained': [['a', True], ['a', False], ['b', False], ['b', True]], 'already_run': ['a', 'b'], 'errors': ['one', 'two'], 'reentrant': ['a', 'b', 'y', 'x'], 'owner': 'other', 'pending': [['c', None]]})], 5: [({'stack': [['a', True], ['a', False], ['b', False], ['b', True]], 'closed': False, 'added': 'new', 'transfer': 'a', 'errors': ['one', 'two'], 'disposing': False, 'completed': True, 'owner': None, 'new_owner': 'other', 'pending': 0, 'wave_remaining': ['a'], 'added_during': ['x', 'y'], 'captures': [['a', 'old'], ['b', 'other']], 'relinquished_owner': 'old'}, {'order': ['b'], 'immediate': [], 'store_added': ['new'], 'transferred': ['a', 'a'], 'retained': [['b', False], ['b', True]], 'already_run': ['a', 'b'], 'errors': ['one', 'two'], 'reentrant': ['a', 'y', 'x'], 'owner': 'other', 'pending': [['a', None], ['b', 'other']]}), ({'stack': [['a', False], ['b', True], ['a', False], ['c', False]], 'closed': True, 'added': 'new', 'transfer': None, 'errors': [], 'disposing': False, 'completed': False, 'owner': 'scope', 'new_owner': None, 'pending': 0, 'wave_remaining': ['a'], 'added_during': ['x', 'y'], 'captures': [['a', 'old'], ['b', 'other']], 'relinquished_owner': 'old'}, {'order': ['c', 'a'], 'immediate': ['new'], 'store_added': [], 'transferred': [], 'retained': [['a', False], ['b', True], ['a', False], ['c', False]], 'already_run': ['b'], 'errors': [], 'reentrant': ['a', 'y', 'x'], 'owner': 'scope', 'pending': [['a', None], ['b', 'other']]}), ({'stack': [], 'closed': True, 'added': None, 'transfer': 'missing', 'errors': ['one', 'two'], 'disposing': True, 'completed': True, 'owner': 'scope', 'new_owner': None, 'pending': 10, 'wave_remaining': ['a', 'b'], 'added_during': [], 'captures': [['a', 'old'], ['b', 'other']], 'relinquished_owner': 'old'}, {'order': [], 'immediate': [], 'store_added': [], 'transferred': [], 'retained': [], 'already_run': [], 'errors': ['one', 'two'], 'reentrant': ['a', 'b'], 'owner': None, 'pending': [['a', None], ['b', 'other']]}), ({'stack': [['a', True], ['a', False], ['b', False], ['b', True]], 'closed': False, 'added': 'new', 'transfer': 'missing', 'errors': ['one'], 'disposing': True, 'completed': False, 'owner': None, 'new_owner': 'other', 'pending': 0, 'wave_remaining': ['a', 'b'], 'added_during': ['x', 'y'], 'captures': [], 'relinquished_owner': 'old'}, {'order': ['b', 'a'], 'immediate': [], 'store_added': ['new'], 'transferred': [], 'retained': [['a', True], ['a', False], ['b', False], ['b', True]], 'already_run': ['a', 'b'], 'errors': ['one'], 'reentrant': ['a', 'b', 'y', 'x'], 'owner': 'other', 'pending': []}), ({'stack': [], 'closed': True, 'added': 'new', 'transfer': 'a', 'errors': ['one', 'two'], 'disposing': True, 'completed': True, 'owner': None, 'new_owner': 'other', 'pending': 0, 'wave_remaining': ['a', 'b'], 'added_during': ['x'], 'captures': [['a', 'old'], ['b', 'other']], 'relinquished_owner': 'missing'}, {'order': [], 'immediate': ['new'], 'store_added': [], 'transferred': [], 'retained': [], 'already_run': [], 'errors': ['one', 'two'], 'reentrant': ['a', 'b', 'x'], 'owner': 'other', 'pending': [['a', 'old'], ['b', 'other']]}), ({'stack': [['a', False]], 'closed': True, 'added': None, 'transfer': 'missing', 'errors': ['one', 'two'], 'disposing': True, 'completed': True, 'owner': None, 'new_owner': 'other', 'pending': 0, 'wave_remaining': ['a', 'b'], 'added_during': ['x', 'y'], 'captures': [], 'relinquished_owner': 'missing'}, {'order': ['a'], 'immediate': [], 'store_added': [], 'transferred': [], 'retained': [['a', False]], 'already_run': [], 'errors': ['one', 'two'], 'reentrant': ['a', 'b', 'y', 'x'], 'owner': 'other', 'pending': []}), ({'stack': [], 'closed': False, 'added': None, 'transfer': None, 'errors': [], 'disposing': False, 'completed': False, 'owner': None, 'new_owner': None, 'pending': 0, 'wave_remaining': [], 'added_during': [], 'captures': [], 'relinquished_owner': 'old'}, {'order': [], 'immediate': [], 'store_added': [], 'transferred': [], 'retained': [], 'already_run': [], 'errors': [], 'reentrant': [], 'owner': None, 'pending': []}), ({'stack': [['a', True], ['a', False], ['b', False], ['b', True]], 'closed': True, 'added': 'new', 'transfer': 'missing', 'errors': ['one', 'two'], 'disposing': True, 'completed': True, 'owner': 'scope', 'new_owner': 'other', 'pending': 10, 'wave_remaining': ['a', 'b'], 'added_during': ['x', 'y'], 'captures': [['c', None]], 'relinquished_owner': 'missing'}, {'order': ['b', 'a'], 'immediate': ['new'], 'store_added': [], 'transferred': [], 'retained': [['a', True], ['a', False], ['b', False], ['b', True]], 'already_run': ['a', 'b'], 'errors': ['one', 'two'], 'reentrant': ['a', 'b', 'y', 'x'], 'owner': 'other', 'pending': [['c', None]]})]}
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 fixtureActualExpectedOutcome
transition 0{'already_run': ['a', 'b'], 'errors': ['one', 'two'], 'immediate': ['new'], 'order': ['b'], 'owner': 'other', 'pending': [['a', None], ['b', 'other']], 'reentrant': ['a', 'b', 'y', 'x'], 'retained': [], 'store_added': [], 'transferred': ['a', 'a']}{'already_run': ['a', 'b'], 'errors': ['one', 'two'], 'immediate': ['new'], 'order': ['b'], 'owner': 'other', 'pending': [['a', None], ['b', 'other']], 'reentrant': ['a', 'b', 'y', 'x'], 'retained': [['b', False], ['b', True]], 'store_added': [], 'transferred': ['a', 'a']}Failed
transition 1{'already_run': ['b'], 'errors': ['one', 'two'], 'immediate': [], 'order': ['c', 'a'], 'owner': 'scope', 'pending': [], 'reentrant': ['a', 'y', 'x'], 'retained': [['a', False], ['b', True], ['a', False], ['c', False]], 'store_added': ['new'], 'transferred': []}{'already_run': ['b'], 'errors': ['one', 'two'], 'immediate': [], 'order': ['c', 'a'], 'owner': 'scope', 'pending': [], 'reentrant': ['a', 'y', 'x'], 'retained': [['a', False], ['b', True], ['a', False], ['c', False]], 'store_added': ['new'], 'transferred': []}Passed
transition 2{'already_run': ['a', 'b'], 'errors': ['one'], 'immediate': [], 'order': ['b', 'a'], 'owner': None, 'pending': [['a', 'old'], ['b', 'other']], 'reentrant': ['a', 'y', 'x'], 'retained': [['a', True], ['a', False], ['b', False], ['b', True]], 'store_added': ['new'], 'transferred': []}{'already_run': ['a', 'b'], 'errors': ['one'], 'immediate': [], 'order': ['b', 'a'], 'owner': None, 'pending': [['a', 'old'], ['b', 'other']], 'reentrant': ['a', 'y', 'x'], 'retained': [['a', True], ['a', False], ['b', False], ['b', True]], 'store_added': ['new'], 'transferred': []}Passed
transition 3{'already_run': [], 'errors': [], 'immediate': [], 'order': [], 'owner': None, 'pending': [['a', None], ['b', 'other']], 'reentrant': [], 'retained': [], 'store_added': ['new'], 'transferred': []}{'already_run': [], 'errors': [], 'immediate': [], 'order': [], 'owner': None, 'pending': [['a', None], ['b', 'other']], 'reentrant': [], 'retained': [], 'store_added': ['new'], 'transferred': []}Passed
transition 4{'already_run': [], 'errors': [], 'immediate': [], 'order': ['a'], 'owner': None, 'pending': [['a', None], ['b', 'other']], 'reentrant': ['a', 'b', 'x'], 'retained': [], 'store_added': [], 'transferred': []}{'already_run': [], 'errors': [], 'immediate': [], 'order': ['a'], 'owner': None, 'pending': [['a', None], ['b', 'other']], 'reentrant': ['a', 'b', 'x'], 'retained': [['a', False]], 'store_added': [], 'transferred': []}Failed
transition 5{'already_run': [], 'errors': ['one'], 'immediate': [], 'order': ['a'], 'owner': 'scope', 'pending': [['c', None]], 'reentrant': ['a', 'b', 'x'], 'retained': [['a', False]], 'store_added': [], 'transferred': []}{'already_run': [], 'errors': ['one'], 'immediate': [], 'order': ['a'], 'owner': 'scope', 'pending': [['c', None]], 'reentrant': ['a', 'b', 'x'], 'retained': [['a', False]], 'store_added': [], 'transferred': []}Passed
transition 6{'already_run': [], 'errors': [], 'immediate': [], 'order': [], 'owner': None, 'pending': [], 'reentrant': [], 'retained': [], 'store_added': [], 'transferred': []}{'already_run': [], 'errors': [], 'immediate': [], 'order': [], 'owner': None, 'pending': [], 'reentrant': [], 'retained': [], 'store_added': [], 'transferred': []}Passed
transition 7{'already_run': ['a', 'b'], 'errors': ['one', 'two'], 'immediate': ['new'], 'order': ['b', 'a'], 'owner': 'other', 'pending': [['c', None]], 'reentrant': ['a', 'b', 'y', 'x'], 'retained': [], 'store_added': [], 'transferred': []}{'already_run': ['a', 'b'], 'errors': ['one', 'two'], 'immediate': ['new'], 'order': ['b', 'a'], 'owner': 'other', 'pending': [['c', None]], 'reentrant': ['a', 'b', 'y', 'x'], 'retained': [['a', True], ['a', False], ['b', False], ['b', True]], 'store_added': [], 'transferred': []}Failed

SHA-256 / 5d9b26d043d528542e7a8eb8f171891bde40f015c108cc585e329e220aa59b0c

2 / The unsuccessful fix

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

N = 1
observations = []
def solve(s):
    return {
        'order': list(dict.fromkeys(r[0] for r in reversed(s['stack']) if not r[1] and r[0]!=s['transfer'])),
        'immediate': [s['added']] if s['closed'] and s['added'] is not None else [],
        'store_added': [s['added']] if not s['closed'] and s['added'] is not None else [],
        'transferred': [r[0] for r in s['stack'] if r[0]==s['transfer']],
        'retained': list(s['stack']),
        'already_run': [k for k in dict.fromkeys(r[0] for r in s['stack']) if any(r[0]==k and r[1] for r in s['stack'])],
        'errors': list(s['errors']),
        'reentrant': list(s['wave_remaining'])+list(reversed(s['added_during'])),
        'owner': s['new_owner'] if s['transfer'] is not None else s['owner'],
        'pending': [[r[0],None if r[1]==s['relinquished_owner'] else r[1]] for r in s['captures']],
    }
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = {1: [({'stack': [['a', True], ['a', False], ['b', False], ['b', True]], 'closed': True, 'added': 'new', 'transfer': 'a', 'errors': ['one', 'two'], 'disposing': False, 'completed': True, 'owner': None, 'new_owner': 'other', 'pending': 2, 'wave_remaining': ['a', 'b'], 'added_during': ['x', 'y'], 'captures': [['a', 'old'], ['b', 'other']], 'relinquished_owner': 'old'}, {'order': ['b'], 'immediate': ['new'], 'store_added': [], 'transferred': ['a', 'a'], 'retained': [['b', False], ['b', True]], 'already_run': ['a', 'b'], 'errors': ['one', 'two'], 'reentrant': ['a', 'b', 'y', 'x'], 'owner': 'other', 'pending': [['a', None], ['b', 'other']]}), ({'stack': [['a', False], ['b', True], ['a', False], ['c', False]], 'closed': False, 'added': 'new', 'transfer': None, 'errors': ['one', 'two'], 'disposing': True, 'completed': False, 'owner': 'scope', 'new_owner': 'other', 'pending': 2, 'wave_remaining': ['a'], 'added_during': ['x', 'y'], 'captures': [], 'relinquished_owner': 'old'}, {'order': ['c', 'a'], 'immediate': [], 'store_added': ['new'], 'transferred': [], 'retained': [['a', False], ['b', True], ['a', False], ['c', False]], 'already_run': ['b'], 'errors': ['one', 'two'], 'reentrant': ['a', 'y', 'x'], 'owner': 'scope', 'pending': []}), ({'stack': [['a', True], ['a', False], ['b', False], ['b', True]], 'closed': False, 'added': 'new', 'transfer': None, 'errors': ['one'], 'disposing': False, 'completed': True, 'owner': None, 'new_owner': None, 'pending': 2, 'wave_remaining': ['a'], 'added_during': ['x', 'y'], 'captures': [['a', 'old'], ['b', 'other']], 'relinquished_owner': 'missing'}, {'order': ['b', 'a'], 'immediate': [], 'store_added': ['new'], 'transferred': [], 'retained': [['a', True], ['a', False], ['b', False], ['b', True]], 'already_run': ['a', 'b'], 'errors': ['one'], 'reentrant': ['a', 'y', 'x'], 'owner': None, 'pending': [['a', 'old'], ['b', 'other']]}), ({'stack': [], 'closed': False, 'added': 'new', 'transfer': 'a', 'errors': [], 'disposing': True, 'completed': True, 'owner': 'scope', 'new_owner': None, 'pending': 2, 'wave_remaining': [], 'added_during': [], 'captures': [['a', 'old'], ['b', 'other']], 'relinquished_owner': 'old'}, {'order': [], 'immediate': [], 'store_added': ['new'], 'transferred': [], 'retained': [], 'already_run': [], 'errors': [], 'reentrant': [], 'owner': None, 'pending': [['a', None], ['b', 'other']]}), ({'stack': [['a', False]], 'closed': False, 'added': None, 'transfer': 'missing', 'errors': [], 'disposing': False, 'completed': False, 'owner': None, 'new_owner': None, 'pending': 0, 'wave_remaining': ['a', 'b'], 'added_during': ['x'], 'captures': [['a', 'old'], ['b', 'other']], 'relinquished_owner': 'old'}, {'order': ['a'], 'immediate': [], 'store_added': [], 'transferred': [], 'retained': [['a', False]], 'already_run': [], 'errors': [], 'reentrant': ['a', 'b', 'x'], 'owner': None, 'pending': [['a', None], ['b', 'other']]}), ({'stack': [['a', False]], 'closed': True, 'added': None, 'transfer': None, 'errors': ['one'], 'disposing': False, 'completed': True, 'owner': 'scope', 'new_owner': 'other', 'pending': 2, 'wave_remaining': ['a', 'b'], 'added_during': ['x'], 'captures': [['c', None]], 'relinquished_owner': 'old'}, {'order': ['a'], 'immediate': [], 'store_added': [], 'transferred': [], 'retained': [['a', False]], 'already_run': [], 'errors': ['one'], 'reentrant': ['a', 'b', 'x'], 'owner': 'scope', 'pending': [['c', None]]}), ({'stack': [], 'closed': False, 'added': None, 'transfer': None, 'errors': [], 'disposing': False, 'completed': False, 'owner': None, 'new_owner': None, 'pending': 0, 'wave_remaining': [], 'added_during': [], 'captures': [], 'relinquished_owner': 'old'}, {'order': [], 'immediate': [], 'store_added': [], 'transferred': [], 'retained': [], 'already_run': [], 'errors': [], 'reentrant': [], 'owner': None, 'pending': []}), ({'stack': [['a', True], ['a', False], ['b', False], ['b', True]], 'closed': True, 'added': 'new', 'transfer': 'missing', 'errors': ['one', 'two'], 'disposing': True, 'completed': True, 'owner': 'scope', 'new_owner': 'other', 'pending': 2, 'wave_remaining': ['a', 'b'], 'added_during': ['x', 'y'], 'captures': [['c', None]], 'relinquished_owner': 'missing'}, {'order': ['b', 'a'], 'immediate': ['new'], 'store_added': [], 'transferred': [], 'retained': [['a', True], ['a', False], ['b', False], ['b', True]], 'already_run': ['a', 'b'], 'errors': ['one', 'two'], 'reentrant': ['a', 'b', 'y', 'x'], 'owner': 'other', 'pending': [['c', None]]})], 2: [({'stack': [['a', True], ['a', False], ['b', False], ['b', True]], 'closed': True, 'added': 'new', 'transfer': 'a', 'errors': ['one', 'two'], 'disposing': False, 'completed': True, 'owner': None, 'new_owner': 'other', 'pending': 0, 'wave_remaining': ['a', 'b'], 'added_during': ['x', 'y'], 'captures': [['a', 'old'], ['b', 'other']], 'relinquished_owner': 'old'}, {'order': ['b'], 'immediate': ['new'], 'store_added': [], 'transferred': ['a', 'a'], 'retained': [['b', False], ['b', True]], 'already_run': ['a', 'b'], 'errors': ['one', 'two'], 'reentrant': ['a', 'b', 'y', 'x'], 'owner': 'other', 'pending': [['a', None], ['b', 'other']]}), ({'stack': [['a', False], ['b', True], ['a', False], ['c', False]], 'closed': False, 'added': 'new', 'transfer': None, 'errors': ['one', 'two'], 'disposing': False, 'completed': False, 'owner': 'scope', 'new_owner': None, 'pending': 4, 'wave_remaining': [], 'added_during': ['x'], 'captures': [], 'relinquished_owner': 'missing'}, {'order': ['c', 'a'], 'immediate': [], 'store_added': ['new'], 'transferred': [], 'retained': [['a', False], ['b', True], ['a', False], ['c', False]], 'already_run': ['b'], 'errors': ['one', 'two'], 'reentrant': ['x'], 'owner': 'scope', 'pending': []}), ({'stack': [], 'closed': True, 'added': 'new', 'transfer': 'missing', 'errors': [], 'disposing': True, 'completed': True, 'owner': None, 'new_owner': 'other', 'pending': 4, 'wave_remaining': ['a', 'b'], 'added_during': ['x'], 'captures': [], 'relinquished_owner': 'missing'}, {'order': [], 'immediate': ['new'], 'store_added': [], 'transferred': [], 'retained': [], 'already_run': [], 'errors': [], 'reentrant': ['a', 'b', 'x'], 'owner': 'other', 'pending': []}), ({'stack': [['a', True], ['a', False], ['b', False], ['b', True]], 'closed': False, 'added': None, 'transfer': 'a', 'errors': ['one', 'two'], 'disposing': False, 'completed': True, 'owner': None, 'new_owner': 'other', 'pending': 4, 'wave_remaining': [], 'added_during': ['x', 'y'], 'captures': [['c', None]], 'relinquished_owner': 'old'}, {'order': ['b'], 'immediate': [], 'store_added': [], 'transferred': ['a', 'a'], 'retained': [['b', False], ['b', True]], 'already_run': ['a', 'b'], 'errors': ['one', 'two'], 'reentrant': ['y', 'x'], 'owner': 'other', 'pending': [['c', None]]}), ({'stack': [['a', False]], 'closed': False, 'added': 'new', 'transfer': None, 'errors': ['one'], 'disposing': False, 'completed': False, 'owner': None, 'new_owner': 'other', 'pending': 0, 'wave_remaining': [], 'added_during': ['x'], 'captures': [['c', None]], 'relinquished_owner': 'old'}, {'order': ['a'], 'immediate': [], 'store_added': ['new'], 'transferred': [], 'retained': [['a', False]], 'already_run': [], 'errors': ['one'], 'reentrant': ['x'], 'owner': None, 'pending': [['c', None]]}), ({'stack': [], 'closed': False, 'added': 'new', 'transfer': 'missing', 'errors': ['one', 'two'], 'disposing': True, 'completed': False, 'owner': None, 'new_owner': 'other', 'pending': 0, 'wave_remaining': [], 'added_during': [], 'captures': [['a', 'old'], ['b', 'other']], 'relinquished_owner': 'missing'}, {'order': [], 'immediate': [], 'store_added': ['new'], 'transferred': [], 'retained': [], 'already_run': [], 'errors': ['one', 'two'], 'reentrant': [], 'owner': 'other', 'pending': [['a', 'old'], ['b', 'other']]}), ({'stack': [], 'closed': False, 'added': None, 'transfer': None, 'errors': [], 'disposing': False, 'completed': False, 'owner': None, 'new_owner': None, 'pending': 0, 'wave_remaining': [], 'added_during': [], 'captures': [], 'relinquished_owner': 'old'}, {'order': [], 'immediate': [], 'store_added': [], 'transferred': [], 'retained': [], 'already_run': [], 'errors': [], 'reentrant': [], 'owner': None, 'pending': []}), ({'stack': [['a', True], ['a', False], ['b', False], ['b', True]], 'closed': True, 'added': 'new', 'transfer': 'missing', 'errors': ['one', 'two'], 'disposing': True, 'completed': True, 'owner': 'scope', 'new_owner': 'other', 'pending': 4, 'wave_remaining': ['a', 'b'], 'added_during': ['x', 'y'], 'captures': [['c', None]], 'relinquished_owner': 'missing'}, {'order': ['b', 'a'], 'immediate': ['new'], 'store_added': [], 'transferred': [], 'retained': [['a', True], ['a', False], ['b', False], ['b', True]], 'already_run': ['a', 'b'], 'errors': ['one', 'two'], 'reentrant': ['a', 'b', 'y', 'x'], 'owner': 'other', 'pending': [['c', None]]})], 3: [({'stack': [['a', True], ['a', False], ['b', False], ['b', True]], 'closed': False, 'added': 'new', 'transfer': 'a', 'errors': ['one', 'two'], 'disposing': True, 'completed': True, 'owner': 'scope', 'new_owner': None, 'pending': 6, 'wave_remaining': ['a'], 'added_during': ['x', 'y'], 'captures': [['a', 'old'], ['b', 'other']], 'relinquished_owner': 'old'}, {'order': ['b'], 'immediate': [], 'store_added': ['new'], 'transferred': ['a', 'a'], 'retained': [['b', False], ['b', True]], 'already_run': ['a', 'b'], 'errors': ['one', 'two'], 'reentrant': ['a', 'y', 'x'], 'owner': None, 'pending': [['a', None], ['b', 'other']]}), ({'stack': [['a', False], ['b', True], ['a', False], ['c', False]], 'closed': True, 'added': 'new', 'transfer': None, 'errors': [], 'disposing': True, 'completed': True, 'owner': None, 'new_owner': 'other', 'pending': 6, 'wave_remaining': [], 'added_during': [], 'captures': [], 'relinquished_owner': 'old'}, {'order': ['c', 'a'], 'immediate': ['new'], 'store_added': [], 'transferred': [], 'retained': [['a', False], ['b', True], ['a', False], ['c', False]], 'already_run': ['b'], 'errors': [], 'reentrant': [], 'owner': None, 'pending': []}), ({'stack': [], 'closed': False, 'added': None, 'transfer': None, 'errors': ['one'], 'disposing': False, 'completed': False, 'owner': None, 'new_owner': 'other', 'pending': 6, 'wave_remaining': ['a'], 'added_during': [], 'captures': [], 'relinquished_owner': 'missing'}, {'order': [], 'immediate': [], 'store_added': [], 'transferred': [], 'retained': [], 'already_run': [], 'errors': ['one'], 'reentrant': ['a'], 'owner': None, 'pending': []}), ({'stack': [['a', False]], 'closed': False, 'added': 'new', 'transfer': 'missing', 'errors': ['one'], 'disposing': True, 'completed': False, 'owner': 'scope', 'new_owner': 'other', 'pending': 6, 'wave_remaining': [], 'added_during': ['x', 'y'], 'captures': [['a', 'old'], ['b', 'other']], 'relinquished_owner': 'missing'}, {'order': ['a'], 'immediate': [], 'store_added': ['new'], 'transferred': [], 'retained': [['a', False]], 'already_run': [], 'errors': ['one'], 'reentrant': ['y', 'x'], 'owner': 'other', 'pending': [['a', 'old'], ['b', 'other']]}), ({'stack': [['a', False]], 'closed': True, 'added': 'new', 'transfer': 'a', 'errors': ['one'], 'disposing': True, 'completed': False, 'owner': None, 'new_owner': 'other', 'pending': 0, 'wave_remaining': [], 'added_during': ['x', 'y'], 'captures': [], 'relinquished_owner': 'old'}, {'order': [], 'immediate': ['new'], 'store_added': [], 'transferred': ['a'], 'retained': [], 'already_run': [], 'errors': ['one'], 'reentrant': ['y', 'x'], 'owner': 'other', 'pending': []}), ({'stack': [], 'closed': True, 'added': 'new', 'transfer': None, 'errors': ['one', 'two'], 'disposing': True, 'completed': False, 'owner': None, 'new_owner': 'other', 'pending': 0, 'wave_remaining': ['a', 'b'], 'added_during': ['x', 'y'], 'captures': [], 'relinquished_owner': 'missing'}, {'order': [], 'immediate': ['new'], 'store_added': [], 'transferred': [], 'retained': [], 'already_run': [], 'errors': ['one', 'two'], 'reentrant': ['a', 'b', 'y', 'x'], 'owner': None, 'pending': []}), ({'stack': [], 'closed': False, 'added': None, 'transfer': None, 'errors': [], 'disposing': False, 'completed': False, 'owner': None, 'new_owner': None, 'pending': 0, 'wave_remaining': [], 'added_during': [], 'captures': [], 'relinquished_owner': 'old'}, {'order': [], 'immediate': [], 'store_added': [], 'transferred': [], 'retained': [], 'already_run': [], 'errors': [], 'reentrant': [], 'owner': None, 'pending': []}), ({'stack': [['a', True], ['a', False], ['b', False], ['b', True]], 'closed': True, 'added': 'new', 'transfer': 'missing', 'errors': ['one', 'two'], 'disposing': True, 'completed': True, 'owner': 'scope', 'new_owner': 'other', 'pending': 6, 'wave_remaining': ['a', 'b'], 'added_during': ['x', 'y'], 'captures': [['c', None]], 'relinquished_owner': 'missing'}, {'order': ['b', 'a'], 'immediate': ['new'], 'store_added': [], 'transferred': [], 'retained': [['a', True], ['a', False], ['b', False], ['b', True]], 'already_run': ['a', 'b'], 'errors': ['one', 'two'], 'reentrant': ['a', 'b', 'y', 'x'], 'owner': 'other', 'pending': [['c', None]]})], 4: [({'stack': [['a', True], ['a', False], ['b', False], ['b', True]], 'closed': True, 'added': 'new', 'transfer': 'a', 'errors': ['one', 'two'], 'disposing': True, 'completed': False, 'owner': 'scope', 'new_owner': None, 'pending': 0, 'wave_remaining': ['a'], 'added_during': ['x', 'y'], 'captures': [['a', 'old'], ['b', 'other']], 'relinquished_owner': 'old'}, {'order': ['b'], 'immediate': ['new'], 'store_added': [], 'transferred': ['a', 'a'], 'retained': [['b', False], ['b', True]], 'already_run': ['a', 'b'], 'errors': ['one', 'two'], 'reentrant': ['a', 'y', 'x'], 'owner': None, 'pending': [['a', None], ['b', 'other']]}), ({'stack': [['a', False], ['b', True], ['a', False], ['c', False]], 'closed': False, 'added': 'new', 'transfer': None, 'errors': ['one'], 'disposing': False, 'completed': False, 'owner': 'scope', 'new_owner': 'other', 'pending': 8, 'wave_remaining': ['a'], 'added_during': [], 'captures': [], 'relinquished_owner': 'old'}, {'order': ['c', 'a'], 'immediate': [], 'store_added': ['new'], 'transferred': [], 'retained': [['a', False], ['b', True], ['a', False], ['c', False]], 'already_run': ['b'], 'errors': ['one'], 'reentrant': ['a'], 'owner': 'scope', 'pending': []}), ({'stack': [['a', False]], 'closed': False, 'added': None, 'transfer': None, 'errors': [], 'disposing': True, 'completed': True, 'owner': None, 'new_owner': 'other', 'pending': 0, 'wave_remaining': ['a', 'b'], 'added_during': [], 'captures': [['a', 'old'], ['b', 'other']], 'relinquished_owner': 'missing'}, {'order': ['a'], 'immediate': [], 'store_added': [], 'transferred': [], 'retained': [['a', False]], 'already_run': [], 'errors': [], 'reentrant': ['a', 'b'], 'owner': None, 'pending': [['a', 'old'], ['b', 'other']]}), ({'stack': [['a', True], ['a', False], ['b', False], ['b', True]], 'closed': False, 'added': None, 'transfer': None, 'errors': [], 'disposing': True, 'completed': False, 'owner': None, 'new_owner': 'other', 'pending': 8, 'wave_remaining': [], 'added_during': ['x'], 'captures': [['c', None]], 'relinquished_owner': 'old'}, {'order': ['b', 'a'], 'immediate': [], 'store_added': [], 'transferred': [], 'retained': [['a', True], ['a', False], ['b', False], ['b', True]], 'already_run': ['a', 'b'], 'errors': [], 'reentrant': ['x'], 'owner': None, 'pending': [['c', None]]}), ({'stack': [['a', True], ['a', False], ['b', False], ['b', True]], 'closed': False, 'added': 'new', 'transfer': None, 'errors': [], 'disposing': False, 'completed': True, 'owner': 'scope', 'new_owner': None, 'pending': 0, 'wave_remaining': ['a', 'b'], 'added_during': [], 'captures': [], 'relinquished_owner': 'old'}, {'order': ['b', 'a'], 'immediate': [], 'store_added': ['new'], 'transferred': [], 'retained': [['a', True], ['a', False], ['b', False], ['b', True]], 'already_run': ['a', 'b'], 'errors': [], 'reentrant': ['a', 'b'], 'owner': 'scope', 'pending': []}), ({'stack': [['a', True], ['a', False], ['b', False], ['b', True]], 'closed': False, 'added': 'new', 'transfer': 'missing', 'errors': ['one', 'two'], 'disposing': True, 'completed': False, 'owner': None, 'new_owner': None, 'pending': 0, 'wave_remaining': ['a'], 'added_during': [], 'captures': [['a', 'old'], ['b', 'other']], 'relinquished_owner': 'old'}, {'order': ['b', 'a'], 'immediate': [], 'store_added': ['new'], 'transferred': [], 'retained': [['a', True], ['a', False], ['b', False], ['b', True]], 'already_run': ['a', 'b'], 'errors': ['one', 'two'], 'reentrant': ['a'], 'owner': None, 'pending': [['a', None], ['b', 'other']]}), ({'stack': [], 'closed': False, 'added': None, 'transfer': None, 'errors': [], 'disposing': False, 'completed': False, 'owner': None, 'new_owner': None, 'pending': 0, 'wave_remaining': [], 'added_during': [], 'captures': [], 'relinquished_owner': 'old'}, {'order': [], 'immediate': [], 'store_added': [], 'transferred': [], 'retained': [], 'already_run': [], 'errors': [], 'reentrant': [], 'owner': None, 'pending': []}), ({'stack': [['a', True], ['a', False], ['b', False], ['b', True]], 'closed': True, 'added': 'new', 'transfer': 'missing', 'errors': ['one', 'two'], 'disposing': True, 'completed': True, 'owner': 'scope', 'new_owner': 'other', 'pending': 8, 'wave_remaining': ['a', 'b'], 'added_during': ['x', 'y'], 'captures': [['c', None]], 'relinquished_owner': 'missing'}, {'order': ['b', 'a'], 'immediate': ['new'], 'store_added': [], 'transferred': [], 'retained': [['a', True], ['a', False], ['b', False], ['b', True]], 'already_run': ['a', 'b'], 'errors': ['one', 'two'], 'reentrant': ['a', 'b', 'y', 'x'], 'owner': 'other', 'pending': [['c', None]]})], 5: [({'stack': [['a', True], ['a', False], ['b', False], ['b', True]], 'closed': False, 'added': 'new', 'transfer': 'a', 'errors': ['one', 'two'], 'disposing': False, 'completed': True, 'owner': None, 'new_owner': 'other', 'pending': 0, 'wave_remaining': ['a'], 'added_during': ['x', 'y'], 'captures': [['a', 'old'], ['b', 'other']], 'relinquished_owner': 'old'}, {'order': ['b'], 'immediate': [], 'store_added': ['new'], 'transferred': ['a', 'a'], 'retained': [['b', False], ['b', True]], 'already_run': ['a', 'b'], 'errors': ['one', 'two'], 'reentrant': ['a', 'y', 'x'], 'owner': 'other', 'pending': [['a', None], ['b', 'other']]}), ({'stack': [['a', False], ['b', True], ['a', False], ['c', False]], 'closed': True, 'added': 'new', 'transfer': None, 'errors': [], 'disposing': False, 'completed': False, 'owner': 'scope', 'new_owner': None, 'pending': 0, 'wave_remaining': ['a'], 'added_during': ['x', 'y'], 'captures': [['a', 'old'], ['b', 'other']], 'relinquished_owner': 'old'}, {'order': ['c', 'a'], 'immediate': ['new'], 'store_added': [], 'transferred': [], 'retained': [['a', False], ['b', True], ['a', False], ['c', False]], 'already_run': ['b'], 'errors': [], 'reentrant': ['a', 'y', 'x'], 'owner': 'scope', 'pending': [['a', None], ['b', 'other']]}), ({'stack': [], 'closed': True, 'added': None, 'transfer': 'missing', 'errors': ['one', 'two'], 'disposing': True, 'completed': True, 'owner': 'scope', 'new_owner': None, 'pending': 10, 'wave_remaining': ['a', 'b'], 'added_during': [], 'captures': [['a', 'old'], ['b', 'other']], 'relinquished_owner': 'old'}, {'order': [], 'immediate': [], 'store_added': [], 'transferred': [], 'retained': [], 'already_run': [], 'errors': ['one', 'two'], 'reentrant': ['a', 'b'], 'owner': None, 'pending': [['a', None], ['b', 'other']]}), ({'stack': [['a', True], ['a', False], ['b', False], ['b', True]], 'closed': False, 'added': 'new', 'transfer': 'missing', 'errors': ['one'], 'disposing': True, 'completed': False, 'owner': None, 'new_owner': 'other', 'pending': 0, 'wave_remaining': ['a', 'b'], 'added_during': ['x', 'y'], 'captures': [], 'relinquished_owner': 'old'}, {'order': ['b', 'a'], 'immediate': [], 'store_added': ['new'], 'transferred': [], 'retained': [['a', True], ['a', False], ['b', False], ['b', True]], 'already_run': ['a', 'b'], 'errors': ['one'], 'reentrant': ['a', 'b', 'y', 'x'], 'owner': 'other', 'pending': []}), ({'stack': [], 'closed': True, 'added': 'new', 'transfer': 'a', 'errors': ['one', 'two'], 'disposing': True, 'completed': True, 'owner': None, 'new_owner': 'other', 'pending': 0, 'wave_remaining': ['a', 'b'], 'added_during': ['x'], 'captures': [['a', 'old'], ['b', 'other']], 'relinquished_owner': 'missing'}, {'order': [], 'immediate': ['new'], 'store_added': [], 'transferred': [], 'retained': [], 'already_run': [], 'errors': ['one', 'two'], 'reentrant': ['a', 'b', 'x'], 'owner': 'other', 'pending': [['a', 'old'], ['b', 'other']]}), ({'stack': [['a', False]], 'closed': True, 'added': None, 'transfer': 'missing', 'errors': ['one', 'two'], 'disposing': True, 'completed': True, 'owner': None, 'new_owner': 'other', 'pending': 0, 'wave_remaining': ['a', 'b'], 'added_during': ['x', 'y'], 'captures': [], 'relinquished_owner': 'missing'}, {'order': ['a'], 'immediate': [], 'store_added': [], 'transferred': [], 'retained': [['a', False]], 'already_run': [], 'errors': ['one', 'two'], 'reentrant': ['a', 'b', 'y', 'x'], 'owner': 'other', 'pending': []}), ({'stack': [], 'closed': False, 'added': None, 'transfer': None, 'errors': [], 'disposing': False, 'completed': False, 'owner': None, 'new_owner': None, 'pending': 0, 'wave_remaining': [], 'added_during': [], 'captures': [], 'relinquished_owner': 'old'}, {'order': [], 'immediate': [], 'store_added': [], 'transferred': [], 'retained': [], 'already_run': [], 'errors': [], 'reentrant': [], 'owner': None, 'pending': []}), ({'stack': [['a', True], ['a', False], ['b', False], ['b', True]], 'closed': True, 'added': 'new', 'transfer': 'missing', 'errors': ['one', 'two'], 'disposing': True, 'completed': True, 'owner': 'scope', 'new_owner': 'other', 'pending': 10, 'wave_remaining': ['a', 'b'], 'added_during': ['x', 'y'], 'captures': [['c', None]], 'relinquished_owner': 'missing'}, {'order': ['b', 'a'], 'immediate': ['new'], 'store_added': [], 'transferred': [], 'retained': [['a', True], ['a', False], ['b', False], ['b', True]], 'already_run': ['a', 'b'], 'errors': ['one', 'two'], 'reentrant': ['a', 'b', 'y', 'x'], 'owner': 'other', 'pending': [['c', None]]})]}
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 fixtureActualExpectedOutcome
transition 0{'already_run': ['a', 'b'], 'errors': ['one', 'two'], 'immediate': ['new'], 'order': ['b'], 'owner': 'other', 'pending': [['a', None], ['b', 'other']], 'reentrant': ['a', 'b', 'y', 'x'], 'retained': [['a', True], ['a', False], ['b', False], ['b', True]], 'store_added': [], 'transferred': ['a', 'a']}{'already_run': ['a', 'b'], 'errors': ['one', 'two'], 'immediate': ['new'], 'order': ['b'], 'owner': 'other', 'pending': [['a', None], ['b', 'other']], 'reentrant': ['a', 'b', 'y', 'x'], 'retained': [['b', False], ['b', True]], 'store_added': [], 'transferred': ['a', 'a']}Failed
transition 1{'already_run': ['b'], 'errors': ['one', 'two'], 'immediate': [], 'order': ['c', 'a'], 'owner': 'scope', 'pending': [], 'reentrant': ['a', 'y', 'x'], 'retained': [['a', False], ['b', True], ['a', False], ['c', False]], 'store_added': ['new'], 'transferred': []}{'already_run': ['b'], 'errors': ['one', 'two'], 'immediate': [], 'order': ['c', 'a'], 'owner': 'scope', 'pending': [], 'reentrant': ['a', 'y', 'x'], 'retained': [['a', False], ['b', True], ['a', False], ['c', False]], 'store_added': ['new'], 'transferred': []}Passed
transition 2{'already_run': ['a', 'b'], 'errors': ['one'], 'immediate': [], 'order': ['b', 'a'], 'owner': None, 'pending': [['a', 'old'], ['b', 'other']], 'reentrant': ['a', 'y', 'x'], 'retained': [['a', True], ['a', False], ['b', False], ['b', True]], 'store_added': ['new'], 'transferred': []}{'already_run': ['a', 'b'], 'errors': ['one'], 'immediate': [], 'order': ['b', 'a'], 'owner': None, 'pending': [['a', 'old'], ['b', 'other']], 'reentrant': ['a', 'y', 'x'], 'retained': [['a', True], ['a', False], ['b', False], ['b', True]], 'store_added': ['new'], 'transferred': []}Passed
transition 3{'already_run': [], 'errors': [], 'immediate': [], 'order': [], 'owner': None, 'pending': [['a', None], ['b', 'other']], 'reentrant': [], 'retained': [], 'store_added': ['new'], 'transferred': []}{'already_run': [], 'errors': [], 'immediate': [], 'order': [], 'owner': None, 'pending': [['a', None], ['b', 'other']], 'reentrant': [], 'retained': [], 'store_added': ['new'], 'transferred': []}Passed
transition 4{'already_run': [], 'errors': [], 'immediate': [], 'order': ['a'], 'owner': None, 'pending': [['a', None], ['b', 'other']], 'reentrant': ['a', 'b', 'x'], 'retained': [['a', False]], 'store_added': [], 'transferred': []}{'already_run': [], 'errors': [], 'immediate': [], 'order': ['a'], 'owner': None, 'pending': [['a', None], ['b', 'other']], 'reentrant': ['a', 'b', 'x'], 'retained': [['a', False]], 'store_added': [], 'transferred': []}Passed
transition 5{'already_run': [], 'errors': ['one'], 'immediate': [], 'order': ['a'], 'owner': 'scope', 'pending': [['c', None]], 'reentrant': ['a', 'b', 'x'], 'retained': [['a', False]], 'store_added': [], 'transferred': []}{'already_run': [], 'errors': ['one'], 'immediate': [], 'order': ['a'], 'owner': 'scope', 'pending': [['c', None]], 'reentrant': ['a', 'b', 'x'], 'retained': [['a', False]], 'store_added': [], 'transferred': []}Passed
transition 6{'already_run': [], 'errors': [], 'immediate': [], 'order': [], 'owner': None, 'pending': [], 'reentrant': [], 'retained': [], 'store_added': [], 'transferred': []}{'already_run': [], 'errors': [], 'immediate': [], 'order': [], 'owner': None, 'pending': [], 'reentrant': [], 'retained': [], 'store_added': [], 'transferred': []}Passed
transition 7{'already_run': ['a', 'b'], 'errors': ['one', 'two'], 'immediate': ['new'], 'order': ['b', 'a'], 'owner': 'other', 'pending': [['c', None]], 'reentrant': ['a', 'b', 'y', 'x'], 'retained': [['a', True], ['a', False], ['b', False], ['b', True]], 'store_added': [], 'transferred': []}{'already_run': ['a', 'b'], 'errors': ['one', 'two'], 'immediate': ['new'], 'order': ['b', 'a'], 'owner': 'other', 'pending': [['c', None]], 'reentrant': ['a', 'b', 'y', 'x'], 'retained': [['a', True], ['a', False], ['b', False], ['b', True]], 'store_added': [], 'transferred': []}Passed

SHA-256 / 4c232faa81ce9096ddc1afe888b525055859a849d2d60c2425087f17d0c3a189

3 / The verified repair

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

N = 1
observations = []
def solve(s):
    return {
        'order': list(dict.fromkeys(r[0] for r in reversed(s['stack']) if not r[1] and r[0]!=s['transfer'])),
        'immediate': [s['added']] if s['closed'] and s['added'] is not None else [],
        'store_added': [s['added']] if not s['closed'] and s['added'] is not None else [],
        'transferred': [r[0] for r in s['stack'] if r[0]==s['transfer']],
        'retained': [r for r in s['stack'] if r[0]!=s['transfer']],
        'already_run': [k for k in dict.fromkeys(r[0] for r in s['stack']) if any(r[0]==k and r[1] for r in s['stack'])],
        'errors': list(s['errors']),
        'reentrant': list(s['wave_remaining'])+list(reversed(s['added_during'])),
        'owner': s['new_owner'] if s['transfer'] is not None else s['owner'],
        'pending': [[r[0],None if r[1]==s['relinquished_owner'] else r[1]] for r in s['captures']],
    }
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = {1: [({'stack': [['a', True], ['a', False], ['b', False], ['b', True]], 'closed': True, 'added': 'new', 'transfer': 'a', 'errors': ['one', 'two'], 'disposing': False, 'completed': True, 'owner': None, 'new_owner': 'other', 'pending': 2, 'wave_remaining': ['a', 'b'], 'added_during': ['x', 'y'], 'captures': [['a', 'old'], ['b', 'other']], 'relinquished_owner': 'old'}, {'order': ['b'], 'immediate': ['new'], 'store_added': [], 'transferred': ['a', 'a'], 'retained': [['b', False], ['b', True]], 'already_run': ['a', 'b'], 'errors': ['one', 'two'], 'reentrant': ['a', 'b', 'y', 'x'], 'owner': 'other', 'pending': [['a', None], ['b', 'other']]}), ({'stack': [['a', False], ['b', True], ['a', False], ['c', False]], 'closed': False, 'added': 'new', 'transfer': None, 'errors': ['one', 'two'], 'disposing': True, 'completed': False, 'owner': 'scope', 'new_owner': 'other', 'pending': 2, 'wave_remaining': ['a'], 'added_during': ['x', 'y'], 'captures': [], 'relinquished_owner': 'old'}, {'order': ['c', 'a'], 'immediate': [], 'store_added': ['new'], 'transferred': [], 'retained': [['a', False], ['b', True], ['a', False], ['c', False]], 'already_run': ['b'], 'errors': ['one', 'two'], 'reentrant': ['a', 'y', 'x'], 'owner': 'scope', 'pending': []}), ({'stack': [['a', True], ['a', False], ['b', False], ['b', True]], 'closed': False, 'added': 'new', 'transfer': None, 'errors': ['one'], 'disposing': False, 'completed': True, 'owner': None, 'new_owner': None, 'pending': 2, 'wave_remaining': ['a'], 'added_during': ['x', 'y'], 'captures': [['a', 'old'], ['b', 'other']], 'relinquished_owner': 'missing'}, {'order': ['b', 'a'], 'immediate': [], 'store_added': ['new'], 'transferred': [], 'retained': [['a', True], ['a', False], ['b', False], ['b', True]], 'already_run': ['a', 'b'], 'errors': ['one'], 'reentrant': ['a', 'y', 'x'], 'owner': None, 'pending': [['a', 'old'], ['b', 'other']]}), ({'stack': [], 'closed': False, 'added': 'new', 'transfer': 'a', 'errors': [], 'disposing': True, 'completed': True, 'owner': 'scope', 'new_owner': None, 'pending': 2, 'wave_remaining': [], 'added_during': [], 'captures': [['a', 'old'], ['b', 'other']], 'relinquished_owner': 'old'}, {'order': [], 'immediate': [], 'store_added': ['new'], 'transferred': [], 'retained': [], 'already_run': [], 'errors': [], 'reentrant': [], 'owner': None, 'pending': [['a', None], ['b', 'other']]}), ({'stack': [['a', False]], 'closed': False, 'added': None, 'transfer': 'missing', 'errors': [], 'disposing': False, 'completed': False, 'owner': None, 'new_owner': None, 'pending': 0, 'wave_remaining': ['a', 'b'], 'added_during': ['x'], 'captures': [['a', 'old'], ['b', 'other']], 'relinquished_owner': 'old'}, {'order': ['a'], 'immediate': [], 'store_added': [], 'transferred': [], 'retained': [['a', False]], 'already_run': [], 'errors': [], 'reentrant': ['a', 'b', 'x'], 'owner': None, 'pending': [['a', None], ['b', 'other']]}), ({'stack': [['a', False]], 'closed': True, 'added': None, 'transfer': None, 'errors': ['one'], 'disposing': False, 'completed': True, 'owner': 'scope', 'new_owner': 'other', 'pending': 2, 'wave_remaining': ['a', 'b'], 'added_during': ['x'], 'captures': [['c', None]], 'relinquished_owner': 'old'}, {'order': ['a'], 'immediate': [], 'store_added': [], 'transferred': [], 'retained': [['a', False]], 'already_run': [], 'errors': ['one'], 'reentrant': ['a', 'b', 'x'], 'owner': 'scope', 'pending': [['c', None]]}), ({'stack': [], 'closed': False, 'added': None, 'transfer': None, 'errors': [], 'disposing': False, 'completed': False, 'owner': None, 'new_owner': None, 'pending': 0, 'wave_remaining': [], 'added_during': [], 'captures': [], 'relinquished_owner': 'old'}, {'order': [], 'immediate': [], 'store_added': [], 'transferred': [], 'retained': [], 'already_run': [], 'errors': [], 'reentrant': [], 'owner': None, 'pending': []}), ({'stack': [['a', True], ['a', False], ['b', False], ['b', True]], 'closed': True, 'added': 'new', 'transfer': 'missing', 'errors': ['one', 'two'], 'disposing': True, 'completed': True, 'owner': 'scope', 'new_owner': 'other', 'pending': 2, 'wave_remaining': ['a', 'b'], 'added_during': ['x', 'y'], 'captures': [['c', None]], 'relinquished_owner': 'missing'}, {'order': ['b', 'a'], 'immediate': ['new'], 'store_added': [], 'transferred': [], 'retained': [['a', True], ['a', False], ['b', False], ['b', True]], 'already_run': ['a', 'b'], 'errors': ['one', 'two'], 'reentrant': ['a', 'b', 'y', 'x'], 'owner': 'other', 'pending': [['c', None]]})], 2: [({'stack': [['a', True], ['a', False], ['b', False], ['b', True]], 'closed': True, 'added': 'new', 'transfer': 'a', 'errors': ['one', 'two'], 'disposing': False, 'completed': True, 'owner': None, 'new_owner': 'other', 'pending': 0, 'wave_remaining': ['a', 'b'], 'added_during': ['x', 'y'], 'captures': [['a', 'old'], ['b', 'other']], 'relinquished_owner': 'old'}, {'order': ['b'], 'immediate': ['new'], 'store_added': [], 'transferred': ['a', 'a'], 'retained': [['b', False], ['b', True]], 'already_run': ['a', 'b'], 'errors': ['one', 'two'], 'reentrant': ['a', 'b', 'y', 'x'], 'owner': 'other', 'pending': [['a', None], ['b', 'other']]}), ({'stack': [['a', False], ['b', True], ['a', False], ['c', False]], 'closed': False, 'added': 'new', 'transfer': None, 'errors': ['one', 'two'], 'disposing': False, 'completed': False, 'owner': 'scope', 'new_owner': None, 'pending': 4, 'wave_remaining': [], 'added_during': ['x'], 'captures': [], 'relinquished_owner': 'missing'}, {'order': ['c', 'a'], 'immediate': [], 'store_added': ['new'], 'transferred': [], 'retained': [['a', False], ['b', True], ['a', False], ['c', False]], 'already_run': ['b'], 'errors': ['one', 'two'], 'reentrant': ['x'], 'owner': 'scope', 'pending': []}), ({'stack': [], 'closed': True, 'added': 'new', 'transfer': 'missing', 'errors': [], 'disposing': True, 'completed': True, 'owner': None, 'new_owner': 'other', 'pending': 4, 'wave_remaining': ['a', 'b'], 'added_during': ['x'], 'captures': [], 'relinquished_owner': 'missing'}, {'order': [], 'immediate': ['new'], 'store_added': [], 'transferred': [], 'retained': [], 'already_run': [], 'errors': [], 'reentrant': ['a', 'b', 'x'], 'owner': 'other', 'pending': []}), ({'stack': [['a', True], ['a', False], ['b', False], ['b', True]], 'closed': False, 'added': None, 'transfer': 'a', 'errors': ['one', 'two'], 'disposing': False, 'completed': True, 'owner': None, 'new_owner': 'other', 'pending': 4, 'wave_remaining': [], 'added_during': ['x', 'y'], 'captures': [['c', None]], 'relinquished_owner': 'old'}, {'order': ['b'], 'immediate': [], 'store_added': [], 'transferred': ['a', 'a'], 'retained': [['b', False], ['b', True]], 'already_run': ['a', 'b'], 'errors': ['one', 'two'], 'reentrant': ['y', 'x'], 'owner': 'other', 'pending': [['c', None]]}), ({'stack': [['a', False]], 'closed': False, 'added': 'new', 'transfer': None, 'errors': ['one'], 'disposing': False, 'completed': False, 'owner': None, 'new_owner': 'other', 'pending': 0, 'wave_remaining': [], 'added_during': ['x'], 'captures': [['c', None]], 'relinquished_owner': 'old'}, {'order': ['a'], 'immediate': [], 'store_added': ['new'], 'transferred': [], 'retained': [['a', False]], 'already_run': [], 'errors': ['one'], 'reentrant': ['x'], 'owner': None, 'pending': [['c', None]]}), ({'stack': [], 'closed': False, 'added': 'new', 'transfer': 'missing', 'errors': ['one', 'two'], 'disposing': True, 'completed': False, 'owner': None, 'new_owner': 'other', 'pending': 0, 'wave_remaining': [], 'added_during': [], 'captures': [['a', 'old'], ['b', 'other']], 'relinquished_owner': 'missing'}, {'order': [], 'immediate': [], 'store_added': ['new'], 'transferred': [], 'retained': [], 'already_run': [], 'errors': ['one', 'two'], 'reentrant': [], 'owner': 'other', 'pending': [['a', 'old'], ['b', 'other']]}), ({'stack': [], 'closed': False, 'added': None, 'transfer': None, 'errors': [], 'disposing': False, 'completed': False, 'owner': None, 'new_owner': None, 'pending': 0, 'wave_remaining': [], 'added_during': [], 'captures': [], 'relinquished_owner': 'old'}, {'order': [], 'immediate': [], 'store_added': [], 'transferred': [], 'retained': [], 'already_run': [], 'errors': [], 'reentrant': [], 'owner': None, 'pending': []}), ({'stack': [['a', True], ['a', False], ['b', False], ['b', True]], 'closed': True, 'added': 'new', 'transfer': 'missing', 'errors': ['one', 'two'], 'disposing': True, 'completed': True, 'owner': 'scope', 'new_owner': 'other', 'pending': 4, 'wave_remaining': ['a', 'b'], 'added_during': ['x', 'y'], 'captures': [['c', None]], 'relinquished_owner': 'missing'}, {'order': ['b', 'a'], 'immediate': ['new'], 'store_added': [], 'transferred': [], 'retained': [['a', True], ['a', False], ['b', False], ['b', True]], 'already_run': ['a', 'b'], 'errors': ['one', 'two'], 'reentrant': ['a', 'b', 'y', 'x'], 'owner': 'other', 'pending': [['c', None]]})], 3: [({'stack': [['a', True], ['a', False], ['b', False], ['b', True]], 'closed': False, 'added': 'new', 'transfer': 'a', 'errors': ['one', 'two'], 'disposing': True, 'completed': True, 'owner': 'scope', 'new_owner': None, 'pending': 6, 'wave_remaining': ['a'], 'added_during': ['x', 'y'], 'captures': [['a', 'old'], ['b', 'other']], 'relinquished_owner': 'old'}, {'order': ['b'], 'immediate': [], 'store_added': ['new'], 'transferred': ['a', 'a'], 'retained': [['b', False], ['b', True]], 'already_run': ['a', 'b'], 'errors': ['one', 'two'], 'reentrant': ['a', 'y', 'x'], 'owner': None, 'pending': [['a', None], ['b', 'other']]}), ({'stack': [['a', False], ['b', True], ['a', False], ['c', False]], 'closed': True, 'added': 'new', 'transfer': None, 'errors': [], 'disposing': True, 'completed': True, 'owner': None, 'new_owner': 'other', 'pending': 6, 'wave_remaining': [], 'added_during': [], 'captures': [], 'relinquished_owner': 'old'}, {'order': ['c', 'a'], 'immediate': ['new'], 'store_added': [], 'transferred': [], 'retained': [['a', False], ['b', True], ['a', False], ['c', False]], 'already_run': ['b'], 'errors': [], 'reentrant': [], 'owner': None, 'pending': []}), ({'stack': [], 'closed': False, 'added': None, 'transfer': None, 'errors': ['one'], 'disposing': False, 'completed': False, 'owner': None, 'new_owner': 'other', 'pending': 6, 'wave_remaining': ['a'], 'added_during': [], 'captures': [], 'relinquished_owner': 'missing'}, {'order': [], 'immediate': [], 'store_added': [], 'transferred': [], 'retained': [], 'already_run': [], 'errors': ['one'], 'reentrant': ['a'], 'owner': None, 'pending': []}), ({'stack': [['a', False]], 'closed': False, 'added': 'new', 'transfer': 'missing', 'errors': ['one'], 'disposing': True, 'completed': False, 'owner': 'scope', 'new_owner': 'other', 'pending': 6, 'wave_remaining': [], 'added_during': ['x', 'y'], 'captures': [['a', 'old'], ['b', 'other']], 'relinquished_owner': 'missing'}, {'order': ['a'], 'immediate': [], 'store_added': ['new'], 'transferred': [], 'retained': [['a', False]], 'already_run': [], 'errors': ['one'], 'reentrant': ['y', 'x'], 'owner': 'other', 'pending': [['a', 'old'], ['b', 'other']]}), ({'stack': [['a', False]], 'closed': True, 'added': 'new', 'transfer': 'a', 'errors': ['one'], 'disposing': True, 'completed': False, 'owner': None, 'new_owner': 'other', 'pending': 0, 'wave_remaining': [], 'added_during': ['x', 'y'], 'captures': [], 'relinquished_owner': 'old'}, {'order': [], 'immediate': ['new'], 'store_added': [], 'transferred': ['a'], 'retained': [], 'already_run': [], 'errors': ['one'], 'reentrant': ['y', 'x'], 'owner': 'other', 'pending': []}), ({'stack': [], 'closed': True, 'added': 'new', 'transfer': None, 'errors': ['one', 'two'], 'disposing': True, 'completed': False, 'owner': None, 'new_owner': 'other', 'pending': 0, 'wave_remaining': ['a', 'b'], 'added_during': ['x', 'y'], 'captures': [], 'relinquished_owner': 'missing'}, {'order': [], 'immediate': ['new'], 'store_added': [], 'transferred': [], 'retained': [], 'already_run': [], 'errors': ['one', 'two'], 'reentrant': ['a', 'b', 'y', 'x'], 'owner': None, 'pending': []}), ({'stack': [], 'closed': False, 'added': None, 'transfer': None, 'errors': [], 'disposing': False, 'completed': False, 'owner': None, 'new_owner': None, 'pending': 0, 'wave_remaining': [], 'added_during': [], 'captures': [], 'relinquished_owner': 'old'}, {'order': [], 'immediate': [], 'store_added': [], 'transferred': [], 'retained': [], 'already_run': [], 'errors': [], 'reentrant': [], 'owner': None, 'pending': []}), ({'stack': [['a', True], ['a', False], ['b', False], ['b', True]], 'closed': True, 'added': 'new', 'transfer': 'missing', 'errors': ['one', 'two'], 'disposing': True, 'completed': True, 'owner': 'scope', 'new_owner': 'other', 'pending': 6, 'wave_remaining': ['a', 'b'], 'added_during': ['x', 'y'], 'captures': [['c', None]], 'relinquished_owner': 'missing'}, {'order': ['b', 'a'], 'immediate': ['new'], 'store_added': [], 'transferred': [], 'retained': [['a', True], ['a', False], ['b', False], ['b', True]], 'already_run': ['a', 'b'], 'errors': ['one', 'two'], 'reentrant': ['a', 'b', 'y', 'x'], 'owner': 'other', 'pending': [['c', None]]})], 4: [({'stack': [['a', True], ['a', False], ['b', False], ['b', True]], 'closed': True, 'added': 'new', 'transfer': 'a', 'errors': ['one', 'two'], 'disposing': True, 'completed': False, 'owner': 'scope', 'new_owner': None, 'pending': 0, 'wave_remaining': ['a'], 'added_during': ['x', 'y'], 'captures': [['a', 'old'], ['b', 'other']], 'relinquished_owner': 'old'}, {'order': ['b'], 'immediate': ['new'], 'store_added': [], 'transferred': ['a', 'a'], 'retained': [['b', False], ['b', True]], 'already_run': ['a', 'b'], 'errors': ['one', 'two'], 'reentrant': ['a', 'y', 'x'], 'owner': None, 'pending': [['a', None], ['b', 'other']]}), ({'stack': [['a', False], ['b', True], ['a', False], ['c', False]], 'closed': False, 'added': 'new', 'transfer': None, 'errors': ['one'], 'disposing': False, 'completed': False, 'owner': 'scope', 'new_owner': 'other', 'pending': 8, 'wave_remaining': ['a'], 'added_during': [], 'captures': [], 'relinquished_owner': 'old'}, {'order': ['c', 'a'], 'immediate': [], 'store_added': ['new'], 'transferred': [], 'retained': [['a', False], ['b', True], ['a', False], ['c', False]], 'already_run': ['b'], 'errors': ['one'], 'reentrant': ['a'], 'owner': 'scope', 'pending': []}), ({'stack': [['a', False]], 'closed': False, 'added': None, 'transfer': None, 'errors': [], 'disposing': True, 'completed': True, 'owner': None, 'new_owner': 'other', 'pending': 0, 'wave_remaining': ['a', 'b'], 'added_during': [], 'captures': [['a', 'old'], ['b', 'other']], 'relinquished_owner': 'missing'}, {'order': ['a'], 'immediate': [], 'store_added': [], 'transferred': [], 'retained': [['a', False]], 'already_run': [], 'errors': [], 'reentrant': ['a', 'b'], 'owner': None, 'pending': [['a', 'old'], ['b', 'other']]}), ({'stack': [['a', True], ['a', False], ['b', False], ['b', True]], 'closed': False, 'added': None, 'transfer': None, 'errors': [], 'disposing': True, 'completed': False, 'owner': None, 'new_owner': 'other', 'pending': 8, 'wave_remaining': [], 'added_during': ['x'], 'captures': [['c', None]], 'relinquished_owner': 'old'}, {'order': ['b', 'a'], 'immediate': [], 'store_added': [], 'transferred': [], 'retained': [['a', True], ['a', False], ['b', False], ['b', True]], 'already_run': ['a', 'b'], 'errors': [], 'reentrant': ['x'], 'owner': None, 'pending': [['c', None]]}), ({'stack': [['a', True], ['a', False], ['b', False], ['b', True]], 'closed': False, 'added': 'new', 'transfer': None, 'errors': [], 'disposing': False, 'completed': True, 'owner': 'scope', 'new_owner': None, 'pending': 0, 'wave_remaining': ['a', 'b'], 'added_during': [], 'captures': [], 'relinquished_owner': 'old'}, {'order': ['b', 'a'], 'immediate': [], 'store_added': ['new'], 'transferred': [], 'retained': [['a', True], ['a', False], ['b', False], ['b', True]], 'already_run': ['a', 'b'], 'errors': [], 'reentrant': ['a', 'b'], 'owner': 'scope', 'pending': []}), ({'stack': [['a', True], ['a', False], ['b', False], ['b', True]], 'closed': False, 'added': 'new', 'transfer': 'missing', 'errors': ['one', 'two'], 'disposing': True, 'completed': False, 'owner': None, 'new_owner': None, 'pending': 0, 'wave_remaining': ['a'], 'added_during': [], 'captures': [['a', 'old'], ['b', 'other']], 'relinquished_owner': 'old'}, {'order': ['b', 'a'], 'immediate': [], 'store_added': ['new'], 'transferred': [], 'retained': [['a', True], ['a', False], ['b', False], ['b', True]], 'already_run': ['a', 'b'], 'errors': ['one', 'two'], 'reentrant': ['a'], 'owner': None, 'pending': [['a', None], ['b', 'other']]}), ({'stack': [], 'closed': False, 'added': None, 'transfer': None, 'errors': [], 'disposing': False, 'completed': False, 'owner': None, 'new_owner': None, 'pending': 0, 'wave_remaining': [], 'added_during': [], 'captures': [], 'relinquished_owner': 'old'}, {'order': [], 'immediate': [], 'store_added': [], 'transferred': [], 'retained': [], 'already_run': [], 'errors': [], 'reentrant': [], 'owner': None, 'pending': []}), ({'stack': [['a', True], ['a', False], ['b', False], ['b', True]], 'closed': True, 'added': 'new', 'transfer': 'missing', 'errors': ['one', 'two'], 'disposing': True, 'completed': True, 'owner': 'scope', 'new_owner': 'other', 'pending': 8, 'wave_remaining': ['a', 'b'], 'added_during': ['x', 'y'], 'captures': [['c', None]], 'relinquished_owner': 'missing'}, {'order': ['b', 'a'], 'immediate': ['new'], 'store_added': [], 'transferred': [], 'retained': [['a', True], ['a', False], ['b', False], ['b', True]], 'already_run': ['a', 'b'], 'errors': ['one', 'two'], 'reentrant': ['a', 'b', 'y', 'x'], 'owner': 'other', 'pending': [['c', None]]})], 5: [({'stack': [['a', True], ['a', False], ['b', False], ['b', True]], 'closed': False, 'added': 'new', 'transfer': 'a', 'errors': ['one', 'two'], 'disposing': False, 'completed': True, 'owner': None, 'new_owner': 'other', 'pending': 0, 'wave_remaining': ['a'], 'added_during': ['x', 'y'], 'captures': [['a', 'old'], ['b', 'other']], 'relinquished_owner': 'old'}, {'order': ['b'], 'immediate': [], 'store_added': ['new'], 'transferred': ['a', 'a'], 'retained': [['b', False], ['b', True]], 'already_run': ['a', 'b'], 'errors': ['one', 'two'], 'reentrant': ['a', 'y', 'x'], 'owner': 'other', 'pending': [['a', None], ['b', 'other']]}), ({'stack': [['a', False], ['b', True], ['a', False], ['c', False]], 'closed': True, 'added': 'new', 'transfer': None, 'errors': [], 'disposing': False, 'completed': False, 'owner': 'scope', 'new_owner': None, 'pending': 0, 'wave_remaining': ['a'], 'added_during': ['x', 'y'], 'captures': [['a', 'old'], ['b', 'other']], 'relinquished_owner': 'old'}, {'order': ['c', 'a'], 'immediate': ['new'], 'store_added': [], 'transferred': [], 'retained': [['a', False], ['b', True], ['a', False], ['c', False]], 'already_run': ['b'], 'errors': [], 'reentrant': ['a', 'y', 'x'], 'owner': 'scope', 'pending': [['a', None], ['b', 'other']]}), ({'stack': [], 'closed': True, 'added': None, 'transfer': 'missing', 'errors': ['one', 'two'], 'disposing': True, 'completed': True, 'owner': 'scope', 'new_owner': None, 'pending': 10, 'wave_remaining': ['a', 'b'], 'added_during': [], 'captures': [['a', 'old'], ['b', 'other']], 'relinquished_owner': 'old'}, {'order': [], 'immediate': [], 'store_added': [], 'transferred': [], 'retained': [], 'already_run': [], 'errors': ['one', 'two'], 'reentrant': ['a', 'b'], 'owner': None, 'pending': [['a', None], ['b', 'other']]}), ({'stack': [['a', True], ['a', False], ['b', False], ['b', True]], 'closed': False, 'added': 'new', 'transfer': 'missing', 'errors': ['one'], 'disposing': True, 'completed': False, 'owner': None, 'new_owner': 'other', 'pending': 0, 'wave_remaining': ['a', 'b'], 'added_during': ['x', 'y'], 'captures': [], 'relinquished_owner': 'old'}, {'order': ['b', 'a'], 'immediate': [], 'store_added': ['new'], 'transferred': [], 'retained': [['a', True], ['a', False], ['b', False], ['b', True]], 'already_run': ['a', 'b'], 'errors': ['one'], 'reentrant': ['a', 'b', 'y', 'x'], 'owner': 'other', 'pending': []}), ({'stack': [], 'closed': True, 'added': 'new', 'transfer': 'a', 'errors': ['one', 'two'], 'disposing': True, 'completed': True, 'owner': None, 'new_owner': 'other', 'pending': 0, 'wave_remaining': ['a', 'b'], 'added_during': ['x'], 'captures': [['a', 'old'], ['b', 'other']], 'relinquished_owner': 'missing'}, {'order': [], 'immediate': ['new'], 'store_added': [], 'transferred': [], 'retained': [], 'already_run': [], 'errors': ['one', 'two'], 'reentrant': ['a', 'b', 'x'], 'owner': 'other', 'pending': [['a', 'old'], ['b', 'other']]}), ({'stack': [['a', False]], 'closed': True, 'added': None, 'transfer': 'missing', 'errors': ['one', 'two'], 'disposing': True, 'completed': True, 'owner': None, 'new_owner': 'other', 'pending': 0, 'wave_remaining': ['a', 'b'], 'added_during': ['x', 'y'], 'captures': [], 'relinquished_owner': 'missing'}, {'order': ['a'], 'immediate': [], 'store_added': [], 'transferred': [], 'retained': [['a', False]], 'already_run': [], 'errors': ['one', 'two'], 'reentrant': ['a', 'b', 'y', 'x'], 'owner': 'other', 'pending': []}), ({'stack': [], 'closed': False, 'added': None, 'transfer': None, 'errors': [], 'disposing': False, 'completed': False, 'owner': None, 'new_owner': None, 'pending': 0, 'wave_remaining': [], 'added_during': [], 'captures': [], 'relinquished_owner': 'old'}, {'order': [], 'immediate': [], 'store_added': [], 'transferred': [], 'retained': [], 'already_run': [], 'errors': [], 'reentrant': [], 'owner': None, 'pending': []}), ({'stack': [['a', True], ['a', False], ['b', False], ['b', True]], 'closed': True, 'added': 'new', 'transfer': 'missing', 'errors': ['one', 'two'], 'disposing': True, 'completed': True, 'owner': 'scope', 'new_owner': 'other', 'pending': 10, 'wave_remaining': ['a', 'b'], 'added_during': ['x', 'y'], 'captures': [['c', None]], 'relinquished_owner': 'missing'}, {'order': ['b', 'a'], 'immediate': ['new'], 'store_added': [], 'transferred': [], 'retained': [['a', True], ['a', False], ['b', False], ['b', True]], 'already_run': ['a', 'b'], 'errors': ['one', 'two'], 'reentrant': ['a', 'b', 'y', 'x'], 'owner': 'other', 'pending': [['c', None]]})]}
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 fixtureActualExpectedOutcome
transition 0{'already_run': ['a', 'b'], 'errors': ['one', 'two'], 'immediate': ['new'], 'order': ['b'], 'owner': 'other', 'pending': [['a', None], ['b', 'other']], 'reentrant': ['a', 'b', 'y', 'x'], 'retained': [['b', False], ['b', True]], 'store_added': [], 'transferred': ['a', 'a']}{'already_run': ['a', 'b'], 'errors': ['one', 'two'], 'immediate': ['new'], 'order': ['b'], 'owner': 'other', 'pending': [['a', None], ['b', 'other']], 'reentrant': ['a', 'b', 'y', 'x'], 'retained': [['b', False], ['b', True]], 'store_added': [], 'transferred': ['a', 'a']}Passed
transition 1{'already_run': ['b'], 'errors': ['one', 'two'], 'immediate': [], 'order': ['c', 'a'], 'owner': 'scope', 'pending': [], 'reentrant': ['a', 'y', 'x'], 'retained': [['a', False], ['b', True], ['a', False], ['c', False]], 'store_added': ['new'], 'transferred': []}{'already_run': ['b'], 'errors': ['one', 'two'], 'immediate': [], 'order': ['c', 'a'], 'owner': 'scope', 'pending': [], 'reentrant': ['a', 'y', 'x'], 'retained': [['a', False], ['b', True], ['a', False], ['c', False]], 'store_added': ['new'], 'transferred': []}Passed
transition 2{'already_run': ['a', 'b'], 'errors': ['one'], 'immediate': [], 'order': ['b', 'a'], 'owner': None, 'pending': [['a', 'old'], ['b', 'other']], 'reentrant': ['a', 'y', 'x'], 'retained': [['a', True], ['a', False], ['b', False], ['b', True]], 'store_added': ['new'], 'transferred': []}{'already_run': ['a', 'b'], 'errors': ['one'], 'immediate': [], 'order': ['b', 'a'], 'owner': None, 'pending': [['a', 'old'], ['b', 'other']], 'reentrant': ['a', 'y', 'x'], 'retained': [['a', True], ['a', False], ['b', False], ['b', True]], 'store_added': ['new'], 'transferred': []}Passed
transition 3{'already_run': [], 'errors': [], 'immediate': [], 'order': [], 'owner': None, 'pending': [['a', None], ['b', 'other']], 'reentrant': [], 'retained': [], 'store_added': ['new'], 'transferred': []}{'already_run': [], 'errors': [], 'immediate': [], 'order': [], 'owner': None, 'pending': [['a', None], ['b', 'other']], 'reentrant': [], 'retained': [], 'store_added': ['new'], 'transferred': []}Passed
transition 4{'already_run': [], 'errors': [], 'immediate': [], 'order': ['a'], 'owner': None, 'pending': [['a', None], ['b', 'other']], 'reentrant': ['a', 'b', 'x'], 'retained': [['a', False]], 'store_added': [], 'transferred': []}{'already_run': [], 'errors': [], 'immediate': [], 'order': ['a'], 'owner': None, 'pending': [['a', None], ['b', 'other']], 'reentrant': ['a', 'b', 'x'], 'retained': [['a', False]], 'store_added': [], 'transferred': []}Passed
transition 5{'already_run': [], 'errors': ['one'], 'immediate': [], 'order': ['a'], 'owner': 'scope', 'pending': [['c', None]], 'reentrant': ['a', 'b', 'x'], 'retained': [['a', False]], 'store_added': [], 'transferred': []}{'already_run': [], 'errors': ['one'], 'immediate': [], 'order': ['a'], 'owner': 'scope', 'pending': [['c', None]], 'reentrant': ['a', 'b', 'x'], 'retained': [['a', False]], 'store_added': [], 'transferred': []}Passed
transition 6{'already_run': [], 'errors': [], 'immediate': [], 'order': [], 'owner': None, 'pending': [], 'reentrant': [], 'retained': [], 'store_added': [], 'transferred': []}{'already_run': [], 'errors': [], 'immediate': [], 'order': [], 'owner': None, 'pending': [], 'reentrant': [], 'retained': [], 'store_added': [], 'transferred': []}Passed
transition 7{'already_run': ['a', 'b'], 'errors': ['one', 'two'], 'immediate': ['new'], 'order': ['b', 'a'], 'owner': 'other', 'pending': [['c', None]], 'reentrant': ['a', 'b', 'y', 'x'], 'retained': [['a', True], ['a', False], ['b', False], ['b', True]], 'store_added': [], 'transferred': []}{'already_run': ['a', 'b'], 'errors': ['one', 'two'], 'immediate': ['new'], 'order': ['b', 'a'], 'owner': 'other', 'pending': [['c', None]], 'reentrant': ['a', 'b', 'y', 'x'], 'retained': [['a', True], ['a', False], ['b', False], ['b', True]], 'store_added': [], 'transferred': []}Passed

SHA-256 / 110986e6a586ee85f7a0864ca251a5176ece729a2ea2598cadb8696b0495a015

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:55.098971+00:00.

Case digest / 98e28ec1969526e8d81a5fe1343df342803cbaeefb851ddd06736a8d05eab71d