{"abstract":"While data, event command_like_payload produces command/execute_command instead of data/deliver_verbatim.","category":"Protocols","checks":14,"contract":"For the stipulated Serial line command and data mode 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-serial_mode","failed_approach":"The partial repair chooses data/strip_prefix, which still violates this phase-specific event contract.","family":"s3-protocols-serial_mode-data-command_like_payload","id":"FA-20276","implementations":{"attempt":{"sha256":"8d85a470719169e9b6f3f956b373c0b4c7d85da2b943a6e3fbc6488e202d71dc","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 = {'parser': 'data' if phase in ('data','guarding') else 'command', 'partial_command': [seed-1], 'candidate': payload[:], 'delivered': [], 'queue': payload[:], 'reported': []}\n    frames = []\n    observed = []\n    table = {('command', 'enter_data'): ('switching', 'send_mode_request'), ('switching', 'mode_ack'): ('data', 'enable_payload'), ('switching', 'mode_nack'): ('command', 'report_refused'), ('data', 'escape_guard_start'): ('guarding', 'hold_escape_candidate'), ('guarding', 'guard_satisfied'): ('command', 'consume_escape'), ('guarding', 'guard_broken'): ('data', 'deliver_candidate_and_data'), ('command', 'payload'): ('command', 'reject_data'), ('data', 'command_like_payload'): ('data', 'strip_prefix'), ('data', 'hangup'): ('command', 'flush_close_report'), ('command', 'line_reset'): ('command', 'reset_parser_report')}\n    for event in events:\n        phase, action = table.get((phase, event), (phase, \"reject\"))\n        if action == 'send_mode_request':\n            frames.append(['ENTER_DATA',seed])\n        elif action == 'enable_payload':\n            r['parser']='data'\n        elif action == 'report_refused':\n            r['reported'].append('mode_refused')\n        elif action == 'hold_escape_candidate':\n            r['candidate']=payload[:]\n        elif action == 'consume_escape':\n            r['candidate']=[]; r['parser']='command'\n        elif action == 'deliver_candidate_and_data':\n            r['delivered'].extend(r['candidate']+payload); r['candidate']=[]\n        elif action == 'reject_data':\n            r['reported'].append('not_data_mode')\n        elif action == 'deliver_verbatim':\n            r['delivered'].extend(payload)\n        elif action == 'flush_close_report':\n            r['queue']=[]; r['reported'].append('hangup'); r['parser']='command'\n        elif action == 'reset_parser_report':\n            r['partial_command']=[]; r['reported'].append('reset')\n        elif action == 'send_payload':\n            frames.append(['DATA',payload])\n        elif action == 'flush_input':\n            r['partial_command']=[]\n        elif action == 'keep_commands':\n            r['parser']='command'\n        elif action == 'keep_command_parser':\n            r['parser']='command'\n        elif action == 'drop_response':\n            r['reported']=[]\n        elif action == 'parse_command':\n            r['partial_command'].extend(payload)\n        elif action == 'deliver_escape':\n            r['delivered'].extend(r['candidate'])\n        elif action == 'drop_candidate':\n            r['candidate']=[]\n        elif action == 'deliver':\n            r['delivered'].extend(payload)\n        elif action == 'queue_forever':\n            r['queue'].extend(payload)\n        elif action == 'execute_command':\n            frames.append(['EXECUTE',payload])\n        elif action == 'strip_prefix':\n            r['delivered'].extend(payload[1:])\n        elif action == 'keep_payload_queue':\n            r['reported'].append('hangup')\n        elif action == 'retain_partial_command':\n            r['reported'].append('reset')\n        elif action == 'continue':\n            r['queue'].extend(payload)\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: [('command/enter_data', 'command', ['enter_data'], [{'phase': 'switching', 'registers': {'parser': 'command', 'partial_command': [0], 'candidate': [1, 2, 3], 'delivered': [], 'queue': [1, 2, 3], 'reported': []}, 'frames': [['ENTER_DATA', 1]]}]), ('switching/mode_ack', 'switching', ['mode_ack'], [{'phase': 'data', 'registers': {'parser': 'data', 'partial_command': [0], 'candidate': [1, 2, 3], 'delivered': [], 'queue': [1, 2, 3], 'reported': []}, 'frames': []}]), ('switching/mode_nack', 'switching', ['mode_nack'], [{'phase': 'command', 'registers': {'parser': 'command', 'partial_command': [0], 'candidate': [1, 2, 3], 'delivered': [], 'queue': [1, 2, 3], 'reported': ['mode_refused']}, 'frames': []}]), ('data/escape_guard_start', 'data', ['escape_guard_start'], [{'phase': 'guarding', 'registers': {'parser': 'data', 'partial_command': [0], 'candidate': [1, 2, 3], 'delivered': [], 'queue': [1, 2, 3], 'reported': []}, 'frames': []}]), ('guarding/guard_satisfied', 'guarding', ['guard_satisfied'], [{'phase': 'command', 'registers': {'parser': 'command', 'partial_command': [0], 'candidate': [], 'delivered': [], 'queue': [1, 2, 3], 'reported': []}, 'frames': []}]), ('guarding/guard_broken', 'guarding', ['guard_broken'], [{'phase': 'data', 'registers': {'parser': 'data', 'partial_command': [0], 'candidate': [], 'delivered': [1, 2, 3, 1, 2, 3], 'queue': [1, 2, 3], 'reported': []}, 'frames': []}]), ('command/payload', 'command', ['payload'], [{'phase': 'command', 'registers': {'parser': 'command', 'partial_command': [0], 'candidate': [1, 2, 3], 'delivered': [], 'queue': [1, 2, 3], 'reported': ['not_data_mode']}, 'frames': []}]), ('data/command_like_payload', 'data', ['command_like_payload'], [{'phase': 'data', 'registers': {'parser': 'data', 'partial_command': [0], 'candidate': [1, 2, 3], 'delivered': [1, 2, 3], 'queue': [1, 2, 3], 'reported': []}, 'frames': []}]), ('data/hangup', 'data', ['hangup'], [{'phase': 'command', 'registers': {'parser': 'command', 'partial_command': [0], 'candidate': [1, 2, 3], 'delivered': [], 'queue': [], 'reported': ['hangup']}, 'frames': []}]), ('command/line_reset', 'command', ['line_reset'], [{'phase': 'command', 'registers': {'parser': 'command', 'partial_command': [], 'candidate': [1, 2, 3], 'delivered': [], 'queue': [1, 2, 3], 'reported': ['reset']}, 'frames': []}]), ('ordered trace 0', 'command', ['enter_data', 'mode_nack', 'line_reset', 'enter_data'], [{'phase': 'switching', 'registers': {'parser': 'command', 'partial_command': [0], 'candidate': [1, 2, 3], 'delivered': [], 'queue': [1, 2, 3], 'reported': []}, 'frames': [['ENTER_DATA', 1]]}, {'phase': 'command', 'registers': {'parser': 'command', 'partial_command': [0], 'candidate': [1, 2, 3], 'delivered': [], 'queue': [1, 2, 3], 'reported': ['mode_refused']}, 'frames': [['ENTER_DATA', 1]]}, {'phase': 'command', 'registers': {'parser': 'command', 'partial_command': [], 'candidate': [1, 2, 3], 'delivered': [], 'queue': [1, 2, 3], 'reported': ['mode_refused', 'reset']}, 'frames': [['ENTER_DATA', 1]]}, {'phase': 'switching', 'registers': {'parser': 'command', 'partial_command': [], 'candidate': [1, 2, 3], 'delivered': [], 'queue': [1, 2, 3], 'reported': ['mode_refused', 'reset']}, 'frames': [['ENTER_DATA', 1], ['ENTER_DATA', 1]]}]), ('ordered trace 3', 'data', ['escape_guard_start', 'guard_satisfied', 'line_reset', 'enter_data'], [{'phase': 'guarding', 'registers': {'parser': 'data', 'partial_command': [0], 'candidate': [1, 2, 3], 'delivered': [], 'queue': [1, 2, 3], 'reported': []}, 'frames': []}, {'phase': 'command', 'registers': {'parser': 'command', 'partial_command': [0], 'candidate': [], 'delivered': [], 'queue': [1, 2, 3], 'reported': []}, 'frames': []}, {'phase': 'command', 'registers': {'parser': 'command', 'partial_command': [], 'candidate': [], 'delivered': [], 'queue': [1, 2, 3], 'reported': ['reset']}, 'frames': []}, {'phase': 'switching', 'registers': {'parser': 'command', 'partial_command': [], 'candidate': [], 'delivered': [], 'queue': [1, 2, 3], 'reported': ['reset']}, 'frames': [['ENTER_DATA', 1]]}]), ('empty input', 'command', [], []), ('unknown event', 'command', ['unsupported'], [{'phase': 'command', 'registers': {'parser': 'command', 'partial_command': [0], 'candidate': [1, 2, 3], 'delivered': [], 'queue': [1, 2, 3], 'reported': []}, 'frames': [['reject', [1, 2, 3]]]}])], 2: [('command/enter_data', 'command', ['enter_data'], [{'phase': 'switching', 'registers': {'parser': 'command', 'partial_command': [1], 'candidate': [2, 3, 4, 5], 'delivered': [], 'queue': [2, 3, 4, 5], 'reported': []}, 'frames': [['ENTER_DATA', 2]]}]), ('switching/mode_ack', 'switching', ['mode_ack'], [{'phase': 'data', 'registers': {'parser': 'data', 'partial_command': [1], 'candidate': [2, 3, 4, 5], 'delivered': [], 'queue': [2, 3, 4, 5], 'reported': []}, 'frames': []}]), ('switching/mode_nack', 'switching', ['mode_nack'], [{'phase': 'command', 'registers': {'parser': 'command', 'partial_command': [1], 'candidate': [2, 3, 4, 5], 'delivered': [], 'queue': [2, 3, 4, 5], 'reported': ['mode_refused']}, 'frames': []}]), ('data/escape_guard_start', 'data', ['escape_guard_start'], [{'phase': 'guarding', 'registers': {'parser': 'data', 'partial_command': [1], 'candidate': [2, 3, 4, 5], 'delivered': [], 'queue': [2, 3, 4, 5], 'reported': []}, 'frames': []}]), ('guarding/guard_satisfied', 'guarding', ['guard_satisfied'], [{'phase': 'command', 'registers': {'parser': 'command', 'partial_command': [1], 'candidate': [], 'delivered': [], 'queue': [2, 3, 4, 5], 'reported': []}, 'frames': []}]), ('guarding/guard_broken', 'guarding', ['guard_broken'], [{'phase': 'data', 'registers': {'parser': 'data', 'partial_command': [1], 'candidate': [], 'delivered': [2, 3, 4, 5, 2, 3, 4, 5], 'queue': [2, 3, 4, 5], 'reported': []}, 'frames': []}]), ('command/payload', 'command', ['payload'], [{'phase': 'command', 'registers': {'parser': 'command', 'partial_command': [1], 'candidate': [2, 3, 4, 5], 'delivered': [], 'queue': [2, 3, 4, 5], 'reported': ['not_data_mode']}, 'frames': []}]), ('data/command_like_payload', 'data', ['command_like_payload'], [{'phase': 'data', 'registers': {'parser': 'data', 'partial_command': [1], 'candidate': [2, 3, 4, 5], 'delivered': [2, 3, 4, 5], 'queue': [2, 3, 4, 5], 'reported': []}, 'frames': []}]), ('data/hangup', 'data', ['hangup'], [{'phase': 'command', 'registers': {'parser': 'command', 'partial_command': [1], 'candidate': [2, 3, 4, 5], 'delivered': [], 'queue': [], 'reported': ['hangup']}, 'frames': []}]), ('command/line_reset', 'command', ['line_reset'], [{'phase': 'command', 'registers': {'parser': 'command', 'partial_command': [], 'candidate': [2, 3, 4, 5], 'delivered': [], 'queue': [2, 3, 4, 5], 'reported': ['reset']}, 'frames': []}]), ('ordered trace 0', 'command', ['enter_data', 'mode_nack', 'line_reset', 'enter_data', 'mode_ack'], [{'phase': 'switching', 'registers': {'parser': 'command', 'partial_command': [1], 'candidate': [2, 3, 4, 5], 'delivered': [], 'queue': [2, 3, 4, 5], 'reported': []}, 'frames': [['ENTER_DATA', 2]]}, {'phase': 'command', 'registers': {'parser': 'command', 'partial_command': [1], 'candidate': [2, 3, 4, 5], 'delivered': [], 'queue': [2, 3, 4, 5], 'reported': ['mode_refused']}, 'frames': [['ENTER_DATA', 2]]}, {'phase': 'command', 'registers': {'parser': 'command', 'partial_command': [], 'candidate': [2, 3, 4, 5], 'delivered': [], 'queue': [2, 3, 4, 5], 'reported': ['mode_refused', 'reset']}, 'frames': [['ENTER_DATA', 2]]}, {'phase': 'switching', 'registers': {'parser': 'command', 'partial_command': [], 'candidate': [2, 3, 4, 5], 'delivered': [], 'queue': [2, 3, 4, 5], 'reported': ['mode_refused', 'reset']}, 'frames': [['ENTER_DATA', 2], ['ENTER_DATA', 2]]}, {'phase': 'data', 'registers': {'parser': 'data', 'partial_command': [], 'candidate': [2, 3, 4, 5], 'delivered': [], 'queue': [2, 3, 4, 5], 'reported': ['mode_refused', 'reset']}, 'frames': [['ENTER_DATA', 2], ['ENTER_DATA', 2]]}]), ('ordered trace 3', 'data', ['escape_guard_start', 'guard_satisfied', 'line_reset', 'enter_data', 'mode_nack'], [{'phase': 'guarding', 'registers': {'parser': 'data', 'partial_command': [1], 'candidate': [2, 3, 4, 5], 'delivered': [], 'queue': [2, 3, 4, 5], 'reported': []}, 'frames': []}, {'phase': 'command', 'registers': {'parser': 'command', 'partial_command': [1], 'candidate': [], 'delivered': [], 'queue': [2, 3, 4, 5], 'reported': []}, 'frames': []}, {'phase': 'command', 'registers': {'parser': 'command', 'partial_command': [], 'candidate': [], 'delivered': [], 'queue': [2, 3, 4, 5], 'reported': ['reset']}, 'frames': []}, {'phase': 'switching', 'registers': {'parser': 'command', 'partial_command': [], 'candidate': [], 'delivered': [], 'queue': [2, 3, 4, 5], 'reported': ['reset']}, 'frames': [['ENTER_DATA', 2]]}, {'phase': 'command', 'registers': {'parser': 'command', 'partial_command': [], 'candidate': [], 'delivered': [], 'queue': [2, 3, 4, 5], 'reported': ['reset', 'mode_refused']}, 'frames': [['ENTER_DATA', 2]]}]), ('empty input', 'command', [], []), ('unknown event', 'command', ['unsupported'], [{'phase': 'command', 'registers': {'parser': 'command', 'partial_command': [1], 'candidate': [2, 3, 4, 5], 'delivered': [], 'queue': [2, 3, 4, 5], 'reported': []}, 'frames': [['reject', [2, 3, 4, 5]]]}])], 3: [('command/enter_data', 'command', ['enter_data'], [{'phase': 'switching', 'registers': {'parser': 'command', 'partial_command': [2], 'candidate': [3, 4, 5, 6, 7], 'delivered': [], 'queue': [3, 4, 5, 6, 7], 'reported': []}, 'frames': [['ENTER_DATA', 3]]}]), ('switching/mode_ack', 'switching', ['mode_ack'], [{'phase': 'data', 'registers': {'parser': 'data', 'partial_command': [2], 'candidate': [3, 4, 5, 6, 7], 'delivered': [], 'queue': [3, 4, 5, 6, 7], 'reported': []}, 'frames': []}]), ('switching/mode_nack', 'switching', ['mode_nack'], [{'phase': 'command', 'registers': {'parser': 'command', 'partial_command': [2], 'candidate': [3, 4, 5, 6, 7], 'delivered': [], 'queue': [3, 4, 5, 6, 7], 'reported': ['mode_refused']}, 'frames': []}]), ('data/escape_guard_start', 'data', ['escape_guard_start'], [{'phase': 'guarding', 'registers': {'parser': 'data', 'partial_command': [2], 'candidate': [3, 4, 5, 6, 7], 'delivered': [], 'queue': [3, 4, 5, 6, 7], 'reported': []}, 'frames': []}]), ('guarding/guard_satisfied', 'guarding', ['guard_satisfied'], [{'phase': 'command', 'registers': {'parser': 'command', 'partial_command': [2], 'candidate': [], 'delivered': [], 'queue': [3, 4, 5, 6, 7], 'reported': []}, 'frames': []}]), ('guarding/guard_broken', 'guarding', ['guard_broken'], [{'phase': 'data', 'registers': {'parser': 'data', 'partial_command': [2], 'candidate': [], 'delivered': [3, 4, 5, 6, 7, 3, 4, 5, 6, 7], 'queue': [3, 4, 5, 6, 7], 'reported': []}, 'frames': []}]), ('command/payload', 'command', ['payload'], [{'phase': 'command', 'registers': {'parser': 'command', 'partial_command': [2], 'candidate': [3, 4, 5, 6, 7], 'delivered': [], 'queue': [3, 4, 5, 6, 7], 'reported': ['not_data_mode']}, 'frames': []}]), ('data/command_like_payload', 'data', ['command_like_payload'], [{'phase': 'data', 'registers': {'parser': 'data', 'partial_command': [2], 'candidate': [3, 4, 5, 6, 7], 'delivered': [3, 4, 5, 6, 7], 'queue': [3, 4, 5, 6, 7], 'reported': []}, 'frames': []}]), ('data/hangup', 'data', ['hangup'], [{'phase': 'command', 'registers': {'parser': 'command', 'partial_command': [2], 'candidate': [3, 4, 5, 6, 7], 'delivered': [], 'queue': [], 'reported': ['hangup']}, 'frames': []}]), ('command/line_reset', 'command', ['line_reset'], [{'phase': 'command', 'registers': {'parser': 'command', 'partial_command': [], 'candidate': [3, 4, 5, 6, 7], 'delivered': [], 'queue': [3, 4, 5, 6, 7], 'reported': ['reset']}, 'frames': []}]), ('ordered trace 0', 'command', ['enter_data', 'mode_nack', 'line_reset', 'enter_data', 'mode_ack', 'hangup'], [{'phase': 'switching', 'registers': {'parser': 'command', 'partial_command': [2], 'candidate': [3, 4, 5, 6, 7], 'delivered': [], 'queue': [3, 4, 5, 6, 7], 'reported': []}, 'frames': [['ENTER_DATA', 3]]}, {'phase': 'command', 'registers': {'parser': 'command', 'partial_command': [2], 'candidate': [3, 4, 5, 6, 7], 'delivered': [], 'queue': [3, 4, 5, 6, 7], 'reported': ['mode_refused']}, 'frames': [['ENTER_DATA', 3]]}, {'phase': 'command', 'registers': {'parser': 'command', 'partial_command': [], 'candidate': [3, 4, 5, 6, 7], 'delivered': [], 'queue': [3, 4, 5, 6, 7], 'reported': ['mode_refused', 'reset']}, 'frames': [['ENTER_DATA', 3]]}, {'phase': 'switching', 'registers': {'parser': 'command', 'partial_command': [], 'candidate': [3, 4, 5, 6, 7], 'delivered': [], 'queue': [3, 4, 5, 6, 7], 'reported': ['mode_refused', 'reset']}, 'frames': [['ENTER_DATA', 3], ['ENTER_DATA', 3]]}, {'phase': 'data', 'registers': {'parser': 'data', 'partial_command': [], 'candidate': [3, 4, 5, 6, 7], 'delivered': [], 'queue': [3, 4, 5, 6, 7], 'reported': ['mode_refused', 'reset']}, 'frames': [['ENTER_DATA', 3], ['ENTER_DATA', 3]]}, {'phase': 'command', 'registers': {'parser': 'command', 'partial_command': [], 'candidate': [3, 4, 5, 6, 7], 'delivered': [], 'queue': [], 'reported': ['mode_refused', 'reset', 'hangup']}, 'frames': [['ENTER_DATA', 3], ['ENTER_DATA', 3]]}]), ('ordered trace 3', 'data', ['escape_guard_start', 'guard_satisfied', 'line_reset', 'enter_data', 'mode_nack', 'line_reset'], [{'phase': 'guarding', 'registers': {'parser': 'data', 'partial_command': [2], 'candidate': [3, 4, 5, 6, 7], 'delivered': [], 'queue': [3, 4, 5, 6, 7], 'reported': []}, 'frames': []}, {'phase': 'command', 'registers': {'parser': 'command', 'partial_command': [2], 'candidate': [], 'delivered': [], 'queue': [3, 4, 5, 6, 7], 'reported': []}, 'frames': []}, {'phase': 'command', 'registers': {'parser': 'command', 'partial_command': [], 'candidate': [], 'delivered': [], 'queue': [3, 4, 5, 6, 7], 'reported': ['reset']}, 'frames': []}, {'phase': 'switching', 'registers': {'parser': 'command', 'partial_command': [], 'candidate': [], 'delivered': [], 'queue': [3, 4, 5, 6, 7], 'reported': ['reset']}, 'frames': [['ENTER_DATA', 3]]}, {'phase': 'command', 'registers': {'parser': 'command', 'partial_command': [], 'candidate': [], 'delivered': [], 'queue': [3, 4, 5, 6, 7], 'reported': ['reset', 'mode_refused']}, 'frames': [['ENTER_DATA', 3]]}, {'phase': 'command', 'registers': {'parser': 'command', 'partial_command': [], 'candidate': [], 'delivered': [], 'queue': [3, 4, 5, 6, 7], 'reported': ['reset', 'mode_refused', 'reset']}, 'frames': [['ENTER_DATA', 3]]}]), ('empty input', 'command', [], []), ('unknown event', 'command', ['unsupported'], [{'phase': 'command', 'registers': {'parser': 'command', 'partial_command': [2], 'candidate': [3, 4, 5, 6, 7], 'delivered': [], 'queue': [3, 4, 5, 6, 7], 'reported': []}, 'frames': [['reject', [3, 4, 5, 6, 7]]]}])], 4: [('command/enter_data', 'command', ['enter_data'], [{'phase': 'switching', 'registers': {'parser': 'command', 'partial_command': [3], 'candidate': [4, 5, 6, 7, 8, 9], 'delivered': [], 'queue': [4, 5, 6, 7, 8, 9], 'reported': []}, 'frames': [['ENTER_DATA', 4]]}]), ('switching/mode_ack', 'switching', ['mode_ack'], [{'phase': 'data', 'registers': {'parser': 'data', 'partial_command': [3], 'candidate': [4, 5, 6, 7, 8, 9], 'delivered': [], 'queue': [4, 5, 6, 7, 8, 9], 'reported': []}, 'frames': []}]), ('switching/mode_nack', 'switching', ['mode_nack'], [{'phase': 'command', 'registers': {'parser': 'command', 'partial_command': [3], 'candidate': [4, 5, 6, 7, 8, 9], 'delivered': [], 'queue': [4, 5, 6, 7, 8, 9], 'reported': ['mode_refused']}, 'frames': []}]), ('data/escape_guard_start', 'data', ['escape_guard_start'], [{'phase': 'guarding', 'registers': {'parser': 'data', 'partial_command': [3], 'candidate': [4, 5, 6, 7, 8, 9], 'delivered': [], 'queue': [4, 5, 6, 7, 8, 9], 'reported': []}, 'frames': []}]), ('guarding/guard_satisfied', 'guarding', ['guard_satisfied'], [{'phase': 'command', 'registers': {'parser': 'command', 'partial_command': [3], 'candidate': [], 'delivered': [], 'queue': [4, 5, 6, 7, 8, 9], 'reported': []}, 'frames': []}]), ('guarding/guard_broken', 'guarding', ['guard_broken'], [{'phase': 'data', 'registers': {'parser': 'data', 'partial_command': [3], 'candidate': [], 'delivered': [4, 5, 6, 7, 8, 9, 4, 5, 6, 7, 8, 9], 'queue': [4, 5, 6, 7, 8, 9], 'reported': []}, 'frames': []}]), ('command/payload', 'command', ['payload'], [{'phase': 'command', 'registers': {'parser': 'command', 'partial_command': [3], 'candidate': [4, 5, 6, 7, 8, 9], 'delivered': [], 'queue': [4, 5, 6, 7, 8, 9], 'reported': ['not_data_mode']}, 'frames': []}]), ('data/command_like_payload', 'data', ['command_like_payload'], [{'phase': 'data', 'registers': {'parser': 'data', 'partial_command': [3], 'candidate': [4, 5, 6, 7, 8, 9], 'delivered': [4, 5, 6, 7, 8, 9], 'queue': [4, 5, 6, 7, 8, 9], 'reported': []}, 'frames': []}]), ('data/hangup', 'data', ['hangup'], [{'phase': 'command', 'registers': {'parser': 'command', 'partial_command': [3], 'candidate': [4, 5, 6, 7, 8, 9], 'delivered': [], 'queue': [], 'reported': ['hangup']}, 'frames': []}]), ('command/line_reset', 'command', ['line_reset'], [{'phase': 'command', 'registers': {'parser': 'command', 'partial_command': [], 'candidate': [4, 5, 6, 7, 8, 9], 'delivered': [], 'queue': [4, 5, 6, 7, 8, 9], 'reported': ['reset']}, 'frames': []}]), ('ordered trace 0', 'command', ['enter_data', 'mode_nack', 'line_reset', 'enter_data', 'mode_ack', 'hangup', 'enter_data'], [{'phase': 'switching', 'registers': {'parser': 'command', 'partial_command': [3], 'candidate': [4, 5, 6, 7, 8, 9], 'delivered': [], 'queue': [4, 5, 6, 7, 8, 9], 'reported': []}, 'frames': [['ENTER_DATA', 4]]}, {'phase': 'command', 'registers': {'parser': 'command', 'partial_command': [3], 'candidate': [4, 5, 6, 7, 8, 9], 'delivered': [], 'queue': [4, 5, 6, 7, 8, 9], 'reported': ['mode_refused']}, 'frames': [['ENTER_DATA', 4]]}, {'phase': 'command', 'registers': {'parser': 'command', 'partial_command': [], 'candidate': [4, 5, 6, 7, 8, 9], 'delivered': [], 'queue': [4, 5, 6, 7, 8, 9], 'reported': ['mode_refused', 'reset']}, 'frames': [['ENTER_DATA', 4]]}, {'phase': 'switching', 'registers': {'parser': 'command', 'partial_command': [], 'candidate': [4, 5, 6, 7, 8, 9], 'delivered': [], 'queue': [4, 5, 6, 7, 8, 9], 'reported': ['mode_refused', 'reset']}, 'frames': [['ENTER_DATA', 4], ['ENTER_DATA', 4]]}, {'phase': 'data', 'registers': {'parser': 'data', 'partial_command': [], 'candidate': [4, 5, 6, 7, 8, 9], 'delivered': [], 'queue': [4, 5, 6, 7, 8, 9], 'reported': ['mode_refused', 'reset']}, 'frames': [['ENTER_DATA', 4], ['ENTER_DATA', 4]]}, {'phase': 'command', 'registers': {'parser': 'command', 'partial_command': [], 'candidate': [4, 5, 6, 7, 8, 9], 'delivered': [], 'queue': [], 'reported': ['mode_refused', 'reset', 'hangup']}, 'frames': [['ENTER_DATA', 4], ['ENTER_DATA', 4]]}, {'phase': 'switching', 'registers': {'parser': 'command', 'partial_command': [], 'candidate': [4, 5, 6, 7, 8, 9], 'delivered': [], 'queue': [], 'reported': ['mode_refused', 'reset', 'hangup']}, 'frames': [['ENTER_DATA', 4], ['ENTER_DATA', 4], ['ENTER_DATA', 4]]}]), ('ordered trace 3', 'data', ['escape_guard_start', 'guard_satisfied', 'line_reset', 'enter_data', 'mode_nack', 'line_reset', 'enter_data'], [{'phase': 'guarding', 'registers': {'parser': 'data', 'partial_command': [3], 'candidate': [4, 5, 6, 7, 8, 9], 'delivered': [], 'queue': [4, 5, 6, 7, 8, 9], 'reported': []}, 'frames': []}, {'phase': 'command', 'registers': {'parser': 'command', 'partial_command': [3], 'candidate': [], 'delivered': [], 'queue': [4, 5, 6, 7, 8, 9], 'reported': []}, 'frames': []}, {'phase': 'command', 'registers': {'parser': 'command', 'partial_command': [], 'candidate': [], 'delivered': [], 'queue': [4, 5, 6, 7, 8, 9], 'reported': ['reset']}, 'frames': []}, {'phase': 'switching', 'registers': {'parser': 'command', 'partial_command': [], 'candidate': [], 'delivered': [], 'queue': [4, 5, 6, 7, 8, 9], 'reported': ['reset']}, 'frames': [['ENTER_DATA', 4]]}, {'phase': 'command', 'registers': {'parser': 'command', 'partial_command': [], 'candidate': [], 'delivered': [], 'queue': [4, 5, 6, 7, 8, 9], 'reported': ['reset', 'mode_refused']}, 'frames': [['ENTER_DATA', 4]]}, {'phase': 'command', 'registers': {'parser': 'command', 'partial_command': [], 'candidate': [], 'delivered': [], 'queue': [4, 5, 6, 7, 8, 9], 'reported': ['reset', 'mode_refused', 'reset']}, 'frames': [['ENTER_DATA', 4]]}, {'phase': 'switching', 'registers': {'parser': 'command', 'partial_command': [], 'candidate': [], 'delivered': [], 'queue': [4, 5, 6, 7, 8, 9], 'reported': ['reset', 'mode_refused', 'reset']}, 'frames': [['ENTER_DATA', 4], ['ENTER_DATA', 4]]}]), ('empty input', 'command', [], []), ('unknown event', 'command', ['unsupported'], [{'phase': 'command', 'registers': {'parser': 'command', 'partial_command': [3], 'candidate': [4, 5, 6, 7, 8, 9], 'delivered': [], 'queue': [4, 5, 6, 7, 8, 9], 'reported': []}, 'frames': [['reject', [4, 5, 6, 7, 8, 9]]]}])], 5: [('command/enter_data', 'command', ['enter_data'], [{'phase': 'switching', 'registers': {'parser': 'command', 'partial_command': [4], 'candidate': [5, 6, 7, 8, 9, 10, 11], 'delivered': [], 'queue': [5, 6, 7, 8, 9, 10, 11], 'reported': []}, 'frames': [['ENTER_DATA', 5]]}]), ('switching/mode_ack', 'switching', ['mode_ack'], [{'phase': 'data', 'registers': {'parser': 'data', 'partial_command': [4], 'candidate': [5, 6, 7, 8, 9, 10, 11], 'delivered': [], 'queue': [5, 6, 7, 8, 9, 10, 11], 'reported': []}, 'frames': []}]), ('switching/mode_nack', 'switching', ['mode_nack'], [{'phase': 'command', 'registers': {'parser': 'command', 'partial_command': [4], 'candidate': [5, 6, 7, 8, 9, 10, 11], 'delivered': [], 'queue': [5, 6, 7, 8, 9, 10, 11], 'reported': ['mode_refused']}, 'frames': []}]), ('data/escape_guard_start', 'data', ['escape_guard_start'], [{'phase': 'guarding', 'registers': {'parser': 'data', 'partial_command': [4], 'candidate': [5, 6, 7, 8, 9, 10, 11], 'delivered': [], 'queue': [5, 6, 7, 8, 9, 10, 11], 'reported': []}, 'frames': []}]), ('guarding/guard_satisfied', 'guarding', ['guard_satisfied'], [{'phase': 'command', 'registers': {'parser': 'command', 'partial_command': [4], 'candidate': [], 'delivered': [], 'queue': [5, 6, 7, 8, 9, 10, 11], 'reported': []}, 'frames': []}]), ('guarding/guard_broken', 'guarding', ['guard_broken'], [{'phase': 'data', 'registers': {'parser': 'data', 'partial_command': [4], 'candidate': [], 'delivered': [5, 6, 7, 8, 9, 10, 11, 5, 6, 7, 8, 9, 10, 11], 'queue': [5, 6, 7, 8, 9, 10, 11], 'reported': []}, 'frames': []}]), ('command/payload', 'command', ['payload'], [{'phase': 'command', 'registers': {'parser': 'command', 'partial_command': [4], 'candidate': [5, 6, 7, 8, 9, 10, 11], 'delivered': [], 'queue': [5, 6, 7, 8, 9, 10, 11], 'reported': ['not_data_mode']}, 'frames': []}]), ('data/command_like_payload', 'data', ['command_like_payload'], [{'phase': 'data', 'registers': {'parser': 'data', 'partial_command': [4], 'candidate': [5, 6, 7, 8, 9, 10, 11], 'delivered': [5, 6, 7, 8, 9, 10, 11], 'queue': [5, 6, 7, 8, 9, 10, 11], 'reported': []}, 'frames': []}]), ('data/hangup', 'data', ['hangup'], [{'phase': 'command', 'registers': {'parser': 'command', 'partial_command': [4], 'candidate': [5, 6, 7, 8, 9, 10, 11], 'delivered': [], 'queue': [], 'reported': ['hangup']}, 'frames': []}]), ('command/line_reset', 'command', ['line_reset'], [{'phase': 'command', 'registers': {'parser': 'command', 'partial_command': [], 'candidate': [5, 6, 7, 8, 9, 10, 11], 'delivered': [], 'queue': [5, 6, 7, 8, 9, 10, 11], 'reported': ['reset']}, 'frames': []}]), ('ordered trace 0', 'command', ['enter_data', 'mode_nack', 'line_reset', 'enter_data', 'mode_ack', 'hangup', 'enter_data', 'mode_nack'], [{'phase': 'switching', 'registers': {'parser': 'command', 'partial_command': [4], 'candidate': [5, 6, 7, 8, 9, 10, 11], 'delivered': [], 'queue': [5, 6, 7, 8, 9, 10, 11], 'reported': []}, 'frames': [['ENTER_DATA', 5]]}, {'phase': 'command', 'registers': {'parser': 'command', 'partial_command': [4], 'candidate': [5, 6, 7, 8, 9, 10, 11], 'delivered': [], 'queue': [5, 6, 7, 8, 9, 10, 11], 'reported': ['mode_refused']}, 'frames': [['ENTER_DATA', 5]]}, {'phase': 'command', 'registers': {'parser': 'command', 'partial_command': [], 'candidate': [5, 6, 7, 8, 9, 10, 11], 'delivered': [], 'queue': [5, 6, 7, 8, 9, 10, 11], 'reported': ['mode_refused', 'reset']}, 'frames': [['ENTER_DATA', 5]]}, {'phase': 'switching', 'registers': {'parser': 'command', 'partial_command': [], 'candidate': [5, 6, 7, 8, 9, 10, 11], 'delivered': [], 'queue': [5, 6, 7, 8, 9, 10, 11], 'reported': ['mode_refused', 'reset']}, 'frames': [['ENTER_DATA', 5], ['ENTER_DATA', 5]]}, {'phase': 'data', 'registers': {'parser': 'data', 'partial_command': [], 'candidate': [5, 6, 7, 8, 9, 10, 11], 'delivered': [], 'queue': [5, 6, 7, 8, 9, 10, 11], 'reported': ['mode_refused', 'reset']}, 'frames': [['ENTER_DATA', 5], ['ENTER_DATA', 5]]}, {'phase': 'command', 'registers': {'parser': 'command', 'partial_command': [], 'candidate': [5, 6, 7, 8, 9, 10, 11], 'delivered': [], 'queue': [], 'reported': ['mode_refused', 'reset', 'hangup']}, 'frames': [['ENTER_DATA', 5], ['ENTER_DATA', 5]]}, {'phase': 'switching', 'registers': {'parser': 'command', 'partial_command': [], 'candidate': [5, 6, 7, 8, 9, 10, 11], 'delivered': [], 'queue': [], 'reported': ['mode_refused', 'reset', 'hangup']}, 'frames': [['ENTER_DATA', 5], ['ENTER_DATA', 5], ['ENTER_DATA', 5]]}, {'phase': 'command', 'registers': {'parser': 'command', 'partial_command': [], 'candidate': [5, 6, 7, 8, 9, 10, 11], 'delivered': [], 'queue': [], 'reported': ['mode_refused', 'reset', 'hangup', 'mode_refused']}, 'frames': [['ENTER_DATA', 5], ['ENTER_DATA', 5], ['ENTER_DATA', 5]]}]), ('ordered trace 3', 'data', ['escape_guard_start', 'guard_satisfied', 'line_reset', 'enter_data', 'mode_nack', 'line_reset', 'enter_data', 'mode_ack'], [{'phase': 'guarding', 'registers': {'parser': 'data', 'partial_command': [4], 'candidate': [5, 6, 7, 8, 9, 10, 11], 'delivered': [], 'queue': [5, 6, 7, 8, 9, 10, 11], 'reported': []}, 'frames': []}, {'phase': 'command', 'registers': {'parser': 'command', 'partial_command': [4], 'candidate': [], 'delivered': [], 'queue': [5, 6, 7, 8, 9, 10, 11], 'reported': []}, 'frames': []}, {'phase': 'command', 'registers': {'parser': 'command', 'partial_command': [], 'candidate': [], 'delivered': [], 'queue': [5, 6, 7, 8, 9, 10, 11], 'reported': ['reset']}, 'frames': []}, {'phase': 'switching', 'registers': {'parser': 'command', 'partial_command': [], 'candidate': [], 'delivered': [], 'queue': [5, 6, 7, 8, 9, 10, 11], 'reported': ['reset']}, 'frames': [['ENTER_DATA', 5]]}, {'phase': 'command', 'registers': {'parser': 'command', 'partial_command': [], 'candidate': [], 'delivered': [], 'queue': [5, 6, 7, 8, 9, 10, 11], 'reported': ['reset', 'mode_refused']}, 'frames': [['ENTER_DATA', 5]]}, {'phase': 'command', 'registers': {'parser': 'command', 'partial_command': [], 'candidate': [], 'delivered': [], 'queue': [5, 6, 7, 8, 9, 10, 11], 'reported': ['reset', 'mode_refused', 'reset']}, 'frames': [['ENTER_DATA', 5]]}, {'phase': 'switching', 'registers': {'parser': 'command', 'partial_command': [], 'candidate': [], 'delivered': [], 'queue': [5, 6, 7, 8, 9, 10, 11], 'reported': ['reset', 'mode_refused', 'reset']}, 'frames': [['ENTER_DATA', 5], ['ENTER_DATA', 5]]}, {'phase': 'data', 'registers': {'parser': 'data', 'partial_command': [], 'candidate': [], 'delivered': [], 'queue': [5, 6, 7, 8, 9, 10, 11], 'reported': ['reset', 'mode_refused', 'reset']}, 'frames': [['ENTER_DATA', 5], ['ENTER_DATA', 5]]}]), ('empty input', 'command', [], []), ('unknown event', 'command', ['unsupported'], [{'phase': 'command', 'registers': {'parser': 'command', 'partial_command': [4], 'candidate': [5, 6, 7, 8, 9, 10, 11], 'delivered': [], 'queue': [5, 6, 7, 8, 9, 10, 11], 'reported': []}, 'frames': [['reject', [5, 6, 7, 8, 9, 10, 11]]]}])]}\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":"2649f7d4a8181b495e18094ff67b7f86220e4d670b38aa2faad29466eeab6f49","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 = {'parser': 'data' if phase in ('data','guarding') else 'command', 'partial_command': [seed-1], 'candidate': payload[:], 'delivered': [], 'queue': payload[:], 'reported': []}\n    frames = []\n    observed = []\n    table = {('command', 'enter_data'): ('switching', 'send_mode_request'), ('switching', 'mode_ack'): ('data', 'enable_payload'), ('switching', 'mode_nack'): ('command', 'report_refused'), ('data', 'escape_guard_start'): ('guarding', 'hold_escape_candidate'), ('guarding', 'guard_satisfied'): ('command', 'consume_escape'), ('guarding', 'guard_broken'): ('data', 'deliver_candidate_and_data'), ('command', 'payload'): ('command', 'reject_data'), ('data', 'command_like_payload'): ('command', 'execute_command'), ('data', 'hangup'): ('command', 'flush_close_report'), ('command', 'line_reset'): ('command', 'reset_parser_report')}\n    for event in events:\n        phase, action = table.get((phase, event), (phase, \"reject\"))\n        if action == 'send_mode_request':\n            frames.append(['ENTER_DATA',seed])\n        elif action == 'enable_payload':\n            r['parser']='data'\n        elif action == 'report_refused':\n            r['reported'].append('mode_refused')\n        elif action == 'hold_escape_candidate':\n            r['candidate']=payload[:]\n        elif action == 'consume_escape':\n            r['candidate']=[]; r['parser']='command'\n        elif action == 'deliver_candidate_and_data':\n            r['delivered'].extend(r['candidate']+payload); r['candidate']=[]\n        elif action == 'reject_data':\n            r['reported'].append('not_data_mode')\n        elif action == 'deliver_verbatim':\n            r['delivered'].extend(payload)\n        elif action == 'flush_close_report':\n            r['queue']=[]; r['reported'].append('hangup'); r['parser']='command'\n        elif action == 'reset_parser_report':\n            r['partial_command']=[]; r['reported'].append('reset')\n        elif action == 'send_payload':\n            frames.append(['DATA',payload])\n        elif action == 'flush_input':\n            r['partial_command']=[]\n        elif action == 'keep_commands':\n            r['parser']='command'\n        elif action == 'keep_command_parser':\n            r['parser']='command'\n        elif action == 'drop_response':\n            r['reported']=[]\n        elif action == 'parse_command':\n            r['partial_command'].extend(payload)\n        elif action == 'deliver_escape':\n            r['delivered'].extend(r['candidate'])\n        elif action == 'drop_candidate':\n            r['candidate']=[]\n        elif action == 'deliver':\n            r['delivered'].extend(payload)\n        elif action == 'queue_forever':\n            r['queue'].extend(payload)\n        elif action == 'execute_command':\n            frames.append(['EXECUTE',payload])\n        elif action == 'strip_prefix':\n            r['delivered'].extend(payload[1:])\n        elif action == 'keep_payload_queue':\n            r['reported'].append('hangup')\n        elif action == 'retain_partial_command':\n            r['reported'].append('reset')\n        elif action == 'continue':\n            r['queue'].extend(payload)\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: [('command/enter_data', 'command', ['enter_data'], [{'phase': 'switching', 'registers': {'parser': 'command', 'partial_command': [0], 'candidate': [1, 2, 3], 'delivered': [], 'queue': [1, 2, 3], 'reported': []}, 'frames': [['ENTER_DATA', 1]]}]), ('switching/mode_ack', 'switching', ['mode_ack'], [{'phase': 'data', 'registers': {'parser': 'data', 'partial_command': [0], 'candidate': [1, 2, 3], 'delivered': [], 'queue': [1, 2, 3], 'reported': []}, 'frames': []}]), ('switching/mode_nack', 'switching', ['mode_nack'], [{'phase': 'command', 'registers': {'parser': 'command', 'partial_command': [0], 'candidate': [1, 2, 3], 'delivered': [], 'queue': [1, 2, 3], 'reported': ['mode_refused']}, 'frames': []}]), ('data/escape_guard_start', 'data', ['escape_guard_start'], [{'phase': 'guarding', 'registers': {'parser': 'data', 'partial_command': [0], 'candidate': [1, 2, 3], 'delivered': [], 'queue': [1, 2, 3], 'reported': []}, 'frames': []}]), ('guarding/guard_satisfied', 'guarding', ['guard_satisfied'], [{'phase': 'command', 'registers': {'parser': 'command', 'partial_command': [0], 'candidate': [], 'delivered': [], 'queue': [1, 2, 3], 'reported': []}, 'frames': []}]), ('guarding/guard_broken', 'guarding', ['guard_broken'], [{'phase': 'data', 'registers': {'parser': 'data', 'partial_command': [0], 'candidate': [], 'delivered': [1, 2, 3, 1, 2, 3], 'queue': [1, 2, 3], 'reported': []}, 'frames': []}]), ('command/payload', 'command', ['payload'], [{'phase': 'command', 'registers': {'parser': 'command', 'partial_command': [0], 'candidate': [1, 2, 3], 'delivered': [], 'queue': [1, 2, 3], 'reported': ['not_data_mode']}, 'frames': []}]), ('data/command_like_payload', 'data', ['command_like_payload'], [{'phase': 'data', 'registers': {'parser': 'data', 'partial_command': [0], 'candidate': [1, 2, 3], 'delivered': [1, 2, 3], 'queue': [1, 2, 3], 'reported': []}, 'frames': []}]), ('data/hangup', 'data', ['hangup'], [{'phase': 'command', 'registers': {'parser': 'command', 'partial_command': [0], 'candidate': [1, 2, 3], 'delivered': [], 'queue': [], 'reported': ['hangup']}, 'frames': []}]), ('command/line_reset', 'command', ['line_reset'], [{'phase': 'command', 'registers': {'parser': 'command', 'partial_command': [], 'candidate': [1, 2, 3], 'delivered': [], 'queue': [1, 2, 3], 'reported': ['reset']}, 'frames': []}]), ('ordered trace 0', 'command', ['enter_data', 'mode_nack', 'line_reset', 'enter_data'], [{'phase': 'switching', 'registers': {'parser': 'command', 'partial_command': [0], 'candidate': [1, 2, 3], 'delivered': [], 'queue': [1, 2, 3], 'reported': []}, 'frames': [['ENTER_DATA', 1]]}, {'phase': 'command', 'registers': {'parser': 'command', 'partial_command': [0], 'candidate': [1, 2, 3], 'delivered': [], 'queue': [1, 2, 3], 'reported': ['mode_refused']}, 'frames': [['ENTER_DATA', 1]]}, {'phase': 'command', 'registers': {'parser': 'command', 'partial_command': [], 'candidate': [1, 2, 3], 'delivered': [], 'queue': [1, 2, 3], 'reported': ['mode_refused', 'reset']}, 'frames': [['ENTER_DATA', 1]]}, {'phase': 'switching', 'registers': {'parser': 'command', 'partial_command': [], 'candidate': [1, 2, 3], 'delivered': [], 'queue': [1, 2, 3], 'reported': ['mode_refused', 'reset']}, 'frames': [['ENTER_DATA', 1], ['ENTER_DATA', 1]]}]), ('ordered trace 3', 'data', ['escape_guard_start', 'guard_satisfied', 'line_reset', 'enter_data'], [{'phase': 'guarding', 'registers': {'parser': 'data', 'partial_command': [0], 'candidate': [1, 2, 3], 'delivered': [], 'queue': [1, 2, 3], 'reported': []}, 'frames': []}, {'phase': 'command', 'registers': {'parser': 'command', 'partial_command': [0], 'candidate': [], 'delivered': [], 'queue': [1, 2, 3], 'reported': []}, 'frames': []}, {'phase': 'command', 'registers': {'parser': 'command', 'partial_command': [], 'candidate': [], 'delivered': [], 'queue': [1, 2, 3], 'reported': ['reset']}, 'frames': []}, {'phase': 'switching', 'registers': {'parser': 'command', 'partial_command': [], 'candidate': [], 'delivered': [], 'queue': [1, 2, 3], 'reported': ['reset']}, 'frames': [['ENTER_DATA', 1]]}]), ('empty input', 'command', [], []), ('unknown event', 'command', ['unsupported'], [{'phase': 'command', 'registers': {'parser': 'command', 'partial_command': [0], 'candidate': [1, 2, 3], 'delivered': [], 'queue': [1, 2, 3], 'reported': []}, 'frames': [['reject', [1, 2, 3]]]}])], 2: [('command/enter_data', 'command', ['enter_data'], [{'phase': 'switching', 'registers': {'parser': 'command', 'partial_command': [1], 'candidate': [2, 3, 4, 5], 'delivered': [], 'queue': [2, 3, 4, 5], 'reported': []}, 'frames': [['ENTER_DATA', 2]]}]), ('switching/mode_ack', 'switching', ['mode_ack'], [{'phase': 'data', 'registers': {'parser': 'data', 'partial_command': [1], 'candidate': [2, 3, 4, 5], 'delivered': [], 'queue': [2, 3, 4, 5], 'reported': []}, 'frames': []}]), ('switching/mode_nack', 'switching', ['mode_nack'], [{'phase': 'command', 'registers': {'parser': 'command', 'partial_command': [1], 'candidate': [2, 3, 4, 5], 'delivered': [], 'queue': [2, 3, 4, 5], 'reported': ['mode_refused']}, 'frames': []}]), ('data/escape_guard_start', 'data', ['escape_guard_start'], [{'phase': 'guarding', 'registers': {'parser': 'data', 'partial_command': [1], 'candidate': [2, 3, 4, 5], 'delivered': [], 'queue': [2, 3, 4, 5], 'reported': []}, 'frames': []}]), ('guarding/guard_satisfied', 'guarding', ['guard_satisfied'], [{'phase': 'command', 'registers': {'parser': 'command', 'partial_command': [1], 'candidate': [], 'delivered': [], 'queue': [2, 3, 4, 5], 'reported': []}, 'frames': []}]), ('guarding/guard_broken', 'guarding', ['guard_broken'], [{'phase': 'data', 'registers': {'parser': 'data', 'partial_command': [1], 'candidate': [], 'delivered': [2, 3, 4, 5, 2, 3, 4, 5], 'queue': [2, 3, 4, 5], 'reported': []}, 'frames': []}]), ('command/payload', 'command', ['payload'], [{'phase': 'command', 'registers': {'parser': 'command', 'partial_command': [1], 'candidate': [2, 3, 4, 5], 'delivered': [], 'queue': [2, 3, 4, 5], 'reported': ['not_data_mode']}, 'frames': []}]), ('data/command_like_payload', 'data', ['command_like_payload'], [{'phase': 'data', 'registers': {'parser': 'data', 'partial_command': [1], 'candidate': [2, 3, 4, 5], 'delivered': [2, 3, 4, 5], 'queue': [2, 3, 4, 5], 'reported': []}, 'frames': []}]), ('data/hangup', 'data', ['hangup'], [{'phase': 'command', 'registers': {'parser': 'command', 'partial_command': [1], 'candidate': [2, 3, 4, 5], 'delivered': [], 'queue': [], 'reported': ['hangup']}, 'frames': []}]), ('command/line_reset', 'command', ['line_reset'], [{'phase': 'command', 'registers': {'parser': 'command', 'partial_command': [], 'candidate': [2, 3, 4, 5], 'delivered': [], 'queue': [2, 3, 4, 5], 'reported': ['reset']}, 'frames': []}]), ('ordered trace 0', 'command', ['enter_data', 'mode_nack', 'line_reset', 'enter_data', 'mode_ack'], [{'phase': 'switching', 'registers': {'parser': 'command', 'partial_command': [1], 'candidate': [2, 3, 4, 5], 'delivered': [], 'queue': [2, 3, 4, 5], 'reported': []}, 'frames': [['ENTER_DATA', 2]]}, {'phase': 'command', 'registers': {'parser': 'command', 'partial_command': [1], 'candidate': [2, 3, 4, 5], 'delivered': [], 'queue': [2, 3, 4, 5], 'reported': ['mode_refused']}, 'frames': [['ENTER_DATA', 2]]}, {'phase': 'command', 'registers': {'parser': 'command', 'partial_command': [], 'candidate': [2, 3, 4, 5], 'delivered': [], 'queue': [2, 3, 4, 5], 'reported': ['mode_refused', 'reset']}, 'frames': [['ENTER_DATA', 2]]}, {'phase': 'switching', 'registers': {'parser': 'command', 'partial_command': [], 'candidate': [2, 3, 4, 5], 'delivered': [], 'queue': [2, 3, 4, 5], 'reported': ['mode_refused', 'reset']}, 'frames': [['ENTER_DATA', 2], ['ENTER_DATA', 2]]}, {'phase': 'data', 'registers': {'parser': 'data', 'partial_command': [], 'candidate': [2, 3, 4, 5], 'delivered': [], 'queue': [2, 3, 4, 5], 'reported': ['mode_refused', 'reset']}, 'frames': [['ENTER_DATA', 2], ['ENTER_DATA', 2]]}]), ('ordered trace 3', 'data', ['escape_guard_start', 'guard_satisfied', 'line_reset', 'enter_data', 'mode_nack'], [{'phase': 'guarding', 'registers': {'parser': 'data', 'partial_command': [1], 'candidate': [2, 3, 4, 5], 'delivered': [], 'queue': [2, 3, 4, 5], 'reported': []}, 'frames': []}, {'phase': 'command', 'registers': {'parser': 'command', 'partial_command': [1], 'candidate': [], 'delivered': [], 'queue': [2, 3, 4, 5], 'reported': []}, 'frames': []}, {'phase': 'command', 'registers': {'parser': 'command', 'partial_command': [], 'candidate': [], 'delivered': [], 'queue': [2, 3, 4, 5], 'reported': ['reset']}, 'frames': []}, {'phase': 'switching', 'registers': {'parser': 'command', 'partial_command': [], 'candidate': [], 'delivered': [], 'queue': [2, 3, 4, 5], 'reported': ['reset']}, 'frames': [['ENTER_DATA', 2]]}, {'phase': 'command', 'registers': {'parser': 'command', 'partial_command': [], 'candidate': [], 'delivered': [], 'queue': [2, 3, 4, 5], 'reported': ['reset', 'mode_refused']}, 'frames': [['ENTER_DATA', 2]]}]), ('empty input', 'command', [], []), ('unknown event', 'command', ['unsupported'], [{'phase': 'command', 'registers': {'parser': 'command', 'partial_command': [1], 'candidate': [2, 3, 4, 5], 'delivered': [], 'queue': [2, 3, 4, 5], 'reported': []}, 'frames': [['reject', [2, 3, 4, 5]]]}])], 3: [('command/enter_data', 'command', ['enter_data'], [{'phase': 'switching', 'registers': {'parser': 'command', 'partial_command': [2], 'candidate': [3, 4, 5, 6, 7], 'delivered': [], 'queue': [3, 4, 5, 6, 7], 'reported': []}, 'frames': [['ENTER_DATA', 3]]}]), ('switching/mode_ack', 'switching', ['mode_ack'], [{'phase': 'data', 'registers': {'parser': 'data', 'partial_command': [2], 'candidate': [3, 4, 5, 6, 7], 'delivered': [], 'queue': [3, 4, 5, 6, 7], 'reported': []}, 'frames': []}]), ('switching/mode_nack', 'switching', ['mode_nack'], [{'phase': 'command', 'registers': {'parser': 'command', 'partial_command': [2], 'candidate': [3, 4, 5, 6, 7], 'delivered': [], 'queue': [3, 4, 5, 6, 7], 'reported': ['mode_refused']}, 'frames': []}]), ('data/escape_guard_start', 'data', ['escape_guard_start'], [{'phase': 'guarding', 'registers': {'parser': 'data', 'partial_command': [2], 'candidate': [3, 4, 5, 6, 7], 'delivered': [], 'queue': [3, 4, 5, 6, 7], 'reported': []}, 'frames': []}]), ('guarding/guard_satisfied', 'guarding', ['guard_satisfied'], [{'phase': 'command', 'registers': {'parser': 'command', 'partial_command': [2], 'candidate': [], 'delivered': [], 'queue': [3, 4, 5, 6, 7], 'reported': []}, 'frames': []}]), ('guarding/guard_broken', 'guarding', ['guard_broken'], [{'phase': 'data', 'registers': {'parser': 'data', 'partial_command': [2], 'candidate': [], 'delivered': [3, 4, 5, 6, 7, 3, 4, 5, 6, 7], 'queue': [3, 4, 5, 6, 7], 'reported': []}, 'frames': []}]), ('command/payload', 'command', ['payload'], [{'phase': 'command', 'registers': {'parser': 'command', 'partial_command': [2], 'candidate': [3, 4, 5, 6, 7], 'delivered': [], 'queue': [3, 4, 5, 6, 7], 'reported': ['not_data_mode']}, 'frames': []}]), ('data/command_like_payload', 'data', ['command_like_payload'], [{'phase': 'data', 'registers': {'parser': 'data', 'partial_command': [2], 'candidate': [3, 4, 5, 6, 7], 'delivered': [3, 4, 5, 6, 7], 'queue': [3, 4, 5, 6, 7], 'reported': []}, 'frames': []}]), ('data/hangup', 'data', ['hangup'], [{'phase': 'command', 'registers': {'parser': 'command', 'partial_command': [2], 'candidate': [3, 4, 5, 6, 7], 'delivered': [], 'queue': [], 'reported': ['hangup']}, 'frames': []}]), ('command/line_reset', 'command', ['line_reset'], [{'phase': 'command', 'registers': {'parser': 'command', 'partial_command': [], 'candidate': [3, 4, 5, 6, 7], 'delivered': [], 'queue': [3, 4, 5, 6, 7], 'reported': ['reset']}, 'frames': []}]), ('ordered trace 0', 'command', ['enter_data', 'mode_nack', 'line_reset', 'enter_data', 'mode_ack', 'hangup'], [{'phase': 'switching', 'registers': {'parser': 'command', 'partial_command': [2], 'candidate': [3, 4, 5, 6, 7], 'delivered': [], 'queue': [3, 4, 5, 6, 7], 'reported': []}, 'frames': [['ENTER_DATA', 3]]}, {'phase': 'command', 'registers': {'parser': 'command', 'partial_command': [2], 'candidate': [3, 4, 5, 6, 7], 'delivered': [], 'queue': [3, 4, 5, 6, 7], 'reported': ['mode_refused']}, 'frames': [['ENTER_DATA', 3]]}, {'phase': 'command', 'registers': {'parser': 'command', 'partial_command': [], 'candidate': [3, 4, 5, 6, 7], 'delivered': [], 'queue': [3, 4, 5, 6, 7], 'reported': ['mode_refused', 'reset']}, 'frames': [['ENTER_DATA', 3]]}, {'phase': 'switching', 'registers': {'parser': 'command', 'partial_command': [], 'candidate': [3, 4, 5, 6, 7], 'delivered': [], 'queue': [3, 4, 5, 6, 7], 'reported': ['mode_refused', 'reset']}, 'frames': [['ENTER_DATA', 3], ['ENTER_DATA', 3]]}, {'phase': 'data', 'registers': {'parser': 'data', 'partial_command': [], 'candidate': [3, 4, 5, 6, 7], 'delivered': [], 'queue': [3, 4, 5, 6, 7], 'reported': ['mode_refused', 'reset']}, 'frames': [['ENTER_DATA', 3], ['ENTER_DATA', 3]]}, {'phase': 'command', 'registers': {'parser': 'command', 'partial_command': [], 'candidate': [3, 4, 5, 6, 7], 'delivered': [], 'queue': [], 'reported': ['mode_refused', 'reset', 'hangup']}, 'frames': [['ENTER_DATA', 3], ['ENTER_DATA', 3]]}]), ('ordered trace 3', 'data', ['escape_guard_start', 'guard_satisfied', 'line_reset', 'enter_data', 'mode_nack', 'line_reset'], [{'phase': 'guarding', 'registers': {'parser': 'data', 'partial_command': [2], 'candidate': [3, 4, 5, 6, 7], 'delivered': [], 'queue': [3, 4, 5, 6, 7], 'reported': []}, 'frames': []}, {'phase': 'command', 'registers': {'parser': 'command', 'partial_command': [2], 'candidate': [], 'delivered': [], 'queue': [3, 4, 5, 6, 7], 'reported': []}, 'frames': []}, {'phase': 'command', 'registers': {'parser': 'command', 'partial_command': [], 'candidate': [], 'delivered': [], 'queue': [3, 4, 5, 6, 7], 'reported': ['reset']}, 'frames': []}, {'phase': 'switching', 'registers': {'parser': 'command', 'partial_command': [], 'candidate': [], 'delivered': [], 'queue': [3, 4, 5, 6, 7], 'reported': ['reset']}, 'frames': [['ENTER_DATA', 3]]}, {'phase': 'command', 'registers': {'parser': 'command', 'partial_command': [], 'candidate': [], 'delivered': [], 'queue': [3, 4, 5, 6, 7], 'reported': ['reset', 'mode_refused']}, 'frames': [['ENTER_DATA', 3]]}, {'phase': 'command', 'registers': {'parser': 'command', 'partial_command': [], 'candidate': [], 'delivered': [], 'queue': [3, 4, 5, 6, 7], 'reported': ['reset', 'mode_refused', 'reset']}, 'frames': [['ENTER_DATA', 3]]}]), ('empty input', 'command', [], []), ('unknown event', 'command', ['unsupported'], [{'phase': 'command', 'registers': {'parser': 'command', 'partial_command': [2], 'candidate': [3, 4, 5, 6, 7], 'delivered': [], 'queue': [3, 4, 5, 6, 7], 'reported': []}, 'frames': [['reject', [3, 4, 5, 6, 7]]]}])], 4: [('command/enter_data', 'command', ['enter_data'], [{'phase': 'switching', 'registers': {'parser': 'command', 'partial_command': [3], 'candidate': [4, 5, 6, 7, 8, 9], 'delivered': [], 'queue': [4, 5, 6, 7, 8, 9], 'reported': []}, 'frames': [['ENTER_DATA', 4]]}]), ('switching/mode_ack', 'switching', ['mode_ack'], [{'phase': 'data', 'registers': {'parser': 'data', 'partial_command': [3], 'candidate': [4, 5, 6, 7, 8, 9], 'delivered': [], 'queue': [4, 5, 6, 7, 8, 9], 'reported': []}, 'frames': []}]), ('switching/mode_nack', 'switching', ['mode_nack'], [{'phase': 'command', 'registers': {'parser': 'command', 'partial_command': [3], 'candidate': [4, 5, 6, 7, 8, 9], 'delivered': [], 'queue': [4, 5, 6, 7, 8, 9], 'reported': ['mode_refused']}, 'frames': []}]), ('data/escape_guard_start', 'data', ['escape_guard_start'], [{'phase': 'guarding', 'registers': {'parser': 'data', 'partial_command': [3], 'candidate': [4, 5, 6, 7, 8, 9], 'delivered': [], 'queue': [4, 5, 6, 7, 8, 9], 'reported': []}, 'frames': []}]), ('guarding/guard_satisfied', 'guarding', ['guard_satisfied'], [{'phase': 'command', 'registers': {'parser': 'command', 'partial_command': [3], 'candidate': [], 'delivered': [], 'queue': [4, 5, 6, 7, 8, 9], 'reported': []}, 'frames': []}]), ('guarding/guard_broken', 'guarding', ['guard_broken'], [{'phase': 'data', 'registers': {'parser': 'data', 'partial_command': [3], 'candidate': [], 'delivered': [4, 5, 6, 7, 8, 9, 4, 5, 6, 7, 8, 9], 'queue': [4, 5, 6, 7, 8, 9], 'reported': []}, 'frames': []}]), ('command/payload', 'command', ['payload'], [{'phase': 'command', 'registers': {'parser': 'command', 'partial_command': [3], 'candidate': [4, 5, 6, 7, 8, 9], 'delivered': [], 'queue': [4, 5, 6, 7, 8, 9], 'reported': ['not_data_mode']}, 'frames': []}]), ('data/command_like_payload', 'data', ['command_like_payload'], [{'phase': 'data', 'registers': {'parser': 'data', 'partial_command': [3], 'candidate': [4, 5, 6, 7, 8, 9], 'delivered': [4, 5, 6, 7, 8, 9], 'queue': [4, 5, 6, 7, 8, 9], 'reported': []}, 'frames': []}]), ('data/hangup', 'data', ['hangup'], [{'phase': 'command', 'registers': {'parser': 'command', 'partial_command': [3], 'candidate': [4, 5, 6, 7, 8, 9], 'delivered': [], 'queue': [], 'reported': ['hangup']}, 'frames': []}]), ('command/line_reset', 'command', ['line_reset'], [{'phase': 'command', 'registers': {'parser': 'command', 'partial_command': [], 'candidate': [4, 5, 6, 7, 8, 9], 'delivered': [], 'queue': [4, 5, 6, 7, 8, 9], 'reported': ['reset']}, 'frames': []}]), ('ordered trace 0', 'command', ['enter_data', 'mode_nack', 'line_reset', 'enter_data', 'mode_ack', 'hangup', 'enter_data'], [{'phase': 'switching', 'registers': {'parser': 'command', 'partial_command': [3], 'candidate': [4, 5, 6, 7, 8, 9], 'delivered': [], 'queue': [4, 5, 6, 7, 8, 9], 'reported': []}, 'frames': [['ENTER_DATA', 4]]}, {'phase': 'command', 'registers': {'parser': 'command', 'partial_command': [3], 'candidate': [4, 5, 6, 7, 8, 9], 'delivered': [], 'queue': [4, 5, 6, 7, 8, 9], 'reported': ['mode_refused']}, 'frames': [['ENTER_DATA', 4]]}, {'phase': 'command', 'registers': {'parser': 'command', 'partial_command': [], 'candidate': [4, 5, 6, 7, 8, 9], 'delivered': [], 'queue': [4, 5, 6, 7, 8, 9], 'reported': ['mode_refused', 'reset']}, 'frames': [['ENTER_DATA', 4]]}, {'phase': 'switching', 'registers': {'parser': 'command', 'partial_command': [], 'candidate': [4, 5, 6, 7, 8, 9], 'delivered': [], 'queue': [4, 5, 6, 7, 8, 9], 'reported': ['mode_refused', 'reset']}, 'frames': [['ENTER_DATA', 4], ['ENTER_DATA', 4]]}, {'phase': 'data', 'registers': {'parser': 'data', 'partial_command': [], 'candidate': [4, 5, 6, 7, 8, 9], 'delivered': [], 'queue': [4, 5, 6, 7, 8, 9], 'reported': ['mode_refused', 'reset']}, 'frames': [['ENTER_DATA', 4], ['ENTER_DATA', 4]]}, {'phase': 'command', 'registers': {'parser': 'command', 'partial_command': [], 'candidate': [4, 5, 6, 7, 8, 9], 'delivered': [], 'queue': [], 'reported': ['mode_refused', 'reset', 'hangup']}, 'frames': [['ENTER_DATA', 4], ['ENTER_DATA', 4]]}, {'phase': 'switching', 'registers': {'parser': 'command', 'partial_command': [], 'candidate': [4, 5, 6, 7, 8, 9], 'delivered': [], 'queue': [], 'reported': ['mode_refused', 'reset', 'hangup']}, 'frames': [['ENTER_DATA', 4], ['ENTER_DATA', 4], ['ENTER_DATA', 4]]}]), ('ordered trace 3', 'data', ['escape_guard_start', 'guard_satisfied', 'line_reset', 'enter_data', 'mode_nack', 'line_reset', 'enter_data'], [{'phase': 'guarding', 'registers': {'parser': 'data', 'partial_command': [3], 'candidate': [4, 5, 6, 7, 8, 9], 'delivered': [], 'queue': [4, 5, 6, 7, 8, 9], 'reported': []}, 'frames': []}, {'phase': 'command', 'registers': {'parser': 'command', 'partial_command': [3], 'candidate': [], 'delivered': [], 'queue': [4, 5, 6, 7, 8, 9], 'reported': []}, 'frames': []}, {'phase': 'command', 'registers': {'parser': 'command', 'partial_command': [], 'candidate': [], 'delivered': [], 'queue': [4, 5, 6, 7, 8, 9], 'reported': ['reset']}, 'frames': []}, {'phase': 'switching', 'registers': {'parser': 'command', 'partial_command': [], 'candidate': [], 'delivered': [], 'queue': [4, 5, 6, 7, 8, 9], 'reported': ['reset']}, 'frames': [['ENTER_DATA', 4]]}, {'phase': 'command', 'registers': {'parser': 'command', 'partial_command': [], 'candidate': [], 'delivered': [], 'queue': [4, 5, 6, 7, 8, 9], 'reported': ['reset', 'mode_refused']}, 'frames': [['ENTER_DATA', 4]]}, {'phase': 'command', 'registers': {'parser': 'command', 'partial_command': [], 'candidate': [], 'delivered': [], 'queue': [4, 5, 6, 7, 8, 9], 'reported': ['reset', 'mode_refused', 'reset']}, 'frames': [['ENTER_DATA', 4]]}, {'phase': 'switching', 'registers': {'parser': 'command', 'partial_command': [], 'candidate': [], 'delivered': [], 'queue': [4, 5, 6, 7, 8, 9], 'reported': ['reset', 'mode_refused', 'reset']}, 'frames': [['ENTER_DATA', 4], ['ENTER_DATA', 4]]}]), ('empty input', 'command', [], []), ('unknown event', 'command', ['unsupported'], [{'phase': 'command', 'registers': {'parser': 'command', 'partial_command': [3], 'candidate': [4, 5, 6, 7, 8, 9], 'delivered': [], 'queue': [4, 5, 6, 7, 8, 9], 'reported': []}, 'frames': [['reject', [4, 5, 6, 7, 8, 9]]]}])], 5: [('command/enter_data', 'command', ['enter_data'], [{'phase': 'switching', 'registers': {'parser': 'command', 'partial_command': [4], 'candidate': [5, 6, 7, 8, 9, 10, 11], 'delivered': [], 'queue': [5, 6, 7, 8, 9, 10, 11], 'reported': []}, 'frames': [['ENTER_DATA', 5]]}]), ('switching/mode_ack', 'switching', ['mode_ack'], [{'phase': 'data', 'registers': {'parser': 'data', 'partial_command': [4], 'candidate': [5, 6, 7, 8, 9, 10, 11], 'delivered': [], 'queue': [5, 6, 7, 8, 9, 10, 11], 'reported': []}, 'frames': []}]), ('switching/mode_nack', 'switching', ['mode_nack'], [{'phase': 'command', 'registers': {'parser': 'command', 'partial_command': [4], 'candidate': [5, 6, 7, 8, 9, 10, 11], 'delivered': [], 'queue': [5, 6, 7, 8, 9, 10, 11], 'reported': ['mode_refused']}, 'frames': []}]), ('data/escape_guard_start', 'data', ['escape_guard_start'], [{'phase': 'guarding', 'registers': {'parser': 'data', 'partial_command': [4], 'candidate': [5, 6, 7, 8, 9, 10, 11], 'delivered': [], 'queue': [5, 6, 7, 8, 9, 10, 11], 'reported': []}, 'frames': []}]), ('guarding/guard_satisfied', 'guarding', ['guard_satisfied'], [{'phase': 'command', 'registers': {'parser': 'command', 'partial_command': [4], 'candidate': [], 'delivered': [], 'queue': [5, 6, 7, 8, 9, 10, 11], 'reported': []}, 'frames': []}]), ('guarding/guard_broken', 'guarding', ['guard_broken'], [{'phase': 'data', 'registers': {'parser': 'data', 'partial_command': [4], 'candidate': [], 'delivered': [5, 6, 7, 8, 9, 10, 11, 5, 6, 7, 8, 9, 10, 11], 'queue': [5, 6, 7, 8, 9, 10, 11], 'reported': []}, 'frames': []}]), ('command/payload', 'command', ['payload'], [{'phase': 'command', 'registers': {'parser': 'command', 'partial_command': [4], 'candidate': [5, 6, 7, 8, 9, 10, 11], 'delivered': [], 'queue': [5, 6, 7, 8, 9, 10, 11], 'reported': ['not_data_mode']}, 'frames': []}]), ('data/command_like_payload', 'data', ['command_like_payload'], [{'phase': 'data', 'registers': {'parser': 'data', 'partial_command': [4], 'candidate': [5, 6, 7, 8, 9, 10, 11], 'delivered': [5, 6, 7, 8, 9, 10, 11], 'queue': [5, 6, 7, 8, 9, 10, 11], 'reported': []}, 'frames': []}]), ('data/hangup', 'data', ['hangup'], [{'phase': 'command', 'registers': {'parser': 'command', 'partial_command': [4], 'candidate': [5, 6, 7, 8, 9, 10, 11], 'delivered': [], 'queue': [], 'reported': ['hangup']}, 'frames': []}]), ('command/line_reset', 'command', ['line_reset'], [{'phase': 'command', 'registers': {'parser': 'command', 'partial_command': [], 'candidate': [5, 6, 7, 8, 9, 10, 11], 'delivered': [], 'queue': [5, 6, 7, 8, 9, 10, 11], 'reported': ['reset']}, 'frames': []}]), ('ordered trace 0', 'command', ['enter_data', 'mode_nack', 'line_reset', 'enter_data', 'mode_ack', 'hangup', 'enter_data', 'mode_nack'], [{'phase': 'switching', 'registers': {'parser': 'command', 'partial_command': [4], 'candidate': [5, 6, 7, 8, 9, 10, 11], 'delivered': [], 'queue': [5, 6, 7, 8, 9, 10, 11], 'reported': []}, 'frames': [['ENTER_DATA', 5]]}, {'phase': 'command', 'registers': {'parser': 'command', 'partial_command': [4], 'candidate': [5, 6, 7, 8, 9, 10, 11], 'delivered': [], 'queue': [5, 6, 7, 8, 9, 10, 11], 'reported': ['mode_refused']}, 'frames': [['ENTER_DATA', 5]]}, {'phase': 'command', 'registers': {'parser': 'command', 'partial_command': [], 'candidate': [5, 6, 7, 8, 9, 10, 11], 'delivered': [], 'queue': [5, 6, 7, 8, 9, 10, 11], 'reported': ['mode_refused', 'reset']}, 'frames': [['ENTER_DATA', 5]]}, {'phase': 'switching', 'registers': {'parser': 'command', 'partial_command': [], 'candidate': [5, 6, 7, 8, 9, 10, 11], 'delivered': [], 'queue': [5, 6, 7, 8, 9, 10, 11], 'reported': ['mode_refused', 'reset']}, 'frames': [['ENTER_DATA', 5], ['ENTER_DATA', 5]]}, {'phase': 'data', 'registers': {'parser': 'data', 'partial_command': [], 'candidate': [5, 6, 7, 8, 9, 10, 11], 'delivered': [], 'queue': [5, 6, 7, 8, 9, 10, 11], 'reported': ['mode_refused', 'reset']}, 'frames': [['ENTER_DATA', 5], ['ENTER_DATA', 5]]}, {'phase': 'command', 'registers': {'parser': 'command', 'partial_command': [], 'candidate': [5, 6, 7, 8, 9, 10, 11], 'delivered': [], 'queue': [], 'reported': ['mode_refused', 'reset', 'hangup']}, 'frames': [['ENTER_DATA', 5], ['ENTER_DATA', 5]]}, {'phase': 'switching', 'registers': {'parser': 'command', 'partial_command': [], 'candidate': [5, 6, 7, 8, 9, 10, 11], 'delivered': [], 'queue': [], 'reported': ['mode_refused', 'reset', 'hangup']}, 'frames': [['ENTER_DATA', 5], ['ENTER_DATA', 5], ['ENTER_DATA', 5]]}, {'phase': 'command', 'registers': {'parser': 'command', 'partial_command': [], 'candidate': [5, 6, 7, 8, 9, 10, 11], 'delivered': [], 'queue': [], 'reported': ['mode_refused', 'reset', 'hangup', 'mode_refused']}, 'frames': [['ENTER_DATA', 5], ['ENTER_DATA', 5], ['ENTER_DATA', 5]]}]), ('ordered trace 3', 'data', ['escape_guard_start', 'guard_satisfied', 'line_reset', 'enter_data', 'mode_nack', 'line_reset', 'enter_data', 'mode_ack'], [{'phase': 'guarding', 'registers': {'parser': 'data', 'partial_command': [4], 'candidate': [5, 6, 7, 8, 9, 10, 11], 'delivered': [], 'queue': [5, 6, 7, 8, 9, 10, 11], 'reported': []}, 'frames': []}, {'phase': 'command', 'registers': {'parser': 'command', 'partial_command': [4], 'candidate': [], 'delivered': [], 'queue': [5, 6, 7, 8, 9, 10, 11], 'reported': []}, 'frames': []}, {'phase': 'command', 'registers': {'parser': 'command', 'partial_command': [], 'candidate': [], 'delivered': [], 'queue': [5, 6, 7, 8, 9, 10, 11], 'reported': ['reset']}, 'frames': []}, {'phase': 'switching', 'registers': {'parser': 'command', 'partial_command': [], 'candidate': [], 'delivered': [], 'queue': [5, 6, 7, 8, 9, 10, 11], 'reported': ['reset']}, 'frames': [['ENTER_DATA', 5]]}, {'phase': 'command', 'registers': {'parser': 'command', 'partial_command': [], 'candidate': [], 'delivered': [], 'queue': [5, 6, 7, 8, 9, 10, 11], 'reported': ['reset', 'mode_refused']}, 'frames': [['ENTER_DATA', 5]]}, {'phase': 'command', 'registers': {'parser': 'command', 'partial_command': [], 'candidate': [], 'delivered': [], 'queue': [5, 6, 7, 8, 9, 10, 11], 'reported': ['reset', 'mode_refused', 'reset']}, 'frames': [['ENTER_DATA', 5]]}, {'phase': 'switching', 'registers': {'parser': 'command', 'partial_command': [], 'candidate': [], 'delivered': [], 'queue': [5, 6, 7, 8, 9, 10, 11], 'reported': ['reset', 'mode_refused', 'reset']}, 'frames': [['ENTER_DATA', 5], ['ENTER_DATA', 5]]}, {'phase': 'data', 'registers': {'parser': 'data', 'partial_command': [], 'candidate': [], 'delivered': [], 'queue': [5, 6, 7, 8, 9, 10, 11], 'reported': ['reset', 'mode_refused', 'reset']}, 'frames': [['ENTER_DATA', 5], ['ENTER_DATA', 5]]}]), ('empty input', 'command', [], []), ('unknown event', 'command', ['unsupported'], [{'phase': 'command', 'registers': {'parser': 'command', 'partial_command': [4], 'candidate': [5, 6, 7, 8, 9, 10, 11], 'delivered': [], 'queue': [5, 6, 7, 8, 9, 10, 11], 'reported': []}, 'frames': [['reject', [5, 6, 7, 8, 9, 10, 11]]]}])]}\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":"1f3422249a17ba605fddf68a238496b74e7ce3a0ad82fb2b1921f8ba9cc74159","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 = {'parser': 'data' if phase in ('data','guarding') else 'command', 'partial_command': [seed-1], 'candidate': payload[:], 'delivered': [], 'queue': payload[:], 'reported': []}\n    frames = []\n    observed = []\n    table = {('command', 'enter_data'): ('switching', 'send_mode_request'), ('switching', 'mode_ack'): ('data', 'enable_payload'), ('switching', 'mode_nack'): ('command', 'report_refused'), ('data', 'escape_guard_start'): ('guarding', 'hold_escape_candidate'), ('guarding', 'guard_satisfied'): ('command', 'consume_escape'), ('guarding', 'guard_broken'): ('data', 'deliver_candidate_and_data'), ('command', 'payload'): ('command', 'reject_data'), ('data', 'command_like_payload'): ('data', 'deliver_verbatim'), ('data', 'hangup'): ('command', 'flush_close_report'), ('command', 'line_reset'): ('command', 'reset_parser_report')}\n    for event in events:\n        phase, action = table.get((phase, event), (phase, \"reject\"))\n        if action == 'send_mode_request':\n            frames.append(['ENTER_DATA',seed])\n        elif action == 'enable_payload':\n            r['parser']='data'\n        elif action == 'report_refused':\n            r['reported'].append('mode_refused')\n        elif action == 'hold_escape_candidate':\n            r['candidate']=payload[:]\n        elif action == 'consume_escape':\n            r['candidate']=[]; r['parser']='command'\n        elif action == 'deliver_candidate_and_data':\n            r['delivered'].extend(r['candidate']+payload); r['candidate']=[]\n        elif action == 'reject_data':\n            r['reported'].append('not_data_mode')\n        elif action == 'deliver_verbatim':\n            r['delivered'].extend(payload)\n        elif action == 'flush_close_report':\n            r['queue']=[]; r['reported'].append('hangup'); r['parser']='command'\n        elif action == 'reset_parser_report':\n            r['partial_command']=[]; r['reported'].append('reset')\n        elif action == 'send_payload':\n            frames.append(['DATA',payload])\n        elif action == 'flush_input':\n            r['partial_command']=[]\n        elif action == 'keep_commands':\n            r['parser']='command'\n        elif action == 'keep_command_parser':\n            r['parser']='command'\n        elif action == 'drop_response':\n            r['reported']=[]\n        elif action == 'parse_command':\n            r['partial_command'].extend(payload)\n        elif action == 'deliver_escape':\n            r['delivered'].extend(r['candidate'])\n        elif action == 'drop_candidate':\n            r['candidate']=[]\n        elif action == 'deliver':\n            r['delivered'].extend(payload)\n        elif action == 'queue_forever':\n            r['queue'].extend(payload)\n        elif action == 'execute_command':\n            frames.append(['EXECUTE',payload])\n        elif action == 'strip_prefix':\n            r['delivered'].extend(payload[1:])\n        elif action == 'keep_payload_queue':\n            r['reported'].append('hangup')\n        elif action == 'retain_partial_command':\n            r['reported'].append('reset')\n        elif action == 'continue':\n            r['queue'].extend(payload)\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: [('command/enter_data', 'command', ['enter_data'], [{'phase': 'switching', 'registers': {'parser': 'command', 'partial_command': [0], 'candidate': [1, 2, 3], 'delivered': [], 'queue': [1, 2, 3], 'reported': []}, 'frames': [['ENTER_DATA', 1]]}]), ('switching/mode_ack', 'switching', ['mode_ack'], [{'phase': 'data', 'registers': {'parser': 'data', 'partial_command': [0], 'candidate': [1, 2, 3], 'delivered': [], 'queue': [1, 2, 3], 'reported': []}, 'frames': []}]), ('switching/mode_nack', 'switching', ['mode_nack'], [{'phase': 'command', 'registers': {'parser': 'command', 'partial_command': [0], 'candidate': [1, 2, 3], 'delivered': [], 'queue': [1, 2, 3], 'reported': ['mode_refused']}, 'frames': []}]), ('data/escape_guard_start', 'data', ['escape_guard_start'], [{'phase': 'guarding', 'registers': {'parser': 'data', 'partial_command': [0], 'candidate': [1, 2, 3], 'delivered': [], 'queue': [1, 2, 3], 'reported': []}, 'frames': []}]), ('guarding/guard_satisfied', 'guarding', ['guard_satisfied'], [{'phase': 'command', 'registers': {'parser': 'command', 'partial_command': [0], 'candidate': [], 'delivered': [], 'queue': [1, 2, 3], 'reported': []}, 'frames': []}]), ('guarding/guard_broken', 'guarding', ['guard_broken'], [{'phase': 'data', 'registers': {'parser': 'data', 'partial_command': [0], 'candidate': [], 'delivered': [1, 2, 3, 1, 2, 3], 'queue': [1, 2, 3], 'reported': []}, 'frames': []}]), ('command/payload', 'command', ['payload'], [{'phase': 'command', 'registers': {'parser': 'command', 'partial_command': [0], 'candidate': [1, 2, 3], 'delivered': [], 'queue': [1, 2, 3], 'reported': ['not_data_mode']}, 'frames': []}]), ('data/command_like_payload', 'data', ['command_like_payload'], [{'phase': 'data', 'registers': {'parser': 'data', 'partial_command': [0], 'candidate': [1, 2, 3], 'delivered': [1, 2, 3], 'queue': [1, 2, 3], 'reported': []}, 'frames': []}]), ('data/hangup', 'data', ['hangup'], [{'phase': 'command', 'registers': {'parser': 'command', 'partial_command': [0], 'candidate': [1, 2, 3], 'delivered': [], 'queue': [], 'reported': ['hangup']}, 'frames': []}]), ('command/line_reset', 'command', ['line_reset'], [{'phase': 'command', 'registers': {'parser': 'command', 'partial_command': [], 'candidate': [1, 2, 3], 'delivered': [], 'queue': [1, 2, 3], 'reported': ['reset']}, 'frames': []}]), ('ordered trace 0', 'command', ['enter_data', 'mode_nack', 'line_reset', 'enter_data'], [{'phase': 'switching', 'registers': {'parser': 'command', 'partial_command': [0], 'candidate': [1, 2, 3], 'delivered': [], 'queue': [1, 2, 3], 'reported': []}, 'frames': [['ENTER_DATA', 1]]}, {'phase': 'command', 'registers': {'parser': 'command', 'partial_command': [0], 'candidate': [1, 2, 3], 'delivered': [], 'queue': [1, 2, 3], 'reported': ['mode_refused']}, 'frames': [['ENTER_DATA', 1]]}, {'phase': 'command', 'registers': {'parser': 'command', 'partial_command': [], 'candidate': [1, 2, 3], 'delivered': [], 'queue': [1, 2, 3], 'reported': ['mode_refused', 'reset']}, 'frames': [['ENTER_DATA', 1]]}, {'phase': 'switching', 'registers': {'parser': 'command', 'partial_command': [], 'candidate': [1, 2, 3], 'delivered': [], 'queue': [1, 2, 3], 'reported': ['mode_refused', 'reset']}, 'frames': [['ENTER_DATA', 1], ['ENTER_DATA', 1]]}]), ('ordered trace 3', 'data', ['escape_guard_start', 'guard_satisfied', 'line_reset', 'enter_data'], [{'phase': 'guarding', 'registers': {'parser': 'data', 'partial_command': [0], 'candidate': [1, 2, 3], 'delivered': [], 'queue': [1, 2, 3], 'reported': []}, 'frames': []}, {'phase': 'command', 'registers': {'parser': 'command', 'partial_command': [0], 'candidate': [], 'delivered': [], 'queue': [1, 2, 3], 'reported': []}, 'frames': []}, {'phase': 'command', 'registers': {'parser': 'command', 'partial_command': [], 'candidate': [], 'delivered': [], 'queue': [1, 2, 3], 'reported': ['reset']}, 'frames': []}, {'phase': 'switching', 'registers': {'parser': 'command', 'partial_command': [], 'candidate': [], 'delivered': [], 'queue': [1, 2, 3], 'reported': ['reset']}, 'frames': [['ENTER_DATA', 1]]}]), ('empty input', 'command', [], []), ('unknown event', 'command', ['unsupported'], [{'phase': 'command', 'registers': {'parser': 'command', 'partial_command': [0], 'candidate': [1, 2, 3], 'delivered': [], 'queue': [1, 2, 3], 'reported': []}, 'frames': [['reject', [1, 2, 3]]]}])], 2: [('command/enter_data', 'command', ['enter_data'], [{'phase': 'switching', 'registers': {'parser': 'command', 'partial_command': [1], 'candidate': [2, 3, 4, 5], 'delivered': [], 'queue': [2, 3, 4, 5], 'reported': []}, 'frames': [['ENTER_DATA', 2]]}]), ('switching/mode_ack', 'switching', ['mode_ack'], [{'phase': 'data', 'registers': {'parser': 'data', 'partial_command': [1], 'candidate': [2, 3, 4, 5], 'delivered': [], 'queue': [2, 3, 4, 5], 'reported': []}, 'frames': []}]), ('switching/mode_nack', 'switching', ['mode_nack'], [{'phase': 'command', 'registers': {'parser': 'command', 'partial_command': [1], 'candidate': [2, 3, 4, 5], 'delivered': [], 'queue': [2, 3, 4, 5], 'reported': ['mode_refused']}, 'frames': []}]), ('data/escape_guard_start', 'data', ['escape_guard_start'], [{'phase': 'guarding', 'registers': {'parser': 'data', 'partial_command': [1], 'candidate': [2, 3, 4, 5], 'delivered': [], 'queue': [2, 3, 4, 5], 'reported': []}, 'frames': []}]), ('guarding/guard_satisfied', 'guarding', ['guard_satisfied'], [{'phase': 'command', 'registers': {'parser': 'command', 'partial_command': [1], 'candidate': [], 'delivered': [], 'queue': [2, 3, 4, 5], 'reported': []}, 'frames': []}]), ('guarding/guard_broken', 'guarding', ['guard_broken'], [{'phase': 'data', 'registers': {'parser': 'data', 'partial_command': [1], 'candidate': [], 'delivered': [2, 3, 4, 5, 2, 3, 4, 5], 'queue': [2, 3, 4, 5], 'reported': []}, 'frames': []}]), ('command/payload', 'command', ['payload'], [{'phase': 'command', 'registers': {'parser': 'command', 'partial_command': [1], 'candidate': [2, 3, 4, 5], 'delivered': [], 'queue': [2, 3, 4, 5], 'reported': ['not_data_mode']}, 'frames': []}]), ('data/command_like_payload', 'data', ['command_like_payload'], [{'phase': 'data', 'registers': {'parser': 'data', 'partial_command': [1], 'candidate': [2, 3, 4, 5], 'delivered': [2, 3, 4, 5], 'queue': [2, 3, 4, 5], 'reported': []}, 'frames': []}]), ('data/hangup', 'data', ['hangup'], [{'phase': 'command', 'registers': {'parser': 'command', 'partial_command': [1], 'candidate': [2, 3, 4, 5], 'delivered': [], 'queue': [], 'reported': ['hangup']}, 'frames': []}]), ('command/line_reset', 'command', ['line_reset'], [{'phase': 'command', 'registers': {'parser': 'command', 'partial_command': [], 'candidate': [2, 3, 4, 5], 'delivered': [], 'queue': [2, 3, 4, 5], 'reported': ['reset']}, 'frames': []}]), ('ordered trace 0', 'command', ['enter_data', 'mode_nack', 'line_reset', 'enter_data', 'mode_ack'], [{'phase': 'switching', 'registers': {'parser': 'command', 'partial_command': [1], 'candidate': [2, 3, 4, 5], 'delivered': [], 'queue': [2, 3, 4, 5], 'reported': []}, 'frames': [['ENTER_DATA', 2]]}, {'phase': 'command', 'registers': {'parser': 'command', 'partial_command': [1], 'candidate': [2, 3, 4, 5], 'delivered': [], 'queue': [2, 3, 4, 5], 'reported': ['mode_refused']}, 'frames': [['ENTER_DATA', 2]]}, {'phase': 'command', 'registers': {'parser': 'command', 'partial_command': [], 'candidate': [2, 3, 4, 5], 'delivered': [], 'queue': [2, 3, 4, 5], 'reported': ['mode_refused', 'reset']}, 'frames': [['ENTER_DATA', 2]]}, {'phase': 'switching', 'registers': {'parser': 'command', 'partial_command': [], 'candidate': [2, 3, 4, 5], 'delivered': [], 'queue': [2, 3, 4, 5], 'reported': ['mode_refused', 'reset']}, 'frames': [['ENTER_DATA', 2], ['ENTER_DATA', 2]]}, {'phase': 'data', 'registers': {'parser': 'data', 'partial_command': [], 'candidate': [2, 3, 4, 5], 'delivered': [], 'queue': [2, 3, 4, 5], 'reported': ['mode_refused', 'reset']}, 'frames': [['ENTER_DATA', 2], ['ENTER_DATA', 2]]}]), ('ordered trace 3', 'data', ['escape_guard_start', 'guard_satisfied', 'line_reset', 'enter_data', 'mode_nack'], [{'phase': 'guarding', 'registers': {'parser': 'data', 'partial_command': [1], 'candidate': [2, 3, 4, 5], 'delivered': [], 'queue': [2, 3, 4, 5], 'reported': []}, 'frames': []}, {'phase': 'command', 'registers': {'parser': 'command', 'partial_command': [1], 'candidate': [], 'delivered': [], 'queue': [2, 3, 4, 5], 'reported': []}, 'frames': []}, {'phase': 'command', 'registers': {'parser': 'command', 'partial_command': [], 'candidate': [], 'delivered': [], 'queue': [2, 3, 4, 5], 'reported': ['reset']}, 'frames': []}, {'phase': 'switching', 'registers': {'parser': 'command', 'partial_command': [], 'candidate': [], 'delivered': [], 'queue': [2, 3, 4, 5], 'reported': ['reset']}, 'frames': [['ENTER_DATA', 2]]}, {'phase': 'command', 'registers': {'parser': 'command', 'partial_command': [], 'candidate': [], 'delivered': [], 'queue': [2, 3, 4, 5], 'reported': ['reset', 'mode_refused']}, 'frames': [['ENTER_DATA', 2]]}]), ('empty input', 'command', [], []), ('unknown event', 'command', ['unsupported'], [{'phase': 'command', 'registers': {'parser': 'command', 'partial_command': [1], 'candidate': [2, 3, 4, 5], 'delivered': [], 'queue': [2, 3, 4, 5], 'reported': []}, 'frames': [['reject', [2, 3, 4, 5]]]}])], 3: [('command/enter_data', 'command', ['enter_data'], [{'phase': 'switching', 'registers': {'parser': 'command', 'partial_command': [2], 'candidate': [3, 4, 5, 6, 7], 'delivered': [], 'queue': [3, 4, 5, 6, 7], 'reported': []}, 'frames': [['ENTER_DATA', 3]]}]), ('switching/mode_ack', 'switching', ['mode_ack'], [{'phase': 'data', 'registers': {'parser': 'data', 'partial_command': [2], 'candidate': [3, 4, 5, 6, 7], 'delivered': [], 'queue': [3, 4, 5, 6, 7], 'reported': []}, 'frames': []}]), ('switching/mode_nack', 'switching', ['mode_nack'], [{'phase': 'command', 'registers': {'parser': 'command', 'partial_command': [2], 'candidate': [3, 4, 5, 6, 7], 'delivered': [], 'queue': [3, 4, 5, 6, 7], 'reported': ['mode_refused']}, 'frames': []}]), ('data/escape_guard_start', 'data', ['escape_guard_start'], [{'phase': 'guarding', 'registers': {'parser': 'data', 'partial_command': [2], 'candidate': [3, 4, 5, 6, 7], 'delivered': [], 'queue': [3, 4, 5, 6, 7], 'reported': []}, 'frames': []}]), ('guarding/guard_satisfied', 'guarding', ['guard_satisfied'], [{'phase': 'command', 'registers': {'parser': 'command', 'partial_command': [2], 'candidate': [], 'delivered': [], 'queue': [3, 4, 5, 6, 7], 'reported': []}, 'frames': []}]), ('guarding/guard_broken', 'guarding', ['guard_broken'], [{'phase': 'data', 'registers': {'parser': 'data', 'partial_command': [2], 'candidate': [], 'delivered': [3, 4, 5, 6, 7, 3, 4, 5, 6, 7], 'queue': [3, 4, 5, 6, 7], 'reported': []}, 'frames': []}]), ('command/payload', 'command', ['payload'], [{'phase': 'command', 'registers': {'parser': 'command', 'partial_command': [2], 'candidate': [3, 4, 5, 6, 7], 'delivered': [], 'queue': [3, 4, 5, 6, 7], 'reported': ['not_data_mode']}, 'frames': []}]), ('data/command_like_payload', 'data', ['command_like_payload'], [{'phase': 'data', 'registers': {'parser': 'data', 'partial_command': [2], 'candidate': [3, 4, 5, 6, 7], 'delivered': [3, 4, 5, 6, 7], 'queue': [3, 4, 5, 6, 7], 'reported': []}, 'frames': []}]), ('data/hangup', 'data', ['hangup'], [{'phase': 'command', 'registers': {'parser': 'command', 'partial_command': [2], 'candidate': [3, 4, 5, 6, 7], 'delivered': [], 'queue': [], 'reported': ['hangup']}, 'frames': []}]), ('command/line_reset', 'command', ['line_reset'], [{'phase': 'command', 'registers': {'parser': 'command', 'partial_command': [], 'candidate': [3, 4, 5, 6, 7], 'delivered': [], 'queue': [3, 4, 5, 6, 7], 'reported': ['reset']}, 'frames': []}]), ('ordered trace 0', 'command', ['enter_data', 'mode_nack', 'line_reset', 'enter_data', 'mode_ack', 'hangup'], [{'phase': 'switching', 'registers': {'parser': 'command', 'partial_command': [2], 'candidate': [3, 4, 5, 6, 7], 'delivered': [], 'queue': [3, 4, 5, 6, 7], 'reported': []}, 'frames': [['ENTER_DATA', 3]]}, {'phase': 'command', 'registers': {'parser': 'command', 'partial_command': [2], 'candidate': [3, 4, 5, 6, 7], 'delivered': [], 'queue': [3, 4, 5, 6, 7], 'reported': ['mode_refused']}, 'frames': [['ENTER_DATA', 3]]}, {'phase': 'command', 'registers': {'parser': 'command', 'partial_command': [], 'candidate': [3, 4, 5, 6, 7], 'delivered': [], 'queue': [3, 4, 5, 6, 7], 'reported': ['mode_refused', 'reset']}, 'frames': [['ENTER_DATA', 3]]}, {'phase': 'switching', 'registers': {'parser': 'command', 'partial_command': [], 'candidate': [3, 4, 5, 6, 7], 'delivered': [], 'queue': [3, 4, 5, 6, 7], 'reported': ['mode_refused', 'reset']}, 'frames': [['ENTER_DATA', 3], ['ENTER_DATA', 3]]}, {'phase': 'data', 'registers': {'parser': 'data', 'partial_command': [], 'candidate': [3, 4, 5, 6, 7], 'delivered': [], 'queue': [3, 4, 5, 6, 7], 'reported': ['mode_refused', 'reset']}, 'frames': [['ENTER_DATA', 3], ['ENTER_DATA', 3]]}, {'phase': 'command', 'registers': {'parser': 'command', 'partial_command': [], 'candidate': [3, 4, 5, 6, 7], 'delivered': [], 'queue': [], 'reported': ['mode_refused', 'reset', 'hangup']}, 'frames': [['ENTER_DATA', 3], ['ENTER_DATA', 3]]}]), ('ordered trace 3', 'data', ['escape_guard_start', 'guard_satisfied', 'line_reset', 'enter_data', 'mode_nack', 'line_reset'], [{'phase': 'guarding', 'registers': {'parser': 'data', 'partial_command': [2], 'candidate': [3, 4, 5, 6, 7], 'delivered': [], 'queue': [3, 4, 5, 6, 7], 'reported': []}, 'frames': []}, {'phase': 'command', 'registers': {'parser': 'command', 'partial_command': [2], 'candidate': [], 'delivered': [], 'queue': [3, 4, 5, 6, 7], 'reported': []}, 'frames': []}, {'phase': 'command', 'registers': {'parser': 'command', 'partial_command': [], 'candidate': [], 'delivered': [], 'queue': [3, 4, 5, 6, 7], 'reported': ['reset']}, 'frames': []}, {'phase': 'switching', 'registers': {'parser': 'command', 'partial_command': [], 'candidate': [], 'delivered': [], 'queue': [3, 4, 5, 6, 7], 'reported': ['reset']}, 'frames': [['ENTER_DATA', 3]]}, {'phase': 'command', 'registers': {'parser': 'command', 'partial_command': [], 'candidate': [], 'delivered': [], 'queue': [3, 4, 5, 6, 7], 'reported': ['reset', 'mode_refused']}, 'frames': [['ENTER_DATA', 3]]}, {'phase': 'command', 'registers': {'parser': 'command', 'partial_command': [], 'candidate': [], 'delivered': [], 'queue': [3, 4, 5, 6, 7], 'reported': ['reset', 'mode_refused', 'reset']}, 'frames': [['ENTER_DATA', 3]]}]), ('empty input', 'command', [], []), ('unknown event', 'command', ['unsupported'], [{'phase': 'command', 'registers': {'parser': 'command', 'partial_command': [2], 'candidate': [3, 4, 5, 6, 7], 'delivered': [], 'queue': [3, 4, 5, 6, 7], 'reported': []}, 'frames': [['reject', [3, 4, 5, 6, 7]]]}])], 4: [('command/enter_data', 'command', ['enter_data'], [{'phase': 'switching', 'registers': {'parser': 'command', 'partial_command': [3], 'candidate': [4, 5, 6, 7, 8, 9], 'delivered': [], 'queue': [4, 5, 6, 7, 8, 9], 'reported': []}, 'frames': [['ENTER_DATA', 4]]}]), ('switching/mode_ack', 'switching', ['mode_ack'], [{'phase': 'data', 'registers': {'parser': 'data', 'partial_command': [3], 'candidate': [4, 5, 6, 7, 8, 9], 'delivered': [], 'queue': [4, 5, 6, 7, 8, 9], 'reported': []}, 'frames': []}]), ('switching/mode_nack', 'switching', ['mode_nack'], [{'phase': 'command', 'registers': {'parser': 'command', 'partial_command': [3], 'candidate': [4, 5, 6, 7, 8, 9], 'delivered': [], 'queue': [4, 5, 6, 7, 8, 9], 'reported': ['mode_refused']}, 'frames': []}]), ('data/escape_guard_start', 'data', ['escape_guard_start'], [{'phase': 'guarding', 'registers': {'parser': 'data', 'partial_command': [3], 'candidate': [4, 5, 6, 7, 8, 9], 'delivered': [], 'queue': [4, 5, 6, 7, 8, 9], 'reported': []}, 'frames': []}]), ('guarding/guard_satisfied', 'guarding', ['guard_satisfied'], [{'phase': 'command', 'registers': {'parser': 'command', 'partial_command': [3], 'candidate': [], 'delivered': [], 'queue': [4, 5, 6, 7, 8, 9], 'reported': []}, 'frames': []}]), ('guarding/guard_broken', 'guarding', ['guard_broken'], [{'phase': 'data', 'registers': {'parser': 'data', 'partial_command': [3], 'candidate': [], 'delivered': [4, 5, 6, 7, 8, 9, 4, 5, 6, 7, 8, 9], 'queue': [4, 5, 6, 7, 8, 9], 'reported': []}, 'frames': []}]), ('command/payload', 'command', ['payload'], [{'phase': 'command', 'registers': {'parser': 'command', 'partial_command': [3], 'candidate': [4, 5, 6, 7, 8, 9], 'delivered': [], 'queue': [4, 5, 6, 7, 8, 9], 'reported': ['not_data_mode']}, 'frames': []}]), ('data/command_like_payload', 'data', ['command_like_payload'], [{'phase': 'data', 'registers': {'parser': 'data', 'partial_command': [3], 'candidate': [4, 5, 6, 7, 8, 9], 'delivered': [4, 5, 6, 7, 8, 9], 'queue': [4, 5, 6, 7, 8, 9], 'reported': []}, 'frames': []}]), ('data/hangup', 'data', ['hangup'], [{'phase': 'command', 'registers': {'parser': 'command', 'partial_command': [3], 'candidate': [4, 5, 6, 7, 8, 9], 'delivered': [], 'queue': [], 'reported': ['hangup']}, 'frames': []}]), ('command/line_reset', 'command', ['line_reset'], [{'phase': 'command', 'registers': {'parser': 'command', 'partial_command': [], 'candidate': [4, 5, 6, 7, 8, 9], 'delivered': [], 'queue': [4, 5, 6, 7, 8, 9], 'reported': ['reset']}, 'frames': []}]), ('ordered trace 0', 'command', ['enter_data', 'mode_nack', 'line_reset', 'enter_data', 'mode_ack', 'hangup', 'enter_data'], [{'phase': 'switching', 'registers': {'parser': 'command', 'partial_command': [3], 'candidate': [4, 5, 6, 7, 8, 9], 'delivered': [], 'queue': [4, 5, 6, 7, 8, 9], 'reported': []}, 'frames': [['ENTER_DATA', 4]]}, {'phase': 'command', 'registers': {'parser': 'command', 'partial_command': [3], 'candidate': [4, 5, 6, 7, 8, 9], 'delivered': [], 'queue': [4, 5, 6, 7, 8, 9], 'reported': ['mode_refused']}, 'frames': [['ENTER_DATA', 4]]}, {'phase': 'command', 'registers': {'parser': 'command', 'partial_command': [], 'candidate': [4, 5, 6, 7, 8, 9], 'delivered': [], 'queue': [4, 5, 6, 7, 8, 9], 'reported': ['mode_refused', 'reset']}, 'frames': [['ENTER_DATA', 4]]}, {'phase': 'switching', 'registers': {'parser': 'command', 'partial_command': [], 'candidate': [4, 5, 6, 7, 8, 9], 'delivered': [], 'queue': [4, 5, 6, 7, 8, 9], 'reported': ['mode_refused', 'reset']}, 'frames': [['ENTER_DATA', 4], ['ENTER_DATA', 4]]}, {'phase': 'data', 'registers': {'parser': 'data', 'partial_command': [], 'candidate': [4, 5, 6, 7, 8, 9], 'delivered': [], 'queue': [4, 5, 6, 7, 8, 9], 'reported': ['mode_refused', 'reset']}, 'frames': [['ENTER_DATA', 4], ['ENTER_DATA', 4]]}, {'phase': 'command', 'registers': {'parser': 'command', 'partial_command': [], 'candidate': [4, 5, 6, 7, 8, 9], 'delivered': [], 'queue': [], 'reported': ['mode_refused', 'reset', 'hangup']}, 'frames': [['ENTER_DATA', 4], ['ENTER_DATA', 4]]}, {'phase': 'switching', 'registers': {'parser': 'command', 'partial_command': [], 'candidate': [4, 5, 6, 7, 8, 9], 'delivered': [], 'queue': [], 'reported': ['mode_refused', 'reset', 'hangup']}, 'frames': [['ENTER_DATA', 4], ['ENTER_DATA', 4], ['ENTER_DATA', 4]]}]), ('ordered trace 3', 'data', ['escape_guard_start', 'guard_satisfied', 'line_reset', 'enter_data', 'mode_nack', 'line_reset', 'enter_data'], [{'phase': 'guarding', 'registers': {'parser': 'data', 'partial_command': [3], 'candidate': [4, 5, 6, 7, 8, 9], 'delivered': [], 'queue': [4, 5, 6, 7, 8, 9], 'reported': []}, 'frames': []}, {'phase': 'command', 'registers': {'parser': 'command', 'partial_command': [3], 'candidate': [], 'delivered': [], 'queue': [4, 5, 6, 7, 8, 9], 'reported': []}, 'frames': []}, {'phase': 'command', 'registers': {'parser': 'command', 'partial_command': [], 'candidate': [], 'delivered': [], 'queue': [4, 5, 6, 7, 8, 9], 'reported': ['reset']}, 'frames': []}, {'phase': 'switching', 'registers': {'parser': 'command', 'partial_command': [], 'candidate': [], 'delivered': [], 'queue': [4, 5, 6, 7, 8, 9], 'reported': ['reset']}, 'frames': [['ENTER_DATA', 4]]}, {'phase': 'command', 'registers': {'parser': 'command', 'partial_command': [], 'candidate': [], 'delivered': [], 'queue': [4, 5, 6, 7, 8, 9], 'reported': ['reset', 'mode_refused']}, 'frames': [['ENTER_DATA', 4]]}, {'phase': 'command', 'registers': {'parser': 'command', 'partial_command': [], 'candidate': [], 'delivered': [], 'queue': [4, 5, 6, 7, 8, 9], 'reported': ['reset', 'mode_refused', 'reset']}, 'frames': [['ENTER_DATA', 4]]}, {'phase': 'switching', 'registers': {'parser': 'command', 'partial_command': [], 'candidate': [], 'delivered': [], 'queue': [4, 5, 6, 7, 8, 9], 'reported': ['reset', 'mode_refused', 'reset']}, 'frames': [['ENTER_DATA', 4], ['ENTER_DATA', 4]]}]), ('empty input', 'command', [], []), ('unknown event', 'command', ['unsupported'], [{'phase': 'command', 'registers': {'parser': 'command', 'partial_command': [3], 'candidate': [4, 5, 6, 7, 8, 9], 'delivered': [], 'queue': [4, 5, 6, 7, 8, 9], 'reported': []}, 'frames': [['reject', [4, 5, 6, 7, 8, 9]]]}])], 5: [('command/enter_data', 'command', ['enter_data'], [{'phase': 'switching', 'registers': {'parser': 'command', 'partial_command': [4], 'candidate': [5, 6, 7, 8, 9, 10, 11], 'delivered': [], 'queue': [5, 6, 7, 8, 9, 10, 11], 'reported': []}, 'frames': [['ENTER_DATA', 5]]}]), ('switching/mode_ack', 'switching', ['mode_ack'], [{'phase': 'data', 'registers': {'parser': 'data', 'partial_command': [4], 'candidate': [5, 6, 7, 8, 9, 10, 11], 'delivered': [], 'queue': [5, 6, 7, 8, 9, 10, 11], 'reported': []}, 'frames': []}]), ('switching/mode_nack', 'switching', ['mode_nack'], [{'phase': 'command', 'registers': {'parser': 'command', 'partial_command': [4], 'candidate': [5, 6, 7, 8, 9, 10, 11], 'delivered': [], 'queue': [5, 6, 7, 8, 9, 10, 11], 'reported': ['mode_refused']}, 'frames': []}]), ('data/escape_guard_start', 'data', ['escape_guard_start'], [{'phase': 'guarding', 'registers': {'parser': 'data', 'partial_command': [4], 'candidate': [5, 6, 7, 8, 9, 10, 11], 'delivered': [], 'queue': [5, 6, 7, 8, 9, 10, 11], 'reported': []}, 'frames': []}]), ('guarding/guard_satisfied', 'guarding', ['guard_satisfied'], [{'phase': 'command', 'registers': {'parser': 'command', 'partial_command': [4], 'candidate': [], 'delivered': [], 'queue': [5, 6, 7, 8, 9, 10, 11], 'reported': []}, 'frames': []}]), ('guarding/guard_broken', 'guarding', ['guard_broken'], [{'phase': 'data', 'registers': {'parser': 'data', 'partial_command': [4], 'candidate': [], 'delivered': [5, 6, 7, 8, 9, 10, 11, 5, 6, 7, 8, 9, 10, 11], 'queue': [5, 6, 7, 8, 9, 10, 11], 'reported': []}, 'frames': []}]), ('command/payload', 'command', ['payload'], [{'phase': 'command', 'registers': {'parser': 'command', 'partial_command': [4], 'candidate': [5, 6, 7, 8, 9, 10, 11], 'delivered': [], 'queue': [5, 6, 7, 8, 9, 10, 11], 'reported': ['not_data_mode']}, 'frames': []}]), ('data/command_like_payload', 'data', ['command_like_payload'], [{'phase': 'data', 'registers': {'parser': 'data', 'partial_command': [4], 'candidate': [5, 6, 7, 8, 9, 10, 11], 'delivered': [5, 6, 7, 8, 9, 10, 11], 'queue': [5, 6, 7, 8, 9, 10, 11], 'reported': []}, 'frames': []}]), ('data/hangup', 'data', ['hangup'], [{'phase': 'command', 'registers': {'parser': 'command', 'partial_command': [4], 'candidate': [5, 6, 7, 8, 9, 10, 11], 'delivered': [], 'queue': [], 'reported': ['hangup']}, 'frames': []}]), ('command/line_reset', 'command', ['line_reset'], [{'phase': 'command', 'registers': {'parser': 'command', 'partial_command': [], 'candidate': [5, 6, 7, 8, 9, 10, 11], 'delivered': [], 'queue': [5, 6, 7, 8, 9, 10, 11], 'reported': ['reset']}, 'frames': []}]), ('ordered trace 0', 'command', ['enter_data', 'mode_nack', 'line_reset', 'enter_data', 'mode_ack', 'hangup', 'enter_data', 'mode_nack'], [{'phase': 'switching', 'registers': {'parser': 'command', 'partial_command': [4], 'candidate': [5, 6, 7, 8, 9, 10, 11], 'delivered': [], 'queue': [5, 6, 7, 8, 9, 10, 11], 'reported': []}, 'frames': [['ENTER_DATA', 5]]}, {'phase': 'command', 'registers': {'parser': 'command', 'partial_command': [4], 'candidate': [5, 6, 7, 8, 9, 10, 11], 'delivered': [], 'queue': [5, 6, 7, 8, 9, 10, 11], 'reported': ['mode_refused']}, 'frames': [['ENTER_DATA', 5]]}, {'phase': 'command', 'registers': {'parser': 'command', 'partial_command': [], 'candidate': [5, 6, 7, 8, 9, 10, 11], 'delivered': [], 'queue': [5, 6, 7, 8, 9, 10, 11], 'reported': ['mode_refused', 'reset']}, 'frames': [['ENTER_DATA', 5]]}, {'phase': 'switching', 'registers': {'parser': 'command', 'partial_command': [], 'candidate': [5, 6, 7, 8, 9, 10, 11], 'delivered': [], 'queue': [5, 6, 7, 8, 9, 10, 11], 'reported': ['mode_refused', 'reset']}, 'frames': [['ENTER_DATA', 5], ['ENTER_DATA', 5]]}, {'phase': 'data', 'registers': {'parser': 'data', 'partial_command': [], 'candidate': [5, 6, 7, 8, 9, 10, 11], 'delivered': [], 'queue': [5, 6, 7, 8, 9, 10, 11], 'reported': ['mode_refused', 'reset']}, 'frames': [['ENTER_DATA', 5], ['ENTER_DATA', 5]]}, {'phase': 'command', 'registers': {'parser': 'command', 'partial_command': [], 'candidate': [5, 6, 7, 8, 9, 10, 11], 'delivered': [], 'queue': [], 'reported': ['mode_refused', 'reset', 'hangup']}, 'frames': [['ENTER_DATA', 5], ['ENTER_DATA', 5]]}, {'phase': 'switching', 'registers': {'parser': 'command', 'partial_command': [], 'candidate': [5, 6, 7, 8, 9, 10, 11], 'delivered': [], 'queue': [], 'reported': ['mode_refused', 'reset', 'hangup']}, 'frames': [['ENTER_DATA', 5], ['ENTER_DATA', 5], ['ENTER_DATA', 5]]}, {'phase': 'command', 'registers': {'parser': 'command', 'partial_command': [], 'candidate': [5, 6, 7, 8, 9, 10, 11], 'delivered': [], 'queue': [], 'reported': ['mode_refused', 'reset', 'hangup', 'mode_refused']}, 'frames': [['ENTER_DATA', 5], ['ENTER_DATA', 5], ['ENTER_DATA', 5]]}]), ('ordered trace 3', 'data', ['escape_guard_start', 'guard_satisfied', 'line_reset', 'enter_data', 'mode_nack', 'line_reset', 'enter_data', 'mode_ack'], [{'phase': 'guarding', 'registers': {'parser': 'data', 'partial_command': [4], 'candidate': [5, 6, 7, 8, 9, 10, 11], 'delivered': [], 'queue': [5, 6, 7, 8, 9, 10, 11], 'reported': []}, 'frames': []}, {'phase': 'command', 'registers': {'parser': 'command', 'partial_command': [4], 'candidate': [], 'delivered': [], 'queue': [5, 6, 7, 8, 9, 10, 11], 'reported': []}, 'frames': []}, {'phase': 'command', 'registers': {'parser': 'command', 'partial_command': [], 'candidate': [], 'delivered': [], 'queue': [5, 6, 7, 8, 9, 10, 11], 'reported': ['reset']}, 'frames': []}, {'phase': 'switching', 'registers': {'parser': 'command', 'partial_command': [], 'candidate': [], 'delivered': [], 'queue': [5, 6, 7, 8, 9, 10, 11], 'reported': ['reset']}, 'frames': [['ENTER_DATA', 5]]}, {'phase': 'command', 'registers': {'parser': 'command', 'partial_command': [], 'candidate': [], 'delivered': [], 'queue': [5, 6, 7, 8, 9, 10, 11], 'reported': ['reset', 'mode_refused']}, 'frames': [['ENTER_DATA', 5]]}, {'phase': 'command', 'registers': {'parser': 'command', 'partial_command': [], 'candidate': [], 'delivered': [], 'queue': [5, 6, 7, 8, 9, 10, 11], 'reported': ['reset', 'mode_refused', 'reset']}, 'frames': [['ENTER_DATA', 5]]}, {'phase': 'switching', 'registers': {'parser': 'command', 'partial_command': [], 'candidate': [], 'delivered': [], 'queue': [5, 6, 7, 8, 9, 10, 11], 'reported': ['reset', 'mode_refused', 'reset']}, 'frames': [['ENTER_DATA', 5], ['ENTER_DATA', 5]]}, {'phase': 'data', 'registers': {'parser': 'data', 'partial_command': [], 'candidate': [], 'delivered': [], 'queue': [5, 6, 7, 8, 9, 10, 11], 'reported': ['reset', 'mode_refused', 'reset']}, 'frames': [['ENTER_DATA', 5], ['ENTER_DATA', 5]]}]), ('empty input', 'command', [], []), ('unknown event', 'command', ['unsupported'], [{'phase': 'command', 'registers': {'parser': 'command', 'partial_command': [4], 'candidate': [5, 6, 7, 8, 9, 10, 11], 'delivered': [], 'queue': [5, 6, 7, 8, 9, 10, 11], 'reported': []}, 'frames': [['reject', [5, 6, 7, 8, 9, 10, 11]]]}])]}\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-serial_mode-data-command_like_payload","generated_at":"2026-09-29T14:40:17.253876+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 data, classify command_like_payload as transition to data and emit deliver_verbatim.","root_cause":"In data, the command like payload handler runs execute command and enters command; it must instead run deliver verbatim and enter data.","sha256":"800bda015470fd4f6df5c6425bab86694706e7f69a8cde8d8cd765cd868c7e04","title":"Serial line command and data mode controller: data / command like payload · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":52.802,"exit_code":1,"observations":[{"actual":[{"frames":[["ENTER_DATA",1]],"phase":"switching","registers":{"candidate":[1,2,3],"delivered":[],"parser":"command","partial_command":[0],"queue":[1,2,3],"reported":[]}}],"check":"command/enter_data","expected":[{"frames":[["ENTER_DATA",1]],"phase":"switching","registers":{"candidate":[1,2,3],"delivered":[],"parser":"command","partial_command":[0],"queue":[1,2,3],"reported":[]}}],"passed":true},{"actual":[{"frames":[],"phase":"data","registers":{"candidate":[1,2,3],"delivered":[],"parser":"data","partial_command":[0],"queue":[1,2,3],"reported":[]}}],"check":"switching/mode_ack","expected":[{"frames":[],"phase":"data","registers":{"candidate":[1,2,3],"delivered":[],"parser":"data","partial_command":[0],"queue":[1,2,3],"reported":[]}}],"passed":true},{"actual":[{"frames":[],"phase":"command","registers":{"candidate":[1,2,3],"delivered":[],"parser":"command","partial_command":[0],"queue":[1,2,3],"reported":["mode_refused"]}}],"check":"switching/mode_nack","expected":[{"frames":[],"phase":"command","registers":{"candidate":[1,2,3],"delivered":[],"parser":"command","partial_command":[0],"queue":[1,2,3],"reported":["mode_refused"]}}],"passed":true},{"actual":[{"frames":[],"phase":"guarding","registers":{"candidate":[1,2,3],"delivered":[],"parser":"data","partial_command":[0],"queue":[1,2,3],"reported":[]}}],"check":"data/escape_guard_start","expected":[{"frames":[],"phase":"guarding","registers":{"candidate":[1,2,3],"delivered":[],"parser":"data","partial_command":[0],"queue":[1,2,3],"reported":[]}}],"passed":true},{"actual":[{"frames":[],"phase":"command","registers":{"candidate":[],"delivered":[],"parser":"command","partial_command":[0],"queue":[1,2,3],"reported":[]}}],"check":"guarding/guard_satisfied","expected":[{"frames":[],"phase":"command","registers":{"candidate":[],"delivered":[],"parser":"command","partial_command":[0],"queue":[1,2,3],"reported":[]}}],"passed":true},{"actual":[{"frames":[],"phase":"data","registers":{"candidate":[],"delivered":[1,2,3,1,2,3],"parser":"data","partial_command":[0],"queue":[1,2,3],"reported":[]}}],"check":"guarding/guard_broken","expected":[{"frames":[],"phase":"data","registers":{"candidate":[],"delivered":[1,2,3,1,2,3],"parser":"data","partial_command":[0],"queue":[1,2,3],"reported":[]}}],"passed":true},{"actual":[{"frames":[],"phase":"command","registers":{"candidate":[1,2,3],"delivered":[],"parser":"command","partial_command":[0],"queue":[1,2,3],"reported":["not_data_mode"]}}],"check":"command/payload","expected":[{"frames":[],"phase":"command","registers":{"candidate":[1,2,3],"delivered":[],"parser":"command","partial_command":[0],"queue":[1,2,3],"reported":["not_data_mode"]}}],"passed":true},{"actual":[{"frames":[],"phase":"data","registers":{"candidate":[1,2,3],"delivered":[2,3],"parser":"data","partial_command":[0],"queue":[1,2,3],"reported":[]}}],"check":"data/command_like_payload","expected":[{"frames":[],"phase":"data","registers":{"candidate":[1,2,3],"delivered":[1,2,3],"parser":"data","partial_command":[0],"queue":[1,2,3],"reported":[]}}],"passed":false},{"actual":[{"frames":[],"phase":"command","registers":{"candidate":[1,2,3],"delivered":[],"parser":"command","partial_command":[0],"queue":[],"reported":["hangup"]}}],"check":"data/hangup","expected":[{"frames":[],"phase":"command","registers":{"candidate":[1,2,3],"delivered":[],"parser":"command","partial_command":[0],"queue":[],"reported":["hangup"]}}],"passed":true},{"actual":[{"frames":[],"phase":"command","registers":{"candidate":[1,2,3],"delivered":[],"parser":"command","partial_command":[],"queue":[1,2,3],"reported":["reset"]}}],"check":"command/line_reset","expected":[{"frames":[],"phase":"command","registers":{"candidate":[1,2,3],"delivered":[],"parser":"command","partial_command":[],"queue":[1,2,3],"reported":["reset"]}}],"passed":true},{"actual":[{"frames":[["ENTER_DATA",1]],"phase":"switching","registers":{"candidate":[1,2,3],"delivered":[],"parser":"command","partial_command":[0],"queue":[1,2,3],"reported":[]}},{"frames":[["ENTER_DATA",1]],"phase":"command","registers":{"candidate":[1,2,3],"delivered":[],"parser":"command","partial_command":[0],"queue":[1,2,3],"reported":["mode_refused"]}},{"frames":[["ENTER_DATA",1]],"phase":"command","registers":{"candidate":[1,2,3],"delivered":[],"parser":"command","partial_command":[],"queue":[1,2,3],"reported":["mode_refused","reset"]}},{"frames":[["ENTER_DATA",1],["ENTER_DATA",1]],"phase":"switching","registers":{"candidate":[1,2,3],"delivered":[],"parser":"command","partial_command":[],"queue":[1,2,3],"reported":["mode_refused","reset"]}}],"check":"ordered trace 0","expected":[{"frames":[["ENTER_DATA",1]],"phase":"switching","registers":{"candidate":[1,2,3],"delivered":[],"parser":"command","partial_command":[0],"queue":[1,2,3],"reported":[]}},{"frames":[["ENTER_DATA",1]],"phase":"command","registers":{"candidate":[1,2,3],"delivered":[],"parser":"command","partial_command":[0],"queue":[1,2,3],"reported":["mode_refused"]}},{"frames":[["ENTER_DATA",1]],"phase":"command","registers":{"candidate":[1,2,3],"delivered":[],"parser":"command","partial_command":[],"queue":[1,2,3],"reported":["mode_refused","reset"]}},{"frames":[["ENTER_DATA",1],["ENTER_DATA",1]],"phase":"switching","registers":{"candidate":[1,2,3],"delivered":[],"parser":"command","partial_command":[],"queue":[1,2,3],"reported":["mode_refused","reset"]}}],"passed":true},{"actual":[{"frames":[],"phase":"guarding","registers":{"candidate":[1,2,3],"delivered":[],"parser":"data","partial_command":[0],"queue":[1,2,3],"reported":[]}},{"frames":[],"phase":"command","registers":{"candidate":[],"delivered":[],"parser":"command","partial_command":[0],"queue":[1,2,3],"reported":[]}},{"frames":[],"phase":"command","registers":{"candidate":[],"delivered":[],"parser":"command","partial_command":[],"queue":[1,2,3],"reported":["reset"]}},{"frames":[["ENTER_DATA",1]],"phase":"switching","registers":{"candidate":[],"delivered":[],"parser":"command","partial_command":[],"queue":[1,2,3],"reported":["reset"]}}],"check":"ordered trace 3","expected":[{"frames":[],"phase":"guarding","registers":{"candidate":[1,2,3],"delivered":[],"parser":"data","partial_command":[0],"queue":[1,2,3],"reported":[]}},{"frames":[],"phase":"command","registers":{"candidate":[],"delivered":[],"parser":"command","partial_command":[0],"queue":[1,2,3],"reported":[]}},{"frames":[],"phase":"command","registers":{"candidate":[],"delivered":[],"parser":"command","partial_command":[],"queue":[1,2,3],"reported":["reset"]}},{"frames":[["ENTER_DATA",1]],"phase":"switching","registers":{"candidate":[],"delivered":[],"parser":"command","partial_command":[],"queue":[1,2,3],"reported":["reset"]}}],"passed":true},{"actual":[],"check":"empty input","expected":[],"passed":true},{"actual":[{"frames":[["reject",[1,2,3]]],"phase":"command","registers":{"candidate":[1,2,3],"delivered":[],"parser":"command","partial_command":[0],"queue":[1,2,3],"reported":[]}}],"check":"unknown event","expected":[{"frames":[["reject",[1,2,3]]],"phase":"command","registers":{"candidate":[1,2,3],"delivered":[],"parser":"command","partial_command":[0],"queue":[1,2,3],"reported":[]}}],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"command/enter_data\", \"actual\": [{\"phase\": \"switching\", \"registers\": {\"parser\": \"command\", \"partial_command\": [0], \"candidate\": [1, 2, 3], \"delivered\": [], \"queue\": [1, 2, 3], \"reported\": []}, \"frames\": [[\"ENTER_DATA\", 1]]}], \"expected\": [{\"phase\": \"switching\", \"registers\": {\"parser\": \"command\", \"partial_command\": [0], \"candidate\": [1, 2, 3], \"delivered\": [], \"queue\": [1, 2, 3], \"reported\": []}, \"frames\": [[\"ENTER_DATA\", 1]]}], \"passed\": true}, {\"check\": \"switching/mode_ack\", \"actual\": [{\"phase\": \"data\", \"registers\": {\"parser\": \"data\", \"partial_command\": [0], \"candidate\": [1, 2, 3], \"delivered\": [], \"queue\": [1, 2, 3], \"reported\": []}, \"frames\": []}], \"expected\": [{\"phase\": \"data\", \"registers\": {\"parser\": \"data\", \"partial_command\": [0], \"candidate\": [1, 2, 3], \"delivered\": [], \"queue\": [1, 2, 3], \"reported\": []}, \"frames\": []}], \"passed\": true}, {\"check\": \"switching/mode_nack\", \"actual\": [{\"phase\": \"command\", \"registers\": {\"parser\": \"command\", \"partial_command\": [0], \"candidate\": [1, 2, 3], \"delivered\": [], \"queue\": [1, 2, 3], \"reported\": [\"mode_refused\"]}, \"frames\": []}], \"expected\": [{\"phase\": \"command\", \"registers\": {\"parser\": \"command\", \"partial_command\": [0], \"candidate\": [1, 2, 3], \"delivered\": [], \"queue\": [1, 2, 3], \"reported\": [\"mode_refused\"]}, \"frames\": []}], \"passed\": true}, {\"check\": \"data/escape_guard_start\", \"actual\": [{\"phase\": \"guarding\", \"registers\": {\"parser\": \"data\", \"partial_command\": [0], \"candidate\": [1, 2, 3], \"delivered\": [], \"queue\": [1, 2, 3], \"reported\": []}, \"frames\": []}], \"expected\": [{\"phase\": \"guarding\", \"registers\": {\"parser\": \"data\", \"partial_command\": [0], \"candidate\": [1, 2, 3], \"delivered\": [], \"queue\": [1, 2, 3], \"reported\": []}, \"frames\": []}], \"passed\": true}, {\"check\": \"guarding/guard_satisfied\", \"actual\": [{\"phase\": \"command\", \"registers\": {\"parser\": \"command\", \"partial_command\": [0], \"candidate\": [], \"delivered\": [], \"queue\": [1, 2, 3], \"reported\": []}, \"frames\": []}], \"expected\": [{\"phase\": \"command\", \"registers\": {\"parser\": \"command\", \"partial_command\": [0], \"candidate\": [], \"delivered\": [], \"queue\": [1, 2, 3], \"reported\": []}, \"frames\": []}], \"passed\": true}, {\"check\": \"guarding/guard_broken\", \"actual\": [{\"phase\": \"data\", \"registers\": {\"parser\": \"data\", \"partial_command\": [0], \"candidate\": [], \"delivered\": [1, 2, 3, 1, 2, 3], \"queue\": [1, 2, 3], \"reported\": []}, \"frames\": []}], \"expected\": [{\"phase\": \"data\", \"registers\": {\"parser\": \"data\", \"partial_command\": [0], \"candidate\": [], \"delivered\": [1, 2, 3, 1, 2, 3], \"queue\": [1, 2, 3], \"reported\": []}, \"frames\": []}], \"passed\": true}, {\"check\": \"command/payload\", \"actual\": [{\"phase\": \"command\", \"registers\": {\"parser\": \"command\", \"partial_command\": [0], \"candidate\": [1, 2, 3], \"delivered\": [], \"queue\": [1, 2, 3], \"reported\": [\"not_data_mode\"]}, \"frames\": []}], \"expected\": [{\"phase\": \"command\", \"registers\": {\"parser\": \"command\", \"partial_command\": [0], \"candidate\": [1, 2, 3], \"delivered\": [], \"queue\": [1, 2, 3], \"reported\": [\"not_data_mode\"]}, \"frames\": []}], \"passed\": true}, {\"check\": \"data/command_like_payload\", \"actual\": [{\"phase\": \"data\", \"registers\": {\"parser\": \"data\", \"partial_command\": [0], \"candidate\": [1, 2, 3], \"delivered\": [2, 3], \"queue\": [1, 2, 3], \"reported\": []}, \"frames\": []}], \"expected\": [{\"phase\": \"data\", \"registers\": {\"parser\": \"data\", \"partial_command\": [0], \"candidate\": [1, 2, 3], \"delivered\": [1, 2, 3], \"queue\": [1, 2, 3], \"reported\": []}, \"frames\": []}], \"passed\": false}, {\"check\": \"data/hangup\", \"actual\": [{\"phase\": \"command\", \"registers\": {\"parser\": \"command\", \"partial_command\": [0], \"candidate\": [1, 2, 3], \"delivered\": [], \"queue\": [], \"reported\": [\"hangup\"]}, \"frames\": []}], \"expected\": [{\"phase\": \"command\", \"registers\": {\"parser\": \"command\", \"partial_command\": [0], \"candidate\": [1, 2, 3], \"delivered\": [], \"queue\": [], \"reported\": [\"hangup\"]}, \"frames\": []}], \"passed\": true}, {\"check\": \"command/line_reset\", \"actual\": [{\"phase\": \"command\", \"registers\": {\"parser\": \"command\", \"partial_command\": [], \"candidate\": [1, 2, 3], \"delivered\": [], \"queue\": [1, 2, 3], \"reported\": [\"reset\"]}, \"frames\": []}], \"expected\": [{\"phase\": \"command\", \"registers\": {\"parser\": \"command\", \"partial_command\": [], \"candidate\": [1, 2, 3], \"delivered\": [], \"queue\": [1, 2, 3], \"reported\": [\"reset\"]}, \"frames\": []}], \"passed\": true}, {\"check\": \"ordered trace 0\", \"actual\": [{\"phase\": \"switching\", \"registers\": {\"parser\": \"command\", \"partial_command\": [0], \"candidate\": [1, 2, 3], \"delivered\": [], \"queue\": [1, 2, 3], \"reported\": []}, \"frames\": [[\"ENTER_DATA\", 1]]}, {\"phase\": \"command\", \"registers\": {\"parser\": \"command\", \"partial_command\": [0], \"candidate\": [1, 2, 3], \"delivered\": [], \"queue\": [1, 2, 3], \"reported\": [\"mode_refused\"]}, \"frames\": [[\"ENTER_DATA\", 1]]}, {\"phase\": \"command\", \"registers\": {\"parser\": \"command\", \"partial_command\": [], \"candidate\": [1, 2, 3], \"delivered\": [], \"queue\": [1, 2, 3], \"reported\": [\"mode_refused\", \"reset\"]}, \"frames\": [[\"ENTER_DATA\", 1]]}, {\"phase\": \"switching\", \"registers\": {\"parser\": \"command\", \"partial_command\": [], \"candidate\": [1, 2, 3], \"delivered\": [], \"queue\": [1, 2, 3], \"reported\": [\"mode_refused\", \"reset\"]}, \"frames\": [[\"ENTER_DATA\", 1], [\"ENTER_DATA\", 1]]}], \"expected\": [{\"phase\": \"switching\", \"registers\": {\"parser\": \"command\", \"partial_command\": [0], \"candidate\": [1, 2, 3], \"delivered\": [], \"queue\": [1, 2, 3], \"reported\": []}, \"frames\": [[\"ENTER_DATA\", 1]]}, {\"phase\": \"command\", \"registers\": {\"parser\": \"command\", \"partial_command\": [0], \"candidate\": [1, 2, 3], \"delivered\": [], \"queue\": [1, 2, 3], \"reported\": [\"mode_refused\"]}, \"frames\": [[\"ENTER_DATA\", 1]]}, {\"phase\": \"command\", \"registers\": {\"parser\": \"command\", \"partial_command\": [], \"candidate\": [1, 2, 3], \"delivered\": [], \"queue\": [1, 2, 3], \"reported\": [\"mode_refused\", \"reset\"]}, \"frames\": [[\"ENTER_DATA\", 1]]}, {\"phase\": \"switching\", \"registers\": {\"parser\": \"command\", \"partial_command\": [], \"candidate\": [1, 2, 3], \"delivered\": [], \"queue\": [1, 2, 3], \"reported\": [\"mode_refused\", \"reset\"]}, \"frames\": [[\"ENTER_DATA\", 1], [\"ENTER_DATA\", 1]]}], \"passed\": true}, {\"check\": \"ordered trace 3\", \"actual\": [{\"phase\": \"guarding\", \"registers\": {\"parser\": \"data\", \"partial_command\": [0], \"candidate\": [1, 2, 3], \"delivered\": [], \"queue\": [1, 2, 3], \"reported\": []}, \"frames\": []}, {\"phase\": \"command\", \"registers\": {\"parser\": \"command\", \"partial_command\": [0], \"candidate\": [], \"delivered\": [], \"queue\": [1, 2, 3], \"reported\": []}, \"frames\": []}, {\"phase\": \"command\", \"registers\": {\"parser\": \"command\", \"partial_command\": [], \"candidate\": [], \"delivered\": [], \"queue\": [1, 2, 3], \"reported\": [\"reset\"]}, \"frames\": []}, {\"phase\": \"switching\", \"registers\": {\"parser\": \"command\", \"partial_command\": [], \"candidate\": [], \"delivered\": [], \"queue\": [1, 2, 3], \"reported\": [\"reset\"]}, \"frames\": [[\"ENTER_DATA\", 1]]}], \"expected\": [{\"phase\": \"guarding\", \"registers\": {\"parser\": \"data\", \"partial_command\": [0], \"candidate\": [1, 2, 3], \"delivered\": [], \"queue\": [1, 2, 3], \"reported\": []}, \"frames\": []}, {\"phase\": \"command\", \"registers\": {\"parser\": \"command\", \"partial_command\": [0], \"candidate\": [], \"delivered\": [], \"queue\": [1, 2, 3], \"reported\": []}, \"frames\": []}, {\"phase\": \"command\", \"registers\": {\"parser\": \"command\", \"partial_command\": [], \"candidate\": [], \"delivered\": [], \"queue\": [1, 2, 3], \"reported\": [\"reset\"]}, \"frames\": []}, {\"phase\": \"switching\", \"registers\": {\"parser\": \"command\", \"partial_command\": [], \"candidate\": [], \"delivered\": [], \"queue\": [1, 2, 3], \"reported\": [\"reset\"]}, \"frames\": [[\"ENTER_DATA\", 1]]}], \"passed\": true}, {\"check\": \"empty input\", \"actual\": [], \"expected\": [], \"passed\": true}, {\"check\": \"unknown event\", \"actual\": [{\"phase\": \"command\", \"registers\": {\"parser\": \"command\", \"partial_command\": [0], \"candidate\": [1, 2, 3], \"delivered\": [], \"queue\": [1, 2, 3], \"reported\": []}, \"frames\": [[\"reject\", [1, 2, 3]]]}], \"expected\": [{\"phase\": \"command\", \"registers\": {\"parser\": \"command\", \"partial_command\": [0], \"candidate\": [1, 2, 3], \"delivered\": [], \"queue\": [1, 2, 3], \"reported\": []}, \"frames\": [[\"reject\", [1, 2, 3]]]}], \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":47.571,"exit_code":1,"observations":[{"actual":[{"frames":[["ENTER_DATA",1]],"phase":"switching","registers":{"candidate":[1,2,3],"delivered":[],"parser":"command","partial_command":[0],"queue":[1,2,3],"reported":[]}}],"check":"command/enter_data","expected":[{"frames":[["ENTER_DATA",1]],"phase":"switching","registers":{"candidate":[1,2,3],"delivered":[],"parser":"command","partial_command":[0],"queue":[1,2,3],"reported":[]}}],"passed":true},{"actual":[{"frames":[],"phase":"data","registers":{"candidate":[1,2,3],"delivered":[],"parser":"data","partial_command":[0],"queue":[1,2,3],"reported":[]}}],"check":"switching/mode_ack","expected":[{"frames":[],"phase":"data","registers":{"candidate":[1,2,3],"delivered":[],"parser":"data","partial_command":[0],"queue":[1,2,3],"reported":[]}}],"passed":true},{"actual":[{"frames":[],"phase":"command","registers":{"candidate":[1,2,3],"delivered":[],"parser":"command","partial_command":[0],"queue":[1,2,3],"reported":["mode_refused"]}}],"check":"switching/mode_nack","expected":[{"frames":[],"phase":"command","registers":{"candidate":[1,2,3],"delivered":[],"parser":"command","partial_command":[0],"queue":[1,2,3],"reported":["mode_refused"]}}],"passed":true},{"actual":[{"frames":[],"phase":"guarding","registers":{"candidate":[1,2,3],"delivered":[],"parser":"data","partial_command":[0],"queue":[1,2,3],"reported":[]}}],"check":"data/escape_guard_start","expected":[{"frames":[],"phase":"guarding","registers":{"candidate":[1,2,3],"delivered":[],"parser":"data","partial_command":[0],"queue":[1,2,3],"reported":[]}}],"passed":true},{"actual":[{"frames":[],"phase":"command","registers":{"candidate":[],"delivered":[],"parser":"command","partial_command":[0],"queue":[1,2,3],"reported":[]}}],"check":"guarding/guard_satisfied","expected":[{"frames":[],"phase":"command","registers":{"candidate":[],"delivered":[],"parser":"command","partial_command":[0],"queue":[1,2,3],"reported":[]}}],"passed":true},{"actual":[{"frames":[],"phase":"data","registers":{"candidate":[],"delivered":[1,2,3,1,2,3],"parser":"data","partial_command":[0],"queue":[1,2,3],"reported":[]}}],"check":"guarding/guard_broken","expected":[{"frames":[],"phase":"data","registers":{"candidate":[],"delivered":[1,2,3,1,2,3],"parser":"data","partial_command":[0],"queue":[1,2,3],"reported":[]}}],"passed":true},{"actual":[{"frames":[],"phase":"command","registers":{"candidate":[1,2,3],"delivered":[],"parser":"command","partial_command":[0],"queue":[1,2,3],"reported":["not_data_mode"]}}],"check":"command/payload","expected":[{"frames":[],"phase":"command","registers":{"candidate":[1,2,3],"delivered":[],"parser":"command","partial_command":[0],"queue":[1,2,3],"reported":["not_data_mode"]}}],"passed":true},{"actual":[{"frames":[["EXECUTE",[1,2,3]]],"phase":"command","registers":{"candidate":[1,2,3],"delivered":[],"parser":"data","partial_command":[0],"queue":[1,2,3],"reported":[]}}],"check":"data/command_like_payload","expected":[{"frames":[],"phase":"data","registers":{"candidate":[1,2,3],"delivered":[1,2,3],"parser":"data","partial_command":[0],"queue":[1,2,3],"reported":[]}}],"passed":false},{"actual":[{"frames":[],"phase":"command","registers":{"candidate":[1,2,3],"delivered":[],"parser":"command","partial_command":[0],"queue":[],"reported":["hangup"]}}],"check":"data/hangup","expected":[{"frames":[],"phase":"command","registers":{"candidate":[1,2,3],"delivered":[],"parser":"command","partial_command":[0],"queue":[],"reported":["hangup"]}}],"passed":true},{"actual":[{"frames":[],"phase":"command","registers":{"candidate":[1,2,3],"delivered":[],"parser":"command","partial_command":[],"queue":[1,2,3],"reported":["reset"]}}],"check":"command/line_reset","expected":[{"frames":[],"phase":"command","registers":{"candidate":[1,2,3],"delivered":[],"parser":"command","partial_command":[],"queue":[1,2,3],"reported":["reset"]}}],"passed":true},{"actual":[{"frames":[["ENTER_DATA",1]],"phase":"switching","registers":{"candidate":[1,2,3],"delivered":[],"parser":"command","partial_command":[0],"queue":[1,2,3],"reported":[]}},{"frames":[["ENTER_DATA",1]],"phase":"command","registers":{"candidate":[1,2,3],"delivered":[],"parser":"command","partial_command":[0],"queue":[1,2,3],"reported":["mode_refused"]}},{"frames":[["ENTER_DATA",1]],"phase":"command","registers":{"candidate":[1,2,3],"delivered":[],"parser":"command","partial_command":[],"queue":[1,2,3],"reported":["mode_refused","reset"]}},{"frames":[["ENTER_DATA",1],["ENTER_DATA",1]],"phase":"switching","registers":{"candidate":[1,2,3],"delivered":[],"parser":"command","partial_command":[],"queue":[1,2,3],"reported":["mode_refused","reset"]}}],"check":"ordered trace 0","expected":[{"frames":[["ENTER_DATA",1]],"phase":"switching","registers":{"candidate":[1,2,3],"delivered":[],"parser":"command","partial_command":[0],"queue":[1,2,3],"reported":[]}},{"frames":[["ENTER_DATA",1]],"phase":"command","registers":{"candidate":[1,2,3],"delivered":[],"parser":"command","partial_command":[0],"queue":[1,2,3],"reported":["mode_refused"]}},{"frames":[["ENTER_DATA",1]],"phase":"command","registers":{"candidate":[1,2,3],"delivered":[],"parser":"command","partial_command":[],"queue":[1,2,3],"reported":["mode_refused","reset"]}},{"frames":[["ENTER_DATA",1],["ENTER_DATA",1]],"phase":"switching","registers":{"candidate":[1,2,3],"delivered":[],"parser":"command","partial_command":[],"queue":[1,2,3],"reported":["mode_refused","reset"]}}],"passed":true},{"actual":[{"frames":[],"phase":"guarding","registers":{"candidate":[1,2,3],"delivered":[],"parser":"data","partial_command":[0],"queue":[1,2,3],"reported":[]}},{"frames":[],"phase":"command","registers":{"candidate":[],"delivered":[],"parser":"command","partial_command":[0],"queue":[1,2,3],"reported":[]}},{"frames":[],"phase":"command","registers":{"candidate":[],"delivered":[],"parser":"command","partial_command":[],"queue":[1,2,3],"reported":["reset"]}},{"frames":[["ENTER_DATA",1]],"phase":"switching","registers":{"candidate":[],"delivered":[],"parser":"command","partial_command":[],"queue":[1,2,3],"reported":["reset"]}}],"check":"ordered trace 3","expected":[{"frames":[],"phase":"guarding","registers":{"candidate":[1,2,3],"delivered":[],"parser":"data","partial_command":[0],"queue":[1,2,3],"reported":[]}},{"frames":[],"phase":"command","registers":{"candidate":[],"delivered":[],"parser":"command","partial_command":[0],"queue":[1,2,3],"reported":[]}},{"frames":[],"phase":"command","registers":{"candidate":[],"delivered":[],"parser":"command","partial_command":[],"queue":[1,2,3],"reported":["reset"]}},{"frames":[["ENTER_DATA",1]],"phase":"switching","registers":{"candidate":[],"delivered":[],"parser":"command","partial_command":[],"queue":[1,2,3],"reported":["reset"]}}],"passed":true},{"actual":[],"check":"empty input","expected":[],"passed":true},{"actual":[{"frames":[["reject",[1,2,3]]],"phase":"command","registers":{"candidate":[1,2,3],"delivered":[],"parser":"command","partial_command":[0],"queue":[1,2,3],"reported":[]}}],"check":"unknown event","expected":[{"frames":[["reject",[1,2,3]]],"phase":"command","registers":{"candidate":[1,2,3],"delivered":[],"parser":"command","partial_command":[0],"queue":[1,2,3],"reported":[]}}],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"command/enter_data\", \"actual\": [{\"phase\": \"switching\", \"registers\": {\"parser\": \"command\", \"partial_command\": [0], \"candidate\": [1, 2, 3], \"delivered\": [], \"queue\": [1, 2, 3], \"reported\": []}, \"frames\": [[\"ENTER_DATA\", 1]]}], \"expected\": [{\"phase\": \"switching\", \"registers\": {\"parser\": \"command\", \"partial_command\": [0], \"candidate\": [1, 2, 3], \"delivered\": [], \"queue\": [1, 2, 3], \"reported\": []}, \"frames\": [[\"ENTER_DATA\", 1]]}], \"passed\": true}, {\"check\": \"switching/mode_ack\", \"actual\": [{\"phase\": \"data\", \"registers\": {\"parser\": \"data\", \"partial_command\": [0], \"candidate\": [1, 2, 3], \"delivered\": [], \"queue\": [1, 2, 3], \"reported\": []}, \"frames\": []}], \"expected\": [{\"phase\": \"data\", \"registers\": {\"parser\": \"data\", \"partial_command\": [0], \"candidate\": [1, 2, 3], \"delivered\": [], \"queue\": [1, 2, 3], \"reported\": []}, \"frames\": []}], \"passed\": true}, {\"check\": \"switching/mode_nack\", \"actual\": [{\"phase\": \"command\", \"registers\": {\"parser\": \"command\", \"partial_command\": [0], \"candidate\": [1, 2, 3], \"delivered\": [], \"queue\": [1, 2, 3], \"reported\": [\"mode_refused\"]}, \"frames\": []}], \"expected\": [{\"phase\": \"command\", \"registers\": {\"parser\": \"command\", \"partial_command\": [0], \"candidate\": [1, 2, 3], \"delivered\": [], \"queue\": [1, 2, 3], \"reported\": [\"mode_refused\"]}, \"frames\": []}], \"passed\": true}, {\"check\": \"data/escape_guard_start\", \"actual\": [{\"phase\": \"guarding\", \"registers\": {\"parser\": \"data\", \"partial_command\": [0], \"candidate\": [1, 2, 3], \"delivered\": [], \"queue\": [1, 2, 3], \"reported\": []}, \"frames\": []}], \"expected\": [{\"phase\": \"guarding\", \"registers\": {\"parser\": \"data\", \"partial_command\": [0], \"candidate\": [1, 2, 3], \"delivered\": [], \"queue\": [1, 2, 3], \"reported\": []}, \"frames\": []}], \"passed\": true}, {\"check\": \"guarding/guard_satisfied\", \"actual\": [{\"phase\": \"command\", \"registers\": {\"parser\": \"command\", \"partial_command\": [0], \"candidate\": [], \"delivered\": [], \"queue\": [1, 2, 3], \"reported\": []}, \"frames\": []}], \"expected\": [{\"phase\": \"command\", \"registers\": {\"parser\": \"command\", \"partial_command\": [0], \"candidate\": [], \"delivered\": [], \"queue\": [1, 2, 3], \"reported\": []}, \"frames\": []}], \"passed\": true}, {\"check\": \"guarding/guard_broken\", \"actual\": [{\"phase\": \"data\", \"registers\": {\"parser\": \"data\", \"partial_command\": [0], \"candidate\": [], \"delivered\": [1, 2, 3, 1, 2, 3], \"queue\": [1, 2, 3], \"reported\": []}, \"frames\": []}], \"expected\": [{\"phase\": \"data\", \"registers\": {\"parser\": \"data\", \"partial_command\": [0], \"candidate\": [], \"delivered\": [1, 2, 3, 1, 2, 3], \"queue\": [1, 2, 3], \"reported\": []}, \"frames\": []}], \"passed\": true}, {\"check\": \"command/payload\", \"actual\": [{\"phase\": \"command\", \"registers\": {\"parser\": \"command\", \"partial_command\": [0], \"candidate\": [1, 2, 3], \"delivered\": [], \"queue\": [1, 2, 3], \"reported\": [\"not_data_mode\"]}, \"frames\": []}], \"expected\": [{\"phase\": \"command\", \"registers\": {\"parser\": \"command\", \"partial_command\": [0], \"candidate\": [1, 2, 3], \"delivered\": [], \"queue\": [1, 2, 3], \"reported\": [\"not_data_mode\"]}, \"frames\": []}], \"passed\": true}, {\"check\": \"data/command_like_payload\", \"actual\": [{\"phase\": \"command\", \"registers\": {\"parser\": \"data\", \"partial_command\": [0], \"candidate\": [1, 2, 3], \"delivered\": [], \"queue\": [1, 2, 3], \"reported\": []}, \"frames\": [[\"EXECUTE\", [1, 2, 3]]]}], \"expected\": [{\"phase\": \"data\", \"registers\": {\"parser\": \"data\", \"partial_command\": [0], \"candidate\": [1, 2, 3], \"delivered\": [1, 2, 3], \"queue\": [1, 2, 3], \"reported\": []}, \"frames\": []}], \"passed\": false}, {\"check\": \"data/hangup\", \"actual\": [{\"phase\": \"command\", \"registers\": {\"parser\": \"command\", \"partial_command\": [0], \"candidate\": [1, 2, 3], \"delivered\": [], \"queue\": [], \"reported\": [\"hangup\"]}, \"frames\": []}], \"expected\": [{\"phase\": \"command\", \"registers\": {\"parser\": \"command\", \"partial_command\": [0], \"candidate\": [1, 2, 3], \"delivered\": [], \"queue\": [], \"reported\": [\"hangup\"]}, \"frames\": []}], \"passed\": true}, {\"check\": \"command/line_reset\", \"actual\": [{\"phase\": \"command\", \"registers\": {\"parser\": \"command\", \"partial_command\": [], \"candidate\": [1, 2, 3], \"delivered\": [], \"queue\": [1, 2, 3], \"reported\": [\"reset\"]}, \"frames\": []}], \"expected\": [{\"phase\": \"command\", \"registers\": {\"parser\": \"command\", \"partial_command\": [], \"candidate\": [1, 2, 3], \"delivered\": [], \"queue\": [1, 2, 3], \"reported\": [\"reset\"]}, \"frames\": []}], \"passed\": true}, {\"check\": \"ordered trace 0\", \"actual\": [{\"phase\": \"switching\", \"registers\": {\"parser\": \"command\", \"partial_command\": [0], \"candidate\": [1, 2, 3], \"delivered\": [], \"queue\": [1, 2, 3], \"reported\": []}, \"frames\": [[\"ENTER_DATA\", 1]]}, {\"phase\": \"command\", \"registers\": {\"parser\": \"command\", \"partial_command\": [0], \"candidate\": [1, 2, 3], \"delivered\": [], \"queue\": [1, 2, 3], \"reported\": [\"mode_refused\"]}, \"frames\": [[\"ENTER_DATA\", 1]]}, {\"phase\": \"command\", \"registers\": {\"parser\": \"command\", \"partial_command\": [], \"candidate\": [1, 2, 3], \"delivered\": [], \"queue\": [1, 2, 3], \"reported\": [\"mode_refused\", \"reset\"]}, \"frames\": [[\"ENTER_DATA\", 1]]}, {\"phase\": \"switching\", \"registers\": {\"parser\": \"command\", \"partial_command\": [], \"candidate\": [1, 2, 3], \"delivered\": [], \"queue\": [1, 2, 3], \"reported\": [\"mode_refused\", \"reset\"]}, \"frames\": [[\"ENTER_DATA\", 1], [\"ENTER_DATA\", 1]]}], \"expected\": [{\"phase\": \"switching\", \"registers\": {\"parser\": \"command\", \"partial_command\": [0], \"candidate\": [1, 2, 3], \"delivered\": [], \"queue\": [1, 2, 3], \"reported\": []}, \"frames\": [[\"ENTER_DATA\", 1]]}, {\"phase\": \"command\", \"registers\": {\"parser\": \"command\", \"partial_command\": [0], \"candidate\": [1, 2, 3], \"delivered\": [], \"queue\": [1, 2, 3], \"reported\": [\"mode_refused\"]}, \"frames\": [[\"ENTER_DATA\", 1]]}, {\"phase\": \"command\", \"registers\": {\"parser\": \"command\", \"partial_command\": [], \"candidate\": [1, 2, 3], \"delivered\": [], \"queue\": [1, 2, 3], \"reported\": [\"mode_refused\", \"reset\"]}, \"frames\": [[\"ENTER_DATA\", 1]]}, {\"phase\": \"switching\", \"registers\": {\"parser\": \"command\", \"partial_command\": [], \"candidate\": [1, 2, 3], \"delivered\": [], \"queue\": [1, 2, 3], \"reported\": [\"mode_refused\", \"reset\"]}, \"frames\": [[\"ENTER_DATA\", 1], [\"ENTER_DATA\", 1]]}], \"passed\": true}, {\"check\": \"ordered trace 3\", \"actual\": [{\"phase\": \"guarding\", \"registers\": {\"parser\": \"data\", \"partial_command\": [0], \"candidate\": [1, 2, 3], \"delivered\": [], \"queue\": [1, 2, 3], \"reported\": []}, \"frames\": []}, {\"phase\": \"command\", \"registers\": {\"parser\": \"command\", \"partial_command\": [0], \"candidate\": [], \"delivered\": [], \"queue\": [1, 2, 3], \"reported\": []}, \"frames\": []}, {\"phase\": \"command\", \"registers\": {\"parser\": \"command\", \"partial_command\": [], \"candidate\": [], \"delivered\": [], \"queue\": [1, 2, 3], \"reported\": [\"reset\"]}, \"frames\": []}, {\"phase\": \"switching\", \"registers\": {\"parser\": \"command\", \"partial_command\": [], \"candidate\": [], \"delivered\": [], \"queue\": [1, 2, 3], \"reported\": [\"reset\"]}, \"frames\": [[\"ENTER_DATA\", 1]]}], \"expected\": [{\"phase\": \"guarding\", \"registers\": {\"parser\": \"data\", \"partial_command\": [0], \"candidate\": [1, 2, 3], \"delivered\": [], \"queue\": [1, 2, 3], \"reported\": []}, \"frames\": []}, {\"phase\": \"command\", \"registers\": {\"parser\": \"command\", \"partial_command\": [0], \"candidate\": [], \"delivered\": [], \"queue\": [1, 2, 3], \"reported\": []}, \"frames\": []}, {\"phase\": \"command\", \"registers\": {\"parser\": \"command\", \"partial_command\": [], \"candidate\": [], \"delivered\": [], \"queue\": [1, 2, 3], \"reported\": [\"reset\"]}, \"frames\": []}, {\"phase\": \"switching\", \"registers\": {\"parser\": \"command\", \"partial_command\": [], \"candidate\": [], \"delivered\": [], \"queue\": [1, 2, 3], \"reported\": [\"reset\"]}, \"frames\": [[\"ENTER_DATA\", 1]]}], \"passed\": true}, {\"check\": \"empty input\", \"actual\": [], \"expected\": [], \"passed\": true}, {\"check\": \"unknown event\", \"actual\": [{\"phase\": \"command\", \"registers\": {\"parser\": \"command\", \"partial_command\": [0], \"candidate\": [1, 2, 3], \"delivered\": [], \"queue\": [1, 2, 3], \"reported\": []}, \"frames\": [[\"reject\", [1, 2, 3]]]}], \"expected\": [{\"phase\": \"command\", \"registers\": {\"parser\": \"command\", \"partial_command\": [0], \"candidate\": [1, 2, 3], \"delivered\": [], \"queue\": [1, 2, 3], \"reported\": []}, \"frames\": [[\"reject\", [1, 2, 3]]]}], \"passed\": true}], \"passed\": false}\n"},"fixed":{"elapsed_ms":48.618,"exit_code":0,"observations":[{"actual":[{"frames":[["ENTER_DATA",1]],"phase":"switching","registers":{"candidate":[1,2,3],"delivered":[],"parser":"command","partial_command":[0],"queue":[1,2,3],"reported":[]}}],"check":"command/enter_data","expected":[{"frames":[["ENTER_DATA",1]],"phase":"switching","registers":{"candidate":[1,2,3],"delivered":[],"parser":"command","partial_command":[0],"queue":[1,2,3],"reported":[]}}],"passed":true},{"actual":[{"frames":[],"phase":"data","registers":{"candidate":[1,2,3],"delivered":[],"parser":"data","partial_command":[0],"queue":[1,2,3],"reported":[]}}],"check":"switching/mode_ack","expected":[{"frames":[],"phase":"data","registers":{"candidate":[1,2,3],"delivered":[],"parser":"data","partial_command":[0],"queue":[1,2,3],"reported":[]}}],"passed":true},{"actual":[{"frames":[],"phase":"command","registers":{"candidate":[1,2,3],"delivered":[],"parser":"command","partial_command":[0],"queue":[1,2,3],"reported":["mode_refused"]}}],"check":"switching/mode_nack","expected":[{"frames":[],"phase":"command","registers":{"candidate":[1,2,3],"delivered":[],"parser":"command","partial_command":[0],"queue":[1,2,3],"reported":["mode_refused"]}}],"passed":true},{"actual":[{"frames":[],"phase":"guarding","registers":{"candidate":[1,2,3],"delivered":[],"parser":"data","partial_command":[0],"queue":[1,2,3],"reported":[]}}],"check":"data/escape_guard_start","expected":[{"frames":[],"phase":"guarding","registers":{"candidate":[1,2,3],"delivered":[],"parser":"data","partial_command":[0],"queue":[1,2,3],"reported":[]}}],"passed":true},{"actual":[{"frames":[],"phase":"command","registers":{"candidate":[],"delivered":[],"parser":"command","partial_command":[0],"queue":[1,2,3],"reported":[]}}],"check":"guarding/guard_satisfied","expected":[{"frames":[],"phase":"command","registers":{"candidate":[],"delivered":[],"parser":"command","partial_command":[0],"queue":[1,2,3],"reported":[]}}],"passed":true},{"actual":[{"frames":[],"phase":"data","registers":{"candidate":[],"delivered":[1,2,3,1,2,3],"parser":"data","partial_command":[0],"queue":[1,2,3],"reported":[]}}],"check":"guarding/guard_broken","expected":[{"frames":[],"phase":"data","registers":{"candidate":[],"delivered":[1,2,3,1,2,3],"parser":"data","partial_command":[0],"queue":[1,2,3],"reported":[]}}],"passed":true},{"actual":[{"frames":[],"phase":"command","registers":{"candidate":[1,2,3],"delivered":[],"parser":"command","partial_command":[0],"queue":[1,2,3],"reported":["not_data_mode"]}}],"check":"command/payload","expected":[{"frames":[],"phase":"command","registers":{"candidate":[1,2,3],"delivered":[],"parser":"command","partial_command":[0],"queue":[1,2,3],"reported":["not_data_mode"]}}],"passed":true},{"actual":[{"frames":[],"phase":"data","registers":{"candidate":[1,2,3],"delivered":[1,2,3],"parser":"data","partial_command":[0],"queue":[1,2,3],"reported":[]}}],"check":"data/command_like_payload","expected":[{"frames":[],"phase":"data","registers":{"candidate":[1,2,3],"delivered":[1,2,3],"parser":"data","partial_command":[0],"queue":[1,2,3],"reported":[]}}],"passed":true},{"actual":[{"frames":[],"phase":"command","registers":{"candidate":[1,2,3],"delivered":[],"parser":"command","partial_command":[0],"queue":[],"reported":["hangup"]}}],"check":"data/hangup","expected":[{"frames":[],"phase":"command","registers":{"candidate":[1,2,3],"delivered":[],"parser":"command","partial_command":[0],"queue":[],"reported":["hangup"]}}],"passed":true},{"actual":[{"frames":[],"phase":"command","registers":{"candidate":[1,2,3],"delivered":[],"parser":"command","partial_command":[],"queue":[1,2,3],"reported":["reset"]}}],"check":"command/line_reset","expected":[{"frames":[],"phase":"command","registers":{"candidate":[1,2,3],"delivered":[],"parser":"command","partial_command":[],"queue":[1,2,3],"reported":["reset"]}}],"passed":true},{"actual":[{"frames":[["ENTER_DATA",1]],"phase":"switching","registers":{"candidate":[1,2,3],"delivered":[],"parser":"command","partial_command":[0],"queue":[1,2,3],"reported":[]}},{"frames":[["ENTER_DATA",1]],"phase":"command","registers":{"candidate":[1,2,3],"delivered":[],"parser":"command","partial_command":[0],"queue":[1,2,3],"reported":["mode_refused"]}},{"frames":[["ENTER_DATA",1]],"phase":"command","registers":{"candidate":[1,2,3],"delivered":[],"parser":"command","partial_command":[],"queue":[1,2,3],"reported":["mode_refused","reset"]}},{"frames":[["ENTER_DATA",1],["ENTER_DATA",1]],"phase":"switching","registers":{"candidate":[1,2,3],"delivered":[],"parser":"command","partial_command":[],"queue":[1,2,3],"reported":["mode_refused","reset"]}}],"check":"ordered trace 0","expected":[{"frames":[["ENTER_DATA",1]],"phase":"switching","registers":{"candidate":[1,2,3],"delivered":[],"parser":"command","partial_command":[0],"queue":[1,2,3],"reported":[]}},{"frames":[["ENTER_DATA",1]],"phase":"command","registers":{"candidate":[1,2,3],"delivered":[],"parser":"command","partial_command":[0],"queue":[1,2,3],"reported":["mode_refused"]}},{"frames":[["ENTER_DATA",1]],"phase":"command","registers":{"candidate":[1,2,3],"delivered":[],"parser":"command","partial_command":[],"queue":[1,2,3],"reported":["mode_refused","reset"]}},{"frames":[["ENTER_DATA",1],["ENTER_DATA",1]],"phase":"switching","registers":{"candidate":[1,2,3],"delivered":[],"parser":"command","partial_command":[],"queue":[1,2,3],"reported":["mode_refused","reset"]}}],"passed":true},{"actual":[{"frames":[],"phase":"guarding","registers":{"candidate":[1,2,3],"delivered":[],"parser":"data","partial_command":[0],"queue":[1,2,3],"reported":[]}},{"frames":[],"phase":"command","registers":{"candidate":[],"delivered":[],"parser":"command","partial_command":[0],"queue":[1,2,3],"reported":[]}},{"frames":[],"phase":"command","registers":{"candidate":[],"delivered":[],"parser":"command","partial_command":[],"queue":[1,2,3],"reported":["reset"]}},{"frames":[["ENTER_DATA",1]],"phase":"switching","registers":{"candidate":[],"delivered":[],"parser":"command","partial_command":[],"queue":[1,2,3],"reported":["reset"]}}],"check":"ordered trace 3","expected":[{"frames":[],"phase":"guarding","registers":{"candidate":[1,2,3],"delivered":[],"parser":"data","partial_command":[0],"queue":[1,2,3],"reported":[]}},{"frames":[],"phase":"command","registers":{"candidate":[],"delivered":[],"parser":"command","partial_command":[0],"queue":[1,2,3],"reported":[]}},{"frames":[],"phase":"command","registers":{"candidate":[],"delivered":[],"parser":"command","partial_command":[],"queue":[1,2,3],"reported":["reset"]}},{"frames":[["ENTER_DATA",1]],"phase":"switching","registers":{"candidate":[],"delivered":[],"parser":"command","partial_command":[],"queue":[1,2,3],"reported":["reset"]}}],"passed":true},{"actual":[],"check":"empty input","expected":[],"passed":true},{"actual":[{"frames":[["reject",[1,2,3]]],"phase":"command","registers":{"candidate":[1,2,3],"delivered":[],"parser":"command","partial_command":[0],"queue":[1,2,3],"reported":[]}}],"check":"unknown event","expected":[{"frames":[["reject",[1,2,3]]],"phase":"command","registers":{"candidate":[1,2,3],"delivered":[],"parser":"command","partial_command":[0],"queue":[1,2,3],"reported":[]}}],"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"command/enter_data\", \"actual\": [{\"phase\": \"switching\", \"registers\": {\"parser\": \"command\", \"partial_command\": [0], \"candidate\": [1, 2, 3], \"delivered\": [], \"queue\": [1, 2, 3], \"reported\": []}, \"frames\": [[\"ENTER_DATA\", 1]]}], \"expected\": [{\"phase\": \"switching\", \"registers\": {\"parser\": \"command\", \"partial_command\": [0], \"candidate\": [1, 2, 3], \"delivered\": [], \"queue\": [1, 2, 3], \"reported\": []}, \"frames\": [[\"ENTER_DATA\", 1]]}], \"passed\": true}, {\"check\": \"switching/mode_ack\", \"actual\": [{\"phase\": \"data\", \"registers\": {\"parser\": \"data\", \"partial_command\": [0], \"candidate\": [1, 2, 3], \"delivered\": [], \"queue\": [1, 2, 3], \"reported\": []}, \"frames\": []}], \"expected\": [{\"phase\": \"data\", \"registers\": {\"parser\": \"data\", \"partial_command\": [0], \"candidate\": [1, 2, 3], \"delivered\": [], \"queue\": [1, 2, 3], \"reported\": []}, \"frames\": []}], \"passed\": true}, {\"check\": \"switching/mode_nack\", \"actual\": [{\"phase\": \"command\", \"registers\": {\"parser\": \"command\", \"partial_command\": [0], \"candidate\": [1, 2, 3], \"delivered\": [], \"queue\": [1, 2, 3], \"reported\": [\"mode_refused\"]}, \"frames\": []}], \"expected\": [{\"phase\": \"command\", \"registers\": {\"parser\": \"command\", \"partial_command\": [0], \"candidate\": [1, 2, 3], \"delivered\": [], \"queue\": [1, 2, 3], \"reported\": [\"mode_refused\"]}, \"frames\": []}], \"passed\": true}, {\"check\": \"data/escape_guard_start\", \"actual\": [{\"phase\": \"guarding\", \"registers\": {\"parser\": \"data\", \"partial_command\": [0], \"candidate\": [1, 2, 3], \"delivered\": [], \"queue\": [1, 2, 3], \"reported\": []}, \"frames\": []}], \"expected\": [{\"phase\": \"guarding\", \"registers\": {\"parser\": \"data\", \"partial_command\": [0], \"candidate\": [1, 2, 3], \"delivered\": [], \"queue\": [1, 2, 3], \"reported\": []}, \"frames\": []}], \"passed\": true}, {\"check\": \"guarding/guard_satisfied\", \"actual\": [{\"phase\": \"command\", \"registers\": {\"parser\": \"command\", \"partial_command\": [0], \"candidate\": [], \"delivered\": [], \"queue\": [1, 2, 3], \"reported\": []}, \"frames\": []}], \"expected\": [{\"phase\": \"command\", \"registers\": {\"parser\": \"command\", \"partial_command\": [0], \"candidate\": [], \"delivered\": [], \"queue\": [1, 2, 3], \"reported\": []}, \"frames\": []}], \"passed\": true}, {\"check\": \"guarding/guard_broken\", \"actual\": [{\"phase\": \"data\", \"registers\": {\"parser\": \"data\", \"partial_command\": [0], \"candidate\": [], \"delivered\": [1, 2, 3, 1, 2, 3], \"queue\": [1, 2, 3], \"reported\": []}, \"frames\": []}], \"expected\": [{\"phase\": \"data\", \"registers\": {\"parser\": \"data\", \"partial_command\": [0], \"candidate\": [], \"delivered\": [1, 2, 3, 1, 2, 3], \"queue\": [1, 2, 3], \"reported\": []}, \"frames\": []}], \"passed\": true}, {\"check\": \"command/payload\", \"actual\": [{\"phase\": \"command\", \"registers\": {\"parser\": \"command\", \"partial_command\": [0], \"candidate\": [1, 2, 3], \"delivered\": [], \"queue\": [1, 2, 3], \"reported\": [\"not_data_mode\"]}, \"frames\": []}], \"expected\": [{\"phase\": \"command\", \"registers\": {\"parser\": \"command\", \"partial_command\": [0], \"candidate\": [1, 2, 3], \"delivered\": [], \"queue\": [1, 2, 3], \"reported\": [\"not_data_mode\"]}, \"frames\": []}], \"passed\": true}, {\"check\": \"data/command_like_payload\", \"actual\": [{\"phase\": \"data\", \"registers\": {\"parser\": \"data\", \"partial_command\": [0], \"candidate\": [1, 2, 3], \"delivered\": [1, 2, 3], \"queue\": [1, 2, 3], \"reported\": []}, \"frames\": []}], \"expected\": [{\"phase\": \"data\", \"registers\": {\"parser\": \"data\", \"partial_command\": [0], \"candidate\": [1, 2, 3], \"delivered\": [1, 2, 3], \"queue\": [1, 2, 3], \"reported\": []}, \"frames\": []}], \"passed\": true}, {\"check\": \"data/hangup\", \"actual\": [{\"phase\": \"command\", \"registers\": {\"parser\": \"command\", \"partial_command\": [0], \"candidate\": [1, 2, 3], \"delivered\": [], \"queue\": [], \"reported\": [\"hangup\"]}, \"frames\": []}], \"expected\": [{\"phase\": \"command\", \"registers\": {\"parser\": \"command\", \"partial_command\": [0], \"candidate\": [1, 2, 3], \"delivered\": [], \"queue\": [], \"reported\": [\"hangup\"]}, \"frames\": []}], \"passed\": true}, {\"check\": \"command/line_reset\", \"actual\": [{\"phase\": \"command\", \"registers\": {\"parser\": \"command\", \"partial_command\": [], \"candidate\": [1, 2, 3], \"delivered\": [], \"queue\": [1, 2, 3], \"reported\": [\"reset\"]}, \"frames\": []}], \"expected\": [{\"phase\": \"command\", \"registers\": {\"parser\": \"command\", \"partial_command\": [], \"candidate\": [1, 2, 3], \"delivered\": [], \"queue\": [1, 2, 3], \"reported\": [\"reset\"]}, \"frames\": []}], \"passed\": true}, {\"check\": \"ordered trace 0\", \"actual\": [{\"phase\": \"switching\", \"registers\": {\"parser\": \"command\", \"partial_command\": [0], \"candidate\": [1, 2, 3], \"delivered\": [], \"queue\": [1, 2, 3], \"reported\": []}, \"frames\": [[\"ENTER_DATA\", 1]]}, {\"phase\": \"command\", \"registers\": {\"parser\": \"command\", \"partial_command\": [0], \"candidate\": [1, 2, 3], \"delivered\": [], \"queue\": [1, 2, 3], \"reported\": [\"mode_refused\"]}, \"frames\": [[\"ENTER_DATA\", 1]]}, {\"phase\": \"command\", \"registers\": {\"parser\": \"command\", \"partial_command\": [], \"candidate\": [1, 2, 3], \"delivered\": [], \"queue\": [1, 2, 3], \"reported\": [\"mode_refused\", \"reset\"]}, \"frames\": [[\"ENTER_DATA\", 1]]}, {\"phase\": \"switching\", \"registers\": {\"parser\": \"command\", \"partial_command\": [], \"candidate\": [1, 2, 3], \"delivered\": [], \"queue\": [1, 2, 3], \"reported\": [\"mode_refused\", \"reset\"]}, \"frames\": [[\"ENTER_DATA\", 1], [\"ENTER_DATA\", 1]]}], \"expected\": [{\"phase\": \"switching\", \"registers\": {\"parser\": \"command\", \"partial_command\": [0], \"candidate\": [1, 2, 3], \"delivered\": [], \"queue\": [1, 2, 3], \"reported\": []}, \"frames\": [[\"ENTER_DATA\", 1]]}, {\"phase\": \"command\", \"registers\": {\"parser\": \"command\", \"partial_command\": [0], \"candidate\": [1, 2, 3], \"delivered\": [], \"queue\": [1, 2, 3], \"reported\": [\"mode_refused\"]}, \"frames\": [[\"ENTER_DATA\", 1]]}, {\"phase\": \"command\", \"registers\": {\"parser\": \"command\", \"partial_command\": [], \"candidate\": [1, 2, 3], \"delivered\": [], \"queue\": [1, 2, 3], \"reported\": [\"mode_refused\", \"reset\"]}, \"frames\": [[\"ENTER_DATA\", 1]]}, {\"phase\": \"switching\", \"registers\": {\"parser\": \"command\", \"partial_command\": [], \"candidate\": [1, 2, 3], \"delivered\": [], \"queue\": [1, 2, 3], \"reported\": [\"mode_refused\", \"reset\"]}, \"frames\": [[\"ENTER_DATA\", 1], [\"ENTER_DATA\", 1]]}], \"passed\": true}, {\"check\": \"ordered trace 3\", \"actual\": [{\"phase\": \"guarding\", \"registers\": {\"parser\": \"data\", \"partial_command\": [0], \"candidate\": [1, 2, 3], \"delivered\": [], \"queue\": [1, 2, 3], \"reported\": []}, \"frames\": []}, {\"phase\": \"command\", \"registers\": {\"parser\": \"command\", \"partial_command\": [0], \"candidate\": [], \"delivered\": [], \"queue\": [1, 2, 3], \"reported\": []}, \"frames\": []}, {\"phase\": \"command\", \"registers\": {\"parser\": \"command\", \"partial_command\": [], \"candidate\": [], \"delivered\": [], \"queue\": [1, 2, 3], \"reported\": [\"reset\"]}, \"frames\": []}, {\"phase\": \"switching\", \"registers\": {\"parser\": \"command\", \"partial_command\": [], \"candidate\": [], \"delivered\": [], \"queue\": [1, 2, 3], \"reported\": [\"reset\"]}, \"frames\": [[\"ENTER_DATA\", 1]]}], \"expected\": [{\"phase\": \"guarding\", \"registers\": {\"parser\": \"data\", \"partial_command\": [0], \"candidate\": [1, 2, 3], \"delivered\": [], \"queue\": [1, 2, 3], \"reported\": []}, \"frames\": []}, {\"phase\": \"command\", \"registers\": {\"parser\": \"command\", \"partial_command\": [0], \"candidate\": [], \"delivered\": [], \"queue\": [1, 2, 3], \"reported\": []}, \"frames\": []}, {\"phase\": \"command\", \"registers\": {\"parser\": \"command\", \"partial_command\": [], \"candidate\": [], \"delivered\": [], \"queue\": [1, 2, 3], \"reported\": [\"reset\"]}, \"frames\": []}, {\"phase\": \"switching\", \"registers\": {\"parser\": \"command\", \"partial_command\": [], \"candidate\": [], \"delivered\": [], \"queue\": [1, 2, 3], \"reported\": [\"reset\"]}, \"frames\": [[\"ENTER_DATA\", 1]]}], \"passed\": true}, {\"check\": \"empty input\", \"actual\": [], \"expected\": [], \"passed\": true}, {\"check\": \"unknown event\", \"actual\": [{\"phase\": \"command\", \"registers\": {\"parser\": \"command\", \"partial_command\": [0], \"candidate\": [1, 2, 3], \"delivered\": [], \"queue\": [1, 2, 3], \"reported\": []}, \"frames\": [[\"reject\", [1, 2, 3]]]}], \"expected\": [{\"phase\": \"command\", \"registers\": {\"parser\": \"command\", \"partial_command\": [0], \"candidate\": [1, 2, 3], \"delivered\": [], \"queue\": [1, 2, 3], \"reported\": []}, \"frames\": [[\"reject\", [1, 2, 3]]]}], \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}