FA-19671 / Protocols / Open access
Asynchronous command cancellation controller: running / completed · case 01
While running, event completed produces running/wait instead of done/report_result.
ROOT CAUSE
In running, the completed handler runs wait and enters running; it must instead run report result and enter done.
VERIFIED REPAIR
In phase running, classify completed as transition to done and emit report_result.
Unsuccessful approach: The partial repair chooses done/ack_cancel, which still violates this phase-specific event contract.
Case contract
For the stipulated Asynchronous command cancellation controller, initialize the explicitly shown resource registers from seed (1..5), then consume classified events sequentially. After each event return a deep snapshot of phase, resource registers, and cumulative emitted control frames. The explicit ten phase/event rules and their resource effects define admission and response semantics. Unlisted events preserve phase and emit rejection. Payload is the consecutive integers seed through 2*seed+1. Empty event input returns no observations.
Why this case matters
Incorrect event admission now changes concrete queued data, resource ownership, or emitted protocol frames and subsequent trace behavior.
1 / The failure
Exit 1"""Failure Map reference implementation. Python standard library only."""
import json
N = 1
observations = []
def solve(phase, events, seed):
payload = list(range(seed, seed * 2 + 2))
r = {'queue': [seed] if phase=='queued' else [], 'running': phase in ('running','cancelling'), 'stop_requested': phase=='cancelling', 'result': payload[:], 'reported': [], 'executions': 0}
frames = []
observed = []
table = {('idle', 'submit'): ('queued', 'enqueue'), ('queued', 'dispatch'): ('running', 'start_command'), ('queued', 'cancel'): ('cancelled', 'remove_and_ack'), ('running', 'cancel'): ('cancelling', 'request_stop'), ('cancelling', 'stopped'): ('cancelled', 'ack_cancel'), ('cancelling', 'completed_first'): ('done', 'report_result'), ('running', 'completed'): ('running', 'wait'), ('done', 'cancel'): ('done', 'report_already_done'), ('cancelled', 'late_completion'): ('cancelled', 'discard_late_result'), ('idle', 'cancel'): ('idle', 'report_unknown')}
for event in events:
phase, action = table.get((phase, event), (phase, "reject"))
if action == 'enqueue':
r['queue'].append(seed)
elif action == 'start_command':
r['running']=True; r['executions']+=1
elif action == 'remove_and_ack':
r['queue']=[]; r['reported'].append('cancelled')
elif action == 'request_stop':
r['stop_requested']=True
elif action == 'ack_cancel':
r['running']=False; r['reported'].append('cancelled')
elif action == 'report_result':
r['reported'].append(r['result'][:])
elif action == 'report_already_done':
r['reported'].append('already_done')
elif action == 'discard_late_result':
r['result']=[]
elif action == 'report_unknown':
r['reported'].append('unknown')
elif action == 'execute':
r['running']=True; r['executions']+=1
elif action == 'ack_result':
r['reported'].append(r['result'][:])
elif action == 'report_success':
r['reported'].append('success')
elif action == 'enqueue_again':
r['queue'].append(seed)
elif action == 'ack_without_remove':
r['reported'].append('cancelled')
elif action == 'report_pending':
r['reported'].append('pending')
elif action == 'discard_result':
r['result']=[]
else:
if action not in ("wait", "ignore", "keep", "retain", "keep_peer", "keep_offer", "keep_hold", "keep_batch", "retain_staging", "keep_staging", "keep_local_owner", "keep_old_session", "keep_address", "keep_old_expiry", "ignore_conflict", "keep_service", "keep_subscription", "retain_shadow", "keep_live", "keep_suspicion", "keep_roles", "keep_staged"):
frames.append([action, payload[:]])
observed.append(json.loads(json.dumps({"phase": phase, "registers": r, "frames": frames})))
return observed
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
cases = {1: [('idle/submit', 'idle', ['submit'], [{'phase': 'queued', 'registers': {'queue': [1], 'running': False, 'stop_requested': False, 'result': [1, 2, 3], 'reported': [], 'executions': 0}, 'frames': []}]), ('queued/dispatch', 'queued', ['dispatch'], [{'phase': 'running', 'registers': {'queue': [1], 'running': True, 'stop_requested': False, 'result': [1, 2, 3], 'reported': [], 'executions': 1}, 'frames': []}]), ('queued/cancel', 'queued', ['cancel'], [{'phase': 'cancelled', 'registers': {'queue': [], 'running': False, 'stop_requested': False, 'result': [1, 2, 3], 'reported': ['cancelled'], 'executions': 0}, 'frames': []}]), ('running/cancel', 'running', ['cancel'], [{'phase': 'cancelling', 'registers': {'queue': [], 'running': True, 'stop_requested': True, 'result': [1, 2, 3], 'reported': [], 'executions': 0}, 'frames': []}]), ('cancelling/stopped', 'cancelling', ['stopped'], [{'phase': 'cancelled', 'registers': {'queue': [], 'running': False, 'stop_requested': True, 'result': [1, 2, 3], 'reported': ['cancelled'], 'executions': 0}, 'frames': []}]), ('cancelling/completed_first', 'cancelling', ['completed_first'], [{'phase': 'done', 'registers': {'queue': [], 'running': True, 'stop_requested': True, 'result': [1, 2, 3], 'reported': [[1, 2, 3]], 'executions': 0}, 'frames': []}]), ('running/completed', 'running', ['completed'], [{'phase': 'done', 'registers': {'queue': [], 'running': True, 'stop_requested': False, 'result': [1, 2, 3], 'reported': [[1, 2, 3]], 'executions': 0}, 'frames': []}]), ('done/cancel', 'done', ['cancel'], [{'phase': 'done', 'registers': {'queue': [], 'running': False, 'stop_requested': False, 'result': [1, 2, 3], 'reported': ['already_done'], 'executions': 0}, 'frames': []}]), ('cancelled/late_completion', 'cancelled', ['late_completion'], [{'phase': 'cancelled', 'registers': {'queue': [], 'running': False, 'stop_requested': False, 'result': [], 'reported': [], 'executions': 0}, 'frames': []}]), ('idle/cancel', 'idle', ['cancel'], [{'phase': 'idle', 'registers': {'queue': [], 'running': False, 'stop_requested': False, 'result': [1, 2, 3], 'reported': ['unknown'], 'executions': 0}, 'frames': []}]), ('ordered trace 0', 'idle', ['submit', 'cancel', 'late_completion', 'late_completion'], [{'phase': 'queued', 'registers': {'queue': [1], 'running': False, 'stop_requested': False, 'result': [1, 2, 3], 'reported': [], 'executions': 0}, 'frames': []}, {'phase': 'cancelled', 'registers': {'queue': [], 'running': False, 'stop_requested': False, 'result': [1, 2, 3], 'reported': ['cancelled'], 'executions': 0}, 'frames': []}, {'phase': 'cancelled', 'registers': {'queue': [], 'running': False, 'stop_requested': False, 'result': [], 'reported': ['cancelled'], 'executions': 0}, 'frames': []}, {'phase': 'cancelled', 'registers': {'queue': [], 'running': False, 'stop_requested': False, 'result': [], 'reported': ['cancelled'], 'executions': 0}, 'frames': []}]), ('ordered trace 3', 'running', ['completed', 'cancel', 'cancel', 'cancel'], [{'phase': 'done', 'registers': {'queue': [], 'running': True, 'stop_requested': False, 'result': [1, 2, 3], 'reported': [[1, 2, 3]], 'executions': 0}, 'frames': []}, {'phase': 'done', 'registers': {'queue': [], 'running': True, 'stop_requested': False, 'result': [1, 2, 3], 'reported': [[1, 2, 3], 'already_done'], 'executions': 0}, 'frames': []}, {'phase': 'done', 'registers': {'queue': [], 'running': True, 'stop_requested': False, 'result': [1, 2, 3], 'reported': [[1, 2, 3], 'already_done', 'already_done'], 'executions': 0}, 'frames': []}, {'phase': 'done', 'registers': {'queue': [], 'running': True, 'stop_requested': False, 'result': [1, 2, 3], 'reported': [[1, 2, 3], 'already_done', 'already_done', 'already_done'], 'executions': 0}, 'frames': []}]), ('empty input', 'idle', [], []), ('unknown event', 'idle', ['unsupported'], [{'phase': 'idle', 'registers': {'queue': [], 'running': False, 'stop_requested': False, 'result': [1, 2, 3], 'reported': [], 'executions': 0}, 'frames': [['reject', [1, 2, 3]]]}])], 2: [('idle/submit', 'idle', ['submit'], [{'phase': 'queued', 'registers': {'queue': [2], 'running': False, 'stop_requested': False, 'result': [2, 3, 4, 5], 'reported': [], 'executions': 0}, 'frames': []}]), ('queued/dispatch', 'queued', ['dispatch'], [{'phase': 'running', 'registers': {'queue': [2], 'running': True, 'stop_requested': False, 'result': [2, 3, 4, 5], 'reported': [], 'executions': 1}, 'frames': []}]), ('queued/cancel', 'queued', ['cancel'], [{'phase': 'cancelled', 'registers': {'queue': [], 'running': False, 'stop_requested': False, 'result': [2, 3, 4, 5], 'reported': ['cancelled'], 'executions': 0}, 'frames': []}]), ('running/cancel', 'running', ['cancel'], [{'phase': 'cancelling', 'registers': {'queue': [], 'running': True, 'stop_requested': True, 'result': [2, 3, 4, 5], 'reported': [], 'executions': 0}, 'frames': []}]), ('cancelling/stopped', 'cancelling', ['stopped'], [{'phase': 'cancelled', 'registers': {'queue': [], 'running': False, 'stop_requested': True, 'result': [2, 3, 4, 5], 'reported': ['cancelled'], 'executions': 0}, 'frames': []}]), ('cancelling/completed_first', 'cancelling', ['completed_first'], [{'phase': 'done', 'registers': {'queue': [], 'running': True, 'stop_requested': True, 'result': [2, 3, 4, 5], 'reported': [[2, 3, 4, 5]], 'executions': 0}, 'frames': []}]), ('running/completed', 'running', ['completed'], [{'phase': 'done', 'registers': {'queue': [], 'running': True, 'stop_requested': False, 'result': [2, 3, 4, 5], 'reported': [[2, 3, 4, 5]], 'executions': 0}, 'frames': []}]), ('done/cancel', 'done', ['cancel'], [{'phase': 'done', 'registers': {'queue': [], 'running': False, 'stop_requested': False, 'result': [2, 3, 4, 5], 'reported': ['already_done'], 'executions': 0}, 'frames': []}]), ('cancelled/late_completion', 'cancelled', ['late_completion'], [{'phase': 'cancelled', 'registers': {'queue': [], 'running': False, 'stop_requested': False, 'result': [], 'reported': [], 'executions': 0}, 'frames': []}]), ('idle/cancel', 'idle', ['cancel'], [{'phase': 'idle', 'registers': {'queue': [], 'running': False, 'stop_requested': False, 'result': [2, 3, 4, 5], 'reported': ['unknown'], 'executions': 0}, 'frames': []}]), ('ordered trace 0', 'idle', ['submit', 'cancel', 'late_completion', 'late_completion', 'late_completion'], [{'phase': 'queued', 'registers': {'queue': [2], 'running': False, 'stop_requested': False, 'result': [2, 3, 4, 5], 'reported': [], 'executions': 0}, 'frames': []}, {'phase': 'cancelled', 'registers': {'queue': [], 'running': False, 'stop_requested': False, 'result': [2, 3, 4, 5], 'reported': ['cancelled'], 'executions': 0}, 'frames': []}, {'phase': 'cancelled', 'registers': {'queue': [], 'running': False, 'stop_requested': False, 'result': [], 'reported': ['cancelled'], 'executions': 0}, 'frames': []}, {'phase': 'cancelled', 'registers': {'queue': [], 'running': False, 'stop_requested': False, 'result': [], 'reported': ['cancelled'], 'executions': 0}, 'frames': []}, {'phase': 'cancelled', 'registers': {'queue': [], 'running': False, 'stop_requested': False, 'result': [], 'reported': ['cancelled'], 'executions': 0}, 'frames': []}]), ('ordered trace 3', 'running', ['completed', 'cancel', 'cancel', 'cancel', 'cancel'], [{'phase': 'done', 'registers': {'queue': [], 'running': True, 'stop_requested': False, 'result': [2, 3, 4, 5], 'reported': [[2, 3, 4, 5]], 'executions': 0}, 'frames': []}, {'phase': 'done', 'registers': {'queue': [], 'running': True, 'stop_requested': False, 'result': [2, 3, 4, 5], 'reported': [[2, 3, 4, 5], 'already_done'], 'executions': 0}, 'frames': []}, {'phase': 'done', 'registers': {'queue': [], 'running': True, 'stop_requested': False, 'result': [2, 3, 4, 5], 'reported': [[2, 3, 4, 5], 'already_done', 'already_done'], 'executions': 0}, 'frames': []}, {'phase': 'done', 'registers': {'queue': [], 'running': True, 'stop_requested': False, 'result': [2, 3, 4, 5], 'reported': [[2, 3, 4, 5], 'already_done', 'already_done', 'already_done'], 'executions': 0}, 'frames': []}, {'phase': 'done', 'registers': {'queue': [], 'running': True, 'stop_requested': False, 'result': [2, 3, 4, 5], 'reported': [[2, 3, 4, 5], 'already_done', 'already_done', 'already_done', 'already_done'], 'executions': 0}, 'frames': []}]), ('empty input', 'idle', [], []), ('unknown event', 'idle', ['unsupported'], [{'phase': 'idle', 'registers': {'queue': [], 'running': False, 'stop_requested': False, 'result': [2, 3, 4, 5], 'reported': [], 'executions': 0}, 'frames': [['reject', [2, 3, 4, 5]]]}])], 3: [('idle/submit', 'idle', ['submit'], [{'phase': 'queued', 'registers': {'queue': [3], 'running': False, 'stop_requested': False, 'result': [3, 4, 5, 6, 7], 'reported': [], 'executions': 0}, 'frames': []}]), ('queued/dispatch', 'queued', ['dispatch'], [{'phase': 'running', 'registers': {'queue': [3], 'running': True, 'stop_requested': False, 'result': [3, 4, 5, 6, 7], 'reported': [], 'executions': 1}, 'frames': []}]), ('queued/cancel', 'queued', ['cancel'], [{'phase': 'cancelled', 'registers': {'queue': [], 'running': False, 'stop_requested': False, 'result': [3, 4, 5, 6, 7], 'reported': ['cancelled'], 'executions': 0}, 'frames': []}]), ('running/cancel', 'running', ['cancel'], [{'phase': 'cancelling', 'registers': {'queue': [], 'running': True, 'stop_requested': True, 'result': [3, 4, 5, 6, 7], 'reported': [], 'executions': 0}, 'frames': []}]), ('cancelling/stopped', 'cancelling', ['stopped'], [{'phase': 'cancelled', 'registers': {'queue': [], 'running': False, 'stop_requested': True, 'result': [3, 4, 5, 6, 7], 'reported': ['cancelled'], 'executions': 0}, 'frames': []}]), ('cancelling/completed_first', 'cancelling', ['completed_first'], [{'phase': 'done', 'registers': {'queue': [], 'running': True, 'stop_requested': True, 'result': [3, 4, 5, 6, 7], 'reported': [[3, 4, 5, 6, 7]], 'executions': 0}, 'frames': []}]), ('running/completed', 'running', ['completed'], [{'phase': 'done', 'registers': {'queue': [], 'running': True, 'stop_requested': False, 'result': [3, 4, 5, 6, 7], 'reported': [[3, 4, 5, 6, 7]], 'executions': 0}, 'frames': []}]), ('done/cancel', 'done', ['cancel'], [{'phase': 'done', 'registers': {'queue': [], 'running': False, 'stop_requested': False, 'result': [3, 4, 5, 6, 7], 'reported': ['already_done'], 'executions': 0}, 'frames': []}]), ('cancelled/late_completion', 'cancelled', ['late_completion'], [{'phase': 'cancelled', 'registers': {'queue': [], 'running': False, 'stop_requested': False, 'result': [], 'reported': [], 'executions': 0}, 'frames': []}]), ('idle/cancel', 'idle', ['cancel'], [{'phase': 'idle', 'registers': {'queue': [], 'running': False, 'stop_requested': False, 'result': [3, 4, 5, 6, 7], 'reported': ['unknown'], 'executions': 0}, 'frames': []}]), ('ordered trace 0', 'idle', ['submit', 'cancel', 'late_completion', 'late_completion', 'late_completion', 'late_completion'], [{'phase': 'queued', 'registers': {'queue': [3], 'running': False, 'stop_requested': False, 'result': [3, 4, 5, 6, 7], 'reported': [], 'executions': 0}, 'frames': []}, {'phase': 'cancelled', 'registers': {'queue': [], 'running': False, 'stop_requested': False, 'result': [3, 4, 5, 6, 7], 'reported': ['cancelled'], 'executions': 0}, 'frames': []}, {'phase': 'cancelled', 'registers': {'queue': [], 'running': False, 'stop_requested': False, 'result': [], 'reported': ['cancelled'], 'executions': 0}, 'frames': []}, {'phase': 'cancelled', 'registers': {'queue': [], 'running': False, 'stop_requested': False, 'result': [], 'reported': ['cancelled'], 'executions': 0}, 'frames': []}, {'phase': 'cancelled', 'registers': {'queue': [], 'running': False, 'stop_requested': False, 'result': [], 'reported': ['cancelled'], 'executions': 0}, 'frames': []}, {'phase': 'cancelled', 'registers': {'queue': [], 'running': False, 'stop_requested': False, 'result': [], 'reported': ['cancelled'], 'executions': 0}, 'frames': []}]), ('ordered trace 3', 'running', ['completed', 'cancel', 'cancel', 'cancel', 'cancel', 'cancel'], [{'phase': 'done', 'registers': {'queue': [], 'running': True, 'stop_requested': False, 'result': [3, 4, 5, 6, 7], 'reported': [[3, 4, 5, 6, 7]], 'executions': 0}, 'frames': []}, {'phase': 'done', 'registers': {'queue': [], 'running': True, 'stop_requested': False, 'result': [3, 4, 5, 6, 7], 'reported': [[3, 4, 5, 6, 7], 'already_done'], 'executions': 0}, 'frames': []}, {'phase': 'done', 'registers': {'queue': [], 'running': True, 'stop_requested': False, 'result': [3, 4, 5, 6, 7], 'reported': [[3, 4, 5, 6, 7], 'already_done', 'already_done'], 'executions': 0}, 'frames': []}, {'phase': 'done', 'registers': {'queue': [], 'running': True, 'stop_requested': False, 'result': [3, 4, 5, 6, 7], 'reported': [[3, 4, 5, 6, 7], 'already_done', 'already_done', 'already_done'], 'executions': 0}, 'frames': []}, {'phase': 'done', 'registers': {'queue': [], 'running': True, 'stop_requested': False, 'result': [3, 4, 5, 6, 7], 'reported': [[3, 4, 5, 6, 7], 'already_done', 'already_done', 'already_done', 'already_done'], 'executions': 0}, 'frames': []}, {'phase': 'done', 'registers': {'queue': [], 'running': True, 'stop_requested': False, 'result': [3, 4, 5, 6, 7], 'reported': [[3, 4, 5, 6, 7], 'already_done', 'already_done', 'already_done', 'already_done', 'already_done'], 'executions': 0}, 'frames': []}]), ('empty input', 'idle', [], []), ('unknown event', 'idle', ['unsupported'], [{'phase': 'idle', 'registers': {'queue': [], 'running': False, 'stop_requested': False, 'result': [3, 4, 5, 6, 7], 'reported': [], 'executions': 0}, 'frames': [['reject', [3, 4, 5, 6, 7]]]}])], 4: [('idle/submit', 'idle', ['submit'], [{'phase': 'queued', 'registers': {'queue': [4], 'running': False, 'stop_requested': False, 'result': [4, 5, 6, 7, 8, 9], 'reported': [], 'executions': 0}, 'frames': []}]), ('queued/dispatch', 'queued', ['dispatch'], [{'phase': 'running', 'registers': {'queue': [4], 'running': True, 'stop_requested': False, 'result': [4, 5, 6, 7, 8, 9], 'reported': [], 'executions': 1}, 'frames': []}]), ('queued/cancel', 'queued', ['cancel'], [{'phase': 'cancelled', 'registers': {'queue': [], 'running': False, 'stop_requested': False, 'result': [4, 5, 6, 7, 8, 9], 'reported': ['cancelled'], 'executions': 0}, 'frames': []}]), ('running/cancel', 'running', ['cancel'], [{'phase': 'cancelling', 'registers': {'queue': [], 'running': True, 'stop_requested': True, 'result': [4, 5, 6, 7, 8, 9], 'reported': [], 'executions': 0}, 'frames': []}]), ('cancelling/stopped', 'cancelling', ['stopped'], [{'phase': 'cancelled', 'registers': {'queue': [], 'running': False, 'stop_requested': True, 'result': [4, 5, 6, 7, 8, 9], 'reported': ['cancelled'], 'executions': 0}, 'frames': []}]), ('cancelling/completed_first', 'cancelling', ['completed_first'], [{'phase': 'done', 'registers': {'queue': [], 'running': True, 'stop_requested': True, 'result': [4, 5, 6, 7, 8, 9], 'reported': [[4, 5, 6, 7, 8, 9]], 'executions': 0}, 'frames': []}]), ('running/completed', 'running', ['completed'], [{'phase': 'done', 'registers': {'queue': [], 'running': True, 'stop_requested': False, 'result': [4, 5, 6, 7, 8, 9], 'reported': [[4, 5, 6, 7, 8, 9]], 'executions': 0}, 'frames': []}]), ('done/cancel', 'done', ['cancel'], [{'phase': 'done', 'registers': {'queue': [], 'running': False, 'stop_requested': False, 'result': [4, 5, 6, 7, 8, 9], 'reported': ['already_done'], 'executions': 0}, 'frames': []}]), ('cancelled/late_completion', 'cancelled', ['late_completion'], [{'phase': 'cancelled', 'registers': {'queue': [], 'running': False, 'stop_requested': False, 'result': [], 'reported': [], 'executions': 0}, 'frames': []}]), ('idle/cancel', 'idle', ['cancel'], [{'phase': 'idle', 'registers': {'queue': [], 'running': False, 'stop_requested': False, 'result': [4, 5, 6, 7, 8, 9], 'reported': ['unknown'], 'executions': 0}, 'frames': []}]), ('ordered trace 0', 'idle', ['submit', 'cancel', 'late_completion', 'late_completion', 'late_completion', 'late_completion', 'late_completion'], [{'phase': 'queued', 'registers': {'queue': [4], 'running': False, 'stop_requested': False, 'result': [4, 5, 6, 7, 8, 9], 'reported': [], 'executions': 0}, 'frames': []}, {'phase': 'cancelled', 'registers': {'queue': [], 'running': False, 'stop_requested': False, 'result': [4, 5, 6, 7, 8, 9], 'reported': ['cancelled'], 'executions': 0}, 'frames': []}, {'phase': 'cancelled', 'registers': {'queue': [], 'running': False, 'stop_requested': False, 'result': [], 'reported': ['cancelled'], 'executions': 0}, 'frames': []}, {'phase': 'cancelled', 'registers': {'queue': [], 'running': False, 'stop_requested': False, 'result': [], 'reported': ['cancelled'], 'executions': 0}, 'frames': []}, {'phase': 'cancelled', 'registers': {'queue': [], 'running': False, 'stop_requested': False, 'result': [], 'reported': ['cancelled'], 'executions': 0}, 'frames': []}, {'phase': 'cancelled', 'registers': {'queue': [], 'running': False, 'stop_requested': False, 'result': [], 'reported': ['cancelled'], 'executions': 0}, 'frames': []}, {'phase': 'cancelled', 'registers': {'queue': [], 'running': False, 'stop_requested': False, 'result': [], 'reported': ['cancelled'], 'executions': 0}, 'frames': []}]), ('ordered trace 3', 'running', ['completed', 'cancel', 'cancel', 'cancel', 'cancel', 'cancel', 'cancel'], [{'phase': 'done', 'registers': {'queue': [], 'running': True, 'stop_requested': False, 'result': [4, 5, 6, 7, 8, 9], 'reported': [[4, 5, 6, 7, 8, 9]], 'executions': 0}, 'frames': []}, {'phase': 'done', 'registers': {'queue': [], 'running': True, 'stop_requested': False, 'result': [4, 5, 6, 7, 8, 9], 'reported': [[4, 5, 6, 7, 8, 9], 'already_done'], 'executions': 0}, 'frames': []}, {'phase': 'done', 'registers': {'queue': [], 'running': True, 'stop_requested': False, 'result': [4, 5, 6, 7, 8, 9], 'reported': [[4, 5, 6, 7, 8, 9], 'already_done', 'already_done'], 'executions': 0}, 'frames': []}, {'phase': 'done', 'registers': {'queue': [], 'running': True, 'stop_requested': False, 'result': [4, 5, 6, 7, 8, 9], 'reported': [[4, 5, 6, 7, 8, 9], 'already_done', 'already_done', 'already_done'], 'executions': 0}, 'frames': []}, {'phase': 'done', 'registers': {'queue': [], 'running': True, 'stop_requested': False, 'result': [4, 5, 6, 7, 8, 9], 'reported': [[4, 5, 6, 7, 8, 9], 'already_done', 'already_done', 'already_done', 'already_done'], 'executions': 0}, 'frames': []}, {'phase': 'done', 'registers': {'queue': [], 'running': True, 'stop_requested': False, 'result': [4, 5, 6, 7, 8, 9], 'reported': [[4, 5, 6, 7, 8, 9], 'already_done', 'already_done', 'already_done', 'already_done', 'already_done'], 'executions': 0}, 'frames': []}, {'phase': 'done', 'registers': {'queue': [], 'running': True, 'stop_requested': False, 'result': [4, 5, 6, 7, 8, 9], 'reported': [[4, 5, 6, 7, 8, 9], 'already_done', 'already_done', 'already_done', 'already_done', 'already_done', 'already_done'], 'executions': 0}, 'frames': []}]), ('empty input', 'idle', [], []), ('unknown event', 'idle', ['unsupported'], [{'phase': 'idle', 'registers': {'queue': [], 'running': False, 'stop_requested': False, 'result': [4, 5, 6, 7, 8, 9], 'reported': [], 'executions': 0}, 'frames': [['reject', [4, 5, 6, 7, 8, 9]]]}])], 5: [('idle/submit', 'idle', ['submit'], [{'phase': 'queued', 'registers': {'queue': [5], 'running': False, 'stop_requested': False, 'result': [5, 6, 7, 8, 9, 10, 11], 'reported': [], 'executions': 0}, 'frames': []}]), ('queued/dispatch', 'queued', ['dispatch'], [{'phase': 'running', 'registers': {'queue': [5], 'running': True, 'stop_requested': False, 'result': [5, 6, 7, 8, 9, 10, 11], 'reported': [], 'executions': 1}, 'frames': []}]), ('queued/cancel', 'queued', ['cancel'], [{'phase': 'cancelled', 'registers': {'queue': [], 'running': False, 'stop_requested': False, 'result': [5, 6, 7, 8, 9, 10, 11], 'reported': ['cancelled'], 'executions': 0}, 'frames': []}]), ('running/cancel', 'running', ['cancel'], [{'phase': 'cancelling', 'registers': {'queue': [], 'running': True, 'stop_requested': True, 'result': [5, 6, 7, 8, 9, 10, 11], 'reported': [], 'executions': 0}, 'frames': []}]), ('cancelling/stopped', 'cancelling', ['stopped'], [{'phase': 'cancelled', 'registers': {'queue': [], 'running': False, 'stop_requested': True, 'result': [5, 6, 7, 8, 9, 10, 11], 'reported': ['cancelled'], 'executions': 0}, 'frames': []}]), ('cancelling/completed_first', 'cancelling', ['completed_first'], [{'phase': 'done', 'registers': {'queue': [], 'running': True, 'stop_requested': True, 'result': [5, 6, 7, 8, 9, 10, 11], 'reported': [[5, 6, 7, 8, 9, 10, 11]], 'executions': 0}, 'frames': []}]), ('running/completed', 'running', ['completed'], [{'phase': 'done', 'registers': {'queue': [], 'running': True, 'stop_requested': False, 'result': [5, 6, 7, 8, 9, 10, 11], 'reported': [[5, 6, 7, 8, 9, 10, 11]], 'executions': 0}, 'frames': []}]), ('done/cancel', 'done', ['cancel'], [{'phase': 'done', 'registers': {'queue': [], 'running': False, 'stop_requested': False, 'result': [5, 6, 7, 8, 9, 10, 11], 'reported': ['already_done'], 'executions': 0}, 'frames': []}]), ('cancelled/late_completion', 'cancelled', ['late_completion'], [{'phase': 'cancelled', 'registers': {'queue': [], 'running': False, 'stop_requested': False, 'result': [], 'reported': [], 'executions': 0}, 'frames': []}]), ('idle/cancel', 'idle', ['cancel'], [{'phase': 'idle', 'registers': {'queue': [], 'running': False, 'stop_requested': False, 'result': [5, 6, 7, 8, 9, 10, 11], 'reported': ['unknown'], 'executions': 0}, 'frames': []}]), ('ordered trace 0', 'idle', ['submit', 'cancel', 'late_completion', 'late_completion', 'late_completion', 'late_completion', 'late_completion', 'late_completion'], [{'phase': 'queued', 'registers': {'queue': [5], 'running': False, 'stop_requested': False, 'result': [5, 6, 7, 8, 9, 10, 11], 'reported': [], 'executions': 0}, 'frames': []}, {'phase': 'cancelled', 'registers': {'queue': [], 'running': False, 'stop_requested': False, 'result': [5, 6, 7, 8, 9, 10, 11], 'reported': ['cancelled'], 'executions': 0}, 'frames': []}, {'phase': 'cancelled', 'registers': {'queue': [], 'running': False, 'stop_requested': False, 'result': [], 'reported': ['cancelled'], 'executions': 0}, 'frames': []}, {'phase': 'cancelled', 'registers': {'queue': [], 'running': False, 'stop_requested': False, 'result': [], 'reported': ['cancelled'], 'executions': 0}, 'frames': []}, {'phase': 'cancelled', 'registers': {'queue': [], 'running': False, 'stop_requested': False, 'result': [], 'reported': ['cancelled'], 'executions': 0}, 'frames': []}, {'phase': 'cancelled', 'registers': {'queue': [], 'running': False, 'stop_requested': False, 'result': [], 'reported': ['cancelled'], 'executions': 0}, 'frames': []}, {'phase': 'cancelled', 'registers': {'queue': [], 'running': False, 'stop_requested': False, 'result': [], 'reported': ['cancelled'], 'executions': 0}, 'frames': []}, {'phase': 'cancelled', 'registers': {'queue': [], 'running': False, 'stop_requested': False, 'result': [], 'reported': ['cancelled'], 'executions': 0}, 'frames': []}]), ('ordered trace 3', 'running', ['completed', 'cancel', 'cancel', 'cancel', 'cancel', 'cancel', 'cancel', 'cancel'], [{'phase': 'done', 'registers': {'queue': [], 'running': True, 'stop_requested': False, 'result': [5, 6, 7, 8, 9, 10, 11], 'reported': [[5, 6, 7, 8, 9, 10, 11]], 'executions': 0}, 'frames': []}, {'phase': 'done', 'registers': {'queue': [], 'running': True, 'stop_requested': False, 'result': [5, 6, 7, 8, 9, 10, 11], 'reported': [[5, 6, 7, 8, 9, 10, 11], 'already_done'], 'executions': 0}, 'frames': []}, {'phase': 'done', 'registers': {'queue': [], 'running': True, 'stop_requested': False, 'result': [5, 6, 7, 8, 9, 10, 11], 'reported': [[5, 6, 7, 8, 9, 10, 11], 'already_done', 'already_done'], 'executions': 0}, 'frames': []}, {'phase': 'done', 'registers': {'queue': [], 'running': True, 'stop_requested': False, 'result': [5, 6, 7, 8, 9, 10, 11], 'reported': [[5, 6, 7, 8, 9, 10, 11], 'already_done', 'already_done', 'already_done'], 'executions': 0}, 'frames': []}, {'phase': 'done', 'registers': {'queue': [], 'running': True, 'stop_requested': False, 'result': [5, 6, 7, 8, 9, 10, 11], 'reported': [[5, 6, 7, 8, 9, 10, 11], 'already_done', 'already_done', 'already_done', 'already_done'], 'executions': 0}, 'frames': []}, {'phase': 'done', 'registers': {'queue': [], 'running': True, 'stop_requested': False, 'result': [5, 6, 7, 8, 9, 10, 11], 'reported': [[5, 6, 7, 8, 9, 10, 11], 'already_done', 'already_done', 'already_done', 'already_done', 'already_done'], 'executions': 0}, 'frames': []}, {'phase': 'done', 'registers': {'queue': [], 'running': True, 'stop_requested': False, 'result': [5, 6, 7, 8, 9, 10, 11], 'reported': [[5, 6, 7, 8, 9, 10, 11], 'already_done', 'already_done', 'already_done', 'already_done', 'already_done', 'already_done'], 'executions': 0}, 'frames': []}, {'phase': 'done', 'registers': {'queue': [], 'running': True, 'stop_requested': False, 'result': [5, 6, 7, 8, 9, 10, 11], 'reported': [[5, 6, 7, 8, 9, 10, 11], 'already_done', 'already_done', 'already_done', 'already_done', 'already_done', 'already_done', 'already_done'], 'executions': 0}, 'frames': []}]), ('empty input', 'idle', [], []), ('unknown event', 'idle', ['unsupported'], [{'phase': 'idle', 'registers': {'queue': [], 'running': False, 'stop_requested': False, 'result': [5, 6, 7, 8, 9, 10, 11], 'reported': [], 'executions': 0}, 'frames': [['reject', [5, 6, 7, 8, 9, 10, 11]]]}])]}
for label, phase, events, expected in cases[N]:
check(label, solve(phase, events, N), 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 |
|---|---|---|---|
| idle/submit | [{'frames': [], 'phase': 'queued', 'registers': {'executions': 0, 'queue': [1], 'reported': [], 'result': [1, 2, 3], 'running': False, 'stop_requested': False}}] | [{'frames': [], 'phase': 'queued', 'registers': {'executions': 0, 'queue': [1], 'reported': [], 'result': [1, 2, 3], 'running': False, 'stop_requested': False}}] | Passed |
| queued/dispatch | [{'frames': [], 'phase': 'running', 'registers': {'executions': 1, 'queue': [1], 'reported': [], 'result': [1, 2, 3], 'running': True, 'stop_requested': False}}] | [{'frames': [], 'phase': 'running', 'registers': {'executions': 1, 'queue': [1], 'reported': [], 'result': [1, 2, 3], 'running': True, 'stop_requested': False}}] | Passed |
| queued/cancel | [{'frames': [], 'phase': 'cancelled', 'registers': {'executions': 0, 'queue': [], 'reported': ['cancelled'], 'result': [1, 2, 3], 'running': False, 'stop_requested': False}}] | [{'frames': [], 'phase': 'cancelled', 'registers': {'executions': 0, 'queue': [], 'reported': ['cancelled'], 'result': [1, 2, 3], 'running': False, 'stop_requested': False}}] | Passed |
| running/cancel | [{'frames': [], 'phase': 'cancelling', 'registers': {'executions': 0, 'queue': [], 'reported': [], 'result': [1, 2, 3], 'running': True, 'stop_requested': True}}] | [{'frames': [], 'phase': 'cancelling', 'registers': {'executions': 0, 'queue': [], 'reported': [], 'result': [1, 2, 3], 'running': True, 'stop_requested': True}}] | Passed |
| cancelling/stopped | [{'frames': [], 'phase': 'cancelled', 'registers': {'executions': 0, 'queue': [], 'reported': ['cancelled'], 'result': [1, 2, 3], 'running': False, 'stop_requested': True}}] | [{'frames': [], 'phase': 'cancelled', 'registers': {'executions': 0, 'queue': [], 'reported': ['cancelled'], 'result': [1, 2, 3], 'running': False, 'stop_requested': True}}] | Passed |
| cancelling/completed_first | [{'frames': [], 'phase': 'done', 'registers': {'executions': 0, 'queue': [], 'reported': [[1, 2, 3]], 'result': [1, 2, 3], 'running': True, 'stop_requested': True}}] | [{'frames': [], 'phase': 'done', 'registers': {'executions': 0, 'queue': [], 'reported': [[1, 2, 3]], 'result': [1, 2, 3], 'running': True, 'stop_requested': True}}] | Passed |
| running/completed | [{'frames': [], 'phase': 'running', 'registers': {'executions': 0, 'queue': [], 'reported': [], 'result': [1, 2, 3], 'running': True, 'stop_requested': False}}] | [{'frames': [], 'phase': 'done', 'registers': {'executions': 0, 'queue': [], 'reported': [[1, 2, 3]], 'result': [1, 2, 3], 'running': True, 'stop_requested': False}}] | Failed |
| done/cancel | [{'frames': [], 'phase': 'done', 'registers': {'executions': 0, 'queue': [], 'reported': ['already_done'], 'result': [1, 2, 3], 'running': False, 'stop_requested': False}}] | [{'frames': [], 'phase': 'done', 'registers': {'executions': 0, 'queue': [], 'reported': ['already_done'], 'result': [1, 2, 3], 'running': False, 'stop_requested': False}}] | Passed |
| cancelled/late_completion | [{'frames': [], 'phase': 'cancelled', 'registers': {'executions': 0, 'queue': [], 'reported': [], 'result': [], 'running': False, 'stop_requested': False}}] | [{'frames': [], 'phase': 'cancelled', 'registers': {'executions': 0, 'queue': [], 'reported': [], 'result': [], 'running': False, 'stop_requested': False}}] | Passed |
| idle/cancel | [{'frames': [], 'phase': 'idle', 'registers': {'executions': 0, 'queue': [], 'reported': ['unknown'], 'result': [1, 2, 3], 'running': False, 'stop_requested': False}}] | [{'frames': [], 'phase': 'idle', 'registers': {'executions': 0, 'queue': [], 'reported': ['unknown'], 'result': [1, 2, 3], 'running': False, 'stop_requested': False}}] | Passed |
| ordered trace 0 | [{'frames': [], 'phase': 'queued', 'registers': {'executions': 0, 'queue': [1], 'reported': [], 'result': [1, 2, 3], 'running': False, 'stop_requested': False}}, {'frames': [], 'phase': 'cancelled', 'registers': {'executions': 0, 'queue': [], 'reported': ['cancelled'], 'result': [1, 2, 3], 'running': False, 'stop_requested': False}}, {'frames': [], 'phase': 'cancelled', 'registers': {'executions': 0, 'queue': [], 'reported': ['cancelled'], 'result': [], 'running': False, 'stop_requested': False}}, {'frames': [], 'phase': 'cancelled', 'registers': {'executions': 0, 'queue': [], 'reported': ['cancelled'], 'result': [], 'running': False, 'stop_requested': False}}] | [{'frames': [], 'phase': 'queued', 'registers': {'executions': 0, 'queue': [1], 'reported': [], 'result': [1, 2, 3], 'running': False, 'stop_requested': False}}, {'frames': [], 'phase': 'cancelled', 'registers': {'executions': 0, 'queue': [], 'reported': ['cancelled'], 'result': [1, 2, 3], 'running': False, 'stop_requested': False}}, {'frames': [], 'phase': 'cancelled', 'registers': {'executions': 0, 'queue': [], 'reported': ['cancelled'], 'result': [], 'running': False, 'stop_requested': False}}, {'frames': [], 'phase': 'cancelled', 'registers': {'executions': 0, 'queue': [], 'reported': ['cancelled'], 'result': [], 'running': False, 'stop_requested': False}}] | Passed |
| ordered trace 3 | [{'frames': [], 'phase': 'running', 'registers': {'executions': 0, 'queue': [], 'reported': [], 'result': [1, 2, 3], 'running': True, 'stop_requested': False}}, {'frames': [], 'phase': 'cancelling', 'registers': {'executions': 0, 'queue': [], 'reported': [], 'result': [1, 2, 3], 'running': True, 'stop_requested': True}}, {'frames': [['reject', [1, 2, 3]]], 'phase': 'cancelling', 'registers': {'executions': 0, 'queue': [], 'reported': [], 'result': [1, 2, 3], 'running': True, 'stop_requested': True}}, {'frames': [['reject', [1, 2, 3]], ['reject', [1, 2, 3]]], 'phase': 'cancelling', 'registers': {'executions': 0, 'queue': [], 'reported': [], 'result': [1, 2, 3], 'running': True, 'stop_requested': True}}] | [{'frames': [], 'phase': 'done', 'registers': {'executions': 0, 'queue': [], 'reported': [[1, 2, 3]], 'result': [1, 2, 3], 'running': True, 'stop_requested': False}}, {'frames': [], 'phase': 'done', 'registers': {'executions': 0, 'queue': [], 'reported': [[1, 2, 3], 'already_done'], 'result': [1, 2, 3], 'running': True, 'stop_requested': False}}, {'frames': [], 'phase': 'done', 'registers': {'executions': 0, 'queue': [], 'reported': [[1, 2, 3], 'already_done', 'already_done'], 'result': [1, 2, 3], 'running': True, 'stop_requested': False}}, {'frames': [], 'phase': 'done', 'registers': {'executions': 0, 'queue': [], 'reported': [[1, 2, 3], 'already_done', 'already_done', 'already_done'], 'result': [1, 2, 3], 'running': True, 'stop_requested': False}}] | Failed |
| empty input | [] | [] | Passed |
| unknown event | [{'frames': [['reject', [1, 2, 3]]], 'phase': 'idle', 'registers': {'executions': 0, 'queue': [], 'reported': [], 'result': [1, 2, 3], 'running': False, 'stop_requested': False}}] | [{'frames': [['reject', [1, 2, 3]]], 'phase': 'idle', 'registers': {'executions': 0, 'queue': [], 'reported': [], 'result': [1, 2, 3], 'running': False, 'stop_requested': False}}] | Passed |
SHA-256 / d12d45060b3865e33975ec102f79896cc43bddef4b83ac29db4253070794307d
2 / The unsuccessful fix
Exit 1"""Failure Map reference implementation. Python standard library only."""
import json
N = 1
observations = []
def solve(phase, events, seed):
payload = list(range(seed, seed * 2 + 2))
r = {'queue': [seed] if phase=='queued' else [], 'running': phase in ('running','cancelling'), 'stop_requested': phase=='cancelling', 'result': payload[:], 'reported': [], 'executions': 0}
frames = []
observed = []
table = {('idle', 'submit'): ('queued', 'enqueue'), ('queued', 'dispatch'): ('running', 'start_command'), ('queued', 'cancel'): ('cancelled', 'remove_and_ack'), ('running', 'cancel'): ('cancelling', 'request_stop'), ('cancelling', 'stopped'): ('cancelled', 'ack_cancel'), ('cancelling', 'completed_first'): ('done', 'report_result'), ('running', 'completed'): ('done', 'ack_cancel'), ('done', 'cancel'): ('done', 'report_already_done'), ('cancelled', 'late_completion'): ('cancelled', 'discard_late_result'), ('idle', 'cancel'): ('idle', 'report_unknown')}
for event in events:
phase, action = table.get((phase, event), (phase, "reject"))
if action == 'enqueue':
r['queue'].append(seed)
elif action == 'start_command':
r['running']=True; r['executions']+=1
elif action == 'remove_and_ack':
r['queue']=[]; r['reported'].append('cancelled')
elif action == 'request_stop':
r['stop_requested']=True
elif action == 'ack_cancel':
r['running']=False; r['reported'].append('cancelled')
elif action == 'report_result':
r['reported'].append(r['result'][:])
elif action == 'report_already_done':
r['reported'].append('already_done')
elif action == 'discard_late_result':
r['result']=[]
elif action == 'report_unknown':
r['reported'].append('unknown')
elif action == 'execute':
r['running']=True; r['executions']+=1
elif action == 'ack_result':
r['reported'].append(r['result'][:])
elif action == 'report_success':
r['reported'].append('success')
elif action == 'enqueue_again':
r['queue'].append(seed)
elif action == 'ack_without_remove':
r['reported'].append('cancelled')
elif action == 'report_pending':
r['reported'].append('pending')
elif action == 'discard_result':
r['result']=[]
else:
if action not in ("wait", "ignore", "keep", "retain", "keep_peer", "keep_offer", "keep_hold", "keep_batch", "retain_staging", "keep_staging", "keep_local_owner", "keep_old_session", "keep_address", "keep_old_expiry", "ignore_conflict", "keep_service", "keep_subscription", "retain_shadow", "keep_live", "keep_suspicion", "keep_roles", "keep_staged"):
frames.append([action, payload[:]])
observed.append(json.loads(json.dumps({"phase": phase, "registers": r, "frames": frames})))
return observed
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
cases = {1: [('idle/submit', 'idle', ['submit'], [{'phase': 'queued', 'registers': {'queue': [1], 'running': False, 'stop_requested': False, 'result': [1, 2, 3], 'reported': [], 'executions': 0}, 'frames': []}]), ('queued/dispatch', 'queued', ['dispatch'], [{'phase': 'running', 'registers': {'queue': [1], 'running': True, 'stop_requested': False, 'result': [1, 2, 3], 'reported': [], 'executions': 1}, 'frames': []}]), ('queued/cancel', 'queued', ['cancel'], [{'phase': 'cancelled', 'registers': {'queue': [], 'running': False, 'stop_requested': False, 'result': [1, 2, 3], 'reported': ['cancelled'], 'executions': 0}, 'frames': []}]), ('running/cancel', 'running', ['cancel'], [{'phase': 'cancelling', 'registers': {'queue': [], 'running': True, 'stop_requested': True, 'result': [1, 2, 3], 'reported': [], 'executions': 0}, 'frames': []}]), ('cancelling/stopped', 'cancelling', ['stopped'], [{'phase': 'cancelled', 'registers': {'queue': [], 'running': False, 'stop_requested': True, 'result': [1, 2, 3], 'reported': ['cancelled'], 'executions': 0}, 'frames': []}]), ('cancelling/completed_first', 'cancelling', ['completed_first'], [{'phase': 'done', 'registers': {'queue': [], 'running': True, 'stop_requested': True, 'result': [1, 2, 3], 'reported': [[1, 2, 3]], 'executions': 0}, 'frames': []}]), ('running/completed', 'running', ['completed'], [{'phase': 'done', 'registers': {'queue': [], 'running': True, 'stop_requested': False, 'result': [1, 2, 3], 'reported': [[1, 2, 3]], 'executions': 0}, 'frames': []}]), ('done/cancel', 'done', ['cancel'], [{'phase': 'done', 'registers': {'queue': [], 'running': False, 'stop_requested': False, 'result': [1, 2, 3], 'reported': ['already_done'], 'executions': 0}, 'frames': []}]), ('cancelled/late_completion', 'cancelled', ['late_completion'], [{'phase': 'cancelled', 'registers': {'queue': [], 'running': False, 'stop_requested': False, 'result': [], 'reported': [], 'executions': 0}, 'frames': []}]), ('idle/cancel', 'idle', ['cancel'], [{'phase': 'idle', 'registers': {'queue': [], 'running': False, 'stop_requested': False, 'result': [1, 2, 3], 'reported': ['unknown'], 'executions': 0}, 'frames': []}]), ('ordered trace 0', 'idle', ['submit', 'cancel', 'late_completion', 'late_completion'], [{'phase': 'queued', 'registers': {'queue': [1], 'running': False, 'stop_requested': False, 'result': [1, 2, 3], 'reported': [], 'executions': 0}, 'frames': []}, {'phase': 'cancelled', 'registers': {'queue': [], 'running': False, 'stop_requested': False, 'result': [1, 2, 3], 'reported': ['cancelled'], 'executions': 0}, 'frames': []}, {'phase': 'cancelled', 'registers': {'queue': [], 'running': False, 'stop_requested': False, 'result': [], 'reported': ['cancelled'], 'executions': 0}, 'frames': []}, {'phase': 'cancelled', 'registers': {'queue': [], 'running': False, 'stop_requested': False, 'result': [], 'reported': ['cancelled'], 'executions': 0}, 'frames': []}]), ('ordered trace 3', 'running', ['completed', 'cancel', 'cancel', 'cancel'], [{'phase': 'done', 'registers': {'queue': [], 'running': True, 'stop_requested': False, 'result': [1, 2, 3], 'reported': [[1, 2, 3]], 'executions': 0}, 'frames': []}, {'phase': 'done', 'registers': {'queue': [], 'running': True, 'stop_requested': False, 'result': [1, 2, 3], 'reported': [[1, 2, 3], 'already_done'], 'executions': 0}, 'frames': []}, {'phase': 'done', 'registers': {'queue': [], 'running': True, 'stop_requested': False, 'result': [1, 2, 3], 'reported': [[1, 2, 3], 'already_done', 'already_done'], 'executions': 0}, 'frames': []}, {'phase': 'done', 'registers': {'queue': [], 'running': True, 'stop_requested': False, 'result': [1, 2, 3], 'reported': [[1, 2, 3], 'already_done', 'already_done', 'already_done'], 'executions': 0}, 'frames': []}]), ('empty input', 'idle', [], []), ('unknown event', 'idle', ['unsupported'], [{'phase': 'idle', 'registers': {'queue': [], 'running': False, 'stop_requested': False, 'result': [1, 2, 3], 'reported': [], 'executions': 0}, 'frames': [['reject', [1, 2, 3]]]}])], 2: [('idle/submit', 'idle', ['submit'], [{'phase': 'queued', 'registers': {'queue': [2], 'running': False, 'stop_requested': False, 'result': [2, 3, 4, 5], 'reported': [], 'executions': 0}, 'frames': []}]), ('queued/dispatch', 'queued', ['dispatch'], [{'phase': 'running', 'registers': {'queue': [2], 'running': True, 'stop_requested': False, 'result': [2, 3, 4, 5], 'reported': [], 'executions': 1}, 'frames': []}]), ('queued/cancel', 'queued', ['cancel'], [{'phase': 'cancelled', 'registers': {'queue': [], 'running': False, 'stop_requested': False, 'result': [2, 3, 4, 5], 'reported': ['cancelled'], 'executions': 0}, 'frames': []}]), ('running/cancel', 'running', ['cancel'], [{'phase': 'cancelling', 'registers': {'queue': [], 'running': True, 'stop_requested': True, 'result': [2, 3, 4, 5], 'reported': [], 'executions': 0}, 'frames': []}]), ('cancelling/stopped', 'cancelling', ['stopped'], [{'phase': 'cancelled', 'registers': {'queue': [], 'running': False, 'stop_requested': True, 'result': [2, 3, 4, 5], 'reported': ['cancelled'], 'executions': 0}, 'frames': []}]), ('cancelling/completed_first', 'cancelling', ['completed_first'], [{'phase': 'done', 'registers': {'queue': [], 'running': True, 'stop_requested': True, 'result': [2, 3, 4, 5], 'reported': [[2, 3, 4, 5]], 'executions': 0}, 'frames': []}]), ('running/completed', 'running', ['completed'], [{'phase': 'done', 'registers': {'queue': [], 'running': True, 'stop_requested': False, 'result': [2, 3, 4, 5], 'reported': [[2, 3, 4, 5]], 'executions': 0}, 'frames': []}]), ('done/cancel', 'done', ['cancel'], [{'phase': 'done', 'registers': {'queue': [], 'running': False, 'stop_requested': False, 'result': [2, 3, 4, 5], 'reported': ['already_done'], 'executions': 0}, 'frames': []}]), ('cancelled/late_completion', 'cancelled', ['late_completion'], [{'phase': 'cancelled', 'registers': {'queue': [], 'running': False, 'stop_requested': False, 'result': [], 'reported': [], 'executions': 0}, 'frames': []}]), ('idle/cancel', 'idle', ['cancel'], [{'phase': 'idle', 'registers': {'queue': [], 'running': False, 'stop_requested': False, 'result': [2, 3, 4, 5], 'reported': ['unknown'], 'executions': 0}, 'frames': []}]), ('ordered trace 0', 'idle', ['submit', 'cancel', 'late_completion', 'late_completion', 'late_completion'], [{'phase': 'queued', 'registers': {'queue': [2], 'running': False, 'stop_requested': False, 'result': [2, 3, 4, 5], 'reported': [], 'executions': 0}, 'frames': []}, {'phase': 'cancelled', 'registers': {'queue': [], 'running': False, 'stop_requested': False, 'result': [2, 3, 4, 5], 'reported': ['cancelled'], 'executions': 0}, 'frames': []}, {'phase': 'cancelled', 'registers': {'queue': [], 'running': False, 'stop_requested': False, 'result': [], 'reported': ['cancelled'], 'executions': 0}, 'frames': []}, {'phase': 'cancelled', 'registers': {'queue': [], 'running': False, 'stop_requested': False, 'result': [], 'reported': ['cancelled'], 'executions': 0}, 'frames': []}, {'phase': 'cancelled', 'registers': {'queue': [], 'running': False, 'stop_requested': False, 'result': [], 'reported': ['cancelled'], 'executions': 0}, 'frames': []}]), ('ordered trace 3', 'running', ['completed', 'cancel', 'cancel', 'cancel', 'cancel'], [{'phase': 'done', 'registers': {'queue': [], 'running': True, 'stop_requested': False, 'result': [2, 3, 4, 5], 'reported': [[2, 3, 4, 5]], 'executions': 0}, 'frames': []}, {'phase': 'done', 'registers': {'queue': [], 'running': True, 'stop_requested': False, 'result': [2, 3, 4, 5], 'reported': [[2, 3, 4, 5], 'already_done'], 'executions': 0}, 'frames': []}, {'phase': 'done', 'registers': {'queue': [], 'running': True, 'stop_requested': False, 'result': [2, 3, 4, 5], 'reported': [[2, 3, 4, 5], 'already_done', 'already_done'], 'executions': 0}, 'frames': []}, {'phase': 'done', 'registers': {'queue': [], 'running': True, 'stop_requested': False, 'result': [2, 3, 4, 5], 'reported': [[2, 3, 4, 5], 'already_done', 'already_done', 'already_done'], 'executions': 0}, 'frames': []}, {'phase': 'done', 'registers': {'queue': [], 'running': True, 'stop_requested': False, 'result': [2, 3, 4, 5], 'reported': [[2, 3, 4, 5], 'already_done', 'already_done', 'already_done', 'already_done'], 'executions': 0}, 'frames': []}]), ('empty input', 'idle', [], []), ('unknown event', 'idle', ['unsupported'], [{'phase': 'idle', 'registers': {'queue': [], 'running': False, 'stop_requested': False, 'result': [2, 3, 4, 5], 'reported': [], 'executions': 0}, 'frames': [['reject', [2, 3, 4, 5]]]}])], 3: [('idle/submit', 'idle', ['submit'], [{'phase': 'queued', 'registers': {'queue': [3], 'running': False, 'stop_requested': False, 'result': [3, 4, 5, 6, 7], 'reported': [], 'executions': 0}, 'frames': []}]), ('queued/dispatch', 'queued', ['dispatch'], [{'phase': 'running', 'registers': {'queue': [3], 'running': True, 'stop_requested': False, 'result': [3, 4, 5, 6, 7], 'reported': [], 'executions': 1}, 'frames': []}]), ('queued/cancel', 'queued', ['cancel'], [{'phase': 'cancelled', 'registers': {'queue': [], 'running': False, 'stop_requested': False, 'result': [3, 4, 5, 6, 7], 'reported': ['cancelled'], 'executions': 0}, 'frames': []}]), ('running/cancel', 'running', ['cancel'], [{'phase': 'cancelling', 'registers': {'queue': [], 'running': True, 'stop_requested': True, 'result': [3, 4, 5, 6, 7], 'reported': [], 'executions': 0}, 'frames': []}]), ('cancelling/stopped', 'cancelling', ['stopped'], [{'phase': 'cancelled', 'registers': {'queue': [], 'running': False, 'stop_requested': True, 'result': [3, 4, 5, 6, 7], 'reported': ['cancelled'], 'executions': 0}, 'frames': []}]), ('cancelling/completed_first', 'cancelling', ['completed_first'], [{'phase': 'done', 'registers': {'queue': [], 'running': True, 'stop_requested': True, 'result': [3, 4, 5, 6, 7], 'reported': [[3, 4, 5, 6, 7]], 'executions': 0}, 'frames': []}]), ('running/completed', 'running', ['completed'], [{'phase': 'done', 'registers': {'queue': [], 'running': True, 'stop_requested': False, 'result': [3, 4, 5, 6, 7], 'reported': [[3, 4, 5, 6, 7]], 'executions': 0}, 'frames': []}]), ('done/cancel', 'done', ['cancel'], [{'phase': 'done', 'registers': {'queue': [], 'running': False, 'stop_requested': False, 'result': [3, 4, 5, 6, 7], 'reported': ['already_done'], 'executions': 0}, 'frames': []}]), ('cancelled/late_completion', 'cancelled', ['late_completion'], [{'phase': 'cancelled', 'registers': {'queue': [], 'running': False, 'stop_requested': False, 'result': [], 'reported': [], 'executions': 0}, 'frames': []}]), ('idle/cancel', 'idle', ['cancel'], [{'phase': 'idle', 'registers': {'queue': [], 'running': False, 'stop_requested': False, 'result': [3, 4, 5, 6, 7], 'reported': ['unknown'], 'executions': 0}, 'frames': []}]), ('ordered trace 0', 'idle', ['submit', 'cancel', 'late_completion', 'late_completion', 'late_completion', 'late_completion'], [{'phase': 'queued', 'registers': {'queue': [3], 'running': False, 'stop_requested': False, 'result': [3, 4, 5, 6, 7], 'reported': [], 'executions': 0}, 'frames': []}, {'phase': 'cancelled', 'registers': {'queue': [], 'running': False, 'stop_requested': False, 'result': [3, 4, 5, 6, 7], 'reported': ['cancelled'], 'executions': 0}, 'frames': []}, {'phase': 'cancelled', 'registers': {'queue': [], 'running': False, 'stop_requested': False, 'result': [], 'reported': ['cancelled'], 'executions': 0}, 'frames': []}, {'phase': 'cancelled', 'registers': {'queue': [], 'running': False, 'stop_requested': False, 'result': [], 'reported': ['cancelled'], 'executions': 0}, 'frames': []}, {'phase': 'cancelled', 'registers': {'queue': [], 'running': False, 'stop_requested': False, 'result': [], 'reported': ['cancelled'], 'executions': 0}, 'frames': []}, {'phase': 'cancelled', 'registers': {'queue': [], 'running': False, 'stop_requested': False, 'result': [], 'reported': ['cancelled'], 'executions': 0}, 'frames': []}]), ('ordered trace 3', 'running', ['completed', 'cancel', 'cancel', 'cancel', 'cancel', 'cancel'], [{'phase': 'done', 'registers': {'queue': [], 'running': True, 'stop_requested': False, 'result': [3, 4, 5, 6, 7], 'reported': [[3, 4, 5, 6, 7]], 'executions': 0}, 'frames': []}, {'phase': 'done', 'registers': {'queue': [], 'running': True, 'stop_requested': False, 'result': [3, 4, 5, 6, 7], 'reported': [[3, 4, 5, 6, 7], 'already_done'], 'executions': 0}, 'frames': []}, {'phase': 'done', 'registers': {'queue': [], 'running': True, 'stop_requested': False, 'result': [3, 4, 5, 6, 7], 'reported': [[3, 4, 5, 6, 7], 'already_done', 'already_done'], 'executions': 0}, 'frames': []}, {'phase': 'done', 'registers': {'queue': [], 'running': True, 'stop_requested': False, 'result': [3, 4, 5, 6, 7], 'reported': [[3, 4, 5, 6, 7], 'already_done', 'already_done', 'already_done'], 'executions': 0}, 'frames': []}, {'phase': 'done', 'registers': {'queue': [], 'running': True, 'stop_requested': False, 'result': [3, 4, 5, 6, 7], 'reported': [[3, 4, 5, 6, 7], 'already_done', 'already_done', 'already_done', 'already_done'], 'executions': 0}, 'frames': []}, {'phase': 'done', 'registers': {'queue': [], 'running': True, 'stop_requested': False, 'result': [3, 4, 5, 6, 7], 'reported': [[3, 4, 5, 6, 7], 'already_done', 'already_done', 'already_done', 'already_done', 'already_done'], 'executions': 0}, 'frames': []}]), ('empty input', 'idle', [], []), ('unknown event', 'idle', ['unsupported'], [{'phase': 'idle', 'registers': {'queue': [], 'running': False, 'stop_requested': False, 'result': [3, 4, 5, 6, 7], 'reported': [], 'executions': 0}, 'frames': [['reject', [3, 4, 5, 6, 7]]]}])], 4: [('idle/submit', 'idle', ['submit'], [{'phase': 'queued', 'registers': {'queue': [4], 'running': False, 'stop_requested': False, 'result': [4, 5, 6, 7, 8, 9], 'reported': [], 'executions': 0}, 'frames': []}]), ('queued/dispatch', 'queued', ['dispatch'], [{'phase': 'running', 'registers': {'queue': [4], 'running': True, 'stop_requested': False, 'result': [4, 5, 6, 7, 8, 9], 'reported': [], 'executions': 1}, 'frames': []}]), ('queued/cancel', 'queued', ['cancel'], [{'phase': 'cancelled', 'registers': {'queue': [], 'running': False, 'stop_requested': False, 'result': [4, 5, 6, 7, 8, 9], 'reported': ['cancelled'], 'executions': 0}, 'frames': []}]), ('running/cancel', 'running', ['cancel'], [{'phase': 'cancelling', 'registers': {'queue': [], 'running': True, 'stop_requested': True, 'result': [4, 5, 6, 7, 8, 9], 'reported': [], 'executions': 0}, 'frames': []}]), ('cancelling/stopped', 'cancelling', ['stopped'], [{'phase': 'cancelled', 'registers': {'queue': [], 'running': False, 'stop_requested': True, 'result': [4, 5, 6, 7, 8, 9], 'reported': ['cancelled'], 'executions': 0}, 'frames': []}]), ('cancelling/completed_first', 'cancelling', ['completed_first'], [{'phase': 'done', 'registers': {'queue': [], 'running': True, 'stop_requested': True, 'result': [4, 5, 6, 7, 8, 9], 'reported': [[4, 5, 6, 7, 8, 9]], 'executions': 0}, 'frames': []}]), ('running/completed', 'running', ['completed'], [{'phase': 'done', 'registers': {'queue': [], 'running': True, 'stop_requested': False, 'result': [4, 5, 6, 7, 8, 9], 'reported': [[4, 5, 6, 7, 8, 9]], 'executions': 0}, 'frames': []}]), ('done/cancel', 'done', ['cancel'], [{'phase': 'done', 'registers': {'queue': [], 'running': False, 'stop_requested': False, 'result': [4, 5, 6, 7, 8, 9], 'reported': ['already_done'], 'executions': 0}, 'frames': []}]), ('cancelled/late_completion', 'cancelled', ['late_completion'], [{'phase': 'cancelled', 'registers': {'queue': [], 'running': False, 'stop_requested': False, 'result': [], 'reported': [], 'executions': 0}, 'frames': []}]), ('idle/cancel', 'idle', ['cancel'], [{'phase': 'idle', 'registers': {'queue': [], 'running': False, 'stop_requested': False, 'result': [4, 5, 6, 7, 8, 9], 'reported': ['unknown'], 'executions': 0}, 'frames': []}]), ('ordered trace 0', 'idle', ['submit', 'cancel', 'late_completion', 'late_completion', 'late_completion', 'late_completion', 'late_completion'], [{'phase': 'queued', 'registers': {'queue': [4], 'running': False, 'stop_requested': False, 'result': [4, 5, 6, 7, 8, 9], 'reported': [], 'executions': 0}, 'frames': []}, {'phase': 'cancelled', 'registers': {'queue': [], 'running': False, 'stop_requested': False, 'result': [4, 5, 6, 7, 8, 9], 'reported': ['cancelled'], 'executions': 0}, 'frames': []}, {'phase': 'cancelled', 'registers': {'queue': [], 'running': False, 'stop_requested': False, 'result': [], 'reported': ['cancelled'], 'executions': 0}, 'frames': []}, {'phase': 'cancelled', 'registers': {'queue': [], 'running': False, 'stop_requested': False, 'result': [], 'reported': ['cancelled'], 'executions': 0}, 'frames': []}, {'phase': 'cancelled', 'registers': {'queue': [], 'running': False, 'stop_requested': False, 'result': [], 'reported': ['cancelled'], 'executions': 0}, 'frames': []}, {'phase': 'cancelled', 'registers': {'queue': [], 'running': False, 'stop_requested': False, 'result': [], 'reported': ['cancelled'], 'executions': 0}, 'frames': []}, {'phase': 'cancelled', 'registers': {'queue': [], 'running': False, 'stop_requested': False, 'result': [], 'reported': ['cancelled'], 'executions': 0}, 'frames': []}]), ('ordered trace 3', 'running', ['completed', 'cancel', 'cancel', 'cancel', 'cancel', 'cancel', 'cancel'], [{'phase': 'done', 'registers': {'queue': [], 'running': True, 'stop_requested': False, 'result': [4, 5, 6, 7, 8, 9], 'reported': [[4, 5, 6, 7, 8, 9]], 'executions': 0}, 'frames': []}, {'phase': 'done', 'registers': {'queue': [], 'running': True, 'stop_requested': False, 'result': [4, 5, 6, 7, 8, 9], 'reported': [[4, 5, 6, 7, 8, 9], 'already_done'], 'executions': 0}, 'frames': []}, {'phase': 'done', 'registers': {'queue': [], 'running': True, 'stop_requested': False, 'result': [4, 5, 6, 7, 8, 9], 'reported': [[4, 5, 6, 7, 8, 9], 'already_done', 'already_done'], 'executions': 0}, 'frames': []}, {'phase': 'done', 'registers': {'queue': [], 'running': True, 'stop_requested': False, 'result': [4, 5, 6, 7, 8, 9], 'reported': [[4, 5, 6, 7, 8, 9], 'already_done', 'already_done', 'already_done'], 'executions': 0}, 'frames': []}, {'phase': 'done', 'registers': {'queue': [], 'running': True, 'stop_requested': False, 'result': [4, 5, 6, 7, 8, 9], 'reported': [[4, 5, 6, 7, 8, 9], 'already_done', 'already_done', 'already_done', 'already_done'], 'executions': 0}, 'frames': []}, {'phase': 'done', 'registers': {'queue': [], 'running': True, 'stop_requested': False, 'result': [4, 5, 6, 7, 8, 9], 'reported': [[4, 5, 6, 7, 8, 9], 'already_done', 'already_done', 'already_done', 'already_done', 'already_done'], 'executions': 0}, 'frames': []}, {'phase': 'done', 'registers': {'queue': [], 'running': True, 'stop_requested': False, 'result': [4, 5, 6, 7, 8, 9], 'reported': [[4, 5, 6, 7, 8, 9], 'already_done', 'already_done', 'already_done', 'already_done', 'already_done', 'already_done'], 'executions': 0}, 'frames': []}]), ('empty input', 'idle', [], []), ('unknown event', 'idle', ['unsupported'], [{'phase': 'idle', 'registers': {'queue': [], 'running': False, 'stop_requested': False, 'result': [4, 5, 6, 7, 8, 9], 'reported': [], 'executions': 0}, 'frames': [['reject', [4, 5, 6, 7, 8, 9]]]}])], 5: [('idle/submit', 'idle', ['submit'], [{'phase': 'queued', 'registers': {'queue': [5], 'running': False, 'stop_requested': False, 'result': [5, 6, 7, 8, 9, 10, 11], 'reported': [], 'executions': 0}, 'frames': []}]), ('queued/dispatch', 'queued', ['dispatch'], [{'phase': 'running', 'registers': {'queue': [5], 'running': True, 'stop_requested': False, 'result': [5, 6, 7, 8, 9, 10, 11], 'reported': [], 'executions': 1}, 'frames': []}]), ('queued/cancel', 'queued', ['cancel'], [{'phase': 'cancelled', 'registers': {'queue': [], 'running': False, 'stop_requested': False, 'result': [5, 6, 7, 8, 9, 10, 11], 'reported': ['cancelled'], 'executions': 0}, 'frames': []}]), ('running/cancel', 'running', ['cancel'], [{'phase': 'cancelling', 'registers': {'queue': [], 'running': True, 'stop_requested': True, 'result': [5, 6, 7, 8, 9, 10, 11], 'reported': [], 'executions': 0}, 'frames': []}]), ('cancelling/stopped', 'cancelling', ['stopped'], [{'phase': 'cancelled', 'registers': {'queue': [], 'running': False, 'stop_requested': True, 'result': [5, 6, 7, 8, 9, 10, 11], 'reported': ['cancelled'], 'executions': 0}, 'frames': []}]), ('cancelling/completed_first', 'cancelling', ['completed_first'], [{'phase': 'done', 'registers': {'queue': [], 'running': True, 'stop_requested': True, 'result': [5, 6, 7, 8, 9, 10, 11], 'reported': [[5, 6, 7, 8, 9, 10, 11]], 'executions': 0}, 'frames': []}]), ('running/completed', 'running', ['completed'], [{'phase': 'done', 'registers': {'queue': [], 'running': True, 'stop_requested': False, 'result': [5, 6, 7, 8, 9, 10, 11], 'reported': [[5, 6, 7, 8, 9, 10, 11]], 'executions': 0}, 'frames': []}]), ('done/cancel', 'done', ['cancel'], [{'phase': 'done', 'registers': {'queue': [], 'running': False, 'stop_requested': False, 'result': [5, 6, 7, 8, 9, 10, 11], 'reported': ['already_done'], 'executions': 0}, 'frames': []}]), ('cancelled/late_completion', 'cancelled', ['late_completion'], [{'phase': 'cancelled', 'registers': {'queue': [], 'running': False, 'stop_requested': False, 'result': [], 'reported': [], 'executions': 0}, 'frames': []}]), ('idle/cancel', 'idle', ['cancel'], [{'phase': 'idle', 'registers': {'queue': [], 'running': False, 'stop_requested': False, 'result': [5, 6, 7, 8, 9, 10, 11], 'reported': ['unknown'], 'executions': 0}, 'frames': []}]), ('ordered trace 0', 'idle', ['submit', 'cancel', 'late_completion', 'late_completion', 'late_completion', 'late_completion', 'late_completion', 'late_completion'], [{'phase': 'queued', 'registers': {'queue': [5], 'running': False, 'stop_requested': False, 'result': [5, 6, 7, 8, 9, 10, 11], 'reported': [], 'executions': 0}, 'frames': []}, {'phase': 'cancelled', 'registers': {'queue': [], 'running': False, 'stop_requested': False, 'result': [5, 6, 7, 8, 9, 10, 11], 'reported': ['cancelled'], 'executions': 0}, 'frames': []}, {'phase': 'cancelled', 'registers': {'queue': [], 'running': False, 'stop_requested': False, 'result': [], 'reported': ['cancelled'], 'executions': 0}, 'frames': []}, {'phase': 'cancelled', 'registers': {'queue': [], 'running': False, 'stop_requested': False, 'result': [], 'reported': ['cancelled'], 'executions': 0}, 'frames': []}, {'phase': 'cancelled', 'registers': {'queue': [], 'running': False, 'stop_requested': False, 'result': [], 'reported': ['cancelled'], 'executions': 0}, 'frames': []}, {'phase': 'cancelled', 'registers': {'queue': [], 'running': False, 'stop_requested': False, 'result': [], 'reported': ['cancelled'], 'executions': 0}, 'frames': []}, {'phase': 'cancelled', 'registers': {'queue': [], 'running': False, 'stop_requested': False, 'result': [], 'reported': ['cancelled'], 'executions': 0}, 'frames': []}, {'phase': 'cancelled', 'registers': {'queue': [], 'running': False, 'stop_requested': False, 'result': [], 'reported': ['cancelled'], 'executions': 0}, 'frames': []}]), ('ordered trace 3', 'running', ['completed', 'cancel', 'cancel', 'cancel', 'cancel', 'cancel', 'cancel', 'cancel'], [{'phase': 'done', 'registers': {'queue': [], 'running': True, 'stop_requested': False, 'result': [5, 6, 7, 8, 9, 10, 11], 'reported': [[5, 6, 7, 8, 9, 10, 11]], 'executions': 0}, 'frames': []}, {'phase': 'done', 'registers': {'queue': [], 'running': True, 'stop_requested': False, 'result': [5, 6, 7, 8, 9, 10, 11], 'reported': [[5, 6, 7, 8, 9, 10, 11], 'already_done'], 'executions': 0}, 'frames': []}, {'phase': 'done', 'registers': {'queue': [], 'running': True, 'stop_requested': False, 'result': [5, 6, 7, 8, 9, 10, 11], 'reported': [[5, 6, 7, 8, 9, 10, 11], 'already_done', 'already_done'], 'executions': 0}, 'frames': []}, {'phase': 'done', 'registers': {'queue': [], 'running': True, 'stop_requested': False, 'result': [5, 6, 7, 8, 9, 10, 11], 'reported': [[5, 6, 7, 8, 9, 10, 11], 'already_done', 'already_done', 'already_done'], 'executions': 0}, 'frames': []}, {'phase': 'done', 'registers': {'queue': [], 'running': True, 'stop_requested': False, 'result': [5, 6, 7, 8, 9, 10, 11], 'reported': [[5, 6, 7, 8, 9, 10, 11], 'already_done', 'already_done', 'already_done', 'already_done'], 'executions': 0}, 'frames': []}, {'phase': 'done', 'registers': {'queue': [], 'running': True, 'stop_requested': False, 'result': [5, 6, 7, 8, 9, 10, 11], 'reported': [[5, 6, 7, 8, 9, 10, 11], 'already_done', 'already_done', 'already_done', 'already_done', 'already_done'], 'executions': 0}, 'frames': []}, {'phase': 'done', 'registers': {'queue': [], 'running': True, 'stop_requested': False, 'result': [5, 6, 7, 8, 9, 10, 11], 'reported': [[5, 6, 7, 8, 9, 10, 11], 'already_done', 'already_done', 'already_done', 'already_done', 'already_done', 'already_done'], 'executions': 0}, 'frames': []}, {'phase': 'done', 'registers': {'queue': [], 'running': True, 'stop_requested': False, 'result': [5, 6, 7, 8, 9, 10, 11], 'reported': [[5, 6, 7, 8, 9, 10, 11], 'already_done', 'already_done', 'already_done', 'already_done', 'already_done', 'already_done', 'already_done'], 'executions': 0}, 'frames': []}]), ('empty input', 'idle', [], []), ('unknown event', 'idle', ['unsupported'], [{'phase': 'idle', 'registers': {'queue': [], 'running': False, 'stop_requested': False, 'result': [5, 6, 7, 8, 9, 10, 11], 'reported': [], 'executions': 0}, 'frames': [['reject', [5, 6, 7, 8, 9, 10, 11]]]}])]}
for label, phase, events, expected in cases[N]:
check(label, solve(phase, events, N), 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 |
|---|---|---|---|
| idle/submit | [{'frames': [], 'phase': 'queued', 'registers': {'executions': 0, 'queue': [1], 'reported': [], 'result': [1, 2, 3], 'running': False, 'stop_requested': False}}] | [{'frames': [], 'phase': 'queued', 'registers': {'executions': 0, 'queue': [1], 'reported': [], 'result': [1, 2, 3], 'running': False, 'stop_requested': False}}] | Passed |
| queued/dispatch | [{'frames': [], 'phase': 'running', 'registers': {'executions': 1, 'queue': [1], 'reported': [], 'result': [1, 2, 3], 'running': True, 'stop_requested': False}}] | [{'frames': [], 'phase': 'running', 'registers': {'executions': 1, 'queue': [1], 'reported': [], 'result': [1, 2, 3], 'running': True, 'stop_requested': False}}] | Passed |
| queued/cancel | [{'frames': [], 'phase': 'cancelled', 'registers': {'executions': 0, 'queue': [], 'reported': ['cancelled'], 'result': [1, 2, 3], 'running': False, 'stop_requested': False}}] | [{'frames': [], 'phase': 'cancelled', 'registers': {'executions': 0, 'queue': [], 'reported': ['cancelled'], 'result': [1, 2, 3], 'running': False, 'stop_requested': False}}] | Passed |
| running/cancel | [{'frames': [], 'phase': 'cancelling', 'registers': {'executions': 0, 'queue': [], 'reported': [], 'result': [1, 2, 3], 'running': True, 'stop_requested': True}}] | [{'frames': [], 'phase': 'cancelling', 'registers': {'executions': 0, 'queue': [], 'reported': [], 'result': [1, 2, 3], 'running': True, 'stop_requested': True}}] | Passed |
| cancelling/stopped | [{'frames': [], 'phase': 'cancelled', 'registers': {'executions': 0, 'queue': [], 'reported': ['cancelled'], 'result': [1, 2, 3], 'running': False, 'stop_requested': True}}] | [{'frames': [], 'phase': 'cancelled', 'registers': {'executions': 0, 'queue': [], 'reported': ['cancelled'], 'result': [1, 2, 3], 'running': False, 'stop_requested': True}}] | Passed |
| cancelling/completed_first | [{'frames': [], 'phase': 'done', 'registers': {'executions': 0, 'queue': [], 'reported': [[1, 2, 3]], 'result': [1, 2, 3], 'running': True, 'stop_requested': True}}] | [{'frames': [], 'phase': 'done', 'registers': {'executions': 0, 'queue': [], 'reported': [[1, 2, 3]], 'result': [1, 2, 3], 'running': True, 'stop_requested': True}}] | Passed |
| running/completed | [{'frames': [], 'phase': 'done', 'registers': {'executions': 0, 'queue': [], 'reported': ['cancelled'], 'result': [1, 2, 3], 'running': False, 'stop_requested': False}}] | [{'frames': [], 'phase': 'done', 'registers': {'executions': 0, 'queue': [], 'reported': [[1, 2, 3]], 'result': [1, 2, 3], 'running': True, 'stop_requested': False}}] | Failed |
| done/cancel | [{'frames': [], 'phase': 'done', 'registers': {'executions': 0, 'queue': [], 'reported': ['already_done'], 'result': [1, 2, 3], 'running': False, 'stop_requested': False}}] | [{'frames': [], 'phase': 'done', 'registers': {'executions': 0, 'queue': [], 'reported': ['already_done'], 'result': [1, 2, 3], 'running': False, 'stop_requested': False}}] | Passed |
| cancelled/late_completion | [{'frames': [], 'phase': 'cancelled', 'registers': {'executions': 0, 'queue': [], 'reported': [], 'result': [], 'running': False, 'stop_requested': False}}] | [{'frames': [], 'phase': 'cancelled', 'registers': {'executions': 0, 'queue': [], 'reported': [], 'result': [], 'running': False, 'stop_requested': False}}] | Passed |
| idle/cancel | [{'frames': [], 'phase': 'idle', 'registers': {'executions': 0, 'queue': [], 'reported': ['unknown'], 'result': [1, 2, 3], 'running': False, 'stop_requested': False}}] | [{'frames': [], 'phase': 'idle', 'registers': {'executions': 0, 'queue': [], 'reported': ['unknown'], 'result': [1, 2, 3], 'running': False, 'stop_requested': False}}] | Passed |
| ordered trace 0 | [{'frames': [], 'phase': 'queued', 'registers': {'executions': 0, 'queue': [1], 'reported': [], 'result': [1, 2, 3], 'running': False, 'stop_requested': False}}, {'frames': [], 'phase': 'cancelled', 'registers': {'executions': 0, 'queue': [], 'reported': ['cancelled'], 'result': [1, 2, 3], 'running': False, 'stop_requested': False}}, {'frames': [], 'phase': 'cancelled', 'registers': {'executions': 0, 'queue': [], 'reported': ['cancelled'], 'result': [], 'running': False, 'stop_requested': False}}, {'frames': [], 'phase': 'cancelled', 'registers': {'executions': 0, 'queue': [], 'reported': ['cancelled'], 'result': [], 'running': False, 'stop_requested': False}}] | [{'frames': [], 'phase': 'queued', 'registers': {'executions': 0, 'queue': [1], 'reported': [], 'result': [1, 2, 3], 'running': False, 'stop_requested': False}}, {'frames': [], 'phase': 'cancelled', 'registers': {'executions': 0, 'queue': [], 'reported': ['cancelled'], 'result': [1, 2, 3], 'running': False, 'stop_requested': False}}, {'frames': [], 'phase': 'cancelled', 'registers': {'executions': 0, 'queue': [], 'reported': ['cancelled'], 'result': [], 'running': False, 'stop_requested': False}}, {'frames': [], 'phase': 'cancelled', 'registers': {'executions': 0, 'queue': [], 'reported': ['cancelled'], 'result': [], 'running': False, 'stop_requested': False}}] | Passed |
| ordered trace 3 | [{'frames': [], 'phase': 'done', 'registers': {'executions': 0, 'queue': [], 'reported': ['cancelled'], 'result': [1, 2, 3], 'running': False, 'stop_requested': False}}, {'frames': [], 'phase': 'done', 'registers': {'executions': 0, 'queue': [], 'reported': ['cancelled', 'already_done'], 'result': [1, 2, 3], 'running': False, 'stop_requested': False}}, {'frames': [], 'phase': 'done', 'registers': {'executions': 0, 'queue': [], 'reported': ['cancelled', 'already_done', 'already_done'], 'result': [1, 2, 3], 'running': False, 'stop_requested': False}}, {'frames': [], 'phase': 'done', 'registers': {'executions': 0, 'queue': [], 'reported': ['cancelled', 'already_done', 'already_done', 'already_done'], 'result': [1, 2, 3], 'running': False, 'stop_requested': False}}] | [{'frames': [], 'phase': 'done', 'registers': {'executions': 0, 'queue': [], 'reported': [[1, 2, 3]], 'result': [1, 2, 3], 'running': True, 'stop_requested': False}}, {'frames': [], 'phase': 'done', 'registers': {'executions': 0, 'queue': [], 'reported': [[1, 2, 3], 'already_done'], 'result': [1, 2, 3], 'running': True, 'stop_requested': False}}, {'frames': [], 'phase': 'done', 'registers': {'executions': 0, 'queue': [], 'reported': [[1, 2, 3], 'already_done', 'already_done'], 'result': [1, 2, 3], 'running': True, 'stop_requested': False}}, {'frames': [], 'phase': 'done', 'registers': {'executions': 0, 'queue': [], 'reported': [[1, 2, 3], 'already_done', 'already_done', 'already_done'], 'result': [1, 2, 3], 'running': True, 'stop_requested': False}}] | Failed |
| empty input | [] | [] | Passed |
| unknown event | [{'frames': [['reject', [1, 2, 3]]], 'phase': 'idle', 'registers': {'executions': 0, 'queue': [], 'reported': [], 'result': [1, 2, 3], 'running': False, 'stop_requested': False}}] | [{'frames': [['reject', [1, 2, 3]]], 'phase': 'idle', 'registers': {'executions': 0, 'queue': [], 'reported': [], 'result': [1, 2, 3], 'running': False, 'stop_requested': False}}] | Passed |
SHA-256 / 167161a3101afecd7073fe103c8a5330712981eb18372efd3e76dae8a214615e
3 / The verified repair
Exit 0"""Failure Map reference implementation. Python standard library only."""
import json
N = 1
observations = []
def solve(phase, events, seed):
payload = list(range(seed, seed * 2 + 2))
r = {'queue': [seed] if phase=='queued' else [], 'running': phase in ('running','cancelling'), 'stop_requested': phase=='cancelling', 'result': payload[:], 'reported': [], 'executions': 0}
frames = []
observed = []
table = {('idle', 'submit'): ('queued', 'enqueue'), ('queued', 'dispatch'): ('running', 'start_command'), ('queued', 'cancel'): ('cancelled', 'remove_and_ack'), ('running', 'cancel'): ('cancelling', 'request_stop'), ('cancelling', 'stopped'): ('cancelled', 'ack_cancel'), ('cancelling', 'completed_first'): ('done', 'report_result'), ('running', 'completed'): ('done', 'report_result'), ('done', 'cancel'): ('done', 'report_already_done'), ('cancelled', 'late_completion'): ('cancelled', 'discard_late_result'), ('idle', 'cancel'): ('idle', 'report_unknown')}
for event in events:
phase, action = table.get((phase, event), (phase, "reject"))
if action == 'enqueue':
r['queue'].append(seed)
elif action == 'start_command':
r['running']=True; r['executions']+=1
elif action == 'remove_and_ack':
r['queue']=[]; r['reported'].append('cancelled')
elif action == 'request_stop':
r['stop_requested']=True
elif action == 'ack_cancel':
r['running']=False; r['reported'].append('cancelled')
elif action == 'report_result':
r['reported'].append(r['result'][:])
elif action == 'report_already_done':
r['reported'].append('already_done')
elif action == 'discard_late_result':
r['result']=[]
elif action == 'report_unknown':
r['reported'].append('unknown')
elif action == 'execute':
r['running']=True; r['executions']+=1
elif action == 'ack_result':
r['reported'].append(r['result'][:])
elif action == 'report_success':
r['reported'].append('success')
elif action == 'enqueue_again':
r['queue'].append(seed)
elif action == 'ack_without_remove':
r['reported'].append('cancelled')
elif action == 'report_pending':
r['reported'].append('pending')
elif action == 'discard_result':
r['result']=[]
else:
if action not in ("wait", "ignore", "keep", "retain", "keep_peer", "keep_offer", "keep_hold", "keep_batch", "retain_staging", "keep_staging", "keep_local_owner", "keep_old_session", "keep_address", "keep_old_expiry", "ignore_conflict", "keep_service", "keep_subscription", "retain_shadow", "keep_live", "keep_suspicion", "keep_roles", "keep_staged"):
frames.append([action, payload[:]])
observed.append(json.loads(json.dumps({"phase": phase, "registers": r, "frames": frames})))
return observed
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
cases = {1: [('idle/submit', 'idle', ['submit'], [{'phase': 'queued', 'registers': {'queue': [1], 'running': False, 'stop_requested': False, 'result': [1, 2, 3], 'reported': [], 'executions': 0}, 'frames': []}]), ('queued/dispatch', 'queued', ['dispatch'], [{'phase': 'running', 'registers': {'queue': [1], 'running': True, 'stop_requested': False, 'result': [1, 2, 3], 'reported': [], 'executions': 1}, 'frames': []}]), ('queued/cancel', 'queued', ['cancel'], [{'phase': 'cancelled', 'registers': {'queue': [], 'running': False, 'stop_requested': False, 'result': [1, 2, 3], 'reported': ['cancelled'], 'executions': 0}, 'frames': []}]), ('running/cancel', 'running', ['cancel'], [{'phase': 'cancelling', 'registers': {'queue': [], 'running': True, 'stop_requested': True, 'result': [1, 2, 3], 'reported': [], 'executions': 0}, 'frames': []}]), ('cancelling/stopped', 'cancelling', ['stopped'], [{'phase': 'cancelled', 'registers': {'queue': [], 'running': False, 'stop_requested': True, 'result': [1, 2, 3], 'reported': ['cancelled'], 'executions': 0}, 'frames': []}]), ('cancelling/completed_first', 'cancelling', ['completed_first'], [{'phase': 'done', 'registers': {'queue': [], 'running': True, 'stop_requested': True, 'result': [1, 2, 3], 'reported': [[1, 2, 3]], 'executions': 0}, 'frames': []}]), ('running/completed', 'running', ['completed'], [{'phase': 'done', 'registers': {'queue': [], 'running': True, 'stop_requested': False, 'result': [1, 2, 3], 'reported': [[1, 2, 3]], 'executions': 0}, 'frames': []}]), ('done/cancel', 'done', ['cancel'], [{'phase': 'done', 'registers': {'queue': [], 'running': False, 'stop_requested': False, 'result': [1, 2, 3], 'reported': ['already_done'], 'executions': 0}, 'frames': []}]), ('cancelled/late_completion', 'cancelled', ['late_completion'], [{'phase': 'cancelled', 'registers': {'queue': [], 'running': False, 'stop_requested': False, 'result': [], 'reported': [], 'executions': 0}, 'frames': []}]), ('idle/cancel', 'idle', ['cancel'], [{'phase': 'idle', 'registers': {'queue': [], 'running': False, 'stop_requested': False, 'result': [1, 2, 3], 'reported': ['unknown'], 'executions': 0}, 'frames': []}]), ('ordered trace 0', 'idle', ['submit', 'cancel', 'late_completion', 'late_completion'], [{'phase': 'queued', 'registers': {'queue': [1], 'running': False, 'stop_requested': False, 'result': [1, 2, 3], 'reported': [], 'executions': 0}, 'frames': []}, {'phase': 'cancelled', 'registers': {'queue': [], 'running': False, 'stop_requested': False, 'result': [1, 2, 3], 'reported': ['cancelled'], 'executions': 0}, 'frames': []}, {'phase': 'cancelled', 'registers': {'queue': [], 'running': False, 'stop_requested': False, 'result': [], 'reported': ['cancelled'], 'executions': 0}, 'frames': []}, {'phase': 'cancelled', 'registers': {'queue': [], 'running': False, 'stop_requested': False, 'result': [], 'reported': ['cancelled'], 'executions': 0}, 'frames': []}]), ('ordered trace 3', 'running', ['completed', 'cancel', 'cancel', 'cancel'], [{'phase': 'done', 'registers': {'queue': [], 'running': True, 'stop_requested': False, 'result': [1, 2, 3], 'reported': [[1, 2, 3]], 'executions': 0}, 'frames': []}, {'phase': 'done', 'registers': {'queue': [], 'running': True, 'stop_requested': False, 'result': [1, 2, 3], 'reported': [[1, 2, 3], 'already_done'], 'executions': 0}, 'frames': []}, {'phase': 'done', 'registers': {'queue': [], 'running': True, 'stop_requested': False, 'result': [1, 2, 3], 'reported': [[1, 2, 3], 'already_done', 'already_done'], 'executions': 0}, 'frames': []}, {'phase': 'done', 'registers': {'queue': [], 'running': True, 'stop_requested': False, 'result': [1, 2, 3], 'reported': [[1, 2, 3], 'already_done', 'already_done', 'already_done'], 'executions': 0}, 'frames': []}]), ('empty input', 'idle', [], []), ('unknown event', 'idle', ['unsupported'], [{'phase': 'idle', 'registers': {'queue': [], 'running': False, 'stop_requested': False, 'result': [1, 2, 3], 'reported': [], 'executions': 0}, 'frames': [['reject', [1, 2, 3]]]}])], 2: [('idle/submit', 'idle', ['submit'], [{'phase': 'queued', 'registers': {'queue': [2], 'running': False, 'stop_requested': False, 'result': [2, 3, 4, 5], 'reported': [], 'executions': 0}, 'frames': []}]), ('queued/dispatch', 'queued', ['dispatch'], [{'phase': 'running', 'registers': {'queue': [2], 'running': True, 'stop_requested': False, 'result': [2, 3, 4, 5], 'reported': [], 'executions': 1}, 'frames': []}]), ('queued/cancel', 'queued', ['cancel'], [{'phase': 'cancelled', 'registers': {'queue': [], 'running': False, 'stop_requested': False, 'result': [2, 3, 4, 5], 'reported': ['cancelled'], 'executions': 0}, 'frames': []}]), ('running/cancel', 'running', ['cancel'], [{'phase': 'cancelling', 'registers': {'queue': [], 'running': True, 'stop_requested': True, 'result': [2, 3, 4, 5], 'reported': [], 'executions': 0}, 'frames': []}]), ('cancelling/stopped', 'cancelling', ['stopped'], [{'phase': 'cancelled', 'registers': {'queue': [], 'running': False, 'stop_requested': True, 'result': [2, 3, 4, 5], 'reported': ['cancelled'], 'executions': 0}, 'frames': []}]), ('cancelling/completed_first', 'cancelling', ['completed_first'], [{'phase': 'done', 'registers': {'queue': [], 'running': True, 'stop_requested': True, 'result': [2, 3, 4, 5], 'reported': [[2, 3, 4, 5]], 'executions': 0}, 'frames': []}]), ('running/completed', 'running', ['completed'], [{'phase': 'done', 'registers': {'queue': [], 'running': True, 'stop_requested': False, 'result': [2, 3, 4, 5], 'reported': [[2, 3, 4, 5]], 'executions': 0}, 'frames': []}]), ('done/cancel', 'done', ['cancel'], [{'phase': 'done', 'registers': {'queue': [], 'running': False, 'stop_requested': False, 'result': [2, 3, 4, 5], 'reported': ['already_done'], 'executions': 0}, 'frames': []}]), ('cancelled/late_completion', 'cancelled', ['late_completion'], [{'phase': 'cancelled', 'registers': {'queue': [], 'running': False, 'stop_requested': False, 'result': [], 'reported': [], 'executions': 0}, 'frames': []}]), ('idle/cancel', 'idle', ['cancel'], [{'phase': 'idle', 'registers': {'queue': [], 'running': False, 'stop_requested': False, 'result': [2, 3, 4, 5], 'reported': ['unknown'], 'executions': 0}, 'frames': []}]), ('ordered trace 0', 'idle', ['submit', 'cancel', 'late_completion', 'late_completion', 'late_completion'], [{'phase': 'queued', 'registers': {'queue': [2], 'running': False, 'stop_requested': False, 'result': [2, 3, 4, 5], 'reported': [], 'executions': 0}, 'frames': []}, {'phase': 'cancelled', 'registers': {'queue': [], 'running': False, 'stop_requested': False, 'result': [2, 3, 4, 5], 'reported': ['cancelled'], 'executions': 0}, 'frames': []}, {'phase': 'cancelled', 'registers': {'queue': [], 'running': False, 'stop_requested': False, 'result': [], 'reported': ['cancelled'], 'executions': 0}, 'frames': []}, {'phase': 'cancelled', 'registers': {'queue': [], 'running': False, 'stop_requested': False, 'result': [], 'reported': ['cancelled'], 'executions': 0}, 'frames': []}, {'phase': 'cancelled', 'registers': {'queue': [], 'running': False, 'stop_requested': False, 'result': [], 'reported': ['cancelled'], 'executions': 0}, 'frames': []}]), ('ordered trace 3', 'running', ['completed', 'cancel', 'cancel', 'cancel', 'cancel'], [{'phase': 'done', 'registers': {'queue': [], 'running': True, 'stop_requested': False, 'result': [2, 3, 4, 5], 'reported': [[2, 3, 4, 5]], 'executions': 0}, 'frames': []}, {'phase': 'done', 'registers': {'queue': [], 'running': True, 'stop_requested': False, 'result': [2, 3, 4, 5], 'reported': [[2, 3, 4, 5], 'already_done'], 'executions': 0}, 'frames': []}, {'phase': 'done', 'registers': {'queue': [], 'running': True, 'stop_requested': False, 'result': [2, 3, 4, 5], 'reported': [[2, 3, 4, 5], 'already_done', 'already_done'], 'executions': 0}, 'frames': []}, {'phase': 'done', 'registers': {'queue': [], 'running': True, 'stop_requested': False, 'result': [2, 3, 4, 5], 'reported': [[2, 3, 4, 5], 'already_done', 'already_done', 'already_done'], 'executions': 0}, 'frames': []}, {'phase': 'done', 'registers': {'queue': [], 'running': True, 'stop_requested': False, 'result': [2, 3, 4, 5], 'reported': [[2, 3, 4, 5], 'already_done', 'already_done', 'already_done', 'already_done'], 'executions': 0}, 'frames': []}]), ('empty input', 'idle', [], []), ('unknown event', 'idle', ['unsupported'], [{'phase': 'idle', 'registers': {'queue': [], 'running': False, 'stop_requested': False, 'result': [2, 3, 4, 5], 'reported': [], 'executions': 0}, 'frames': [['reject', [2, 3, 4, 5]]]}])], 3: [('idle/submit', 'idle', ['submit'], [{'phase': 'queued', 'registers': {'queue': [3], 'running': False, 'stop_requested': False, 'result': [3, 4, 5, 6, 7], 'reported': [], 'executions': 0}, 'frames': []}]), ('queued/dispatch', 'queued', ['dispatch'], [{'phase': 'running', 'registers': {'queue': [3], 'running': True, 'stop_requested': False, 'result': [3, 4, 5, 6, 7], 'reported': [], 'executions': 1}, 'frames': []}]), ('queued/cancel', 'queued', ['cancel'], [{'phase': 'cancelled', 'registers': {'queue': [], 'running': False, 'stop_requested': False, 'result': [3, 4, 5, 6, 7], 'reported': ['cancelled'], 'executions': 0}, 'frames': []}]), ('running/cancel', 'running', ['cancel'], [{'phase': 'cancelling', 'registers': {'queue': [], 'running': True, 'stop_requested': True, 'result': [3, 4, 5, 6, 7], 'reported': [], 'executions': 0}, 'frames': []}]), ('cancelling/stopped', 'cancelling', ['stopped'], [{'phase': 'cancelled', 'registers': {'queue': [], 'running': False, 'stop_requested': True, 'result': [3, 4, 5, 6, 7], 'reported': ['cancelled'], 'executions': 0}, 'frames': []}]), ('cancelling/completed_first', 'cancelling', ['completed_first'], [{'phase': 'done', 'registers': {'queue': [], 'running': True, 'stop_requested': True, 'result': [3, 4, 5, 6, 7], 'reported': [[3, 4, 5, 6, 7]], 'executions': 0}, 'frames': []}]), ('running/completed', 'running', ['completed'], [{'phase': 'done', 'registers': {'queue': [], 'running': True, 'stop_requested': False, 'result': [3, 4, 5, 6, 7], 'reported': [[3, 4, 5, 6, 7]], 'executions': 0}, 'frames': []}]), ('done/cancel', 'done', ['cancel'], [{'phase': 'done', 'registers': {'queue': [], 'running': False, 'stop_requested': False, 'result': [3, 4, 5, 6, 7], 'reported': ['already_done'], 'executions': 0}, 'frames': []}]), ('cancelled/late_completion', 'cancelled', ['late_completion'], [{'phase': 'cancelled', 'registers': {'queue': [], 'running': False, 'stop_requested': False, 'result': [], 'reported': [], 'executions': 0}, 'frames': []}]), ('idle/cancel', 'idle', ['cancel'], [{'phase': 'idle', 'registers': {'queue': [], 'running': False, 'stop_requested': False, 'result': [3, 4, 5, 6, 7], 'reported': ['unknown'], 'executions': 0}, 'frames': []}]), ('ordered trace 0', 'idle', ['submit', 'cancel', 'late_completion', 'late_completion', 'late_completion', 'late_completion'], [{'phase': 'queued', 'registers': {'queue': [3], 'running': False, 'stop_requested': False, 'result': [3, 4, 5, 6, 7], 'reported': [], 'executions': 0}, 'frames': []}, {'phase': 'cancelled', 'registers': {'queue': [], 'running': False, 'stop_requested': False, 'result': [3, 4, 5, 6, 7], 'reported': ['cancelled'], 'executions': 0}, 'frames': []}, {'phase': 'cancelled', 'registers': {'queue': [], 'running': False, 'stop_requested': False, 'result': [], 'reported': ['cancelled'], 'executions': 0}, 'frames': []}, {'phase': 'cancelled', 'registers': {'queue': [], 'running': False, 'stop_requested': False, 'result': [], 'reported': ['cancelled'], 'executions': 0}, 'frames': []}, {'phase': 'cancelled', 'registers': {'queue': [], 'running': False, 'stop_requested': False, 'result': [], 'reported': ['cancelled'], 'executions': 0}, 'frames': []}, {'phase': 'cancelled', 'registers': {'queue': [], 'running': False, 'stop_requested': False, 'result': [], 'reported': ['cancelled'], 'executions': 0}, 'frames': []}]), ('ordered trace 3', 'running', ['completed', 'cancel', 'cancel', 'cancel', 'cancel', 'cancel'], [{'phase': 'done', 'registers': {'queue': [], 'running': True, 'stop_requested': False, 'result': [3, 4, 5, 6, 7], 'reported': [[3, 4, 5, 6, 7]], 'executions': 0}, 'frames': []}, {'phase': 'done', 'registers': {'queue': [], 'running': True, 'stop_requested': False, 'result': [3, 4, 5, 6, 7], 'reported': [[3, 4, 5, 6, 7], 'already_done'], 'executions': 0}, 'frames': []}, {'phase': 'done', 'registers': {'queue': [], 'running': True, 'stop_requested': False, 'result': [3, 4, 5, 6, 7], 'reported': [[3, 4, 5, 6, 7], 'already_done', 'already_done'], 'executions': 0}, 'frames': []}, {'phase': 'done', 'registers': {'queue': [], 'running': True, 'stop_requested': False, 'result': [3, 4, 5, 6, 7], 'reported': [[3, 4, 5, 6, 7], 'already_done', 'already_done', 'already_done'], 'executions': 0}, 'frames': []}, {'phase': 'done', 'registers': {'queue': [], 'running': True, 'stop_requested': False, 'result': [3, 4, 5, 6, 7], 'reported': [[3, 4, 5, 6, 7], 'already_done', 'already_done', 'already_done', 'already_done'], 'executions': 0}, 'frames': []}, {'phase': 'done', 'registers': {'queue': [], 'running': True, 'stop_requested': False, 'result': [3, 4, 5, 6, 7], 'reported': [[3, 4, 5, 6, 7], 'already_done', 'already_done', 'already_done', 'already_done', 'already_done'], 'executions': 0}, 'frames': []}]), ('empty input', 'idle', [], []), ('unknown event', 'idle', ['unsupported'], [{'phase': 'idle', 'registers': {'queue': [], 'running': False, 'stop_requested': False, 'result': [3, 4, 5, 6, 7], 'reported': [], 'executions': 0}, 'frames': [['reject', [3, 4, 5, 6, 7]]]}])], 4: [('idle/submit', 'idle', ['submit'], [{'phase': 'queued', 'registers': {'queue': [4], 'running': False, 'stop_requested': False, 'result': [4, 5, 6, 7, 8, 9], 'reported': [], 'executions': 0}, 'frames': []}]), ('queued/dispatch', 'queued', ['dispatch'], [{'phase': 'running', 'registers': {'queue': [4], 'running': True, 'stop_requested': False, 'result': [4, 5, 6, 7, 8, 9], 'reported': [], 'executions': 1}, 'frames': []}]), ('queued/cancel', 'queued', ['cancel'], [{'phase': 'cancelled', 'registers': {'queue': [], 'running': False, 'stop_requested': False, 'result': [4, 5, 6, 7, 8, 9], 'reported': ['cancelled'], 'executions': 0}, 'frames': []}]), ('running/cancel', 'running', ['cancel'], [{'phase': 'cancelling', 'registers': {'queue': [], 'running': True, 'stop_requested': True, 'result': [4, 5, 6, 7, 8, 9], 'reported': [], 'executions': 0}, 'frames': []}]), ('cancelling/stopped', 'cancelling', ['stopped'], [{'phase': 'cancelled', 'registers': {'queue': [], 'running': False, 'stop_requested': True, 'result': [4, 5, 6, 7, 8, 9], 'reported': ['cancelled'], 'executions': 0}, 'frames': []}]), ('cancelling/completed_first', 'cancelling', ['completed_first'], [{'phase': 'done', 'registers': {'queue': [], 'running': True, 'stop_requested': True, 'result': [4, 5, 6, 7, 8, 9], 'reported': [[4, 5, 6, 7, 8, 9]], 'executions': 0}, 'frames': []}]), ('running/completed', 'running', ['completed'], [{'phase': 'done', 'registers': {'queue': [], 'running': True, 'stop_requested': False, 'result': [4, 5, 6, 7, 8, 9], 'reported': [[4, 5, 6, 7, 8, 9]], 'executions': 0}, 'frames': []}]), ('done/cancel', 'done', ['cancel'], [{'phase': 'done', 'registers': {'queue': [], 'running': False, 'stop_requested': False, 'result': [4, 5, 6, 7, 8, 9], 'reported': ['already_done'], 'executions': 0}, 'frames': []}]), ('cancelled/late_completion', 'cancelled', ['late_completion'], [{'phase': 'cancelled', 'registers': {'queue': [], 'running': False, 'stop_requested': False, 'result': [], 'reported': [], 'executions': 0}, 'frames': []}]), ('idle/cancel', 'idle', ['cancel'], [{'phase': 'idle', 'registers': {'queue': [], 'running': False, 'stop_requested': False, 'result': [4, 5, 6, 7, 8, 9], 'reported': ['unknown'], 'executions': 0}, 'frames': []}]), ('ordered trace 0', 'idle', ['submit', 'cancel', 'late_completion', 'late_completion', 'late_completion', 'late_completion', 'late_completion'], [{'phase': 'queued', 'registers': {'queue': [4], 'running': False, 'stop_requested': False, 'result': [4, 5, 6, 7, 8, 9], 'reported': [], 'executions': 0}, 'frames': []}, {'phase': 'cancelled', 'registers': {'queue': [], 'running': False, 'stop_requested': False, 'result': [4, 5, 6, 7, 8, 9], 'reported': ['cancelled'], 'executions': 0}, 'frames': []}, {'phase': 'cancelled', 'registers': {'queue': [], 'running': False, 'stop_requested': False, 'result': [], 'reported': ['cancelled'], 'executions': 0}, 'frames': []}, {'phase': 'cancelled', 'registers': {'queue': [], 'running': False, 'stop_requested': False, 'result': [], 'reported': ['cancelled'], 'executions': 0}, 'frames': []}, {'phase': 'cancelled', 'registers': {'queue': [], 'running': False, 'stop_requested': False, 'result': [], 'reported': ['cancelled'], 'executions': 0}, 'frames': []}, {'phase': 'cancelled', 'registers': {'queue': [], 'running': False, 'stop_requested': False, 'result': [], 'reported': ['cancelled'], 'executions': 0}, 'frames': []}, {'phase': 'cancelled', 'registers': {'queue': [], 'running': False, 'stop_requested': False, 'result': [], 'reported': ['cancelled'], 'executions': 0}, 'frames': []}]), ('ordered trace 3', 'running', ['completed', 'cancel', 'cancel', 'cancel', 'cancel', 'cancel', 'cancel'], [{'phase': 'done', 'registers': {'queue': [], 'running': True, 'stop_requested': False, 'result': [4, 5, 6, 7, 8, 9], 'reported': [[4, 5, 6, 7, 8, 9]], 'executions': 0}, 'frames': []}, {'phase': 'done', 'registers': {'queue': [], 'running': True, 'stop_requested': False, 'result': [4, 5, 6, 7, 8, 9], 'reported': [[4, 5, 6, 7, 8, 9], 'already_done'], 'executions': 0}, 'frames': []}, {'phase': 'done', 'registers': {'queue': [], 'running': True, 'stop_requested': False, 'result': [4, 5, 6, 7, 8, 9], 'reported': [[4, 5, 6, 7, 8, 9], 'already_done', 'already_done'], 'executions': 0}, 'frames': []}, {'phase': 'done', 'registers': {'queue': [], 'running': True, 'stop_requested': False, 'result': [4, 5, 6, 7, 8, 9], 'reported': [[4, 5, 6, 7, 8, 9], 'already_done', 'already_done', 'already_done'], 'executions': 0}, 'frames': []}, {'phase': 'done', 'registers': {'queue': [], 'running': True, 'stop_requested': False, 'result': [4, 5, 6, 7, 8, 9], 'reported': [[4, 5, 6, 7, 8, 9], 'already_done', 'already_done', 'already_done', 'already_done'], 'executions': 0}, 'frames': []}, {'phase': 'done', 'registers': {'queue': [], 'running': True, 'stop_requested': False, 'result': [4, 5, 6, 7, 8, 9], 'reported': [[4, 5, 6, 7, 8, 9], 'already_done', 'already_done', 'already_done', 'already_done', 'already_done'], 'executions': 0}, 'frames': []}, {'phase': 'done', 'registers': {'queue': [], 'running': True, 'stop_requested': False, 'result': [4, 5, 6, 7, 8, 9], 'reported': [[4, 5, 6, 7, 8, 9], 'already_done', 'already_done', 'already_done', 'already_done', 'already_done', 'already_done'], 'executions': 0}, 'frames': []}]), ('empty input', 'idle', [], []), ('unknown event', 'idle', ['unsupported'], [{'phase': 'idle', 'registers': {'queue': [], 'running': False, 'stop_requested': False, 'result': [4, 5, 6, 7, 8, 9], 'reported': [], 'executions': 0}, 'frames': [['reject', [4, 5, 6, 7, 8, 9]]]}])], 5: [('idle/submit', 'idle', ['submit'], [{'phase': 'queued', 'registers': {'queue': [5], 'running': False, 'stop_requested': False, 'result': [5, 6, 7, 8, 9, 10, 11], 'reported': [], 'executions': 0}, 'frames': []}]), ('queued/dispatch', 'queued', ['dispatch'], [{'phase': 'running', 'registers': {'queue': [5], 'running': True, 'stop_requested': False, 'result': [5, 6, 7, 8, 9, 10, 11], 'reported': [], 'executions': 1}, 'frames': []}]), ('queued/cancel', 'queued', ['cancel'], [{'phase': 'cancelled', 'registers': {'queue': [], 'running': False, 'stop_requested': False, 'result': [5, 6, 7, 8, 9, 10, 11], 'reported': ['cancelled'], 'executions': 0}, 'frames': []}]), ('running/cancel', 'running', ['cancel'], [{'phase': 'cancelling', 'registers': {'queue': [], 'running': True, 'stop_requested': True, 'result': [5, 6, 7, 8, 9, 10, 11], 'reported': [], 'executions': 0}, 'frames': []}]), ('cancelling/stopped', 'cancelling', ['stopped'], [{'phase': 'cancelled', 'registers': {'queue': [], 'running': False, 'stop_requested': True, 'result': [5, 6, 7, 8, 9, 10, 11], 'reported': ['cancelled'], 'executions': 0}, 'frames': []}]), ('cancelling/completed_first', 'cancelling', ['completed_first'], [{'phase': 'done', 'registers': {'queue': [], 'running': True, 'stop_requested': True, 'result': [5, 6, 7, 8, 9, 10, 11], 'reported': [[5, 6, 7, 8, 9, 10, 11]], 'executions': 0}, 'frames': []}]), ('running/completed', 'running', ['completed'], [{'phase': 'done', 'registers': {'queue': [], 'running': True, 'stop_requested': False, 'result': [5, 6, 7, 8, 9, 10, 11], 'reported': [[5, 6, 7, 8, 9, 10, 11]], 'executions': 0}, 'frames': []}]), ('done/cancel', 'done', ['cancel'], [{'phase': 'done', 'registers': {'queue': [], 'running': False, 'stop_requested': False, 'result': [5, 6, 7, 8, 9, 10, 11], 'reported': ['already_done'], 'executions': 0}, 'frames': []}]), ('cancelled/late_completion', 'cancelled', ['late_completion'], [{'phase': 'cancelled', 'registers': {'queue': [], 'running': False, 'stop_requested': False, 'result': [], 'reported': [], 'executions': 0}, 'frames': []}]), ('idle/cancel', 'idle', ['cancel'], [{'phase': 'idle', 'registers': {'queue': [], 'running': False, 'stop_requested': False, 'result': [5, 6, 7, 8, 9, 10, 11], 'reported': ['unknown'], 'executions': 0}, 'frames': []}]), ('ordered trace 0', 'idle', ['submit', 'cancel', 'late_completion', 'late_completion', 'late_completion', 'late_completion', 'late_completion', 'late_completion'], [{'phase': 'queued', 'registers': {'queue': [5], 'running': False, 'stop_requested': False, 'result': [5, 6, 7, 8, 9, 10, 11], 'reported': [], 'executions': 0}, 'frames': []}, {'phase': 'cancelled', 'registers': {'queue': [], 'running': False, 'stop_requested': False, 'result': [5, 6, 7, 8, 9, 10, 11], 'reported': ['cancelled'], 'executions': 0}, 'frames': []}, {'phase': 'cancelled', 'registers': {'queue': [], 'running': False, 'stop_requested': False, 'result': [], 'reported': ['cancelled'], 'executions': 0}, 'frames': []}, {'phase': 'cancelled', 'registers': {'queue': [], 'running': False, 'stop_requested': False, 'result': [], 'reported': ['cancelled'], 'executions': 0}, 'frames': []}, {'phase': 'cancelled', 'registers': {'queue': [], 'running': False, 'stop_requested': False, 'result': [], 'reported': ['cancelled'], 'executions': 0}, 'frames': []}, {'phase': 'cancelled', 'registers': {'queue': [], 'running': False, 'stop_requested': False, 'result': [], 'reported': ['cancelled'], 'executions': 0}, 'frames': []}, {'phase': 'cancelled', 'registers': {'queue': [], 'running': False, 'stop_requested': False, 'result': [], 'reported': ['cancelled'], 'executions': 0}, 'frames': []}, {'phase': 'cancelled', 'registers': {'queue': [], 'running': False, 'stop_requested': False, 'result': [], 'reported': ['cancelled'], 'executions': 0}, 'frames': []}]), ('ordered trace 3', 'running', ['completed', 'cancel', 'cancel', 'cancel', 'cancel', 'cancel', 'cancel', 'cancel'], [{'phase': 'done', 'registers': {'queue': [], 'running': True, 'stop_requested': False, 'result': [5, 6, 7, 8, 9, 10, 11], 'reported': [[5, 6, 7, 8, 9, 10, 11]], 'executions': 0}, 'frames': []}, {'phase': 'done', 'registers': {'queue': [], 'running': True, 'stop_requested': False, 'result': [5, 6, 7, 8, 9, 10, 11], 'reported': [[5, 6, 7, 8, 9, 10, 11], 'already_done'], 'executions': 0}, 'frames': []}, {'phase': 'done', 'registers': {'queue': [], 'running': True, 'stop_requested': False, 'result': [5, 6, 7, 8, 9, 10, 11], 'reported': [[5, 6, 7, 8, 9, 10, 11], 'already_done', 'already_done'], 'executions': 0}, 'frames': []}, {'phase': 'done', 'registers': {'queue': [], 'running': True, 'stop_requested': False, 'result': [5, 6, 7, 8, 9, 10, 11], 'reported': [[5, 6, 7, 8, 9, 10, 11], 'already_done', 'already_done', 'already_done'], 'executions': 0}, 'frames': []}, {'phase': 'done', 'registers': {'queue': [], 'running': True, 'stop_requested': False, 'result': [5, 6, 7, 8, 9, 10, 11], 'reported': [[5, 6, 7, 8, 9, 10, 11], 'already_done', 'already_done', 'already_done', 'already_done'], 'executions': 0}, 'frames': []}, {'phase': 'done', 'registers': {'queue': [], 'running': True, 'stop_requested': False, 'result': [5, 6, 7, 8, 9, 10, 11], 'reported': [[5, 6, 7, 8, 9, 10, 11], 'already_done', 'already_done', 'already_done', 'already_done', 'already_done'], 'executions': 0}, 'frames': []}, {'phase': 'done', 'registers': {'queue': [], 'running': True, 'stop_requested': False, 'result': [5, 6, 7, 8, 9, 10, 11], 'reported': [[5, 6, 7, 8, 9, 10, 11], 'already_done', 'already_done', 'already_done', 'already_done', 'already_done', 'already_done'], 'executions': 0}, 'frames': []}, {'phase': 'done', 'registers': {'queue': [], 'running': True, 'stop_requested': False, 'result': [5, 6, 7, 8, 9, 10, 11], 'reported': [[5, 6, 7, 8, 9, 10, 11], 'already_done', 'already_done', 'already_done', 'already_done', 'already_done', 'already_done', 'already_done'], 'executions': 0}, 'frames': []}]), ('empty input', 'idle', [], []), ('unknown event', 'idle', ['unsupported'], [{'phase': 'idle', 'registers': {'queue': [], 'running': False, 'stop_requested': False, 'result': [5, 6, 7, 8, 9, 10, 11], 'reported': [], 'executions': 0}, 'frames': [['reject', [5, 6, 7, 8, 9, 10, 11]]]}])]}
for label, phase, events, expected in cases[N]:
check(label, solve(phase, events, N), 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 |
|---|---|---|---|
| idle/submit | [{'frames': [], 'phase': 'queued', 'registers': {'executions': 0, 'queue': [1], 'reported': [], 'result': [1, 2, 3], 'running': False, 'stop_requested': False}}] | [{'frames': [], 'phase': 'queued', 'registers': {'executions': 0, 'queue': [1], 'reported': [], 'result': [1, 2, 3], 'running': False, 'stop_requested': False}}] | Passed |
| queued/dispatch | [{'frames': [], 'phase': 'running', 'registers': {'executions': 1, 'queue': [1], 'reported': [], 'result': [1, 2, 3], 'running': True, 'stop_requested': False}}] | [{'frames': [], 'phase': 'running', 'registers': {'executions': 1, 'queue': [1], 'reported': [], 'result': [1, 2, 3], 'running': True, 'stop_requested': False}}] | Passed |
| queued/cancel | [{'frames': [], 'phase': 'cancelled', 'registers': {'executions': 0, 'queue': [], 'reported': ['cancelled'], 'result': [1, 2, 3], 'running': False, 'stop_requested': False}}] | [{'frames': [], 'phase': 'cancelled', 'registers': {'executions': 0, 'queue': [], 'reported': ['cancelled'], 'result': [1, 2, 3], 'running': False, 'stop_requested': False}}] | Passed |
| running/cancel | [{'frames': [], 'phase': 'cancelling', 'registers': {'executions': 0, 'queue': [], 'reported': [], 'result': [1, 2, 3], 'running': True, 'stop_requested': True}}] | [{'frames': [], 'phase': 'cancelling', 'registers': {'executions': 0, 'queue': [], 'reported': [], 'result': [1, 2, 3], 'running': True, 'stop_requested': True}}] | Passed |
| cancelling/stopped | [{'frames': [], 'phase': 'cancelled', 'registers': {'executions': 0, 'queue': [], 'reported': ['cancelled'], 'result': [1, 2, 3], 'running': False, 'stop_requested': True}}] | [{'frames': [], 'phase': 'cancelled', 'registers': {'executions': 0, 'queue': [], 'reported': ['cancelled'], 'result': [1, 2, 3], 'running': False, 'stop_requested': True}}] | Passed |
| cancelling/completed_first | [{'frames': [], 'phase': 'done', 'registers': {'executions': 0, 'queue': [], 'reported': [[1, 2, 3]], 'result': [1, 2, 3], 'running': True, 'stop_requested': True}}] | [{'frames': [], 'phase': 'done', 'registers': {'executions': 0, 'queue': [], 'reported': [[1, 2, 3]], 'result': [1, 2, 3], 'running': True, 'stop_requested': True}}] | Passed |
| running/completed | [{'frames': [], 'phase': 'done', 'registers': {'executions': 0, 'queue': [], 'reported': [[1, 2, 3]], 'result': [1, 2, 3], 'running': True, 'stop_requested': False}}] | [{'frames': [], 'phase': 'done', 'registers': {'executions': 0, 'queue': [], 'reported': [[1, 2, 3]], 'result': [1, 2, 3], 'running': True, 'stop_requested': False}}] | Passed |
| done/cancel | [{'frames': [], 'phase': 'done', 'registers': {'executions': 0, 'queue': [], 'reported': ['already_done'], 'result': [1, 2, 3], 'running': False, 'stop_requested': False}}] | [{'frames': [], 'phase': 'done', 'registers': {'executions': 0, 'queue': [], 'reported': ['already_done'], 'result': [1, 2, 3], 'running': False, 'stop_requested': False}}] | Passed |
| cancelled/late_completion | [{'frames': [], 'phase': 'cancelled', 'registers': {'executions': 0, 'queue': [], 'reported': [], 'result': [], 'running': False, 'stop_requested': False}}] | [{'frames': [], 'phase': 'cancelled', 'registers': {'executions': 0, 'queue': [], 'reported': [], 'result': [], 'running': False, 'stop_requested': False}}] | Passed |
| idle/cancel | [{'frames': [], 'phase': 'idle', 'registers': {'executions': 0, 'queue': [], 'reported': ['unknown'], 'result': [1, 2, 3], 'running': False, 'stop_requested': False}}] | [{'frames': [], 'phase': 'idle', 'registers': {'executions': 0, 'queue': [], 'reported': ['unknown'], 'result': [1, 2, 3], 'running': False, 'stop_requested': False}}] | Passed |
| ordered trace 0 | [{'frames': [], 'phase': 'queued', 'registers': {'executions': 0, 'queue': [1], 'reported': [], 'result': [1, 2, 3], 'running': False, 'stop_requested': False}}, {'frames': [], 'phase': 'cancelled', 'registers': {'executions': 0, 'queue': [], 'reported': ['cancelled'], 'result': [1, 2, 3], 'running': False, 'stop_requested': False}}, {'frames': [], 'phase': 'cancelled', 'registers': {'executions': 0, 'queue': [], 'reported': ['cancelled'], 'result': [], 'running': False, 'stop_requested': False}}, {'frames': [], 'phase': 'cancelled', 'registers': {'executions': 0, 'queue': [], 'reported': ['cancelled'], 'result': [], 'running': False, 'stop_requested': False}}] | [{'frames': [], 'phase': 'queued', 'registers': {'executions': 0, 'queue': [1], 'reported': [], 'result': [1, 2, 3], 'running': False, 'stop_requested': False}}, {'frames': [], 'phase': 'cancelled', 'registers': {'executions': 0, 'queue': [], 'reported': ['cancelled'], 'result': [1, 2, 3], 'running': False, 'stop_requested': False}}, {'frames': [], 'phase': 'cancelled', 'registers': {'executions': 0, 'queue': [], 'reported': ['cancelled'], 'result': [], 'running': False, 'stop_requested': False}}, {'frames': [], 'phase': 'cancelled', 'registers': {'executions': 0, 'queue': [], 'reported': ['cancelled'], 'result': [], 'running': False, 'stop_requested': False}}] | Passed |
| ordered trace 3 | [{'frames': [], 'phase': 'done', 'registers': {'executions': 0, 'queue': [], 'reported': [[1, 2, 3]], 'result': [1, 2, 3], 'running': True, 'stop_requested': False}}, {'frames': [], 'phase': 'done', 'registers': {'executions': 0, 'queue': [], 'reported': [[1, 2, 3], 'already_done'], 'result': [1, 2, 3], 'running': True, 'stop_requested': False}}, {'frames': [], 'phase': 'done', 'registers': {'executions': 0, 'queue': [], 'reported': [[1, 2, 3], 'already_done', 'already_done'], 'result': [1, 2, 3], 'running': True, 'stop_requested': False}}, {'frames': [], 'phase': 'done', 'registers': {'executions': 0, 'queue': [], 'reported': [[1, 2, 3], 'already_done', 'already_done', 'already_done'], 'result': [1, 2, 3], 'running': True, 'stop_requested': False}}] | [{'frames': [], 'phase': 'done', 'registers': {'executions': 0, 'queue': [], 'reported': [[1, 2, 3]], 'result': [1, 2, 3], 'running': True, 'stop_requested': False}}, {'frames': [], 'phase': 'done', 'registers': {'executions': 0, 'queue': [], 'reported': [[1, 2, 3], 'already_done'], 'result': [1, 2, 3], 'running': True, 'stop_requested': False}}, {'frames': [], 'phase': 'done', 'registers': {'executions': 0, 'queue': [], 'reported': [[1, 2, 3], 'already_done', 'already_done'], 'result': [1, 2, 3], 'running': True, 'stop_requested': False}}, {'frames': [], 'phase': 'done', 'registers': {'executions': 0, 'queue': [], 'reported': [[1, 2, 3], 'already_done', 'already_done', 'already_done'], 'result': [1, 2, 3], 'running': True, 'stop_requested': False}}] | Passed |
| empty input | [] | [] | Passed |
| unknown event | [{'frames': [['reject', [1, 2, 3]]], 'phase': 'idle', 'registers': {'executions': 0, 'queue': [], 'reported': [], 'result': [1, 2, 3], 'running': False, 'stop_requested': False}}] | [{'frames': [['reject', [1, 2, 3]]], 'phase': 'idle', 'registers': {'executions': 0, 'queue': [], 'reported': [], 'result': [1, 2, 3], 'running': False, 'stop_requested': False}}] | Passed |
SHA-256 / 1f8709a9563fbc30f415b0b8e6f26a1c360ae7dba7e800f96ec0cb74ebcb7f65
Verification & scope
Bounded offline control-plane abstraction with prescribed initial registers and classified events. Not a named protocol implementation or conformance test; excludes wire parsing, transport retries, physical execution, authentication, crash persistence, and timing. Related event faults share the full corrected controller and evaluation group. 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:40:10.820469+00:00.
Case digest / 4abd49fb3bc5a6cee936a15d287f8ddc0889e42a935076ae861313685cc14d6a