{"abstract":"While waiting, event first_withdraws produces waiting/keep_first instead of empty/remove_first.","category":"Protocols","checks":14,"contract":"For the stipulated Two-peer rendezvous role assignment 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.","evaluation_group":"s3-protocols-rendezvous","failed_approach":"The partial repair chooses empty/keep_first, which still violates this phase-specific event contract.","family":"s3-protocols-rendezvous-waiting-first_withdraws","id":"FA-20161","implementations":{"attempt":{"sha256":"931c7dee79e209d559f419f4be27bb917e96bdf0d81c9e309f7ebfe4d3b6be65","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(phase, events, seed):\n    payload = list(range(seed, seed * 2 + 2))\n    r = {'first': seed, 'second': seed+1, 'roles': {str(seed):'initiator',str(seed+1):'responder'} if phase in ('paired','one_ready','active') else {}, 'ready': [seed] if phase in ('one_ready','active') else [], 'started': [], 'waiting': []}\n    frames = []\n    observed = []\n    table = {('empty', 'first_arrival'): ('waiting', 'record_first'), ('waiting', 'second_arrival'): ('paired', 'assign_complementary_roles'), ('paired', 'first_ready'): ('one_ready', 'record_ready'), ('one_ready', 'second_ready'): ('active', 'start_both'), ('waiting', 'first_withdraws'): ('empty', 'keep_first'), ('paired', 'partner_withdraws'): ('waiting', 'notify_requeue_survivor'), ('active', 'third_arrival'): ('active', 'reject_full'), ('one_ready', 'duplicate_ready'): ('one_ready', 'ack_existing'), ('empty', 'ready'): ('empty', 'reject_unpaired'), ('active', 'both_done'): ('empty', 'release_pair')}\n    for event in events:\n        phase, action = table.get((phase, event), (phase, \"reject\"))\n        if action == 'record_first':\n            r['waiting'].append(seed)\n        elif action == 'assign_complementary_roles':\n            r['roles']={str(seed):'initiator',str(seed+1):'responder'}\n        elif action == 'record_ready':\n            r['ready'].append(seed)\n        elif action == 'start_both':\n            r['started']=[seed,seed+1]\n        elif action == 'remove_first':\n            r['first']=None; r['waiting']=[]\n        elif action == 'notify_requeue_survivor':\n            r['waiting']=[seed]; r['second']=None; frames.append(['PARTNER_LEFT',seed])\n        elif action == 'reject_full':\n            frames.append(['PAIR_FULL',seed+2])\n        elif action == 'ack_existing':\n            frames.append(['READY_ACK',seed])\n        elif action == 'reject_unpaired':\n            frames.append(['UNPAIRED',seed])\n        elif action == 'release_pair':\n            r['first']=None; r['second']=None; r['roles']={}; r['ready']=[]\n        elif action == 'notify_pair':\n            frames.append(['PAIRED',seed,None])\n        elif action == 'reject':\n            frames.append(['REJECT',seed])\n        elif action == 'replace_first':\n            r['first']=seed+1\n        elif action == 'assign_same_role':\n            r['roles']={str(seed):'initiator',str(seed+1):'initiator'}\n        elif action == 'forget_second':\n            r['second']=None\n        elif action == 'start_second_only':\n            r['started']=[seed+1]\n        elif action == 'requeue_departed':\n            r['waiting']=[seed+1]\n        elif action == 'replace_partner':\n            r['second']=seed+2\n        elif action == 'assign_third_role':\n            r['roles'][str(seed+2)]='observer'\n        elif action == 'clear_ready':\n            r['ready']=[]\n        elif action == 'assign_roles':\n            r['roles']={str(seed):'initiator',str(seed+1):'responder'}\n        elif action == 'keep_roles':\n            r['first']=None; r['second']=None\n        elif action == 'keep_first':\n            r['first']=seed\n        else:\n            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\"):\n                frames.append([action, payload[:]])\n        observed.append(json.loads(json.dumps({\"phase\": phase, \"registers\": r, \"frames\": frames})))\n    return observed\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncases = {1: [('empty/first_arrival', 'empty', ['first_arrival'], [{'phase': 'waiting', 'registers': {'first': 1, 'second': 2, 'roles': {}, 'ready': [], 'started': [], 'waiting': [1]}, 'frames': []}]), ('waiting/second_arrival', 'waiting', ['second_arrival'], [{'phase': 'paired', 'registers': {'first': 1, 'second': 2, 'roles': {'1': 'initiator', '2': 'responder'}, 'ready': [], 'started': [], 'waiting': []}, 'frames': []}]), ('paired/first_ready', 'paired', ['first_ready'], [{'phase': 'one_ready', 'registers': {'first': 1, 'second': 2, 'roles': {'1': 'initiator', '2': 'responder'}, 'ready': [1], 'started': [], 'waiting': []}, 'frames': []}]), ('one_ready/second_ready', 'one_ready', ['second_ready'], [{'phase': 'active', 'registers': {'first': 1, 'second': 2, 'roles': {'1': 'initiator', '2': 'responder'}, 'ready': [1], 'started': [1, 2], 'waiting': []}, 'frames': []}]), ('waiting/first_withdraws', 'waiting', ['first_withdraws'], [{'phase': 'empty', 'registers': {'first': None, 'second': 2, 'roles': {}, 'ready': [], 'started': [], 'waiting': []}, 'frames': []}]), ('paired/partner_withdraws', 'paired', ['partner_withdraws'], [{'phase': 'waiting', 'registers': {'first': 1, 'second': None, 'roles': {'1': 'initiator', '2': 'responder'}, 'ready': [], 'started': [], 'waiting': [1]}, 'frames': [['PARTNER_LEFT', 1]]}]), ('active/third_arrival', 'active', ['third_arrival'], [{'phase': 'active', 'registers': {'first': 1, 'second': 2, 'roles': {'1': 'initiator', '2': 'responder'}, 'ready': [1], 'started': [], 'waiting': []}, 'frames': [['PAIR_FULL', 3]]}]), ('one_ready/duplicate_ready', 'one_ready', ['duplicate_ready'], [{'phase': 'one_ready', 'registers': {'first': 1, 'second': 2, 'roles': {'1': 'initiator', '2': 'responder'}, 'ready': [1], 'started': [], 'waiting': []}, 'frames': [['READY_ACK', 1]]}]), ('empty/ready', 'empty', ['ready'], [{'phase': 'empty', 'registers': {'first': 1, 'second': 2, 'roles': {}, 'ready': [], 'started': [], 'waiting': []}, 'frames': [['UNPAIRED', 1]]}]), ('active/both_done', 'active', ['both_done'], [{'phase': 'empty', 'registers': {'first': None, 'second': None, 'roles': {}, 'ready': [], 'started': [], 'waiting': []}, 'frames': []}]), ('ordered trace 0', 'empty', ['first_arrival', 'first_withdraws', 'first_arrival', 'first_withdraws'], [{'phase': 'waiting', 'registers': {'first': 1, 'second': 2, 'roles': {}, 'ready': [], 'started': [], 'waiting': [1]}, 'frames': []}, {'phase': 'empty', 'registers': {'first': None, 'second': 2, 'roles': {}, 'ready': [], 'started': [], 'waiting': []}, 'frames': []}, {'phase': 'waiting', 'registers': {'first': None, 'second': 2, 'roles': {}, 'ready': [], 'started': [], 'waiting': [1]}, 'frames': []}, {'phase': 'empty', 'registers': {'first': None, 'second': 2, 'roles': {}, 'ready': [], 'started': [], 'waiting': []}, 'frames': []}]), ('ordered trace 3', 'one_ready', ['duplicate_ready', 'second_ready', 'both_done', 'first_arrival'], [{'phase': 'one_ready', 'registers': {'first': 1, 'second': 2, 'roles': {'1': 'initiator', '2': 'responder'}, 'ready': [1], 'started': [], 'waiting': []}, 'frames': [['READY_ACK', 1]]}, {'phase': 'active', 'registers': {'first': 1, 'second': 2, 'roles': {'1': 'initiator', '2': 'responder'}, 'ready': [1], 'started': [1, 2], 'waiting': []}, 'frames': [['READY_ACK', 1]]}, {'phase': 'empty', 'registers': {'first': None, 'second': None, 'roles': {}, 'ready': [], 'started': [1, 2], 'waiting': []}, 'frames': [['READY_ACK', 1]]}, {'phase': 'waiting', 'registers': {'first': None, 'second': None, 'roles': {}, 'ready': [], 'started': [1, 2], 'waiting': [1]}, 'frames': [['READY_ACK', 1]]}]), ('empty input', 'empty', [], []), ('unknown event', 'empty', ['unsupported'], [{'phase': 'empty', 'registers': {'first': 1, 'second': 2, 'roles': {}, 'ready': [], 'started': [], 'waiting': []}, 'frames': [['REJECT', 1]]}])], 2: [('empty/first_arrival', 'empty', ['first_arrival'], [{'phase': 'waiting', 'registers': {'first': 2, 'second': 3, 'roles': {}, 'ready': [], 'started': [], 'waiting': [2]}, 'frames': []}]), ('waiting/second_arrival', 'waiting', ['second_arrival'], [{'phase': 'paired', 'registers': {'first': 2, 'second': 3, 'roles': {'2': 'initiator', '3': 'responder'}, 'ready': [], 'started': [], 'waiting': []}, 'frames': []}]), ('paired/first_ready', 'paired', ['first_ready'], [{'phase': 'one_ready', 'registers': {'first': 2, 'second': 3, 'roles': {'2': 'initiator', '3': 'responder'}, 'ready': [2], 'started': [], 'waiting': []}, 'frames': []}]), ('one_ready/second_ready', 'one_ready', ['second_ready'], [{'phase': 'active', 'registers': {'first': 2, 'second': 3, 'roles': {'2': 'initiator', '3': 'responder'}, 'ready': [2], 'started': [2, 3], 'waiting': []}, 'frames': []}]), ('waiting/first_withdraws', 'waiting', ['first_withdraws'], [{'phase': 'empty', 'registers': {'first': None, 'second': 3, 'roles': {}, 'ready': [], 'started': [], 'waiting': []}, 'frames': []}]), ('paired/partner_withdraws', 'paired', ['partner_withdraws'], [{'phase': 'waiting', 'registers': {'first': 2, 'second': None, 'roles': {'2': 'initiator', '3': 'responder'}, 'ready': [], 'started': [], 'waiting': [2]}, 'frames': [['PARTNER_LEFT', 2]]}]), ('active/third_arrival', 'active', ['third_arrival'], [{'phase': 'active', 'registers': {'first': 2, 'second': 3, 'roles': {'2': 'initiator', '3': 'responder'}, 'ready': [2], 'started': [], 'waiting': []}, 'frames': [['PAIR_FULL', 4]]}]), ('one_ready/duplicate_ready', 'one_ready', ['duplicate_ready'], [{'phase': 'one_ready', 'registers': {'first': 2, 'second': 3, 'roles': {'2': 'initiator', '3': 'responder'}, 'ready': [2], 'started': [], 'waiting': []}, 'frames': [['READY_ACK', 2]]}]), ('empty/ready', 'empty', ['ready'], [{'phase': 'empty', 'registers': {'first': 2, 'second': 3, 'roles': {}, 'ready': [], 'started': [], 'waiting': []}, 'frames': [['UNPAIRED', 2]]}]), ('active/both_done', 'active', ['both_done'], [{'phase': 'empty', 'registers': {'first': None, 'second': None, 'roles': {}, 'ready': [], 'started': [], 'waiting': []}, 'frames': []}]), ('ordered trace 0', 'empty', ['first_arrival', 'first_withdraws', 'first_arrival', 'first_withdraws', 'first_arrival'], [{'phase': 'waiting', 'registers': {'first': 2, 'second': 3, 'roles': {}, 'ready': [], 'started': [], 'waiting': [2]}, 'frames': []}, {'phase': 'empty', 'registers': {'first': None, 'second': 3, 'roles': {}, 'ready': [], 'started': [], 'waiting': []}, 'frames': []}, {'phase': 'waiting', 'registers': {'first': None, 'second': 3, 'roles': {}, 'ready': [], 'started': [], 'waiting': [2]}, 'frames': []}, {'phase': 'empty', 'registers': {'first': None, 'second': 3, 'roles': {}, 'ready': [], 'started': [], 'waiting': []}, 'frames': []}, {'phase': 'waiting', 'registers': {'first': None, 'second': 3, 'roles': {}, 'ready': [], 'started': [], 'waiting': [2]}, 'frames': []}]), ('ordered trace 3', 'one_ready', ['duplicate_ready', 'second_ready', 'both_done', 'first_arrival', 'first_withdraws'], [{'phase': 'one_ready', 'registers': {'first': 2, 'second': 3, 'roles': {'2': 'initiator', '3': 'responder'}, 'ready': [2], 'started': [], 'waiting': []}, 'frames': [['READY_ACK', 2]]}, {'phase': 'active', 'registers': {'first': 2, 'second': 3, 'roles': {'2': 'initiator', '3': 'responder'}, 'ready': [2], 'started': [2, 3], 'waiting': []}, 'frames': [['READY_ACK', 2]]}, {'phase': 'empty', 'registers': {'first': None, 'second': None, 'roles': {}, 'ready': [], 'started': [2, 3], 'waiting': []}, 'frames': [['READY_ACK', 2]]}, {'phase': 'waiting', 'registers': {'first': None, 'second': None, 'roles': {}, 'ready': [], 'started': [2, 3], 'waiting': [2]}, 'frames': [['READY_ACK', 2]]}, {'phase': 'empty', 'registers': {'first': None, 'second': None, 'roles': {}, 'ready': [], 'started': [2, 3], 'waiting': []}, 'frames': [['READY_ACK', 2]]}]), ('empty input', 'empty', [], []), ('unknown event', 'empty', ['unsupported'], [{'phase': 'empty', 'registers': {'first': 2, 'second': 3, 'roles': {}, 'ready': [], 'started': [], 'waiting': []}, 'frames': [['REJECT', 2]]}])], 3: [('empty/first_arrival', 'empty', ['first_arrival'], [{'phase': 'waiting', 'registers': {'first': 3, 'second': 4, 'roles': {}, 'ready': [], 'started': [], 'waiting': [3]}, 'frames': []}]), ('waiting/second_arrival', 'waiting', ['second_arrival'], [{'phase': 'paired', 'registers': {'first': 3, 'second': 4, 'roles': {'3': 'initiator', '4': 'responder'}, 'ready': [], 'started': [], 'waiting': []}, 'frames': []}]), ('paired/first_ready', 'paired', ['first_ready'], [{'phase': 'one_ready', 'registers': {'first': 3, 'second': 4, 'roles': {'3': 'initiator', '4': 'responder'}, 'ready': [3], 'started': [], 'waiting': []}, 'frames': []}]), ('one_ready/second_ready', 'one_ready', ['second_ready'], [{'phase': 'active', 'registers': {'first': 3, 'second': 4, 'roles': {'3': 'initiator', '4': 'responder'}, 'ready': [3], 'started': [3, 4], 'waiting': []}, 'frames': []}]), ('waiting/first_withdraws', 'waiting', ['first_withdraws'], [{'phase': 'empty', 'registers': {'first': None, 'second': 4, 'roles': {}, 'ready': [], 'started': [], 'waiting': []}, 'frames': []}]), ('paired/partner_withdraws', 'paired', ['partner_withdraws'], [{'phase': 'waiting', 'registers': {'first': 3, 'second': None, 'roles': {'3': 'initiator', '4': 'responder'}, 'ready': [], 'started': [], 'waiting': [3]}, 'frames': [['PARTNER_LEFT', 3]]}]), ('active/third_arrival', 'active', ['third_arrival'], [{'phase': 'active', 'registers': {'first': 3, 'second': 4, 'roles': {'3': 'initiator', '4': 'responder'}, 'ready': [3], 'started': [], 'waiting': []}, 'frames': [['PAIR_FULL', 5]]}]), ('one_ready/duplicate_ready', 'one_ready', ['duplicate_ready'], [{'phase': 'one_ready', 'registers': {'first': 3, 'second': 4, 'roles': {'3': 'initiator', '4': 'responder'}, 'ready': [3], 'started': [], 'waiting': []}, 'frames': [['READY_ACK', 3]]}]), ('empty/ready', 'empty', ['ready'], [{'phase': 'empty', 'registers': {'first': 3, 'second': 4, 'roles': {}, 'ready': [], 'started': [], 'waiting': []}, 'frames': [['UNPAIRED', 3]]}]), ('active/both_done', 'active', ['both_done'], [{'phase': 'empty', 'registers': {'first': None, 'second': None, 'roles': {}, 'ready': [], 'started': [], 'waiting': []}, 'frames': []}]), ('ordered trace 0', 'empty', ['first_arrival', 'first_withdraws', 'first_arrival', 'first_withdraws', 'first_arrival', 'first_withdraws'], [{'phase': 'waiting', 'registers': {'first': 3, 'second': 4, 'roles': {}, 'ready': [], 'started': [], 'waiting': [3]}, 'frames': []}, {'phase': 'empty', 'registers': {'first': None, 'second': 4, 'roles': {}, 'ready': [], 'started': [], 'waiting': []}, 'frames': []}, {'phase': 'waiting', 'registers': {'first': None, 'second': 4, 'roles': {}, 'ready': [], 'started': [], 'waiting': [3]}, 'frames': []}, {'phase': 'empty', 'registers': {'first': None, 'second': 4, 'roles': {}, 'ready': [], 'started': [], 'waiting': []}, 'frames': []}, {'phase': 'waiting', 'registers': {'first': None, 'second': 4, 'roles': {}, 'ready': [], 'started': [], 'waiting': [3]}, 'frames': []}, {'phase': 'empty', 'registers': {'first': None, 'second': 4, 'roles': {}, 'ready': [], 'started': [], 'waiting': []}, 'frames': []}]), ('ordered trace 3', 'one_ready', ['duplicate_ready', 'second_ready', 'both_done', 'first_arrival', 'first_withdraws', 'first_arrival'], [{'phase': 'one_ready', 'registers': {'first': 3, 'second': 4, 'roles': {'3': 'initiator', '4': 'responder'}, 'ready': [3], 'started': [], 'waiting': []}, 'frames': [['READY_ACK', 3]]}, {'phase': 'active', 'registers': {'first': 3, 'second': 4, 'roles': {'3': 'initiator', '4': 'responder'}, 'ready': [3], 'started': [3, 4], 'waiting': []}, 'frames': [['READY_ACK', 3]]}, {'phase': 'empty', 'registers': {'first': None, 'second': None, 'roles': {}, 'ready': [], 'started': [3, 4], 'waiting': []}, 'frames': [['READY_ACK', 3]]}, {'phase': 'waiting', 'registers': {'first': None, 'second': None, 'roles': {}, 'ready': [], 'started': [3, 4], 'waiting': [3]}, 'frames': [['READY_ACK', 3]]}, {'phase': 'empty', 'registers': {'first': None, 'second': None, 'roles': {}, 'ready': [], 'started': [3, 4], 'waiting': []}, 'frames': [['READY_ACK', 3]]}, {'phase': 'waiting', 'registers': {'first': None, 'second': None, 'roles': {}, 'ready': [], 'started': [3, 4], 'waiting': [3]}, 'frames': [['READY_ACK', 3]]}]), ('empty input', 'empty', [], []), ('unknown event', 'empty', ['unsupported'], [{'phase': 'empty', 'registers': {'first': 3, 'second': 4, 'roles': {}, 'ready': [], 'started': [], 'waiting': []}, 'frames': [['REJECT', 3]]}])], 4: [('empty/first_arrival', 'empty', ['first_arrival'], [{'phase': 'waiting', 'registers': {'first': 4, 'second': 5, 'roles': {}, 'ready': [], 'started': [], 'waiting': [4]}, 'frames': []}]), ('waiting/second_arrival', 'waiting', ['second_arrival'], [{'phase': 'paired', 'registers': {'first': 4, 'second': 5, 'roles': {'4': 'initiator', '5': 'responder'}, 'ready': [], 'started': [], 'waiting': []}, 'frames': []}]), ('paired/first_ready', 'paired', ['first_ready'], [{'phase': 'one_ready', 'registers': {'first': 4, 'second': 5, 'roles': {'4': 'initiator', '5': 'responder'}, 'ready': [4], 'started': [], 'waiting': []}, 'frames': []}]), ('one_ready/second_ready', 'one_ready', ['second_ready'], [{'phase': 'active', 'registers': {'first': 4, 'second': 5, 'roles': {'4': 'initiator', '5': 'responder'}, 'ready': [4], 'started': [4, 5], 'waiting': []}, 'frames': []}]), ('waiting/first_withdraws', 'waiting', ['first_withdraws'], [{'phase': 'empty', 'registers': {'first': None, 'second': 5, 'roles': {}, 'ready': [], 'started': [], 'waiting': []}, 'frames': []}]), ('paired/partner_withdraws', 'paired', ['partner_withdraws'], [{'phase': 'waiting', 'registers': {'first': 4, 'second': None, 'roles': {'4': 'initiator', '5': 'responder'}, 'ready': [], 'started': [], 'waiting': [4]}, 'frames': [['PARTNER_LEFT', 4]]}]), ('active/third_arrival', 'active', ['third_arrival'], [{'phase': 'active', 'registers': {'first': 4, 'second': 5, 'roles': {'4': 'initiator', '5': 'responder'}, 'ready': [4], 'started': [], 'waiting': []}, 'frames': [['PAIR_FULL', 6]]}]), ('one_ready/duplicate_ready', 'one_ready', ['duplicate_ready'], [{'phase': 'one_ready', 'registers': {'first': 4, 'second': 5, 'roles': {'4': 'initiator', '5': 'responder'}, 'ready': [4], 'started': [], 'waiting': []}, 'frames': [['READY_ACK', 4]]}]), ('empty/ready', 'empty', ['ready'], [{'phase': 'empty', 'registers': {'first': 4, 'second': 5, 'roles': {}, 'ready': [], 'started': [], 'waiting': []}, 'frames': [['UNPAIRED', 4]]}]), ('active/both_done', 'active', ['both_done'], [{'phase': 'empty', 'registers': {'first': None, 'second': None, 'roles': {}, 'ready': [], 'started': [], 'waiting': []}, 'frames': []}]), ('ordered trace 0', 'empty', ['first_arrival', 'first_withdraws', 'first_arrival', 'first_withdraws', 'first_arrival', 'first_withdraws', 'first_arrival'], [{'phase': 'waiting', 'registers': {'first': 4, 'second': 5, 'roles': {}, 'ready': [], 'started': [], 'waiting': [4]}, 'frames': []}, {'phase': 'empty', 'registers': {'first': None, 'second': 5, 'roles': {}, 'ready': [], 'started': [], 'waiting': []}, 'frames': []}, {'phase': 'waiting', 'registers': {'first': None, 'second': 5, 'roles': {}, 'ready': [], 'started': [], 'waiting': [4]}, 'frames': []}, {'phase': 'empty', 'registers': {'first': None, 'second': 5, 'roles': {}, 'ready': [], 'started': [], 'waiting': []}, 'frames': []}, {'phase': 'waiting', 'registers': {'first': None, 'second': 5, 'roles': {}, 'ready': [], 'started': [], 'waiting': [4]}, 'frames': []}, {'phase': 'empty', 'registers': {'first': None, 'second': 5, 'roles': {}, 'ready': [], 'started': [], 'waiting': []}, 'frames': []}, {'phase': 'waiting', 'registers': {'first': None, 'second': 5, 'roles': {}, 'ready': [], 'started': [], 'waiting': [4]}, 'frames': []}]), ('ordered trace 3', 'one_ready', ['duplicate_ready', 'second_ready', 'both_done', 'first_arrival', 'first_withdraws', 'first_arrival', 'first_withdraws'], [{'phase': 'one_ready', 'registers': {'first': 4, 'second': 5, 'roles': {'4': 'initiator', '5': 'responder'}, 'ready': [4], 'started': [], 'waiting': []}, 'frames': [['READY_ACK', 4]]}, {'phase': 'active', 'registers': {'first': 4, 'second': 5, 'roles': {'4': 'initiator', '5': 'responder'}, 'ready': [4], 'started': [4, 5], 'waiting': []}, 'frames': [['READY_ACK', 4]]}, {'phase': 'empty', 'registers': {'first': None, 'second': None, 'roles': {}, 'ready': [], 'started': [4, 5], 'waiting': []}, 'frames': [['READY_ACK', 4]]}, {'phase': 'waiting', 'registers': {'first': None, 'second': None, 'roles': {}, 'ready': [], 'started': [4, 5], 'waiting': [4]}, 'frames': [['READY_ACK', 4]]}, {'phase': 'empty', 'registers': {'first': None, 'second': None, 'roles': {}, 'ready': [], 'started': [4, 5], 'waiting': []}, 'frames': [['READY_ACK', 4]]}, {'phase': 'waiting', 'registers': {'first': None, 'second': None, 'roles': {}, 'ready': [], 'started': [4, 5], 'waiting': [4]}, 'frames': [['READY_ACK', 4]]}, {'phase': 'empty', 'registers': {'first': None, 'second': None, 'roles': {}, 'ready': [], 'started': [4, 5], 'waiting': []}, 'frames': [['READY_ACK', 4]]}]), ('empty input', 'empty', [], []), ('unknown event', 'empty', ['unsupported'], [{'phase': 'empty', 'registers': {'first': 4, 'second': 5, 'roles': {}, 'ready': [], 'started': [], 'waiting': []}, 'frames': [['REJECT', 4]]}])], 5: [('empty/first_arrival', 'empty', ['first_arrival'], [{'phase': 'waiting', 'registers': {'first': 5, 'second': 6, 'roles': {}, 'ready': [], 'started': [], 'waiting': [5]}, 'frames': []}]), ('waiting/second_arrival', 'waiting', ['second_arrival'], [{'phase': 'paired', 'registers': {'first': 5, 'second': 6, 'roles': {'5': 'initiator', '6': 'responder'}, 'ready': [], 'started': [], 'waiting': []}, 'frames': []}]), ('paired/first_ready', 'paired', ['first_ready'], [{'phase': 'one_ready', 'registers': {'first': 5, 'second': 6, 'roles': {'5': 'initiator', '6': 'responder'}, 'ready': [5], 'started': [], 'waiting': []}, 'frames': []}]), ('one_ready/second_ready', 'one_ready', ['second_ready'], [{'phase': 'active', 'registers': {'first': 5, 'second': 6, 'roles': {'5': 'initiator', '6': 'responder'}, 'ready': [5], 'started': [5, 6], 'waiting': []}, 'frames': []}]), ('waiting/first_withdraws', 'waiting', ['first_withdraws'], [{'phase': 'empty', 'registers': {'first': None, 'second': 6, 'roles': {}, 'ready': [], 'started': [], 'waiting': []}, 'frames': []}]), ('paired/partner_withdraws', 'paired', ['partner_withdraws'], [{'phase': 'waiting', 'registers': {'first': 5, 'second': None, 'roles': {'5': 'initiator', '6': 'responder'}, 'ready': [], 'started': [], 'waiting': [5]}, 'frames': [['PARTNER_LEFT', 5]]}]), ('active/third_arrival', 'active', ['third_arrival'], [{'phase': 'active', 'registers': {'first': 5, 'second': 6, 'roles': {'5': 'initiator', '6': 'responder'}, 'ready': [5], 'started': [], 'waiting': []}, 'frames': [['PAIR_FULL', 7]]}]), ('one_ready/duplicate_ready', 'one_ready', ['duplicate_ready'], [{'phase': 'one_ready', 'registers': {'first': 5, 'second': 6, 'roles': {'5': 'initiator', '6': 'responder'}, 'ready': [5], 'started': [], 'waiting': []}, 'frames': [['READY_ACK', 5]]}]), ('empty/ready', 'empty', ['ready'], [{'phase': 'empty', 'registers': {'first': 5, 'second': 6, 'roles': {}, 'ready': [], 'started': [], 'waiting': []}, 'frames': [['UNPAIRED', 5]]}]), ('active/both_done', 'active', ['both_done'], [{'phase': 'empty', 'registers': {'first': None, 'second': None, 'roles': {}, 'ready': [], 'started': [], 'waiting': []}, 'frames': []}]), ('ordered trace 0', 'empty', ['first_arrival', 'first_withdraws', 'first_arrival', 'first_withdraws', 'first_arrival', 'first_withdraws', 'first_arrival', 'first_withdraws'], [{'phase': 'waiting', 'registers': {'first': 5, 'second': 6, 'roles': {}, 'ready': [], 'started': [], 'waiting': [5]}, 'frames': []}, {'phase': 'empty', 'registers': {'first': None, 'second': 6, 'roles': {}, 'ready': [], 'started': [], 'waiting': []}, 'frames': []}, {'phase': 'waiting', 'registers': {'first': None, 'second': 6, 'roles': {}, 'ready': [], 'started': [], 'waiting': [5]}, 'frames': []}, {'phase': 'empty', 'registers': {'first': None, 'second': 6, 'roles': {}, 'ready': [], 'started': [], 'waiting': []}, 'frames': []}, {'phase': 'waiting', 'registers': {'first': None, 'second': 6, 'roles': {}, 'ready': [], 'started': [], 'waiting': [5]}, 'frames': []}, {'phase': 'empty', 'registers': {'first': None, 'second': 6, 'roles': {}, 'ready': [], 'started': [], 'waiting': []}, 'frames': []}, {'phase': 'waiting', 'registers': {'first': None, 'second': 6, 'roles': {}, 'ready': [], 'started': [], 'waiting': [5]}, 'frames': []}, {'phase': 'empty', 'registers': {'first': None, 'second': 6, 'roles': {}, 'ready': [], 'started': [], 'waiting': []}, 'frames': []}]), ('ordered trace 3', 'one_ready', ['duplicate_ready', 'second_ready', 'both_done', 'first_arrival', 'first_withdraws', 'first_arrival', 'first_withdraws', 'first_arrival'], [{'phase': 'one_ready', 'registers': {'first': 5, 'second': 6, 'roles': {'5': 'initiator', '6': 'responder'}, 'ready': [5], 'started': [], 'waiting': []}, 'frames': [['READY_ACK', 5]]}, {'phase': 'active', 'registers': {'first': 5, 'second': 6, 'roles': {'5': 'initiator', '6': 'responder'}, 'ready': [5], 'started': [5, 6], 'waiting': []}, 'frames': [['READY_ACK', 5]]}, {'phase': 'empty', 'registers': {'first': None, 'second': None, 'roles': {}, 'ready': [], 'started': [5, 6], 'waiting': []}, 'frames': [['READY_ACK', 5]]}, {'phase': 'waiting', 'registers': {'first': None, 'second': None, 'roles': {}, 'ready': [], 'started': [5, 6], 'waiting': [5]}, 'frames': [['READY_ACK', 5]]}, {'phase': 'empty', 'registers': {'first': None, 'second': None, 'roles': {}, 'ready': [], 'started': [5, 6], 'waiting': []}, 'frames': [['READY_ACK', 5]]}, {'phase': 'waiting', 'registers': {'first': None, 'second': None, 'roles': {}, 'ready': [], 'started': [5, 6], 'waiting': [5]}, 'frames': [['READY_ACK', 5]]}, {'phase': 'empty', 'registers': {'first': None, 'second': None, 'roles': {}, 'ready': [], 'started': [5, 6], 'waiting': []}, 'frames': [['READY_ACK', 5]]}, {'phase': 'waiting', 'registers': {'first': None, 'second': None, 'roles': {}, 'ready': [], 'started': [5, 6], 'waiting': [5]}, 'frames': [['READY_ACK', 5]]}]), ('empty input', 'empty', [], []), ('unknown event', 'empty', ['unsupported'], [{'phase': 'empty', 'registers': {'first': 5, 'second': 6, 'roles': {}, 'ready': [], 'started': [], 'waiting': []}, 'frames': [['REJECT', 5]]}])]}\nfor label, phase, events, expected in cases[N]:\n    check(label, solve(phase, events, N), expected)\nprint(json.dumps({\"observations\": observations, \"passed\": all(x[\"passed\"] for x in observations)}, ensure_ascii=False))\nraise SystemExit(0 if all(x[\"passed\"] for x in observations) else 1)\n"},"broken":{"sha256":"0d26b040a116e8a788c3bce898b822316462dfc00bdba3b097bc9f7575910698","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(phase, events, seed):\n    payload = list(range(seed, seed * 2 + 2))\n    r = {'first': seed, 'second': seed+1, 'roles': {str(seed):'initiator',str(seed+1):'responder'} if phase in ('paired','one_ready','active') else {}, 'ready': [seed] if phase in ('one_ready','active') else [], 'started': [], 'waiting': []}\n    frames = []\n    observed = []\n    table = {('empty', 'first_arrival'): ('waiting', 'record_first'), ('waiting', 'second_arrival'): ('paired', 'assign_complementary_roles'), ('paired', 'first_ready'): ('one_ready', 'record_ready'), ('one_ready', 'second_ready'): ('active', 'start_both'), ('waiting', 'first_withdraws'): ('waiting', 'keep_first'), ('paired', 'partner_withdraws'): ('waiting', 'notify_requeue_survivor'), ('active', 'third_arrival'): ('active', 'reject_full'), ('one_ready', 'duplicate_ready'): ('one_ready', 'ack_existing'), ('empty', 'ready'): ('empty', 'reject_unpaired'), ('active', 'both_done'): ('empty', 'release_pair')}\n    for event in events:\n        phase, action = table.get((phase, event), (phase, \"reject\"))\n        if action == 'record_first':\n            r['waiting'].append(seed)\n        elif action == 'assign_complementary_roles':\n            r['roles']={str(seed):'initiator',str(seed+1):'responder'}\n        elif action == 'record_ready':\n            r['ready'].append(seed)\n        elif action == 'start_both':\n            r['started']=[seed,seed+1]\n        elif action == 'remove_first':\n            r['first']=None; r['waiting']=[]\n        elif action == 'notify_requeue_survivor':\n            r['waiting']=[seed]; r['second']=None; frames.append(['PARTNER_LEFT',seed])\n        elif action == 'reject_full':\n            frames.append(['PAIR_FULL',seed+2])\n        elif action == 'ack_existing':\n            frames.append(['READY_ACK',seed])\n        elif action == 'reject_unpaired':\n            frames.append(['UNPAIRED',seed])\n        elif action == 'release_pair':\n            r['first']=None; r['second']=None; r['roles']={}; r['ready']=[]\n        elif action == 'notify_pair':\n            frames.append(['PAIRED',seed,None])\n        elif action == 'reject':\n            frames.append(['REJECT',seed])\n        elif action == 'replace_first':\n            r['first']=seed+1\n        elif action == 'assign_same_role':\n            r['roles']={str(seed):'initiator',str(seed+1):'initiator'}\n        elif action == 'forget_second':\n            r['second']=None\n        elif action == 'start_second_only':\n            r['started']=[seed+1]\n        elif action == 'requeue_departed':\n            r['waiting']=[seed+1]\n        elif action == 'replace_partner':\n            r['second']=seed+2\n        elif action == 'assign_third_role':\n            r['roles'][str(seed+2)]='observer'\n        elif action == 'clear_ready':\n            r['ready']=[]\n        elif action == 'assign_roles':\n            r['roles']={str(seed):'initiator',str(seed+1):'responder'}\n        elif action == 'keep_roles':\n            r['first']=None; r['second']=None\n        elif action == 'keep_first':\n            r['first']=seed\n        else:\n            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\"):\n                frames.append([action, payload[:]])\n        observed.append(json.loads(json.dumps({\"phase\": phase, \"registers\": r, \"frames\": frames})))\n    return observed\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncases = {1: [('empty/first_arrival', 'empty', ['first_arrival'], [{'phase': 'waiting', 'registers': {'first': 1, 'second': 2, 'roles': {}, 'ready': [], 'started': [], 'waiting': [1]}, 'frames': []}]), ('waiting/second_arrival', 'waiting', ['second_arrival'], [{'phase': 'paired', 'registers': {'first': 1, 'second': 2, 'roles': {'1': 'initiator', '2': 'responder'}, 'ready': [], 'started': [], 'waiting': []}, 'frames': []}]), ('paired/first_ready', 'paired', ['first_ready'], [{'phase': 'one_ready', 'registers': {'first': 1, 'second': 2, 'roles': {'1': 'initiator', '2': 'responder'}, 'ready': [1], 'started': [], 'waiting': []}, 'frames': []}]), ('one_ready/second_ready', 'one_ready', ['second_ready'], [{'phase': 'active', 'registers': {'first': 1, 'second': 2, 'roles': {'1': 'initiator', '2': 'responder'}, 'ready': [1], 'started': [1, 2], 'waiting': []}, 'frames': []}]), ('waiting/first_withdraws', 'waiting', ['first_withdraws'], [{'phase': 'empty', 'registers': {'first': None, 'second': 2, 'roles': {}, 'ready': [], 'started': [], 'waiting': []}, 'frames': []}]), ('paired/partner_withdraws', 'paired', ['partner_withdraws'], [{'phase': 'waiting', 'registers': {'first': 1, 'second': None, 'roles': {'1': 'initiator', '2': 'responder'}, 'ready': [], 'started': [], 'waiting': [1]}, 'frames': [['PARTNER_LEFT', 1]]}]), ('active/third_arrival', 'active', ['third_arrival'], [{'phase': 'active', 'registers': {'first': 1, 'second': 2, 'roles': {'1': 'initiator', '2': 'responder'}, 'ready': [1], 'started': [], 'waiting': []}, 'frames': [['PAIR_FULL', 3]]}]), ('one_ready/duplicate_ready', 'one_ready', ['duplicate_ready'], [{'phase': 'one_ready', 'registers': {'first': 1, 'second': 2, 'roles': {'1': 'initiator', '2': 'responder'}, 'ready': [1], 'started': [], 'waiting': []}, 'frames': [['READY_ACK', 1]]}]), ('empty/ready', 'empty', ['ready'], [{'phase': 'empty', 'registers': {'first': 1, 'second': 2, 'roles': {}, 'ready': [], 'started': [], 'waiting': []}, 'frames': [['UNPAIRED', 1]]}]), ('active/both_done', 'active', ['both_done'], [{'phase': 'empty', 'registers': {'first': None, 'second': None, 'roles': {}, 'ready': [], 'started': [], 'waiting': []}, 'frames': []}]), ('ordered trace 0', 'empty', ['first_arrival', 'first_withdraws', 'first_arrival', 'first_withdraws'], [{'phase': 'waiting', 'registers': {'first': 1, 'second': 2, 'roles': {}, 'ready': [], 'started': [], 'waiting': [1]}, 'frames': []}, {'phase': 'empty', 'registers': {'first': None, 'second': 2, 'roles': {}, 'ready': [], 'started': [], 'waiting': []}, 'frames': []}, {'phase': 'waiting', 'registers': {'first': None, 'second': 2, 'roles': {}, 'ready': [], 'started': [], 'waiting': [1]}, 'frames': []}, {'phase': 'empty', 'registers': {'first': None, 'second': 2, 'roles': {}, 'ready': [], 'started': [], 'waiting': []}, 'frames': []}]), ('ordered trace 3', 'one_ready', ['duplicate_ready', 'second_ready', 'both_done', 'first_arrival'], [{'phase': 'one_ready', 'registers': {'first': 1, 'second': 2, 'roles': {'1': 'initiator', '2': 'responder'}, 'ready': [1], 'started': [], 'waiting': []}, 'frames': [['READY_ACK', 1]]}, {'phase': 'active', 'registers': {'first': 1, 'second': 2, 'roles': {'1': 'initiator', '2': 'responder'}, 'ready': [1], 'started': [1, 2], 'waiting': []}, 'frames': [['READY_ACK', 1]]}, {'phase': 'empty', 'registers': {'first': None, 'second': None, 'roles': {}, 'ready': [], 'started': [1, 2], 'waiting': []}, 'frames': [['READY_ACK', 1]]}, {'phase': 'waiting', 'registers': {'first': None, 'second': None, 'roles': {}, 'ready': [], 'started': [1, 2], 'waiting': [1]}, 'frames': [['READY_ACK', 1]]}]), ('empty input', 'empty', [], []), ('unknown event', 'empty', ['unsupported'], [{'phase': 'empty', 'registers': {'first': 1, 'second': 2, 'roles': {}, 'ready': [], 'started': [], 'waiting': []}, 'frames': [['REJECT', 1]]}])], 2: [('empty/first_arrival', 'empty', ['first_arrival'], [{'phase': 'waiting', 'registers': {'first': 2, 'second': 3, 'roles': {}, 'ready': [], 'started': [], 'waiting': [2]}, 'frames': []}]), ('waiting/second_arrival', 'waiting', ['second_arrival'], [{'phase': 'paired', 'registers': {'first': 2, 'second': 3, 'roles': {'2': 'initiator', '3': 'responder'}, 'ready': [], 'started': [], 'waiting': []}, 'frames': []}]), ('paired/first_ready', 'paired', ['first_ready'], [{'phase': 'one_ready', 'registers': {'first': 2, 'second': 3, 'roles': {'2': 'initiator', '3': 'responder'}, 'ready': [2], 'started': [], 'waiting': []}, 'frames': []}]), ('one_ready/second_ready', 'one_ready', ['second_ready'], [{'phase': 'active', 'registers': {'first': 2, 'second': 3, 'roles': {'2': 'initiator', '3': 'responder'}, 'ready': [2], 'started': [2, 3], 'waiting': []}, 'frames': []}]), ('waiting/first_withdraws', 'waiting', ['first_withdraws'], [{'phase': 'empty', 'registers': {'first': None, 'second': 3, 'roles': {}, 'ready': [], 'started': [], 'waiting': []}, 'frames': []}]), ('paired/partner_withdraws', 'paired', ['partner_withdraws'], [{'phase': 'waiting', 'registers': {'first': 2, 'second': None, 'roles': {'2': 'initiator', '3': 'responder'}, 'ready': [], 'started': [], 'waiting': [2]}, 'frames': [['PARTNER_LEFT', 2]]}]), ('active/third_arrival', 'active', ['third_arrival'], [{'phase': 'active', 'registers': {'first': 2, 'second': 3, 'roles': {'2': 'initiator', '3': 'responder'}, 'ready': [2], 'started': [], 'waiting': []}, 'frames': [['PAIR_FULL', 4]]}]), ('one_ready/duplicate_ready', 'one_ready', ['duplicate_ready'], [{'phase': 'one_ready', 'registers': {'first': 2, 'second': 3, 'roles': {'2': 'initiator', '3': 'responder'}, 'ready': [2], 'started': [], 'waiting': []}, 'frames': [['READY_ACK', 2]]}]), ('empty/ready', 'empty', ['ready'], [{'phase': 'empty', 'registers': {'first': 2, 'second': 3, 'roles': {}, 'ready': [], 'started': [], 'waiting': []}, 'frames': [['UNPAIRED', 2]]}]), ('active/both_done', 'active', ['both_done'], [{'phase': 'empty', 'registers': {'first': None, 'second': None, 'roles': {}, 'ready': [], 'started': [], 'waiting': []}, 'frames': []}]), ('ordered trace 0', 'empty', ['first_arrival', 'first_withdraws', 'first_arrival', 'first_withdraws', 'first_arrival'], [{'phase': 'waiting', 'registers': {'first': 2, 'second': 3, 'roles': {}, 'ready': [], 'started': [], 'waiting': [2]}, 'frames': []}, {'phase': 'empty', 'registers': {'first': None, 'second': 3, 'roles': {}, 'ready': [], 'started': [], 'waiting': []}, 'frames': []}, {'phase': 'waiting', 'registers': {'first': None, 'second': 3, 'roles': {}, 'ready': [], 'started': [], 'waiting': [2]}, 'frames': []}, {'phase': 'empty', 'registers': {'first': None, 'second': 3, 'roles': {}, 'ready': [], 'started': [], 'waiting': []}, 'frames': []}, {'phase': 'waiting', 'registers': {'first': None, 'second': 3, 'roles': {}, 'ready': [], 'started': [], 'waiting': [2]}, 'frames': []}]), ('ordered trace 3', 'one_ready', ['duplicate_ready', 'second_ready', 'both_done', 'first_arrival', 'first_withdraws'], [{'phase': 'one_ready', 'registers': {'first': 2, 'second': 3, 'roles': {'2': 'initiator', '3': 'responder'}, 'ready': [2], 'started': [], 'waiting': []}, 'frames': [['READY_ACK', 2]]}, {'phase': 'active', 'registers': {'first': 2, 'second': 3, 'roles': {'2': 'initiator', '3': 'responder'}, 'ready': [2], 'started': [2, 3], 'waiting': []}, 'frames': [['READY_ACK', 2]]}, {'phase': 'empty', 'registers': {'first': None, 'second': None, 'roles': {}, 'ready': [], 'started': [2, 3], 'waiting': []}, 'frames': [['READY_ACK', 2]]}, {'phase': 'waiting', 'registers': {'first': None, 'second': None, 'roles': {}, 'ready': [], 'started': [2, 3], 'waiting': [2]}, 'frames': [['READY_ACK', 2]]}, {'phase': 'empty', 'registers': {'first': None, 'second': None, 'roles': {}, 'ready': [], 'started': [2, 3], 'waiting': []}, 'frames': [['READY_ACK', 2]]}]), ('empty input', 'empty', [], []), ('unknown event', 'empty', ['unsupported'], [{'phase': 'empty', 'registers': {'first': 2, 'second': 3, 'roles': {}, 'ready': [], 'started': [], 'waiting': []}, 'frames': [['REJECT', 2]]}])], 3: [('empty/first_arrival', 'empty', ['first_arrival'], [{'phase': 'waiting', 'registers': {'first': 3, 'second': 4, 'roles': {}, 'ready': [], 'started': [], 'waiting': [3]}, 'frames': []}]), ('waiting/second_arrival', 'waiting', ['second_arrival'], [{'phase': 'paired', 'registers': {'first': 3, 'second': 4, 'roles': {'3': 'initiator', '4': 'responder'}, 'ready': [], 'started': [], 'waiting': []}, 'frames': []}]), ('paired/first_ready', 'paired', ['first_ready'], [{'phase': 'one_ready', 'registers': {'first': 3, 'second': 4, 'roles': {'3': 'initiator', '4': 'responder'}, 'ready': [3], 'started': [], 'waiting': []}, 'frames': []}]), ('one_ready/second_ready', 'one_ready', ['second_ready'], [{'phase': 'active', 'registers': {'first': 3, 'second': 4, 'roles': {'3': 'initiator', '4': 'responder'}, 'ready': [3], 'started': [3, 4], 'waiting': []}, 'frames': []}]), ('waiting/first_withdraws', 'waiting', ['first_withdraws'], [{'phase': 'empty', 'registers': {'first': None, 'second': 4, 'roles': {}, 'ready': [], 'started': [], 'waiting': []}, 'frames': []}]), ('paired/partner_withdraws', 'paired', ['partner_withdraws'], [{'phase': 'waiting', 'registers': {'first': 3, 'second': None, 'roles': {'3': 'initiator', '4': 'responder'}, 'ready': [], 'started': [], 'waiting': [3]}, 'frames': [['PARTNER_LEFT', 3]]}]), ('active/third_arrival', 'active', ['third_arrival'], [{'phase': 'active', 'registers': {'first': 3, 'second': 4, 'roles': {'3': 'initiator', '4': 'responder'}, 'ready': [3], 'started': [], 'waiting': []}, 'frames': [['PAIR_FULL', 5]]}]), ('one_ready/duplicate_ready', 'one_ready', ['duplicate_ready'], [{'phase': 'one_ready', 'registers': {'first': 3, 'second': 4, 'roles': {'3': 'initiator', '4': 'responder'}, 'ready': [3], 'started': [], 'waiting': []}, 'frames': [['READY_ACK', 3]]}]), ('empty/ready', 'empty', ['ready'], [{'phase': 'empty', 'registers': {'first': 3, 'second': 4, 'roles': {}, 'ready': [], 'started': [], 'waiting': []}, 'frames': [['UNPAIRED', 3]]}]), ('active/both_done', 'active', ['both_done'], [{'phase': 'empty', 'registers': {'first': None, 'second': None, 'roles': {}, 'ready': [], 'started': [], 'waiting': []}, 'frames': []}]), ('ordered trace 0', 'empty', ['first_arrival', 'first_withdraws', 'first_arrival', 'first_withdraws', 'first_arrival', 'first_withdraws'], [{'phase': 'waiting', 'registers': {'first': 3, 'second': 4, 'roles': {}, 'ready': [], 'started': [], 'waiting': [3]}, 'frames': []}, {'phase': 'empty', 'registers': {'first': None, 'second': 4, 'roles': {}, 'ready': [], 'started': [], 'waiting': []}, 'frames': []}, {'phase': 'waiting', 'registers': {'first': None, 'second': 4, 'roles': {}, 'ready': [], 'started': [], 'waiting': [3]}, 'frames': []}, {'phase': 'empty', 'registers': {'first': None, 'second': 4, 'roles': {}, 'ready': [], 'started': [], 'waiting': []}, 'frames': []}, {'phase': 'waiting', 'registers': {'first': None, 'second': 4, 'roles': {}, 'ready': [], 'started': [], 'waiting': [3]}, 'frames': []}, {'phase': 'empty', 'registers': {'first': None, 'second': 4, 'roles': {}, 'ready': [], 'started': [], 'waiting': []}, 'frames': []}]), ('ordered trace 3', 'one_ready', ['duplicate_ready', 'second_ready', 'both_done', 'first_arrival', 'first_withdraws', 'first_arrival'], [{'phase': 'one_ready', 'registers': {'first': 3, 'second': 4, 'roles': {'3': 'initiator', '4': 'responder'}, 'ready': [3], 'started': [], 'waiting': []}, 'frames': [['READY_ACK', 3]]}, {'phase': 'active', 'registers': {'first': 3, 'second': 4, 'roles': {'3': 'initiator', '4': 'responder'}, 'ready': [3], 'started': [3, 4], 'waiting': []}, 'frames': [['READY_ACK', 3]]}, {'phase': 'empty', 'registers': {'first': None, 'second': None, 'roles': {}, 'ready': [], 'started': [3, 4], 'waiting': []}, 'frames': [['READY_ACK', 3]]}, {'phase': 'waiting', 'registers': {'first': None, 'second': None, 'roles': {}, 'ready': [], 'started': [3, 4], 'waiting': [3]}, 'frames': [['READY_ACK', 3]]}, {'phase': 'empty', 'registers': {'first': None, 'second': None, 'roles': {}, 'ready': [], 'started': [3, 4], 'waiting': []}, 'frames': [['READY_ACK', 3]]}, {'phase': 'waiting', 'registers': {'first': None, 'second': None, 'roles': {}, 'ready': [], 'started': [3, 4], 'waiting': [3]}, 'frames': [['READY_ACK', 3]]}]), ('empty input', 'empty', [], []), ('unknown event', 'empty', ['unsupported'], [{'phase': 'empty', 'registers': {'first': 3, 'second': 4, 'roles': {}, 'ready': [], 'started': [], 'waiting': []}, 'frames': [['REJECT', 3]]}])], 4: [('empty/first_arrival', 'empty', ['first_arrival'], [{'phase': 'waiting', 'registers': {'first': 4, 'second': 5, 'roles': {}, 'ready': [], 'started': [], 'waiting': [4]}, 'frames': []}]), ('waiting/second_arrival', 'waiting', ['second_arrival'], [{'phase': 'paired', 'registers': {'first': 4, 'second': 5, 'roles': {'4': 'initiator', '5': 'responder'}, 'ready': [], 'started': [], 'waiting': []}, 'frames': []}]), ('paired/first_ready', 'paired', ['first_ready'], [{'phase': 'one_ready', 'registers': {'first': 4, 'second': 5, 'roles': {'4': 'initiator', '5': 'responder'}, 'ready': [4], 'started': [], 'waiting': []}, 'frames': []}]), ('one_ready/second_ready', 'one_ready', ['second_ready'], [{'phase': 'active', 'registers': {'first': 4, 'second': 5, 'roles': {'4': 'initiator', '5': 'responder'}, 'ready': [4], 'started': [4, 5], 'waiting': []}, 'frames': []}]), ('waiting/first_withdraws', 'waiting', ['first_withdraws'], [{'phase': 'empty', 'registers': {'first': None, 'second': 5, 'roles': {}, 'ready': [], 'started': [], 'waiting': []}, 'frames': []}]), ('paired/partner_withdraws', 'paired', ['partner_withdraws'], [{'phase': 'waiting', 'registers': {'first': 4, 'second': None, 'roles': {'4': 'initiator', '5': 'responder'}, 'ready': [], 'started': [], 'waiting': [4]}, 'frames': [['PARTNER_LEFT', 4]]}]), ('active/third_arrival', 'active', ['third_arrival'], [{'phase': 'active', 'registers': {'first': 4, 'second': 5, 'roles': {'4': 'initiator', '5': 'responder'}, 'ready': [4], 'started': [], 'waiting': []}, 'frames': [['PAIR_FULL', 6]]}]), ('one_ready/duplicate_ready', 'one_ready', ['duplicate_ready'], [{'phase': 'one_ready', 'registers': {'first': 4, 'second': 5, 'roles': {'4': 'initiator', '5': 'responder'}, 'ready': [4], 'started': [], 'waiting': []}, 'frames': [['READY_ACK', 4]]}]), ('empty/ready', 'empty', ['ready'], [{'phase': 'empty', 'registers': {'first': 4, 'second': 5, 'roles': {}, 'ready': [], 'started': [], 'waiting': []}, 'frames': [['UNPAIRED', 4]]}]), ('active/both_done', 'active', ['both_done'], [{'phase': 'empty', 'registers': {'first': None, 'second': None, 'roles': {}, 'ready': [], 'started': [], 'waiting': []}, 'frames': []}]), ('ordered trace 0', 'empty', ['first_arrival', 'first_withdraws', 'first_arrival', 'first_withdraws', 'first_arrival', 'first_withdraws', 'first_arrival'], [{'phase': 'waiting', 'registers': {'first': 4, 'second': 5, 'roles': {}, 'ready': [], 'started': [], 'waiting': [4]}, 'frames': []}, {'phase': 'empty', 'registers': {'first': None, 'second': 5, 'roles': {}, 'ready': [], 'started': [], 'waiting': []}, 'frames': []}, {'phase': 'waiting', 'registers': {'first': None, 'second': 5, 'roles': {}, 'ready': [], 'started': [], 'waiting': [4]}, 'frames': []}, {'phase': 'empty', 'registers': {'first': None, 'second': 5, 'roles': {}, 'ready': [], 'started': [], 'waiting': []}, 'frames': []}, {'phase': 'waiting', 'registers': {'first': None, 'second': 5, 'roles': {}, 'ready': [], 'started': [], 'waiting': [4]}, 'frames': []}, {'phase': 'empty', 'registers': {'first': None, 'second': 5, 'roles': {}, 'ready': [], 'started': [], 'waiting': []}, 'frames': []}, {'phase': 'waiting', 'registers': {'first': None, 'second': 5, 'roles': {}, 'ready': [], 'started': [], 'waiting': [4]}, 'frames': []}]), ('ordered trace 3', 'one_ready', ['duplicate_ready', 'second_ready', 'both_done', 'first_arrival', 'first_withdraws', 'first_arrival', 'first_withdraws'], [{'phase': 'one_ready', 'registers': {'first': 4, 'second': 5, 'roles': {'4': 'initiator', '5': 'responder'}, 'ready': [4], 'started': [], 'waiting': []}, 'frames': [['READY_ACK', 4]]}, {'phase': 'active', 'registers': {'first': 4, 'second': 5, 'roles': {'4': 'initiator', '5': 'responder'}, 'ready': [4], 'started': [4, 5], 'waiting': []}, 'frames': [['READY_ACK', 4]]}, {'phase': 'empty', 'registers': {'first': None, 'second': None, 'roles': {}, 'ready': [], 'started': [4, 5], 'waiting': []}, 'frames': [['READY_ACK', 4]]}, {'phase': 'waiting', 'registers': {'first': None, 'second': None, 'roles': {}, 'ready': [], 'started': [4, 5], 'waiting': [4]}, 'frames': [['READY_ACK', 4]]}, {'phase': 'empty', 'registers': {'first': None, 'second': None, 'roles': {}, 'ready': [], 'started': [4, 5], 'waiting': []}, 'frames': [['READY_ACK', 4]]}, {'phase': 'waiting', 'registers': {'first': None, 'second': None, 'roles': {}, 'ready': [], 'started': [4, 5], 'waiting': [4]}, 'frames': [['READY_ACK', 4]]}, {'phase': 'empty', 'registers': {'first': None, 'second': None, 'roles': {}, 'ready': [], 'started': [4, 5], 'waiting': []}, 'frames': [['READY_ACK', 4]]}]), ('empty input', 'empty', [], []), ('unknown event', 'empty', ['unsupported'], [{'phase': 'empty', 'registers': {'first': 4, 'second': 5, 'roles': {}, 'ready': [], 'started': [], 'waiting': []}, 'frames': [['REJECT', 4]]}])], 5: [('empty/first_arrival', 'empty', ['first_arrival'], [{'phase': 'waiting', 'registers': {'first': 5, 'second': 6, 'roles': {}, 'ready': [], 'started': [], 'waiting': [5]}, 'frames': []}]), ('waiting/second_arrival', 'waiting', ['second_arrival'], [{'phase': 'paired', 'registers': {'first': 5, 'second': 6, 'roles': {'5': 'initiator', '6': 'responder'}, 'ready': [], 'started': [], 'waiting': []}, 'frames': []}]), ('paired/first_ready', 'paired', ['first_ready'], [{'phase': 'one_ready', 'registers': {'first': 5, 'second': 6, 'roles': {'5': 'initiator', '6': 'responder'}, 'ready': [5], 'started': [], 'waiting': []}, 'frames': []}]), ('one_ready/second_ready', 'one_ready', ['second_ready'], [{'phase': 'active', 'registers': {'first': 5, 'second': 6, 'roles': {'5': 'initiator', '6': 'responder'}, 'ready': [5], 'started': [5, 6], 'waiting': []}, 'frames': []}]), ('waiting/first_withdraws', 'waiting', ['first_withdraws'], [{'phase': 'empty', 'registers': {'first': None, 'second': 6, 'roles': {}, 'ready': [], 'started': [], 'waiting': []}, 'frames': []}]), ('paired/partner_withdraws', 'paired', ['partner_withdraws'], [{'phase': 'waiting', 'registers': {'first': 5, 'second': None, 'roles': {'5': 'initiator', '6': 'responder'}, 'ready': [], 'started': [], 'waiting': [5]}, 'frames': [['PARTNER_LEFT', 5]]}]), ('active/third_arrival', 'active', ['third_arrival'], [{'phase': 'active', 'registers': {'first': 5, 'second': 6, 'roles': {'5': 'initiator', '6': 'responder'}, 'ready': [5], 'started': [], 'waiting': []}, 'frames': [['PAIR_FULL', 7]]}]), ('one_ready/duplicate_ready', 'one_ready', ['duplicate_ready'], [{'phase': 'one_ready', 'registers': {'first': 5, 'second': 6, 'roles': {'5': 'initiator', '6': 'responder'}, 'ready': [5], 'started': [], 'waiting': []}, 'frames': [['READY_ACK', 5]]}]), ('empty/ready', 'empty', ['ready'], [{'phase': 'empty', 'registers': {'first': 5, 'second': 6, 'roles': {}, 'ready': [], 'started': [], 'waiting': []}, 'frames': [['UNPAIRED', 5]]}]), ('active/both_done', 'active', ['both_done'], [{'phase': 'empty', 'registers': {'first': None, 'second': None, 'roles': {}, 'ready': [], 'started': [], 'waiting': []}, 'frames': []}]), ('ordered trace 0', 'empty', ['first_arrival', 'first_withdraws', 'first_arrival', 'first_withdraws', 'first_arrival', 'first_withdraws', 'first_arrival', 'first_withdraws'], [{'phase': 'waiting', 'registers': {'first': 5, 'second': 6, 'roles': {}, 'ready': [], 'started': [], 'waiting': [5]}, 'frames': []}, {'phase': 'empty', 'registers': {'first': None, 'second': 6, 'roles': {}, 'ready': [], 'started': [], 'waiting': []}, 'frames': []}, {'phase': 'waiting', 'registers': {'first': None, 'second': 6, 'roles': {}, 'ready': [], 'started': [], 'waiting': [5]}, 'frames': []}, {'phase': 'empty', 'registers': {'first': None, 'second': 6, 'roles': {}, 'ready': [], 'started': [], 'waiting': []}, 'frames': []}, {'phase': 'waiting', 'registers': {'first': None, 'second': 6, 'roles': {}, 'ready': [], 'started': [], 'waiting': [5]}, 'frames': []}, {'phase': 'empty', 'registers': {'first': None, 'second': 6, 'roles': {}, 'ready': [], 'started': [], 'waiting': []}, 'frames': []}, {'phase': 'waiting', 'registers': {'first': None, 'second': 6, 'roles': {}, 'ready': [], 'started': [], 'waiting': [5]}, 'frames': []}, {'phase': 'empty', 'registers': {'first': None, 'second': 6, 'roles': {}, 'ready': [], 'started': [], 'waiting': []}, 'frames': []}]), ('ordered trace 3', 'one_ready', ['duplicate_ready', 'second_ready', 'both_done', 'first_arrival', 'first_withdraws', 'first_arrival', 'first_withdraws', 'first_arrival'], [{'phase': 'one_ready', 'registers': {'first': 5, 'second': 6, 'roles': {'5': 'initiator', '6': 'responder'}, 'ready': [5], 'started': [], 'waiting': []}, 'frames': [['READY_ACK', 5]]}, {'phase': 'active', 'registers': {'first': 5, 'second': 6, 'roles': {'5': 'initiator', '6': 'responder'}, 'ready': [5], 'started': [5, 6], 'waiting': []}, 'frames': [['READY_ACK', 5]]}, {'phase': 'empty', 'registers': {'first': None, 'second': None, 'roles': {}, 'ready': [], 'started': [5, 6], 'waiting': []}, 'frames': [['READY_ACK', 5]]}, {'phase': 'waiting', 'registers': {'first': None, 'second': None, 'roles': {}, 'ready': [], 'started': [5, 6], 'waiting': [5]}, 'frames': [['READY_ACK', 5]]}, {'phase': 'empty', 'registers': {'first': None, 'second': None, 'roles': {}, 'ready': [], 'started': [5, 6], 'waiting': []}, 'frames': [['READY_ACK', 5]]}, {'phase': 'waiting', 'registers': {'first': None, 'second': None, 'roles': {}, 'ready': [], 'started': [5, 6], 'waiting': [5]}, 'frames': [['READY_ACK', 5]]}, {'phase': 'empty', 'registers': {'first': None, 'second': None, 'roles': {}, 'ready': [], 'started': [5, 6], 'waiting': []}, 'frames': [['READY_ACK', 5]]}, {'phase': 'waiting', 'registers': {'first': None, 'second': None, 'roles': {}, 'ready': [], 'started': [5, 6], 'waiting': [5]}, 'frames': [['READY_ACK', 5]]}]), ('empty input', 'empty', [], []), ('unknown event', 'empty', ['unsupported'], [{'phase': 'empty', 'registers': {'first': 5, 'second': 6, 'roles': {}, 'ready': [], 'started': [], 'waiting': []}, 'frames': [['REJECT', 5]]}])]}\nfor label, phase, events, expected in cases[N]:\n    check(label, solve(phase, events, N), expected)\nprint(json.dumps({\"observations\": observations, \"passed\": all(x[\"passed\"] for x in observations)}, ensure_ascii=False))\nraise SystemExit(0 if all(x[\"passed\"] for x in observations) else 1)\n"},"fixed":{"sha256":"af0e9ad5bd2a538605ab9310f26ce666443bf15f7cbdd6a544a408ef7fe2a334","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(phase, events, seed):\n    payload = list(range(seed, seed * 2 + 2))\n    r = {'first': seed, 'second': seed+1, 'roles': {str(seed):'initiator',str(seed+1):'responder'} if phase in ('paired','one_ready','active') else {}, 'ready': [seed] if phase in ('one_ready','active') else [], 'started': [], 'waiting': []}\n    frames = []\n    observed = []\n    table = {('empty', 'first_arrival'): ('waiting', 'record_first'), ('waiting', 'second_arrival'): ('paired', 'assign_complementary_roles'), ('paired', 'first_ready'): ('one_ready', 'record_ready'), ('one_ready', 'second_ready'): ('active', 'start_both'), ('waiting', 'first_withdraws'): ('empty', 'remove_first'), ('paired', 'partner_withdraws'): ('waiting', 'notify_requeue_survivor'), ('active', 'third_arrival'): ('active', 'reject_full'), ('one_ready', 'duplicate_ready'): ('one_ready', 'ack_existing'), ('empty', 'ready'): ('empty', 'reject_unpaired'), ('active', 'both_done'): ('empty', 'release_pair')}\n    for event in events:\n        phase, action = table.get((phase, event), (phase, \"reject\"))\n        if action == 'record_first':\n            r['waiting'].append(seed)\n        elif action == 'assign_complementary_roles':\n            r['roles']={str(seed):'initiator',str(seed+1):'responder'}\n        elif action == 'record_ready':\n            r['ready'].append(seed)\n        elif action == 'start_both':\n            r['started']=[seed,seed+1]\n        elif action == 'remove_first':\n            r['first']=None; r['waiting']=[]\n        elif action == 'notify_requeue_survivor':\n            r['waiting']=[seed]; r['second']=None; frames.append(['PARTNER_LEFT',seed])\n        elif action == 'reject_full':\n            frames.append(['PAIR_FULL',seed+2])\n        elif action == 'ack_existing':\n            frames.append(['READY_ACK',seed])\n        elif action == 'reject_unpaired':\n            frames.append(['UNPAIRED',seed])\n        elif action == 'release_pair':\n            r['first']=None; r['second']=None; r['roles']={}; r['ready']=[]\n        elif action == 'notify_pair':\n            frames.append(['PAIRED',seed,None])\n        elif action == 'reject':\n            frames.append(['REJECT',seed])\n        elif action == 'replace_first':\n            r['first']=seed+1\n        elif action == 'assign_same_role':\n            r['roles']={str(seed):'initiator',str(seed+1):'initiator'}\n        elif action == 'forget_second':\n            r['second']=None\n        elif action == 'start_second_only':\n            r['started']=[seed+1]\n        elif action == 'requeue_departed':\n            r['waiting']=[seed+1]\n        elif action == 'replace_partner':\n            r['second']=seed+2\n        elif action == 'assign_third_role':\n            r['roles'][str(seed+2)]='observer'\n        elif action == 'clear_ready':\n            r['ready']=[]\n        elif action == 'assign_roles':\n            r['roles']={str(seed):'initiator',str(seed+1):'responder'}\n        elif action == 'keep_roles':\n            r['first']=None; r['second']=None\n        elif action == 'keep_first':\n            r['first']=seed\n        else:\n            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\"):\n                frames.append([action, payload[:]])\n        observed.append(json.loads(json.dumps({\"phase\": phase, \"registers\": r, \"frames\": frames})))\n    return observed\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncases = {1: [('empty/first_arrival', 'empty', ['first_arrival'], [{'phase': 'waiting', 'registers': {'first': 1, 'second': 2, 'roles': {}, 'ready': [], 'started': [], 'waiting': [1]}, 'frames': []}]), ('waiting/second_arrival', 'waiting', ['second_arrival'], [{'phase': 'paired', 'registers': {'first': 1, 'second': 2, 'roles': {'1': 'initiator', '2': 'responder'}, 'ready': [], 'started': [], 'waiting': []}, 'frames': []}]), ('paired/first_ready', 'paired', ['first_ready'], [{'phase': 'one_ready', 'registers': {'first': 1, 'second': 2, 'roles': {'1': 'initiator', '2': 'responder'}, 'ready': [1], 'started': [], 'waiting': []}, 'frames': []}]), ('one_ready/second_ready', 'one_ready', ['second_ready'], [{'phase': 'active', 'registers': {'first': 1, 'second': 2, 'roles': {'1': 'initiator', '2': 'responder'}, 'ready': [1], 'started': [1, 2], 'waiting': []}, 'frames': []}]), ('waiting/first_withdraws', 'waiting', ['first_withdraws'], [{'phase': 'empty', 'registers': {'first': None, 'second': 2, 'roles': {}, 'ready': [], 'started': [], 'waiting': []}, 'frames': []}]), ('paired/partner_withdraws', 'paired', ['partner_withdraws'], [{'phase': 'waiting', 'registers': {'first': 1, 'second': None, 'roles': {'1': 'initiator', '2': 'responder'}, 'ready': [], 'started': [], 'waiting': [1]}, 'frames': [['PARTNER_LEFT', 1]]}]), ('active/third_arrival', 'active', ['third_arrival'], [{'phase': 'active', 'registers': {'first': 1, 'second': 2, 'roles': {'1': 'initiator', '2': 'responder'}, 'ready': [1], 'started': [], 'waiting': []}, 'frames': [['PAIR_FULL', 3]]}]), ('one_ready/duplicate_ready', 'one_ready', ['duplicate_ready'], [{'phase': 'one_ready', 'registers': {'first': 1, 'second': 2, 'roles': {'1': 'initiator', '2': 'responder'}, 'ready': [1], 'started': [], 'waiting': []}, 'frames': [['READY_ACK', 1]]}]), ('empty/ready', 'empty', ['ready'], [{'phase': 'empty', 'registers': {'first': 1, 'second': 2, 'roles': {}, 'ready': [], 'started': [], 'waiting': []}, 'frames': [['UNPAIRED', 1]]}]), ('active/both_done', 'active', ['both_done'], [{'phase': 'empty', 'registers': {'first': None, 'second': None, 'roles': {}, 'ready': [], 'started': [], 'waiting': []}, 'frames': []}]), ('ordered trace 0', 'empty', ['first_arrival', 'first_withdraws', 'first_arrival', 'first_withdraws'], [{'phase': 'waiting', 'registers': {'first': 1, 'second': 2, 'roles': {}, 'ready': [], 'started': [], 'waiting': [1]}, 'frames': []}, {'phase': 'empty', 'registers': {'first': None, 'second': 2, 'roles': {}, 'ready': [], 'started': [], 'waiting': []}, 'frames': []}, {'phase': 'waiting', 'registers': {'first': None, 'second': 2, 'roles': {}, 'ready': [], 'started': [], 'waiting': [1]}, 'frames': []}, {'phase': 'empty', 'registers': {'first': None, 'second': 2, 'roles': {}, 'ready': [], 'started': [], 'waiting': []}, 'frames': []}]), ('ordered trace 3', 'one_ready', ['duplicate_ready', 'second_ready', 'both_done', 'first_arrival'], [{'phase': 'one_ready', 'registers': {'first': 1, 'second': 2, 'roles': {'1': 'initiator', '2': 'responder'}, 'ready': [1], 'started': [], 'waiting': []}, 'frames': [['READY_ACK', 1]]}, {'phase': 'active', 'registers': {'first': 1, 'second': 2, 'roles': {'1': 'initiator', '2': 'responder'}, 'ready': [1], 'started': [1, 2], 'waiting': []}, 'frames': [['READY_ACK', 1]]}, {'phase': 'empty', 'registers': {'first': None, 'second': None, 'roles': {}, 'ready': [], 'started': [1, 2], 'waiting': []}, 'frames': [['READY_ACK', 1]]}, {'phase': 'waiting', 'registers': {'first': None, 'second': None, 'roles': {}, 'ready': [], 'started': [1, 2], 'waiting': [1]}, 'frames': [['READY_ACK', 1]]}]), ('empty input', 'empty', [], []), ('unknown event', 'empty', ['unsupported'], [{'phase': 'empty', 'registers': {'first': 1, 'second': 2, 'roles': {}, 'ready': [], 'started': [], 'waiting': []}, 'frames': [['REJECT', 1]]}])], 2: [('empty/first_arrival', 'empty', ['first_arrival'], [{'phase': 'waiting', 'registers': {'first': 2, 'second': 3, 'roles': {}, 'ready': [], 'started': [], 'waiting': [2]}, 'frames': []}]), ('waiting/second_arrival', 'waiting', ['second_arrival'], [{'phase': 'paired', 'registers': {'first': 2, 'second': 3, 'roles': {'2': 'initiator', '3': 'responder'}, 'ready': [], 'started': [], 'waiting': []}, 'frames': []}]), ('paired/first_ready', 'paired', ['first_ready'], [{'phase': 'one_ready', 'registers': {'first': 2, 'second': 3, 'roles': {'2': 'initiator', '3': 'responder'}, 'ready': [2], 'started': [], 'waiting': []}, 'frames': []}]), ('one_ready/second_ready', 'one_ready', ['second_ready'], [{'phase': 'active', 'registers': {'first': 2, 'second': 3, 'roles': {'2': 'initiator', '3': 'responder'}, 'ready': [2], 'started': [2, 3], 'waiting': []}, 'frames': []}]), ('waiting/first_withdraws', 'waiting', ['first_withdraws'], [{'phase': 'empty', 'registers': {'first': None, 'second': 3, 'roles': {}, 'ready': [], 'started': [], 'waiting': []}, 'frames': []}]), ('paired/partner_withdraws', 'paired', ['partner_withdraws'], [{'phase': 'waiting', 'registers': {'first': 2, 'second': None, 'roles': {'2': 'initiator', '3': 'responder'}, 'ready': [], 'started': [], 'waiting': [2]}, 'frames': [['PARTNER_LEFT', 2]]}]), ('active/third_arrival', 'active', ['third_arrival'], [{'phase': 'active', 'registers': {'first': 2, 'second': 3, 'roles': {'2': 'initiator', '3': 'responder'}, 'ready': [2], 'started': [], 'waiting': []}, 'frames': [['PAIR_FULL', 4]]}]), ('one_ready/duplicate_ready', 'one_ready', ['duplicate_ready'], [{'phase': 'one_ready', 'registers': {'first': 2, 'second': 3, 'roles': {'2': 'initiator', '3': 'responder'}, 'ready': [2], 'started': [], 'waiting': []}, 'frames': [['READY_ACK', 2]]}]), ('empty/ready', 'empty', ['ready'], [{'phase': 'empty', 'registers': {'first': 2, 'second': 3, 'roles': {}, 'ready': [], 'started': [], 'waiting': []}, 'frames': [['UNPAIRED', 2]]}]), ('active/both_done', 'active', ['both_done'], [{'phase': 'empty', 'registers': {'first': None, 'second': None, 'roles': {}, 'ready': [], 'started': [], 'waiting': []}, 'frames': []}]), ('ordered trace 0', 'empty', ['first_arrival', 'first_withdraws', 'first_arrival', 'first_withdraws', 'first_arrival'], [{'phase': 'waiting', 'registers': {'first': 2, 'second': 3, 'roles': {}, 'ready': [], 'started': [], 'waiting': [2]}, 'frames': []}, {'phase': 'empty', 'registers': {'first': None, 'second': 3, 'roles': {}, 'ready': [], 'started': [], 'waiting': []}, 'frames': []}, {'phase': 'waiting', 'registers': {'first': None, 'second': 3, 'roles': {}, 'ready': [], 'started': [], 'waiting': [2]}, 'frames': []}, {'phase': 'empty', 'registers': {'first': None, 'second': 3, 'roles': {}, 'ready': [], 'started': [], 'waiting': []}, 'frames': []}, {'phase': 'waiting', 'registers': {'first': None, 'second': 3, 'roles': {}, 'ready': [], 'started': [], 'waiting': [2]}, 'frames': []}]), ('ordered trace 3', 'one_ready', ['duplicate_ready', 'second_ready', 'both_done', 'first_arrival', 'first_withdraws'], [{'phase': 'one_ready', 'registers': {'first': 2, 'second': 3, 'roles': {'2': 'initiator', '3': 'responder'}, 'ready': [2], 'started': [], 'waiting': []}, 'frames': [['READY_ACK', 2]]}, {'phase': 'active', 'registers': {'first': 2, 'second': 3, 'roles': {'2': 'initiator', '3': 'responder'}, 'ready': [2], 'started': [2, 3], 'waiting': []}, 'frames': [['READY_ACK', 2]]}, {'phase': 'empty', 'registers': {'first': None, 'second': None, 'roles': {}, 'ready': [], 'started': [2, 3], 'waiting': []}, 'frames': [['READY_ACK', 2]]}, {'phase': 'waiting', 'registers': {'first': None, 'second': None, 'roles': {}, 'ready': [], 'started': [2, 3], 'waiting': [2]}, 'frames': [['READY_ACK', 2]]}, {'phase': 'empty', 'registers': {'first': None, 'second': None, 'roles': {}, 'ready': [], 'started': [2, 3], 'waiting': []}, 'frames': [['READY_ACK', 2]]}]), ('empty input', 'empty', [], []), ('unknown event', 'empty', ['unsupported'], [{'phase': 'empty', 'registers': {'first': 2, 'second': 3, 'roles': {}, 'ready': [], 'started': [], 'waiting': []}, 'frames': [['REJECT', 2]]}])], 3: [('empty/first_arrival', 'empty', ['first_arrival'], [{'phase': 'waiting', 'registers': {'first': 3, 'second': 4, 'roles': {}, 'ready': [], 'started': [], 'waiting': [3]}, 'frames': []}]), ('waiting/second_arrival', 'waiting', ['second_arrival'], [{'phase': 'paired', 'registers': {'first': 3, 'second': 4, 'roles': {'3': 'initiator', '4': 'responder'}, 'ready': [], 'started': [], 'waiting': []}, 'frames': []}]), ('paired/first_ready', 'paired', ['first_ready'], [{'phase': 'one_ready', 'registers': {'first': 3, 'second': 4, 'roles': {'3': 'initiator', '4': 'responder'}, 'ready': [3], 'started': [], 'waiting': []}, 'frames': []}]), ('one_ready/second_ready', 'one_ready', ['second_ready'], [{'phase': 'active', 'registers': {'first': 3, 'second': 4, 'roles': {'3': 'initiator', '4': 'responder'}, 'ready': [3], 'started': [3, 4], 'waiting': []}, 'frames': []}]), ('waiting/first_withdraws', 'waiting', ['first_withdraws'], [{'phase': 'empty', 'registers': {'first': None, 'second': 4, 'roles': {}, 'ready': [], 'started': [], 'waiting': []}, 'frames': []}]), ('paired/partner_withdraws', 'paired', ['partner_withdraws'], [{'phase': 'waiting', 'registers': {'first': 3, 'second': None, 'roles': {'3': 'initiator', '4': 'responder'}, 'ready': [], 'started': [], 'waiting': [3]}, 'frames': [['PARTNER_LEFT', 3]]}]), ('active/third_arrival', 'active', ['third_arrival'], [{'phase': 'active', 'registers': {'first': 3, 'second': 4, 'roles': {'3': 'initiator', '4': 'responder'}, 'ready': [3], 'started': [], 'waiting': []}, 'frames': [['PAIR_FULL', 5]]}]), ('one_ready/duplicate_ready', 'one_ready', ['duplicate_ready'], [{'phase': 'one_ready', 'registers': {'first': 3, 'second': 4, 'roles': {'3': 'initiator', '4': 'responder'}, 'ready': [3], 'started': [], 'waiting': []}, 'frames': [['READY_ACK', 3]]}]), ('empty/ready', 'empty', ['ready'], [{'phase': 'empty', 'registers': {'first': 3, 'second': 4, 'roles': {}, 'ready': [], 'started': [], 'waiting': []}, 'frames': [['UNPAIRED', 3]]}]), ('active/both_done', 'active', ['both_done'], [{'phase': 'empty', 'registers': {'first': None, 'second': None, 'roles': {}, 'ready': [], 'started': [], 'waiting': []}, 'frames': []}]), ('ordered trace 0', 'empty', ['first_arrival', 'first_withdraws', 'first_arrival', 'first_withdraws', 'first_arrival', 'first_withdraws'], [{'phase': 'waiting', 'registers': {'first': 3, 'second': 4, 'roles': {}, 'ready': [], 'started': [], 'waiting': [3]}, 'frames': []}, {'phase': 'empty', 'registers': {'first': None, 'second': 4, 'roles': {}, 'ready': [], 'started': [], 'waiting': []}, 'frames': []}, {'phase': 'waiting', 'registers': {'first': None, 'second': 4, 'roles': {}, 'ready': [], 'started': [], 'waiting': [3]}, 'frames': []}, {'phase': 'empty', 'registers': {'first': None, 'second': 4, 'roles': {}, 'ready': [], 'started': [], 'waiting': []}, 'frames': []}, {'phase': 'waiting', 'registers': {'first': None, 'second': 4, 'roles': {}, 'ready': [], 'started': [], 'waiting': [3]}, 'frames': []}, {'phase': 'empty', 'registers': {'first': None, 'second': 4, 'roles': {}, 'ready': [], 'started': [], 'waiting': []}, 'frames': []}]), ('ordered trace 3', 'one_ready', ['duplicate_ready', 'second_ready', 'both_done', 'first_arrival', 'first_withdraws', 'first_arrival'], [{'phase': 'one_ready', 'registers': {'first': 3, 'second': 4, 'roles': {'3': 'initiator', '4': 'responder'}, 'ready': [3], 'started': [], 'waiting': []}, 'frames': [['READY_ACK', 3]]}, {'phase': 'active', 'registers': {'first': 3, 'second': 4, 'roles': {'3': 'initiator', '4': 'responder'}, 'ready': [3], 'started': [3, 4], 'waiting': []}, 'frames': [['READY_ACK', 3]]}, {'phase': 'empty', 'registers': {'first': None, 'second': None, 'roles': {}, 'ready': [], 'started': [3, 4], 'waiting': []}, 'frames': [['READY_ACK', 3]]}, {'phase': 'waiting', 'registers': {'first': None, 'second': None, 'roles': {}, 'ready': [], 'started': [3, 4], 'waiting': [3]}, 'frames': [['READY_ACK', 3]]}, {'phase': 'empty', 'registers': {'first': None, 'second': None, 'roles': {}, 'ready': [], 'started': [3, 4], 'waiting': []}, 'frames': [['READY_ACK', 3]]}, {'phase': 'waiting', 'registers': {'first': None, 'second': None, 'roles': {}, 'ready': [], 'started': [3, 4], 'waiting': [3]}, 'frames': [['READY_ACK', 3]]}]), ('empty input', 'empty', [], []), ('unknown event', 'empty', ['unsupported'], [{'phase': 'empty', 'registers': {'first': 3, 'second': 4, 'roles': {}, 'ready': [], 'started': [], 'waiting': []}, 'frames': [['REJECT', 3]]}])], 4: [('empty/first_arrival', 'empty', ['first_arrival'], [{'phase': 'waiting', 'registers': {'first': 4, 'second': 5, 'roles': {}, 'ready': [], 'started': [], 'waiting': [4]}, 'frames': []}]), ('waiting/second_arrival', 'waiting', ['second_arrival'], [{'phase': 'paired', 'registers': {'first': 4, 'second': 5, 'roles': {'4': 'initiator', '5': 'responder'}, 'ready': [], 'started': [], 'waiting': []}, 'frames': []}]), ('paired/first_ready', 'paired', ['first_ready'], [{'phase': 'one_ready', 'registers': {'first': 4, 'second': 5, 'roles': {'4': 'initiator', '5': 'responder'}, 'ready': [4], 'started': [], 'waiting': []}, 'frames': []}]), ('one_ready/second_ready', 'one_ready', ['second_ready'], [{'phase': 'active', 'registers': {'first': 4, 'second': 5, 'roles': {'4': 'initiator', '5': 'responder'}, 'ready': [4], 'started': [4, 5], 'waiting': []}, 'frames': []}]), ('waiting/first_withdraws', 'waiting', ['first_withdraws'], [{'phase': 'empty', 'registers': {'first': None, 'second': 5, 'roles': {}, 'ready': [], 'started': [], 'waiting': []}, 'frames': []}]), ('paired/partner_withdraws', 'paired', ['partner_withdraws'], [{'phase': 'waiting', 'registers': {'first': 4, 'second': None, 'roles': {'4': 'initiator', '5': 'responder'}, 'ready': [], 'started': [], 'waiting': [4]}, 'frames': [['PARTNER_LEFT', 4]]}]), ('active/third_arrival', 'active', ['third_arrival'], [{'phase': 'active', 'registers': {'first': 4, 'second': 5, 'roles': {'4': 'initiator', '5': 'responder'}, 'ready': [4], 'started': [], 'waiting': []}, 'frames': [['PAIR_FULL', 6]]}]), ('one_ready/duplicate_ready', 'one_ready', ['duplicate_ready'], [{'phase': 'one_ready', 'registers': {'first': 4, 'second': 5, 'roles': {'4': 'initiator', '5': 'responder'}, 'ready': [4], 'started': [], 'waiting': []}, 'frames': [['READY_ACK', 4]]}]), ('empty/ready', 'empty', ['ready'], [{'phase': 'empty', 'registers': {'first': 4, 'second': 5, 'roles': {}, 'ready': [], 'started': [], 'waiting': []}, 'frames': [['UNPAIRED', 4]]}]), ('active/both_done', 'active', ['both_done'], [{'phase': 'empty', 'registers': {'first': None, 'second': None, 'roles': {}, 'ready': [], 'started': [], 'waiting': []}, 'frames': []}]), ('ordered trace 0', 'empty', ['first_arrival', 'first_withdraws', 'first_arrival', 'first_withdraws', 'first_arrival', 'first_withdraws', 'first_arrival'], [{'phase': 'waiting', 'registers': {'first': 4, 'second': 5, 'roles': {}, 'ready': [], 'started': [], 'waiting': [4]}, 'frames': []}, {'phase': 'empty', 'registers': {'first': None, 'second': 5, 'roles': {}, 'ready': [], 'started': [], 'waiting': []}, 'frames': []}, {'phase': 'waiting', 'registers': {'first': None, 'second': 5, 'roles': {}, 'ready': [], 'started': [], 'waiting': [4]}, 'frames': []}, {'phase': 'empty', 'registers': {'first': None, 'second': 5, 'roles': {}, 'ready': [], 'started': [], 'waiting': []}, 'frames': []}, {'phase': 'waiting', 'registers': {'first': None, 'second': 5, 'roles': {}, 'ready': [], 'started': [], 'waiting': [4]}, 'frames': []}, {'phase': 'empty', 'registers': {'first': None, 'second': 5, 'roles': {}, 'ready': [], 'started': [], 'waiting': []}, 'frames': []}, {'phase': 'waiting', 'registers': {'first': None, 'second': 5, 'roles': {}, 'ready': [], 'started': [], 'waiting': [4]}, 'frames': []}]), ('ordered trace 3', 'one_ready', ['duplicate_ready', 'second_ready', 'both_done', 'first_arrival', 'first_withdraws', 'first_arrival', 'first_withdraws'], [{'phase': 'one_ready', 'registers': {'first': 4, 'second': 5, 'roles': {'4': 'initiator', '5': 'responder'}, 'ready': [4], 'started': [], 'waiting': []}, 'frames': [['READY_ACK', 4]]}, {'phase': 'active', 'registers': {'first': 4, 'second': 5, 'roles': {'4': 'initiator', '5': 'responder'}, 'ready': [4], 'started': [4, 5], 'waiting': []}, 'frames': [['READY_ACK', 4]]}, {'phase': 'empty', 'registers': {'first': None, 'second': None, 'roles': {}, 'ready': [], 'started': [4, 5], 'waiting': []}, 'frames': [['READY_ACK', 4]]}, {'phase': 'waiting', 'registers': {'first': None, 'second': None, 'roles': {}, 'ready': [], 'started': [4, 5], 'waiting': [4]}, 'frames': [['READY_ACK', 4]]}, {'phase': 'empty', 'registers': {'first': None, 'second': None, 'roles': {}, 'ready': [], 'started': [4, 5], 'waiting': []}, 'frames': [['READY_ACK', 4]]}, {'phase': 'waiting', 'registers': {'first': None, 'second': None, 'roles': {}, 'ready': [], 'started': [4, 5], 'waiting': [4]}, 'frames': [['READY_ACK', 4]]}, {'phase': 'empty', 'registers': {'first': None, 'second': None, 'roles': {}, 'ready': [], 'started': [4, 5], 'waiting': []}, 'frames': [['READY_ACK', 4]]}]), ('empty input', 'empty', [], []), ('unknown event', 'empty', ['unsupported'], [{'phase': 'empty', 'registers': {'first': 4, 'second': 5, 'roles': {}, 'ready': [], 'started': [], 'waiting': []}, 'frames': [['REJECT', 4]]}])], 5: [('empty/first_arrival', 'empty', ['first_arrival'], [{'phase': 'waiting', 'registers': {'first': 5, 'second': 6, 'roles': {}, 'ready': [], 'started': [], 'waiting': [5]}, 'frames': []}]), ('waiting/second_arrival', 'waiting', ['second_arrival'], [{'phase': 'paired', 'registers': {'first': 5, 'second': 6, 'roles': {'5': 'initiator', '6': 'responder'}, 'ready': [], 'started': [], 'waiting': []}, 'frames': []}]), ('paired/first_ready', 'paired', ['first_ready'], [{'phase': 'one_ready', 'registers': {'first': 5, 'second': 6, 'roles': {'5': 'initiator', '6': 'responder'}, 'ready': [5], 'started': [], 'waiting': []}, 'frames': []}]), ('one_ready/second_ready', 'one_ready', ['second_ready'], [{'phase': 'active', 'registers': {'first': 5, 'second': 6, 'roles': {'5': 'initiator', '6': 'responder'}, 'ready': [5], 'started': [5, 6], 'waiting': []}, 'frames': []}]), ('waiting/first_withdraws', 'waiting', ['first_withdraws'], [{'phase': 'empty', 'registers': {'first': None, 'second': 6, 'roles': {}, 'ready': [], 'started': [], 'waiting': []}, 'frames': []}]), ('paired/partner_withdraws', 'paired', ['partner_withdraws'], [{'phase': 'waiting', 'registers': {'first': 5, 'second': None, 'roles': {'5': 'initiator', '6': 'responder'}, 'ready': [], 'started': [], 'waiting': [5]}, 'frames': [['PARTNER_LEFT', 5]]}]), ('active/third_arrival', 'active', ['third_arrival'], [{'phase': 'active', 'registers': {'first': 5, 'second': 6, 'roles': {'5': 'initiator', '6': 'responder'}, 'ready': [5], 'started': [], 'waiting': []}, 'frames': [['PAIR_FULL', 7]]}]), ('one_ready/duplicate_ready', 'one_ready', ['duplicate_ready'], [{'phase': 'one_ready', 'registers': {'first': 5, 'second': 6, 'roles': {'5': 'initiator', '6': 'responder'}, 'ready': [5], 'started': [], 'waiting': []}, 'frames': [['READY_ACK', 5]]}]), ('empty/ready', 'empty', ['ready'], [{'phase': 'empty', 'registers': {'first': 5, 'second': 6, 'roles': {}, 'ready': [], 'started': [], 'waiting': []}, 'frames': [['UNPAIRED', 5]]}]), ('active/both_done', 'active', ['both_done'], [{'phase': 'empty', 'registers': {'first': None, 'second': None, 'roles': {}, 'ready': [], 'started': [], 'waiting': []}, 'frames': []}]), ('ordered trace 0', 'empty', ['first_arrival', 'first_withdraws', 'first_arrival', 'first_withdraws', 'first_arrival', 'first_withdraws', 'first_arrival', 'first_withdraws'], [{'phase': 'waiting', 'registers': {'first': 5, 'second': 6, 'roles': {}, 'ready': [], 'started': [], 'waiting': [5]}, 'frames': []}, {'phase': 'empty', 'registers': {'first': None, 'second': 6, 'roles': {}, 'ready': [], 'started': [], 'waiting': []}, 'frames': []}, {'phase': 'waiting', 'registers': {'first': None, 'second': 6, 'roles': {}, 'ready': [], 'started': [], 'waiting': [5]}, 'frames': []}, {'phase': 'empty', 'registers': {'first': None, 'second': 6, 'roles': {}, 'ready': [], 'started': [], 'waiting': []}, 'frames': []}, {'phase': 'waiting', 'registers': {'first': None, 'second': 6, 'roles': {}, 'ready': [], 'started': [], 'waiting': [5]}, 'frames': []}, {'phase': 'empty', 'registers': {'first': None, 'second': 6, 'roles': {}, 'ready': [], 'started': [], 'waiting': []}, 'frames': []}, {'phase': 'waiting', 'registers': {'first': None, 'second': 6, 'roles': {}, 'ready': [], 'started': [], 'waiting': [5]}, 'frames': []}, {'phase': 'empty', 'registers': {'first': None, 'second': 6, 'roles': {}, 'ready': [], 'started': [], 'waiting': []}, 'frames': []}]), ('ordered trace 3', 'one_ready', ['duplicate_ready', 'second_ready', 'both_done', 'first_arrival', 'first_withdraws', 'first_arrival', 'first_withdraws', 'first_arrival'], [{'phase': 'one_ready', 'registers': {'first': 5, 'second': 6, 'roles': {'5': 'initiator', '6': 'responder'}, 'ready': [5], 'started': [], 'waiting': []}, 'frames': [['READY_ACK', 5]]}, {'phase': 'active', 'registers': {'first': 5, 'second': 6, 'roles': {'5': 'initiator', '6': 'responder'}, 'ready': [5], 'started': [5, 6], 'waiting': []}, 'frames': [['READY_ACK', 5]]}, {'phase': 'empty', 'registers': {'first': None, 'second': None, 'roles': {}, 'ready': [], 'started': [5, 6], 'waiting': []}, 'frames': [['READY_ACK', 5]]}, {'phase': 'waiting', 'registers': {'first': None, 'second': None, 'roles': {}, 'ready': [], 'started': [5, 6], 'waiting': [5]}, 'frames': [['READY_ACK', 5]]}, {'phase': 'empty', 'registers': {'first': None, 'second': None, 'roles': {}, 'ready': [], 'started': [5, 6], 'waiting': []}, 'frames': [['READY_ACK', 5]]}, {'phase': 'waiting', 'registers': {'first': None, 'second': None, 'roles': {}, 'ready': [], 'started': [5, 6], 'waiting': [5]}, 'frames': [['READY_ACK', 5]]}, {'phase': 'empty', 'registers': {'first': None, 'second': None, 'roles': {}, 'ready': [], 'started': [5, 6], 'waiting': []}, 'frames': [['READY_ACK', 5]]}, {'phase': 'waiting', 'registers': {'first': None, 'second': None, 'roles': {}, 'ready': [], 'started': [5, 6], 'waiting': [5]}, 'frames': [['READY_ACK', 5]]}]), ('empty input', 'empty', [], []), ('unknown event', 'empty', ['unsupported'], [{'phase': 'empty', 'registers': {'first': 5, 'second': 6, 'roles': {}, 'ready': [], 'started': [], 'waiting': []}, 'frames': [['REJECT', 5]]}])]}\nfor label, phase, events, expected in cases[N]:\n    check(label, solve(phase, events, N), expected)\nprint(json.dumps({\"observations\": observations, \"passed\": all(x[\"passed\"] for x in observations)}, ensure_ascii=False))\nraise SystemExit(0 if all(x[\"passed\"] for x in observations) else 1)\n"}},"limitations":"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.","method":"Deterministic executable model with adversarial boundary fixtures.","provenance":{"created_by":"Failure Map","dependencies":"Python standard library","family":"s3-protocols-rendezvous-waiting-first_withdraws","generated_at":"2026-09-29T14:40:16.052502+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"Incorrect event admission now changes concrete queued data, resource ownership, or emitted protocol frames and subsequent trace behavior.","repair":"In phase waiting, classify first_withdraws as transition to empty and emit remove_first.","root_cause":"In waiting, the first withdraws handler runs keep first and enters waiting; it must instead run remove first and enter empty.","sha256":"c5e97ded0c56d60081804a452e1fb03f3b73a29adcced40db3a5e1c84730ddc9","title":"Two-peer rendezvous role assignment controller: waiting / first withdraws · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":44.586,"exit_code":1,"observations":[{"actual":[{"frames":[],"phase":"waiting","registers":{"first":1,"ready":[],"roles":{},"second":2,"started":[],"waiting":[1]}}],"check":"empty/first_arrival","expected":[{"frames":[],"phase":"waiting","registers":{"first":1,"ready":[],"roles":{},"second":2,"started":[],"waiting":[1]}}],"passed":true},{"actual":[{"frames":[],"phase":"paired","registers":{"first":1,"ready":[],"roles":{"1":"initiator","2":"responder"},"second":2,"started":[],"waiting":[]}}],"check":"waiting/second_arrival","expected":[{"frames":[],"phase":"paired","registers":{"first":1,"ready":[],"roles":{"1":"initiator","2":"responder"},"second":2,"started":[],"waiting":[]}}],"passed":true},{"actual":[{"frames":[],"phase":"one_ready","registers":{"first":1,"ready":[1],"roles":{"1":"initiator","2":"responder"},"second":2,"started":[],"waiting":[]}}],"check":"paired/first_ready","expected":[{"frames":[],"phase":"one_ready","registers":{"first":1,"ready":[1],"roles":{"1":"initiator","2":"responder"},"second":2,"started":[],"waiting":[]}}],"passed":true},{"actual":[{"frames":[],"phase":"active","registers":{"first":1,"ready":[1],"roles":{"1":"initiator","2":"responder"},"second":2,"started":[1,2],"waiting":[]}}],"check":"one_ready/second_ready","expected":[{"frames":[],"phase":"active","registers":{"first":1,"ready":[1],"roles":{"1":"initiator","2":"responder"},"second":2,"started":[1,2],"waiting":[]}}],"passed":true},{"actual":[{"frames":[],"phase":"empty","registers":{"first":1,"ready":[],"roles":{},"second":2,"started":[],"waiting":[]}}],"check":"waiting/first_withdraws","expected":[{"frames":[],"phase":"empty","registers":{"first":null,"ready":[],"roles":{},"second":2,"started":[],"waiting":[]}}],"passed":false},{"actual":[{"frames":[["PARTNER_LEFT",1]],"phase":"waiting","registers":{"first":1,"ready":[],"roles":{"1":"initiator","2":"responder"},"second":null,"started":[],"waiting":[1]}}],"check":"paired/partner_withdraws","expected":[{"frames":[["PARTNER_LEFT",1]],"phase":"waiting","registers":{"first":1,"ready":[],"roles":{"1":"initiator","2":"responder"},"second":null,"started":[],"waiting":[1]}}],"passed":true},{"actual":[{"frames":[["PAIR_FULL",3]],"phase":"active","registers":{"first":1,"ready":[1],"roles":{"1":"initiator","2":"responder"},"second":2,"started":[],"waiting":[]}}],"check":"active/third_arrival","expected":[{"frames":[["PAIR_FULL",3]],"phase":"active","registers":{"first":1,"ready":[1],"roles":{"1":"initiator","2":"responder"},"second":2,"started":[],"waiting":[]}}],"passed":true},{"actual":[{"frames":[["READY_ACK",1]],"phase":"one_ready","registers":{"first":1,"ready":[1],"roles":{"1":"initiator","2":"responder"},"second":2,"started":[],"waiting":[]}}],"check":"one_ready/duplicate_ready","expected":[{"frames":[["READY_ACK",1]],"phase":"one_ready","registers":{"first":1,"ready":[1],"roles":{"1":"initiator","2":"responder"},"second":2,"started":[],"waiting":[]}}],"passed":true},{"actual":[{"frames":[["UNPAIRED",1]],"phase":"empty","registers":{"first":1,"ready":[],"roles":{},"second":2,"started":[],"waiting":[]}}],"check":"empty/ready","expected":[{"frames":[["UNPAIRED",1]],"phase":"empty","registers":{"first":1,"ready":[],"roles":{},"second":2,"started":[],"waiting":[]}}],"passed":true},{"actual":[{"frames":[],"phase":"empty","registers":{"first":null,"ready":[],"roles":{},"second":null,"started":[],"waiting":[]}}],"check":"active/both_done","expected":[{"frames":[],"phase":"empty","registers":{"first":null,"ready":[],"roles":{},"second":null,"started":[],"waiting":[]}}],"passed":true},{"actual":[{"frames":[],"phase":"waiting","registers":{"first":1,"ready":[],"roles":{},"second":2,"started":[],"waiting":[1]}},{"frames":[],"phase":"empty","registers":{"first":1,"ready":[],"roles":{},"second":2,"started":[],"waiting":[1]}},{"frames":[],"phase":"waiting","registers":{"first":1,"ready":[],"roles":{},"second":2,"started":[],"waiting":[1,1]}},{"frames":[],"phase":"empty","registers":{"first":1,"ready":[],"roles":{},"second":2,"started":[],"waiting":[1,1]}}],"check":"ordered trace 0","expected":[{"frames":[],"phase":"waiting","registers":{"first":1,"ready":[],"roles":{},"second":2,"started":[],"waiting":[1]}},{"frames":[],"phase":"empty","registers":{"first":null,"ready":[],"roles":{},"second":2,"started":[],"waiting":[]}},{"frames":[],"phase":"waiting","registers":{"first":null,"ready":[],"roles":{},"second":2,"started":[],"waiting":[1]}},{"frames":[],"phase":"empty","registers":{"first":null,"ready":[],"roles":{},"second":2,"started":[],"waiting":[]}}],"passed":false},{"actual":[{"frames":[["READY_ACK",1]],"phase":"one_ready","registers":{"first":1,"ready":[1],"roles":{"1":"initiator","2":"responder"},"second":2,"started":[],"waiting":[]}},{"frames":[["READY_ACK",1]],"phase":"active","registers":{"first":1,"ready":[1],"roles":{"1":"initiator","2":"responder"},"second":2,"started":[1,2],"waiting":[]}},{"frames":[["READY_ACK",1]],"phase":"empty","registers":{"first":null,"ready":[],"roles":{},"second":null,"started":[1,2],"waiting":[]}},{"frames":[["READY_ACK",1]],"phase":"waiting","registers":{"first":null,"ready":[],"roles":{},"second":null,"started":[1,2],"waiting":[1]}}],"check":"ordered trace 3","expected":[{"frames":[["READY_ACK",1]],"phase":"one_ready","registers":{"first":1,"ready":[1],"roles":{"1":"initiator","2":"responder"},"second":2,"started":[],"waiting":[]}},{"frames":[["READY_ACK",1]],"phase":"active","registers":{"first":1,"ready":[1],"roles":{"1":"initiator","2":"responder"},"second":2,"started":[1,2],"waiting":[]}},{"frames":[["READY_ACK",1]],"phase":"empty","registers":{"first":null,"ready":[],"roles":{},"second":null,"started":[1,2],"waiting":[]}},{"frames":[["READY_ACK",1]],"phase":"waiting","registers":{"first":null,"ready":[],"roles":{},"second":null,"started":[1,2],"waiting":[1]}}],"passed":true},{"actual":[],"check":"empty input","expected":[],"passed":true},{"actual":[{"frames":[["REJECT",1]],"phase":"empty","registers":{"first":1,"ready":[],"roles":{},"second":2,"started":[],"waiting":[]}}],"check":"unknown event","expected":[{"frames":[["REJECT",1]],"phase":"empty","registers":{"first":1,"ready":[],"roles":{},"second":2,"started":[],"waiting":[]}}],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"empty/first_arrival\", \"actual\": [{\"phase\": \"waiting\", \"registers\": {\"first\": 1, \"second\": 2, \"roles\": {}, \"ready\": [], \"started\": [], \"waiting\": [1]}, \"frames\": []}], \"expected\": [{\"phase\": \"waiting\", \"registers\": {\"first\": 1, \"second\": 2, \"roles\": {}, \"ready\": [], \"started\": [], \"waiting\": [1]}, \"frames\": []}], \"passed\": true}, {\"check\": \"waiting/second_arrival\", \"actual\": [{\"phase\": \"paired\", \"registers\": {\"first\": 1, \"second\": 2, \"roles\": {\"1\": \"initiator\", \"2\": \"responder\"}, \"ready\": [], \"started\": [], \"waiting\": []}, \"frames\": []}], \"expected\": [{\"phase\": \"paired\", \"registers\": {\"first\": 1, \"second\": 2, \"roles\": {\"1\": \"initiator\", \"2\": \"responder\"}, \"ready\": [], \"started\": [], \"waiting\": []}, \"frames\": []}], \"passed\": true}, {\"check\": \"paired/first_ready\", \"actual\": [{\"phase\": \"one_ready\", \"registers\": {\"first\": 1, \"second\": 2, \"roles\": {\"1\": \"initiator\", \"2\": \"responder\"}, \"ready\": [1], \"started\": [], \"waiting\": []}, \"frames\": []}], \"expected\": [{\"phase\": \"one_ready\", \"registers\": {\"first\": 1, \"second\": 2, \"roles\": {\"1\": \"initiator\", \"2\": \"responder\"}, \"ready\": [1], \"started\": [], \"waiting\": []}, \"frames\": []}], \"passed\": true}, {\"check\": \"one_ready/second_ready\", \"actual\": [{\"phase\": \"active\", \"registers\": {\"first\": 1, \"second\": 2, \"roles\": {\"1\": \"initiator\", \"2\": \"responder\"}, \"ready\": [1], \"started\": [1, 2], \"waiting\": []}, \"frames\": []}], \"expected\": [{\"phase\": \"active\", \"registers\": {\"first\": 1, \"second\": 2, \"roles\": {\"1\": \"initiator\", \"2\": \"responder\"}, \"ready\": [1], \"started\": [1, 2], \"waiting\": []}, \"frames\": []}], \"passed\": true}, {\"check\": \"waiting/first_withdraws\", \"actual\": [{\"phase\": \"empty\", \"registers\": {\"first\": 1, \"second\": 2, \"roles\": {}, \"ready\": [], \"started\": [], \"waiting\": []}, \"frames\": []}], \"expected\": [{\"phase\": \"empty\", \"registers\": {\"first\": null, \"second\": 2, \"roles\": {}, \"ready\": [], \"started\": [], \"waiting\": []}, \"frames\": []}], \"passed\": false}, {\"check\": \"paired/partner_withdraws\", \"actual\": [{\"phase\": \"waiting\", \"registers\": {\"first\": 1, \"second\": null, \"roles\": {\"1\": \"initiator\", \"2\": \"responder\"}, \"ready\": [], \"started\": [], \"waiting\": [1]}, \"frames\": [[\"PARTNER_LEFT\", 1]]}], \"expected\": [{\"phase\": \"waiting\", \"registers\": {\"first\": 1, \"second\": null, \"roles\": {\"1\": \"initiator\", \"2\": \"responder\"}, \"ready\": [], \"started\": [], \"waiting\": [1]}, \"frames\": [[\"PARTNER_LEFT\", 1]]}], \"passed\": true}, {\"check\": \"active/third_arrival\", \"actual\": [{\"phase\": \"active\", \"registers\": {\"first\": 1, \"second\": 2, \"roles\": {\"1\": \"initiator\", \"2\": \"responder\"}, \"ready\": [1], \"started\": [], \"waiting\": []}, \"frames\": [[\"PAIR_FULL\", 3]]}], \"expected\": [{\"phase\": \"active\", \"registers\": {\"first\": 1, \"second\": 2, \"roles\": {\"1\": \"initiator\", \"2\": \"responder\"}, \"ready\": [1], \"started\": [], \"waiting\": []}, \"frames\": [[\"PAIR_FULL\", 3]]}], \"passed\": true}, {\"check\": \"one_ready/duplicate_ready\", \"actual\": [{\"phase\": \"one_ready\", \"registers\": {\"first\": 1, \"second\": 2, \"roles\": {\"1\": \"initiator\", \"2\": \"responder\"}, \"ready\": [1], \"started\": [], \"waiting\": []}, \"frames\": [[\"READY_ACK\", 1]]}], \"expected\": [{\"phase\": \"one_ready\", \"registers\": {\"first\": 1, \"second\": 2, \"roles\": {\"1\": \"initiator\", \"2\": \"responder\"}, \"ready\": [1], \"started\": [], \"waiting\": []}, \"frames\": [[\"READY_ACK\", 1]]}], \"passed\": true}, {\"check\": \"empty/ready\", \"actual\": [{\"phase\": \"empty\", \"registers\": {\"first\": 1, \"second\": 2, \"roles\": {}, \"ready\": [], \"started\": [], \"waiting\": []}, \"frames\": [[\"UNPAIRED\", 1]]}], \"expected\": [{\"phase\": \"empty\", \"registers\": {\"first\": 1, \"second\": 2, \"roles\": {}, \"ready\": [], \"started\": [], \"waiting\": []}, \"frames\": [[\"UNPAIRED\", 1]]}], \"passed\": true}, {\"check\": \"active/both_done\", \"actual\": [{\"phase\": \"empty\", \"registers\": {\"first\": null, \"second\": null, \"roles\": {}, \"ready\": [], \"started\": [], \"waiting\": []}, \"frames\": []}], \"expected\": [{\"phase\": \"empty\", \"registers\": {\"first\": null, \"second\": null, \"roles\": {}, \"ready\": [], \"started\": [], \"waiting\": []}, \"frames\": []}], \"passed\": true}, {\"check\": \"ordered trace 0\", \"actual\": [{\"phase\": \"waiting\", \"registers\": {\"first\": 1, \"second\": 2, \"roles\": {}, \"ready\": [], \"started\": [], \"waiting\": [1]}, \"frames\": []}, {\"phase\": \"empty\", \"registers\": {\"first\": 1, \"second\": 2, \"roles\": {}, \"ready\": [], \"started\": [], \"waiting\": [1]}, \"frames\": []}, {\"phase\": \"waiting\", \"registers\": {\"first\": 1, \"second\": 2, \"roles\": {}, \"ready\": [], \"started\": [], \"waiting\": [1, 1]}, \"frames\": []}, {\"phase\": \"empty\", \"registers\": {\"first\": 1, \"second\": 2, \"roles\": {}, \"ready\": [], \"started\": [], \"waiting\": [1, 1]}, \"frames\": []}], \"expected\": [{\"phase\": \"waiting\", \"registers\": {\"first\": 1, \"second\": 2, \"roles\": {}, \"ready\": [], \"started\": [], \"waiting\": [1]}, \"frames\": []}, {\"phase\": \"empty\", \"registers\": {\"first\": null, \"second\": 2, \"roles\": {}, \"ready\": [], \"started\": [], \"waiting\": []}, \"frames\": []}, {\"phase\": \"waiting\", \"registers\": {\"first\": null, \"second\": 2, \"roles\": {}, \"ready\": [], \"started\": [], \"waiting\": [1]}, \"frames\": []}, {\"phase\": \"empty\", \"registers\": {\"first\": null, \"second\": 2, \"roles\": {}, \"ready\": [], \"started\": [], \"waiting\": []}, \"frames\": []}], \"passed\": false}, {\"check\": \"ordered trace 3\", \"actual\": [{\"phase\": \"one_ready\", \"registers\": {\"first\": 1, \"second\": 2, \"roles\": {\"1\": \"initiator\", \"2\": \"responder\"}, \"ready\": [1], \"started\": [], \"waiting\": []}, \"frames\": [[\"READY_ACK\", 1]]}, {\"phase\": \"active\", \"registers\": {\"first\": 1, \"second\": 2, \"roles\": {\"1\": \"initiator\", \"2\": \"responder\"}, \"ready\": [1], \"started\": [1, 2], \"waiting\": []}, \"frames\": [[\"READY_ACK\", 1]]}, {\"phase\": \"empty\", \"registers\": {\"first\": null, \"second\": null, \"roles\": {}, \"ready\": [], \"started\": [1, 2], \"waiting\": []}, \"frames\": [[\"READY_ACK\", 1]]}, {\"phase\": \"waiting\", \"registers\": {\"first\": null, \"second\": null, \"roles\": {}, \"ready\": [], \"started\": [1, 2], \"waiting\": [1]}, \"frames\": [[\"READY_ACK\", 1]]}], \"expected\": [{\"phase\": \"one_ready\", \"registers\": {\"first\": 1, \"second\": 2, \"roles\": {\"1\": \"initiator\", \"2\": \"responder\"}, \"ready\": [1], \"started\": [], \"waiting\": []}, \"frames\": [[\"READY_ACK\", 1]]}, {\"phase\": \"active\", \"registers\": {\"first\": 1, \"second\": 2, \"roles\": {\"1\": \"initiator\", \"2\": \"responder\"}, \"ready\": [1], \"started\": [1, 2], \"waiting\": []}, \"frames\": [[\"READY_ACK\", 1]]}, {\"phase\": \"empty\", \"registers\": {\"first\": null, \"second\": null, \"roles\": {}, \"ready\": [], \"started\": [1, 2], \"waiting\": []}, \"frames\": [[\"READY_ACK\", 1]]}, {\"phase\": \"waiting\", \"registers\": {\"first\": null, \"second\": null, \"roles\": {}, \"ready\": [], \"started\": [1, 2], \"waiting\": [1]}, \"frames\": [[\"READY_ACK\", 1]]}], \"passed\": true}, {\"check\": \"empty input\", \"actual\": [], \"expected\": [], \"passed\": true}, {\"check\": \"unknown event\", \"actual\": [{\"phase\": \"empty\", \"registers\": {\"first\": 1, \"second\": 2, \"roles\": {}, \"ready\": [], \"started\": [], \"waiting\": []}, \"frames\": [[\"REJECT\", 1]]}], \"expected\": [{\"phase\": \"empty\", \"registers\": {\"first\": 1, \"second\": 2, \"roles\": {}, \"ready\": [], \"started\": [], \"waiting\": []}, \"frames\": [[\"REJECT\", 1]]}], \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":47.164,"exit_code":1,"observations":[{"actual":[{"frames":[],"phase":"waiting","registers":{"first":1,"ready":[],"roles":{},"second":2,"started":[],"waiting":[1]}}],"check":"empty/first_arrival","expected":[{"frames":[],"phase":"waiting","registers":{"first":1,"ready":[],"roles":{},"second":2,"started":[],"waiting":[1]}}],"passed":true},{"actual":[{"frames":[],"phase":"paired","registers":{"first":1,"ready":[],"roles":{"1":"initiator","2":"responder"},"second":2,"started":[],"waiting":[]}}],"check":"waiting/second_arrival","expected":[{"frames":[],"phase":"paired","registers":{"first":1,"ready":[],"roles":{"1":"initiator","2":"responder"},"second":2,"started":[],"waiting":[]}}],"passed":true},{"actual":[{"frames":[],"phase":"one_ready","registers":{"first":1,"ready":[1],"roles":{"1":"initiator","2":"responder"},"second":2,"started":[],"waiting":[]}}],"check":"paired/first_ready","expected":[{"frames":[],"phase":"one_ready","registers":{"first":1,"ready":[1],"roles":{"1":"initiator","2":"responder"},"second":2,"started":[],"waiting":[]}}],"passed":true},{"actual":[{"frames":[],"phase":"active","registers":{"first":1,"ready":[1],"roles":{"1":"initiator","2":"responder"},"second":2,"started":[1,2],"waiting":[]}}],"check":"one_ready/second_ready","expected":[{"frames":[],"phase":"active","registers":{"first":1,"ready":[1],"roles":{"1":"initiator","2":"responder"},"second":2,"started":[1,2],"waiting":[]}}],"passed":true},{"actual":[{"frames":[],"phase":"waiting","registers":{"first":1,"ready":[],"roles":{},"second":2,"started":[],"waiting":[]}}],"check":"waiting/first_withdraws","expected":[{"frames":[],"phase":"empty","registers":{"first":null,"ready":[],"roles":{},"second":2,"started":[],"waiting":[]}}],"passed":false},{"actual":[{"frames":[["PARTNER_LEFT",1]],"phase":"waiting","registers":{"first":1,"ready":[],"roles":{"1":"initiator","2":"responder"},"second":null,"started":[],"waiting":[1]}}],"check":"paired/partner_withdraws","expected":[{"frames":[["PARTNER_LEFT",1]],"phase":"waiting","registers":{"first":1,"ready":[],"roles":{"1":"initiator","2":"responder"},"second":null,"started":[],"waiting":[1]}}],"passed":true},{"actual":[{"frames":[["PAIR_FULL",3]],"phase":"active","registers":{"first":1,"ready":[1],"roles":{"1":"initiator","2":"responder"},"second":2,"started":[],"waiting":[]}}],"check":"active/third_arrival","expected":[{"frames":[["PAIR_FULL",3]],"phase":"active","registers":{"first":1,"ready":[1],"roles":{"1":"initiator","2":"responder"},"second":2,"started":[],"waiting":[]}}],"passed":true},{"actual":[{"frames":[["READY_ACK",1]],"phase":"one_ready","registers":{"first":1,"ready":[1],"roles":{"1":"initiator","2":"responder"},"second":2,"started":[],"waiting":[]}}],"check":"one_ready/duplicate_ready","expected":[{"frames":[["READY_ACK",1]],"phase":"one_ready","registers":{"first":1,"ready":[1],"roles":{"1":"initiator","2":"responder"},"second":2,"started":[],"waiting":[]}}],"passed":true},{"actual":[{"frames":[["UNPAIRED",1]],"phase":"empty","registers":{"first":1,"ready":[],"roles":{},"second":2,"started":[],"waiting":[]}}],"check":"empty/ready","expected":[{"frames":[["UNPAIRED",1]],"phase":"empty","registers":{"first":1,"ready":[],"roles":{},"second":2,"started":[],"waiting":[]}}],"passed":true},{"actual":[{"frames":[],"phase":"empty","registers":{"first":null,"ready":[],"roles":{},"second":null,"started":[],"waiting":[]}}],"check":"active/both_done","expected":[{"frames":[],"phase":"empty","registers":{"first":null,"ready":[],"roles":{},"second":null,"started":[],"waiting":[]}}],"passed":true},{"actual":[{"frames":[],"phase":"waiting","registers":{"first":1,"ready":[],"roles":{},"second":2,"started":[],"waiting":[1]}},{"frames":[],"phase":"waiting","registers":{"first":1,"ready":[],"roles":{},"second":2,"started":[],"waiting":[1]}},{"frames":[["REJECT",1]],"phase":"waiting","registers":{"first":1,"ready":[],"roles":{},"second":2,"started":[],"waiting":[1]}},{"frames":[["REJECT",1]],"phase":"waiting","registers":{"first":1,"ready":[],"roles":{},"second":2,"started":[],"waiting":[1]}}],"check":"ordered trace 0","expected":[{"frames":[],"phase":"waiting","registers":{"first":1,"ready":[],"roles":{},"second":2,"started":[],"waiting":[1]}},{"frames":[],"phase":"empty","registers":{"first":null,"ready":[],"roles":{},"second":2,"started":[],"waiting":[]}},{"frames":[],"phase":"waiting","registers":{"first":null,"ready":[],"roles":{},"second":2,"started":[],"waiting":[1]}},{"frames":[],"phase":"empty","registers":{"first":null,"ready":[],"roles":{},"second":2,"started":[],"waiting":[]}}],"passed":false},{"actual":[{"frames":[["READY_ACK",1]],"phase":"one_ready","registers":{"first":1,"ready":[1],"roles":{"1":"initiator","2":"responder"},"second":2,"started":[],"waiting":[]}},{"frames":[["READY_ACK",1]],"phase":"active","registers":{"first":1,"ready":[1],"roles":{"1":"initiator","2":"responder"},"second":2,"started":[1,2],"waiting":[]}},{"frames":[["READY_ACK",1]],"phase":"empty","registers":{"first":null,"ready":[],"roles":{},"second":null,"started":[1,2],"waiting":[]}},{"frames":[["READY_ACK",1]],"phase":"waiting","registers":{"first":null,"ready":[],"roles":{},"second":null,"started":[1,2],"waiting":[1]}}],"check":"ordered trace 3","expected":[{"frames":[["READY_ACK",1]],"phase":"one_ready","registers":{"first":1,"ready":[1],"roles":{"1":"initiator","2":"responder"},"second":2,"started":[],"waiting":[]}},{"frames":[["READY_ACK",1]],"phase":"active","registers":{"first":1,"ready":[1],"roles":{"1":"initiator","2":"responder"},"second":2,"started":[1,2],"waiting":[]}},{"frames":[["READY_ACK",1]],"phase":"empty","registers":{"first":null,"ready":[],"roles":{},"second":null,"started":[1,2],"waiting":[]}},{"frames":[["READY_ACK",1]],"phase":"waiting","registers":{"first":null,"ready":[],"roles":{},"second":null,"started":[1,2],"waiting":[1]}}],"passed":true},{"actual":[],"check":"empty input","expected":[],"passed":true},{"actual":[{"frames":[["REJECT",1]],"phase":"empty","registers":{"first":1,"ready":[],"roles":{},"second":2,"started":[],"waiting":[]}}],"check":"unknown event","expected":[{"frames":[["REJECT",1]],"phase":"empty","registers":{"first":1,"ready":[],"roles":{},"second":2,"started":[],"waiting":[]}}],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"empty/first_arrival\", \"actual\": [{\"phase\": \"waiting\", \"registers\": {\"first\": 1, \"second\": 2, \"roles\": {}, \"ready\": [], \"started\": [], \"waiting\": [1]}, \"frames\": []}], \"expected\": [{\"phase\": \"waiting\", \"registers\": {\"first\": 1, \"second\": 2, \"roles\": {}, \"ready\": [], \"started\": [], \"waiting\": [1]}, \"frames\": []}], \"passed\": true}, {\"check\": \"waiting/second_arrival\", \"actual\": [{\"phase\": \"paired\", \"registers\": {\"first\": 1, \"second\": 2, \"roles\": {\"1\": \"initiator\", \"2\": \"responder\"}, \"ready\": [], \"started\": [], \"waiting\": []}, \"frames\": []}], \"expected\": [{\"phase\": \"paired\", \"registers\": {\"first\": 1, \"second\": 2, \"roles\": {\"1\": \"initiator\", \"2\": \"responder\"}, \"ready\": [], \"started\": [], \"waiting\": []}, \"frames\": []}], \"passed\": true}, {\"check\": \"paired/first_ready\", \"actual\": [{\"phase\": \"one_ready\", \"registers\": {\"first\": 1, \"second\": 2, \"roles\": {\"1\": \"initiator\", \"2\": \"responder\"}, \"ready\": [1], \"started\": [], \"waiting\": []}, \"frames\": []}], \"expected\": [{\"phase\": \"one_ready\", \"registers\": {\"first\": 1, \"second\": 2, \"roles\": {\"1\": \"initiator\", \"2\": \"responder\"}, \"ready\": [1], \"started\": [], \"waiting\": []}, \"frames\": []}], \"passed\": true}, {\"check\": \"one_ready/second_ready\", \"actual\": [{\"phase\": \"active\", \"registers\": {\"first\": 1, \"second\": 2, \"roles\": {\"1\": \"initiator\", \"2\": \"responder\"}, \"ready\": [1], \"started\": [1, 2], \"waiting\": []}, \"frames\": []}], \"expected\": [{\"phase\": \"active\", \"registers\": {\"first\": 1, \"second\": 2, \"roles\": {\"1\": \"initiator\", \"2\": \"responder\"}, \"ready\": [1], \"started\": [1, 2], \"waiting\": []}, \"frames\": []}], \"passed\": true}, {\"check\": \"waiting/first_withdraws\", \"actual\": [{\"phase\": \"waiting\", \"registers\": {\"first\": 1, \"second\": 2, \"roles\": {}, \"ready\": [], \"started\": [], \"waiting\": []}, \"frames\": []}], \"expected\": [{\"phase\": \"empty\", \"registers\": {\"first\": null, \"second\": 2, \"roles\": {}, \"ready\": [], \"started\": [], \"waiting\": []}, \"frames\": []}], \"passed\": false}, {\"check\": \"paired/partner_withdraws\", \"actual\": [{\"phase\": \"waiting\", \"registers\": {\"first\": 1, \"second\": null, \"roles\": {\"1\": \"initiator\", \"2\": \"responder\"}, \"ready\": [], \"started\": [], \"waiting\": [1]}, \"frames\": [[\"PARTNER_LEFT\", 1]]}], \"expected\": [{\"phase\": \"waiting\", \"registers\": {\"first\": 1, \"second\": null, \"roles\": {\"1\": \"initiator\", \"2\": \"responder\"}, \"ready\": [], \"started\": [], \"waiting\": [1]}, \"frames\": [[\"PARTNER_LEFT\", 1]]}], \"passed\": true}, {\"check\": \"active/third_arrival\", \"actual\": [{\"phase\": \"active\", \"registers\": {\"first\": 1, \"second\": 2, \"roles\": {\"1\": \"initiator\", \"2\": \"responder\"}, \"ready\": [1], \"started\": [], \"waiting\": []}, \"frames\": [[\"PAIR_FULL\", 3]]}], \"expected\": [{\"phase\": \"active\", \"registers\": {\"first\": 1, \"second\": 2, \"roles\": {\"1\": \"initiator\", \"2\": \"responder\"}, \"ready\": [1], \"started\": [], \"waiting\": []}, \"frames\": [[\"PAIR_FULL\", 3]]}], \"passed\": true}, {\"check\": \"one_ready/duplicate_ready\", \"actual\": [{\"phase\": \"one_ready\", \"registers\": {\"first\": 1, \"second\": 2, \"roles\": {\"1\": \"initiator\", \"2\": \"responder\"}, \"ready\": [1], \"started\": [], \"waiting\": []}, \"frames\": [[\"READY_ACK\", 1]]}], \"expected\": [{\"phase\": \"one_ready\", \"registers\": {\"first\": 1, \"second\": 2, \"roles\": {\"1\": \"initiator\", \"2\": \"responder\"}, \"ready\": [1], \"started\": [], \"waiting\": []}, \"frames\": [[\"READY_ACK\", 1]]}], \"passed\": true}, {\"check\": \"empty/ready\", \"actual\": [{\"phase\": \"empty\", \"registers\": {\"first\": 1, \"second\": 2, \"roles\": {}, \"ready\": [], \"started\": [], \"waiting\": []}, \"frames\": [[\"UNPAIRED\", 1]]}], \"expected\": [{\"phase\": \"empty\", \"registers\": {\"first\": 1, \"second\": 2, \"roles\": {}, \"ready\": [], \"started\": [], \"waiting\": []}, \"frames\": [[\"UNPAIRED\", 1]]}], \"passed\": true}, {\"check\": \"active/both_done\", \"actual\": [{\"phase\": \"empty\", \"registers\": {\"first\": null, \"second\": null, \"roles\": {}, \"ready\": [], \"started\": [], \"waiting\": []}, \"frames\": []}], \"expected\": [{\"phase\": \"empty\", \"registers\": {\"first\": null, \"second\": null, \"roles\": {}, \"ready\": [], \"started\": [], \"waiting\": []}, \"frames\": []}], \"passed\": true}, {\"check\": \"ordered trace 0\", \"actual\": [{\"phase\": \"waiting\", \"registers\": {\"first\": 1, \"second\": 2, \"roles\": {}, \"ready\": [], \"started\": [], \"waiting\": [1]}, \"frames\": []}, {\"phase\": \"waiting\", \"registers\": {\"first\": 1, \"second\": 2, \"roles\": {}, \"ready\": [], \"started\": [], \"waiting\": [1]}, \"frames\": []}, {\"phase\": \"waiting\", \"registers\": {\"first\": 1, \"second\": 2, \"roles\": {}, \"ready\": [], \"started\": [], \"waiting\": [1]}, \"frames\": [[\"REJECT\", 1]]}, {\"phase\": \"waiting\", \"registers\": {\"first\": 1, \"second\": 2, \"roles\": {}, \"ready\": [], \"started\": [], \"waiting\": [1]}, \"frames\": [[\"REJECT\", 1]]}], \"expected\": [{\"phase\": \"waiting\", \"registers\": {\"first\": 1, \"second\": 2, \"roles\": {}, \"ready\": [], \"started\": [], \"waiting\": [1]}, \"frames\": []}, {\"phase\": \"empty\", \"registers\": {\"first\": null, \"second\": 2, \"roles\": {}, \"ready\": [], \"started\": [], \"waiting\": []}, \"frames\": []}, {\"phase\": \"waiting\", \"registers\": {\"first\": null, \"second\": 2, \"roles\": {}, \"ready\": [], \"started\": [], \"waiting\": [1]}, \"frames\": []}, {\"phase\": \"empty\", \"registers\": {\"first\": null, \"second\": 2, \"roles\": {}, \"ready\": [], \"started\": [], \"waiting\": []}, \"frames\": []}], \"passed\": false}, {\"check\": \"ordered trace 3\", \"actual\": [{\"phase\": \"one_ready\", \"registers\": {\"first\": 1, \"second\": 2, \"roles\": {\"1\": \"initiator\", \"2\": \"responder\"}, \"ready\": [1], \"started\": [], \"waiting\": []}, \"frames\": [[\"READY_ACK\", 1]]}, {\"phase\": \"active\", \"registers\": {\"first\": 1, \"second\": 2, \"roles\": {\"1\": \"initiator\", \"2\": \"responder\"}, \"ready\": [1], \"started\": [1, 2], \"waiting\": []}, \"frames\": [[\"READY_ACK\", 1]]}, {\"phase\": \"empty\", \"registers\": {\"first\": null, \"second\": null, \"roles\": {}, \"ready\": [], \"started\": [1, 2], \"waiting\": []}, \"frames\": [[\"READY_ACK\", 1]]}, {\"phase\": \"waiting\", \"registers\": {\"first\": null, \"second\": null, \"roles\": {}, \"ready\": [], \"started\": [1, 2], \"waiting\": [1]}, \"frames\": [[\"READY_ACK\", 1]]}], \"expected\": [{\"phase\": \"one_ready\", \"registers\": {\"first\": 1, \"second\": 2, \"roles\": {\"1\": \"initiator\", \"2\": \"responder\"}, \"ready\": [1], \"started\": [], \"waiting\": []}, \"frames\": [[\"READY_ACK\", 1]]}, {\"phase\": \"active\", \"registers\": {\"first\": 1, \"second\": 2, \"roles\": {\"1\": \"initiator\", \"2\": \"responder\"}, \"ready\": [1], \"started\": [1, 2], \"waiting\": []}, \"frames\": [[\"READY_ACK\", 1]]}, {\"phase\": \"empty\", \"registers\": {\"first\": null, \"second\": null, \"roles\": {}, \"ready\": [], \"started\": [1, 2], \"waiting\": []}, \"frames\": [[\"READY_ACK\", 1]]}, {\"phase\": \"waiting\", \"registers\": {\"first\": null, \"second\": null, \"roles\": {}, \"ready\": [], \"started\": [1, 2], \"waiting\": [1]}, \"frames\": [[\"READY_ACK\", 1]]}], \"passed\": true}, {\"check\": \"empty input\", \"actual\": [], \"expected\": [], \"passed\": true}, {\"check\": \"unknown event\", \"actual\": [{\"phase\": \"empty\", \"registers\": {\"first\": 1, \"second\": 2, \"roles\": {}, \"ready\": [], \"started\": [], \"waiting\": []}, \"frames\": [[\"REJECT\", 1]]}], \"expected\": [{\"phase\": \"empty\", \"registers\": {\"first\": 1, \"second\": 2, \"roles\": {}, \"ready\": [], \"started\": [], \"waiting\": []}, \"frames\": [[\"REJECT\", 1]]}], \"passed\": true}], \"passed\": false}\n"},"fixed":{"elapsed_ms":44.68,"exit_code":0,"observations":[{"actual":[{"frames":[],"phase":"waiting","registers":{"first":1,"ready":[],"roles":{},"second":2,"started":[],"waiting":[1]}}],"check":"empty/first_arrival","expected":[{"frames":[],"phase":"waiting","registers":{"first":1,"ready":[],"roles":{},"second":2,"started":[],"waiting":[1]}}],"passed":true},{"actual":[{"frames":[],"phase":"paired","registers":{"first":1,"ready":[],"roles":{"1":"initiator","2":"responder"},"second":2,"started":[],"waiting":[]}}],"check":"waiting/second_arrival","expected":[{"frames":[],"phase":"paired","registers":{"first":1,"ready":[],"roles":{"1":"initiator","2":"responder"},"second":2,"started":[],"waiting":[]}}],"passed":true},{"actual":[{"frames":[],"phase":"one_ready","registers":{"first":1,"ready":[1],"roles":{"1":"initiator","2":"responder"},"second":2,"started":[],"waiting":[]}}],"check":"paired/first_ready","expected":[{"frames":[],"phase":"one_ready","registers":{"first":1,"ready":[1],"roles":{"1":"initiator","2":"responder"},"second":2,"started":[],"waiting":[]}}],"passed":true},{"actual":[{"frames":[],"phase":"active","registers":{"first":1,"ready":[1],"roles":{"1":"initiator","2":"responder"},"second":2,"started":[1,2],"waiting":[]}}],"check":"one_ready/second_ready","expected":[{"frames":[],"phase":"active","registers":{"first":1,"ready":[1],"roles":{"1":"initiator","2":"responder"},"second":2,"started":[1,2],"waiting":[]}}],"passed":true},{"actual":[{"frames":[],"phase":"empty","registers":{"first":null,"ready":[],"roles":{},"second":2,"started":[],"waiting":[]}}],"check":"waiting/first_withdraws","expected":[{"frames":[],"phase":"empty","registers":{"first":null,"ready":[],"roles":{},"second":2,"started":[],"waiting":[]}}],"passed":true},{"actual":[{"frames":[["PARTNER_LEFT",1]],"phase":"waiting","registers":{"first":1,"ready":[],"roles":{"1":"initiator","2":"responder"},"second":null,"started":[],"waiting":[1]}}],"check":"paired/partner_withdraws","expected":[{"frames":[["PARTNER_LEFT",1]],"phase":"waiting","registers":{"first":1,"ready":[],"roles":{"1":"initiator","2":"responder"},"second":null,"started":[],"waiting":[1]}}],"passed":true},{"actual":[{"frames":[["PAIR_FULL",3]],"phase":"active","registers":{"first":1,"ready":[1],"roles":{"1":"initiator","2":"responder"},"second":2,"started":[],"waiting":[]}}],"check":"active/third_arrival","expected":[{"frames":[["PAIR_FULL",3]],"phase":"active","registers":{"first":1,"ready":[1],"roles":{"1":"initiator","2":"responder"},"second":2,"started":[],"waiting":[]}}],"passed":true},{"actual":[{"frames":[["READY_ACK",1]],"phase":"one_ready","registers":{"first":1,"ready":[1],"roles":{"1":"initiator","2":"responder"},"second":2,"started":[],"waiting":[]}}],"check":"one_ready/duplicate_ready","expected":[{"frames":[["READY_ACK",1]],"phase":"one_ready","registers":{"first":1,"ready":[1],"roles":{"1":"initiator","2":"responder"},"second":2,"started":[],"waiting":[]}}],"passed":true},{"actual":[{"frames":[["UNPAIRED",1]],"phase":"empty","registers":{"first":1,"ready":[],"roles":{},"second":2,"started":[],"waiting":[]}}],"check":"empty/ready","expected":[{"frames":[["UNPAIRED",1]],"phase":"empty","registers":{"first":1,"ready":[],"roles":{},"second":2,"started":[],"waiting":[]}}],"passed":true},{"actual":[{"frames":[],"phase":"empty","registers":{"first":null,"ready":[],"roles":{},"second":null,"started":[],"waiting":[]}}],"check":"active/both_done","expected":[{"frames":[],"phase":"empty","registers":{"first":null,"ready":[],"roles":{},"second":null,"started":[],"waiting":[]}}],"passed":true},{"actual":[{"frames":[],"phase":"waiting","registers":{"first":1,"ready":[],"roles":{},"second":2,"started":[],"waiting":[1]}},{"frames":[],"phase":"empty","registers":{"first":null,"ready":[],"roles":{},"second":2,"started":[],"waiting":[]}},{"frames":[],"phase":"waiting","registers":{"first":null,"ready":[],"roles":{},"second":2,"started":[],"waiting":[1]}},{"frames":[],"phase":"empty","registers":{"first":null,"ready":[],"roles":{},"second":2,"started":[],"waiting":[]}}],"check":"ordered trace 0","expected":[{"frames":[],"phase":"waiting","registers":{"first":1,"ready":[],"roles":{},"second":2,"started":[],"waiting":[1]}},{"frames":[],"phase":"empty","registers":{"first":null,"ready":[],"roles":{},"second":2,"started":[],"waiting":[]}},{"frames":[],"phase":"waiting","registers":{"first":null,"ready":[],"roles":{},"second":2,"started":[],"waiting":[1]}},{"frames":[],"phase":"empty","registers":{"first":null,"ready":[],"roles":{},"second":2,"started":[],"waiting":[]}}],"passed":true},{"actual":[{"frames":[["READY_ACK",1]],"phase":"one_ready","registers":{"first":1,"ready":[1],"roles":{"1":"initiator","2":"responder"},"second":2,"started":[],"waiting":[]}},{"frames":[["READY_ACK",1]],"phase":"active","registers":{"first":1,"ready":[1],"roles":{"1":"initiator","2":"responder"},"second":2,"started":[1,2],"waiting":[]}},{"frames":[["READY_ACK",1]],"phase":"empty","registers":{"first":null,"ready":[],"roles":{},"second":null,"started":[1,2],"waiting":[]}},{"frames":[["READY_ACK",1]],"phase":"waiting","registers":{"first":null,"ready":[],"roles":{},"second":null,"started":[1,2],"waiting":[1]}}],"check":"ordered trace 3","expected":[{"frames":[["READY_ACK",1]],"phase":"one_ready","registers":{"first":1,"ready":[1],"roles":{"1":"initiator","2":"responder"},"second":2,"started":[],"waiting":[]}},{"frames":[["READY_ACK",1]],"phase":"active","registers":{"first":1,"ready":[1],"roles":{"1":"initiator","2":"responder"},"second":2,"started":[1,2],"waiting":[]}},{"frames":[["READY_ACK",1]],"phase":"empty","registers":{"first":null,"ready":[],"roles":{},"second":null,"started":[1,2],"waiting":[]}},{"frames":[["READY_ACK",1]],"phase":"waiting","registers":{"first":null,"ready":[],"roles":{},"second":null,"started":[1,2],"waiting":[1]}}],"passed":true},{"actual":[],"check":"empty input","expected":[],"passed":true},{"actual":[{"frames":[["REJECT",1]],"phase":"empty","registers":{"first":1,"ready":[],"roles":{},"second":2,"started":[],"waiting":[]}}],"check":"unknown event","expected":[{"frames":[["REJECT",1]],"phase":"empty","registers":{"first":1,"ready":[],"roles":{},"second":2,"started":[],"waiting":[]}}],"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"empty/first_arrival\", \"actual\": [{\"phase\": \"waiting\", \"registers\": {\"first\": 1, \"second\": 2, \"roles\": {}, \"ready\": [], \"started\": [], \"waiting\": [1]}, \"frames\": []}], \"expected\": [{\"phase\": \"waiting\", \"registers\": {\"first\": 1, \"second\": 2, \"roles\": {}, \"ready\": [], \"started\": [], \"waiting\": [1]}, \"frames\": []}], \"passed\": true}, {\"check\": \"waiting/second_arrival\", \"actual\": [{\"phase\": \"paired\", \"registers\": {\"first\": 1, \"second\": 2, \"roles\": {\"1\": \"initiator\", \"2\": \"responder\"}, \"ready\": [], \"started\": [], \"waiting\": []}, \"frames\": []}], \"expected\": [{\"phase\": \"paired\", \"registers\": {\"first\": 1, \"second\": 2, \"roles\": {\"1\": \"initiator\", \"2\": \"responder\"}, \"ready\": [], \"started\": [], \"waiting\": []}, \"frames\": []}], \"passed\": true}, {\"check\": \"paired/first_ready\", \"actual\": [{\"phase\": \"one_ready\", \"registers\": {\"first\": 1, \"second\": 2, \"roles\": {\"1\": \"initiator\", \"2\": \"responder\"}, \"ready\": [1], \"started\": [], \"waiting\": []}, \"frames\": []}], \"expected\": [{\"phase\": \"one_ready\", \"registers\": {\"first\": 1, \"second\": 2, \"roles\": {\"1\": \"initiator\", \"2\": \"responder\"}, \"ready\": [1], \"started\": [], \"waiting\": []}, \"frames\": []}], \"passed\": true}, {\"check\": \"one_ready/second_ready\", \"actual\": [{\"phase\": \"active\", \"registers\": {\"first\": 1, \"second\": 2, \"roles\": {\"1\": \"initiator\", \"2\": \"responder\"}, \"ready\": [1], \"started\": [1, 2], \"waiting\": []}, \"frames\": []}], \"expected\": [{\"phase\": \"active\", \"registers\": {\"first\": 1, \"second\": 2, \"roles\": {\"1\": \"initiator\", \"2\": \"responder\"}, \"ready\": [1], \"started\": [1, 2], \"waiting\": []}, \"frames\": []}], \"passed\": true}, {\"check\": \"waiting/first_withdraws\", \"actual\": [{\"phase\": \"empty\", \"registers\": {\"first\": null, \"second\": 2, \"roles\": {}, \"ready\": [], \"started\": [], \"waiting\": []}, \"frames\": []}], \"expected\": [{\"phase\": \"empty\", \"registers\": {\"first\": null, \"second\": 2, \"roles\": {}, \"ready\": [], \"started\": [], \"waiting\": []}, \"frames\": []}], \"passed\": true}, {\"check\": \"paired/partner_withdraws\", \"actual\": [{\"phase\": \"waiting\", \"registers\": {\"first\": 1, \"second\": null, \"roles\": {\"1\": \"initiator\", \"2\": \"responder\"}, \"ready\": [], \"started\": [], \"waiting\": [1]}, \"frames\": [[\"PARTNER_LEFT\", 1]]}], \"expected\": [{\"phase\": \"waiting\", \"registers\": {\"first\": 1, \"second\": null, \"roles\": {\"1\": \"initiator\", \"2\": \"responder\"}, \"ready\": [], \"started\": [], \"waiting\": [1]}, \"frames\": [[\"PARTNER_LEFT\", 1]]}], \"passed\": true}, {\"check\": \"active/third_arrival\", \"actual\": [{\"phase\": \"active\", \"registers\": {\"first\": 1, \"second\": 2, \"roles\": {\"1\": \"initiator\", \"2\": \"responder\"}, \"ready\": [1], \"started\": [], \"waiting\": []}, \"frames\": [[\"PAIR_FULL\", 3]]}], \"expected\": [{\"phase\": \"active\", \"registers\": {\"first\": 1, \"second\": 2, \"roles\": {\"1\": \"initiator\", \"2\": \"responder\"}, \"ready\": [1], \"started\": [], \"waiting\": []}, \"frames\": [[\"PAIR_FULL\", 3]]}], \"passed\": true}, {\"check\": \"one_ready/duplicate_ready\", \"actual\": [{\"phase\": \"one_ready\", \"registers\": {\"first\": 1, \"second\": 2, \"roles\": {\"1\": \"initiator\", \"2\": \"responder\"}, \"ready\": [1], \"started\": [], \"waiting\": []}, \"frames\": [[\"READY_ACK\", 1]]}], \"expected\": [{\"phase\": \"one_ready\", \"registers\": {\"first\": 1, \"second\": 2, \"roles\": {\"1\": \"initiator\", \"2\": \"responder\"}, \"ready\": [1], \"started\": [], \"waiting\": []}, \"frames\": [[\"READY_ACK\", 1]]}], \"passed\": true}, {\"check\": \"empty/ready\", \"actual\": [{\"phase\": \"empty\", \"registers\": {\"first\": 1, \"second\": 2, \"roles\": {}, \"ready\": [], \"started\": [], \"waiting\": []}, \"frames\": [[\"UNPAIRED\", 1]]}], \"expected\": [{\"phase\": \"empty\", \"registers\": {\"first\": 1, \"second\": 2, \"roles\": {}, \"ready\": [], \"started\": [], \"waiting\": []}, \"frames\": [[\"UNPAIRED\", 1]]}], \"passed\": true}, {\"check\": \"active/both_done\", \"actual\": [{\"phase\": \"empty\", \"registers\": {\"first\": null, \"second\": null, \"roles\": {}, \"ready\": [], \"started\": [], \"waiting\": []}, \"frames\": []}], \"expected\": [{\"phase\": \"empty\", \"registers\": {\"first\": null, \"second\": null, \"roles\": {}, \"ready\": [], \"started\": [], \"waiting\": []}, \"frames\": []}], \"passed\": true}, {\"check\": \"ordered trace 0\", \"actual\": [{\"phase\": \"waiting\", \"registers\": {\"first\": 1, \"second\": 2, \"roles\": {}, \"ready\": [], \"started\": [], \"waiting\": [1]}, \"frames\": []}, {\"phase\": \"empty\", \"registers\": {\"first\": null, \"second\": 2, \"roles\": {}, \"ready\": [], \"started\": [], \"waiting\": []}, \"frames\": []}, {\"phase\": \"waiting\", \"registers\": {\"first\": null, \"second\": 2, \"roles\": {}, \"ready\": [], \"started\": [], \"waiting\": [1]}, \"frames\": []}, {\"phase\": \"empty\", \"registers\": {\"first\": null, \"second\": 2, \"roles\": {}, \"ready\": [], \"started\": [], \"waiting\": []}, \"frames\": []}], \"expected\": [{\"phase\": \"waiting\", \"registers\": {\"first\": 1, \"second\": 2, \"roles\": {}, \"ready\": [], \"started\": [], \"waiting\": [1]}, \"frames\": []}, {\"phase\": \"empty\", \"registers\": {\"first\": null, \"second\": 2, \"roles\": {}, \"ready\": [], \"started\": [], \"waiting\": []}, \"frames\": []}, {\"phase\": \"waiting\", \"registers\": {\"first\": null, \"second\": 2, \"roles\": {}, \"ready\": [], \"started\": [], \"waiting\": [1]}, \"frames\": []}, {\"phase\": \"empty\", \"registers\": {\"first\": null, \"second\": 2, \"roles\": {}, \"ready\": [], \"started\": [], \"waiting\": []}, \"frames\": []}], \"passed\": true}, {\"check\": \"ordered trace 3\", \"actual\": [{\"phase\": \"one_ready\", \"registers\": {\"first\": 1, \"second\": 2, \"roles\": {\"1\": \"initiator\", \"2\": \"responder\"}, \"ready\": [1], \"started\": [], \"waiting\": []}, \"frames\": [[\"READY_ACK\", 1]]}, {\"phase\": \"active\", \"registers\": {\"first\": 1, \"second\": 2, \"roles\": {\"1\": \"initiator\", \"2\": \"responder\"}, \"ready\": [1], \"started\": [1, 2], \"waiting\": []}, \"frames\": [[\"READY_ACK\", 1]]}, {\"phase\": \"empty\", \"registers\": {\"first\": null, \"second\": null, \"roles\": {}, \"ready\": [], \"started\": [1, 2], \"waiting\": []}, \"frames\": [[\"READY_ACK\", 1]]}, {\"phase\": \"waiting\", \"registers\": {\"first\": null, \"second\": null, \"roles\": {}, \"ready\": [], \"started\": [1, 2], \"waiting\": [1]}, \"frames\": [[\"READY_ACK\", 1]]}], \"expected\": [{\"phase\": \"one_ready\", \"registers\": {\"first\": 1, \"second\": 2, \"roles\": {\"1\": \"initiator\", \"2\": \"responder\"}, \"ready\": [1], \"started\": [], \"waiting\": []}, \"frames\": [[\"READY_ACK\", 1]]}, {\"phase\": \"active\", \"registers\": {\"first\": 1, \"second\": 2, \"roles\": {\"1\": \"initiator\", \"2\": \"responder\"}, \"ready\": [1], \"started\": [1, 2], \"waiting\": []}, \"frames\": [[\"READY_ACK\", 1]]}, {\"phase\": \"empty\", \"registers\": {\"first\": null, \"second\": null, \"roles\": {}, \"ready\": [], \"started\": [1, 2], \"waiting\": []}, \"frames\": [[\"READY_ACK\", 1]]}, {\"phase\": \"waiting\", \"registers\": {\"first\": null, \"second\": null, \"roles\": {}, \"ready\": [], \"started\": [1, 2], \"waiting\": [1]}, \"frames\": [[\"READY_ACK\", 1]]}], \"passed\": true}, {\"check\": \"empty input\", \"actual\": [], \"expected\": [], \"passed\": true}, {\"check\": \"unknown event\", \"actual\": [{\"phase\": \"empty\", \"registers\": {\"first\": 1, \"second\": 2, \"roles\": {}, \"ready\": [], \"started\": [], \"waiting\": []}, \"frames\": [[\"REJECT\", 1]]}], \"expected\": [{\"phase\": \"empty\", \"registers\": {\"first\": 1, \"second\": 2, \"roles\": {}, \"ready\": [], \"started\": [], \"waiting\": []}, \"frames\": [[\"REJECT\", 1]]}], \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}