{"abstract":"While collecting, event middle produces complete/publish instead of collecting/append.","category":"Protocols","checks":14,"contract":"For the stipulated Segmented message assembly 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-multipart","failed_approach":"The partial repair chooses collecting/replace, which still violates this phase-specific event contract.","family":"s3-protocols-multipart-collecting-middle","id":"FA-19046","implementations":{"attempt":{"sha256":"f26dbdb13551add0cb761fab89d0da7bb48b04efd207918984b19a01480f320f","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 = {'partial': [seed-1] if phase=='collecting' else [], 'published': [payload[:]] if phase=='complete' else [], 'owned': phase!='idle', 'discarded': []}\n    frames = []\n    observed = []\n    table = {('idle', 'begin'): ('collecting', 'start_message'), ('collecting', 'middle'): ('collecting', 'replace'), ('collecting', 'end'): ('complete', 'append_publish'), ('idle', 'middle'): ('idle', 'reject_orphan'), ('idle', 'end'): ('idle', 'reject_orphan'), ('collecting', 'begin'): ('collecting', 'reject_nested'), ('collecting', 'abort'): ('idle', 'discard_partial'), ('complete', 'consume'): ('idle', 'release_message'), ('complete', 'middle'): ('complete', 'reject_sealed'), ('collecting', 'oversize'): ('idle', 'reject_discard')}\n    for event in events:\n        phase, action = table.get((phase, event), (phase, \"reject\"))\n        if action == 'start_message':\n            r['partial']=payload[:]\n        elif action == 'append':\n            r['partial'].extend(payload)\n        elif action == 'append_publish':\n            r['partial'].extend(payload); r['published'].append(r['partial'][:])\n        elif action == 'reject_orphan':\n            frames.append(['ORPHAN',event])\n        elif action == 'reject_nested':\n            frames.append(['NESTED_BEGIN',len(r['partial'])])\n        elif action == 'discard_partial':\n            r['discarded'].extend(r['partial']); r['partial']=[]\n        elif action == 'release_message':\n            r['owned']=False\n        elif action == 'reject_sealed':\n            frames.append(['SEALED',event])\n        elif action == 'reject_discard':\n            r['partial']=[]; frames.append(['TOO_LARGE',len(payload)])\n        elif action == 'publish':\n            r['published'].append(r['partial'][:])\n        elif action == 'publish_without_end':\n            r['published'].append(r['partial'][:])\n        elif action == 'replace':\n            r['partial']=payload[:]\n        elif action == 'buffer':\n            r['partial'].extend(payload)\n        elif action == 'ack':\n            frames.append(['MESSAGE_OK',seed])\n        elif action == 'restart':\n            r['partial']=payload[:]\n        elif action == 'discard':\n            r['partial']=[]\n        elif action == 'keep_partial':\n            r['owned']=False\n        elif action == 'retain':\n            r['owned']=True\n        elif action == 'discard_unread':\n            r['published']=[]\n        elif action == 'truncate':\n            r['partial']=r['partial'][:1]\n        elif action == 'publish_prefix':\n            r['published'].append(r['partial'][:1])\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: [('idle/begin', 'idle', ['begin'], [{'phase': 'collecting', 'registers': {'partial': [1, 2, 3], 'published': [], 'owned': False, 'discarded': []}, 'frames': []}]), ('collecting/middle', 'collecting', ['middle'], [{'phase': 'collecting', 'registers': {'partial': [0, 1, 2, 3], 'published': [], 'owned': True, 'discarded': []}, 'frames': []}]), ('collecting/end', 'collecting', ['end'], [{'phase': 'complete', 'registers': {'partial': [0, 1, 2, 3], 'published': [[0, 1, 2, 3]], 'owned': True, 'discarded': []}, 'frames': []}]), ('idle/middle', 'idle', ['middle'], [{'phase': 'idle', 'registers': {'partial': [], 'published': [], 'owned': False, 'discarded': []}, 'frames': [['ORPHAN', 'middle']]}]), ('idle/end', 'idle', ['end'], [{'phase': 'idle', 'registers': {'partial': [], 'published': [], 'owned': False, 'discarded': []}, 'frames': [['ORPHAN', 'end']]}]), ('collecting/begin', 'collecting', ['begin'], [{'phase': 'collecting', 'registers': {'partial': [0], 'published': [], 'owned': True, 'discarded': []}, 'frames': [['NESTED_BEGIN', 1]]}]), ('collecting/abort', 'collecting', ['abort'], [{'phase': 'idle', 'registers': {'partial': [], 'published': [], 'owned': True, 'discarded': [0]}, 'frames': []}]), ('complete/consume', 'complete', ['consume'], [{'phase': 'idle', 'registers': {'partial': [], 'published': [[1, 2, 3]], 'owned': False, 'discarded': []}, 'frames': []}]), ('complete/middle', 'complete', ['middle'], [{'phase': 'complete', 'registers': {'partial': [], 'published': [[1, 2, 3]], 'owned': True, 'discarded': []}, 'frames': [['SEALED', 'middle']]}]), ('collecting/oversize', 'collecting', ['oversize'], [{'phase': 'idle', 'registers': {'partial': [], 'published': [], 'owned': True, 'discarded': []}, 'frames': [['TOO_LARGE', 3]]}]), ('ordered trace 0', 'idle', ['begin', 'end', 'consume', 'begin'], [{'phase': 'collecting', 'registers': {'partial': [1, 2, 3], 'published': [], 'owned': False, 'discarded': []}, 'frames': []}, {'phase': 'complete', 'registers': {'partial': [1, 2, 3, 1, 2, 3], 'published': [[1, 2, 3, 1, 2, 3]], 'owned': False, 'discarded': []}, 'frames': []}, {'phase': 'idle', 'registers': {'partial': [1, 2, 3, 1, 2, 3], 'published': [[1, 2, 3, 1, 2, 3]], 'owned': False, 'discarded': []}, 'frames': []}, {'phase': 'collecting', 'registers': {'partial': [1, 2, 3], 'published': [[1, 2, 3, 1, 2, 3]], 'owned': False, 'discarded': []}, 'frames': []}]), ('ordered trace 3', 'idle', ['begin', 'oversize', 'end', 'begin'], [{'phase': 'collecting', 'registers': {'partial': [1, 2, 3], 'published': [], 'owned': False, 'discarded': []}, 'frames': []}, {'phase': 'idle', 'registers': {'partial': [], 'published': [], 'owned': False, 'discarded': []}, 'frames': [['TOO_LARGE', 3]]}, {'phase': 'idle', 'registers': {'partial': [], 'published': [], 'owned': False, 'discarded': []}, 'frames': [['TOO_LARGE', 3], ['ORPHAN', 'end']]}, {'phase': 'collecting', 'registers': {'partial': [1, 2, 3], 'published': [], 'owned': False, 'discarded': []}, 'frames': [['TOO_LARGE', 3], ['ORPHAN', 'end']]}]), ('empty input', 'idle', [], []), ('unknown event', 'idle', ['unsupported'], [{'phase': 'idle', 'registers': {'partial': [], 'published': [], 'owned': False, 'discarded': []}, 'frames': [['reject', [1, 2, 3]]]}])], 2: [('idle/begin', 'idle', ['begin'], [{'phase': 'collecting', 'registers': {'partial': [2, 3, 4, 5], 'published': [], 'owned': False, 'discarded': []}, 'frames': []}]), ('collecting/middle', 'collecting', ['middle'], [{'phase': 'collecting', 'registers': {'partial': [1, 2, 3, 4, 5], 'published': [], 'owned': True, 'discarded': []}, 'frames': []}]), ('collecting/end', 'collecting', ['end'], [{'phase': 'complete', 'registers': {'partial': [1, 2, 3, 4, 5], 'published': [[1, 2, 3, 4, 5]], 'owned': True, 'discarded': []}, 'frames': []}]), ('idle/middle', 'idle', ['middle'], [{'phase': 'idle', 'registers': {'partial': [], 'published': [], 'owned': False, 'discarded': []}, 'frames': [['ORPHAN', 'middle']]}]), ('idle/end', 'idle', ['end'], [{'phase': 'idle', 'registers': {'partial': [], 'published': [], 'owned': False, 'discarded': []}, 'frames': [['ORPHAN', 'end']]}]), ('collecting/begin', 'collecting', ['begin'], [{'phase': 'collecting', 'registers': {'partial': [1], 'published': [], 'owned': True, 'discarded': []}, 'frames': [['NESTED_BEGIN', 1]]}]), ('collecting/abort', 'collecting', ['abort'], [{'phase': 'idle', 'registers': {'partial': [], 'published': [], 'owned': True, 'discarded': [1]}, 'frames': []}]), ('complete/consume', 'complete', ['consume'], [{'phase': 'idle', 'registers': {'partial': [], 'published': [[2, 3, 4, 5]], 'owned': False, 'discarded': []}, 'frames': []}]), ('complete/middle', 'complete', ['middle'], [{'phase': 'complete', 'registers': {'partial': [], 'published': [[2, 3, 4, 5]], 'owned': True, 'discarded': []}, 'frames': [['SEALED', 'middle']]}]), ('collecting/oversize', 'collecting', ['oversize'], [{'phase': 'idle', 'registers': {'partial': [], 'published': [], 'owned': True, 'discarded': []}, 'frames': [['TOO_LARGE', 4]]}]), ('ordered trace 0', 'idle', ['begin', 'end', 'consume', 'begin', 'oversize'], [{'phase': 'collecting', 'registers': {'partial': [2, 3, 4, 5], 'published': [], 'owned': False, 'discarded': []}, 'frames': []}, {'phase': 'complete', 'registers': {'partial': [2, 3, 4, 5, 2, 3, 4, 5], 'published': [[2, 3, 4, 5, 2, 3, 4, 5]], 'owned': False, 'discarded': []}, 'frames': []}, {'phase': 'idle', 'registers': {'partial': [2, 3, 4, 5, 2, 3, 4, 5], 'published': [[2, 3, 4, 5, 2, 3, 4, 5]], 'owned': False, 'discarded': []}, 'frames': []}, {'phase': 'collecting', 'registers': {'partial': [2, 3, 4, 5], 'published': [[2, 3, 4, 5, 2, 3, 4, 5]], 'owned': False, 'discarded': []}, 'frames': []}, {'phase': 'idle', 'registers': {'partial': [], 'published': [[2, 3, 4, 5, 2, 3, 4, 5]], 'owned': False, 'discarded': []}, 'frames': [['TOO_LARGE', 4]]}]), ('ordered trace 3', 'idle', ['begin', 'oversize', 'end', 'begin', 'begin'], [{'phase': 'collecting', 'registers': {'partial': [2, 3, 4, 5], 'published': [], 'owned': False, 'discarded': []}, 'frames': []}, {'phase': 'idle', 'registers': {'partial': [], 'published': [], 'owned': False, 'discarded': []}, 'frames': [['TOO_LARGE', 4]]}, {'phase': 'idle', 'registers': {'partial': [], 'published': [], 'owned': False, 'discarded': []}, 'frames': [['TOO_LARGE', 4], ['ORPHAN', 'end']]}, {'phase': 'collecting', 'registers': {'partial': [2, 3, 4, 5], 'published': [], 'owned': False, 'discarded': []}, 'frames': [['TOO_LARGE', 4], ['ORPHAN', 'end']]}, {'phase': 'collecting', 'registers': {'partial': [2, 3, 4, 5], 'published': [], 'owned': False, 'discarded': []}, 'frames': [['TOO_LARGE', 4], ['ORPHAN', 'end'], ['NESTED_BEGIN', 4]]}]), ('empty input', 'idle', [], []), ('unknown event', 'idle', ['unsupported'], [{'phase': 'idle', 'registers': {'partial': [], 'published': [], 'owned': False, 'discarded': []}, 'frames': [['reject', [2, 3, 4, 5]]]}])], 3: [('idle/begin', 'idle', ['begin'], [{'phase': 'collecting', 'registers': {'partial': [3, 4, 5, 6, 7], 'published': [], 'owned': False, 'discarded': []}, 'frames': []}]), ('collecting/middle', 'collecting', ['middle'], [{'phase': 'collecting', 'registers': {'partial': [2, 3, 4, 5, 6, 7], 'published': [], 'owned': True, 'discarded': []}, 'frames': []}]), ('collecting/end', 'collecting', ['end'], [{'phase': 'complete', 'registers': {'partial': [2, 3, 4, 5, 6, 7], 'published': [[2, 3, 4, 5, 6, 7]], 'owned': True, 'discarded': []}, 'frames': []}]), ('idle/middle', 'idle', ['middle'], [{'phase': 'idle', 'registers': {'partial': [], 'published': [], 'owned': False, 'discarded': []}, 'frames': [['ORPHAN', 'middle']]}]), ('idle/end', 'idle', ['end'], [{'phase': 'idle', 'registers': {'partial': [], 'published': [], 'owned': False, 'discarded': []}, 'frames': [['ORPHAN', 'end']]}]), ('collecting/begin', 'collecting', ['begin'], [{'phase': 'collecting', 'registers': {'partial': [2], 'published': [], 'owned': True, 'discarded': []}, 'frames': [['NESTED_BEGIN', 1]]}]), ('collecting/abort', 'collecting', ['abort'], [{'phase': 'idle', 'registers': {'partial': [], 'published': [], 'owned': True, 'discarded': [2]}, 'frames': []}]), ('complete/consume', 'complete', ['consume'], [{'phase': 'idle', 'registers': {'partial': [], 'published': [[3, 4, 5, 6, 7]], 'owned': False, 'discarded': []}, 'frames': []}]), ('complete/middle', 'complete', ['middle'], [{'phase': 'complete', 'registers': {'partial': [], 'published': [[3, 4, 5, 6, 7]], 'owned': True, 'discarded': []}, 'frames': [['SEALED', 'middle']]}]), ('collecting/oversize', 'collecting', ['oversize'], [{'phase': 'idle', 'registers': {'partial': [], 'published': [], 'owned': True, 'discarded': []}, 'frames': [['TOO_LARGE', 5]]}]), ('ordered trace 0', 'idle', ['begin', 'end', 'consume', 'begin', 'oversize', 'end'], [{'phase': 'collecting', 'registers': {'partial': [3, 4, 5, 6, 7], 'published': [], 'owned': False, 'discarded': []}, 'frames': []}, {'phase': 'complete', 'registers': {'partial': [3, 4, 5, 6, 7, 3, 4, 5, 6, 7], 'published': [[3, 4, 5, 6, 7, 3, 4, 5, 6, 7]], 'owned': False, 'discarded': []}, 'frames': []}, {'phase': 'idle', 'registers': {'partial': [3, 4, 5, 6, 7, 3, 4, 5, 6, 7], 'published': [[3, 4, 5, 6, 7, 3, 4, 5, 6, 7]], 'owned': False, 'discarded': []}, 'frames': []}, {'phase': 'collecting', 'registers': {'partial': [3, 4, 5, 6, 7], 'published': [[3, 4, 5, 6, 7, 3, 4, 5, 6, 7]], 'owned': False, 'discarded': []}, 'frames': []}, {'phase': 'idle', 'registers': {'partial': [], 'published': [[3, 4, 5, 6, 7, 3, 4, 5, 6, 7]], 'owned': False, 'discarded': []}, 'frames': [['TOO_LARGE', 5]]}, {'phase': 'idle', 'registers': {'partial': [], 'published': [[3, 4, 5, 6, 7, 3, 4, 5, 6, 7]], 'owned': False, 'discarded': []}, 'frames': [['TOO_LARGE', 5], ['ORPHAN', 'end']]}]), ('ordered trace 3', 'idle', ['begin', 'oversize', 'end', 'begin', 'begin', 'abort'], [{'phase': 'collecting', 'registers': {'partial': [3, 4, 5, 6, 7], 'published': [], 'owned': False, 'discarded': []}, 'frames': []}, {'phase': 'idle', 'registers': {'partial': [], 'published': [], 'owned': False, 'discarded': []}, 'frames': [['TOO_LARGE', 5]]}, {'phase': 'idle', 'registers': {'partial': [], 'published': [], 'owned': False, 'discarded': []}, 'frames': [['TOO_LARGE', 5], ['ORPHAN', 'end']]}, {'phase': 'collecting', 'registers': {'partial': [3, 4, 5, 6, 7], 'published': [], 'owned': False, 'discarded': []}, 'frames': [['TOO_LARGE', 5], ['ORPHAN', 'end']]}, {'phase': 'collecting', 'registers': {'partial': [3, 4, 5, 6, 7], 'published': [], 'owned': False, 'discarded': []}, 'frames': [['TOO_LARGE', 5], ['ORPHAN', 'end'], ['NESTED_BEGIN', 5]]}, {'phase': 'idle', 'registers': {'partial': [], 'published': [], 'owned': False, 'discarded': [3, 4, 5, 6, 7]}, 'frames': [['TOO_LARGE', 5], ['ORPHAN', 'end'], ['NESTED_BEGIN', 5]]}]), ('empty input', 'idle', [], []), ('unknown event', 'idle', ['unsupported'], [{'phase': 'idle', 'registers': {'partial': [], 'published': [], 'owned': False, 'discarded': []}, 'frames': [['reject', [3, 4, 5, 6, 7]]]}])], 4: [('idle/begin', 'idle', ['begin'], [{'phase': 'collecting', 'registers': {'partial': [4, 5, 6, 7, 8, 9], 'published': [], 'owned': False, 'discarded': []}, 'frames': []}]), ('collecting/middle', 'collecting', ['middle'], [{'phase': 'collecting', 'registers': {'partial': [3, 4, 5, 6, 7, 8, 9], 'published': [], 'owned': True, 'discarded': []}, 'frames': []}]), ('collecting/end', 'collecting', ['end'], [{'phase': 'complete', 'registers': {'partial': [3, 4, 5, 6, 7, 8, 9], 'published': [[3, 4, 5, 6, 7, 8, 9]], 'owned': True, 'discarded': []}, 'frames': []}]), ('idle/middle', 'idle', ['middle'], [{'phase': 'idle', 'registers': {'partial': [], 'published': [], 'owned': False, 'discarded': []}, 'frames': [['ORPHAN', 'middle']]}]), ('idle/end', 'idle', ['end'], [{'phase': 'idle', 'registers': {'partial': [], 'published': [], 'owned': False, 'discarded': []}, 'frames': [['ORPHAN', 'end']]}]), ('collecting/begin', 'collecting', ['begin'], [{'phase': 'collecting', 'registers': {'partial': [3], 'published': [], 'owned': True, 'discarded': []}, 'frames': [['NESTED_BEGIN', 1]]}]), ('collecting/abort', 'collecting', ['abort'], [{'phase': 'idle', 'registers': {'partial': [], 'published': [], 'owned': True, 'discarded': [3]}, 'frames': []}]), ('complete/consume', 'complete', ['consume'], [{'phase': 'idle', 'registers': {'partial': [], 'published': [[4, 5, 6, 7, 8, 9]], 'owned': False, 'discarded': []}, 'frames': []}]), ('complete/middle', 'complete', ['middle'], [{'phase': 'complete', 'registers': {'partial': [], 'published': [[4, 5, 6, 7, 8, 9]], 'owned': True, 'discarded': []}, 'frames': [['SEALED', 'middle']]}]), ('collecting/oversize', 'collecting', ['oversize'], [{'phase': 'idle', 'registers': {'partial': [], 'published': [], 'owned': True, 'discarded': []}, 'frames': [['TOO_LARGE', 6]]}]), ('ordered trace 0', 'idle', ['begin', 'end', 'consume', 'begin', 'oversize', 'end', 'begin'], [{'phase': 'collecting', 'registers': {'partial': [4, 5, 6, 7, 8, 9], 'published': [], 'owned': False, 'discarded': []}, 'frames': []}, {'phase': 'complete', 'registers': {'partial': [4, 5, 6, 7, 8, 9, 4, 5, 6, 7, 8, 9], 'published': [[4, 5, 6, 7, 8, 9, 4, 5, 6, 7, 8, 9]], 'owned': False, 'discarded': []}, 'frames': []}, {'phase': 'idle', 'registers': {'partial': [4, 5, 6, 7, 8, 9, 4, 5, 6, 7, 8, 9], 'published': [[4, 5, 6, 7, 8, 9, 4, 5, 6, 7, 8, 9]], 'owned': False, 'discarded': []}, 'frames': []}, {'phase': 'collecting', 'registers': {'partial': [4, 5, 6, 7, 8, 9], 'published': [[4, 5, 6, 7, 8, 9, 4, 5, 6, 7, 8, 9]], 'owned': False, 'discarded': []}, 'frames': []}, {'phase': 'idle', 'registers': {'partial': [], 'published': [[4, 5, 6, 7, 8, 9, 4, 5, 6, 7, 8, 9]], 'owned': False, 'discarded': []}, 'frames': [['TOO_LARGE', 6]]}, {'phase': 'idle', 'registers': {'partial': [], 'published': [[4, 5, 6, 7, 8, 9, 4, 5, 6, 7, 8, 9]], 'owned': False, 'discarded': []}, 'frames': [['TOO_LARGE', 6], ['ORPHAN', 'end']]}, {'phase': 'collecting', 'registers': {'partial': [4, 5, 6, 7, 8, 9], 'published': [[4, 5, 6, 7, 8, 9, 4, 5, 6, 7, 8, 9]], 'owned': False, 'discarded': []}, 'frames': [['TOO_LARGE', 6], ['ORPHAN', 'end']]}]), ('ordered trace 3', 'idle', ['begin', 'oversize', 'end', 'begin', 'begin', 'abort', 'begin'], [{'phase': 'collecting', 'registers': {'partial': [4, 5, 6, 7, 8, 9], 'published': [], 'owned': False, 'discarded': []}, 'frames': []}, {'phase': 'idle', 'registers': {'partial': [], 'published': [], 'owned': False, 'discarded': []}, 'frames': [['TOO_LARGE', 6]]}, {'phase': 'idle', 'registers': {'partial': [], 'published': [], 'owned': False, 'discarded': []}, 'frames': [['TOO_LARGE', 6], ['ORPHAN', 'end']]}, {'phase': 'collecting', 'registers': {'partial': [4, 5, 6, 7, 8, 9], 'published': [], 'owned': False, 'discarded': []}, 'frames': [['TOO_LARGE', 6], ['ORPHAN', 'end']]}, {'phase': 'collecting', 'registers': {'partial': [4, 5, 6, 7, 8, 9], 'published': [], 'owned': False, 'discarded': []}, 'frames': [['TOO_LARGE', 6], ['ORPHAN', 'end'], ['NESTED_BEGIN', 6]]}, {'phase': 'idle', 'registers': {'partial': [], 'published': [], 'owned': False, 'discarded': [4, 5, 6, 7, 8, 9]}, 'frames': [['TOO_LARGE', 6], ['ORPHAN', 'end'], ['NESTED_BEGIN', 6]]}, {'phase': 'collecting', 'registers': {'partial': [4, 5, 6, 7, 8, 9], 'published': [], 'owned': False, 'discarded': [4, 5, 6, 7, 8, 9]}, 'frames': [['TOO_LARGE', 6], ['ORPHAN', 'end'], ['NESTED_BEGIN', 6]]}]), ('empty input', 'idle', [], []), ('unknown event', 'idle', ['unsupported'], [{'phase': 'idle', 'registers': {'partial': [], 'published': [], 'owned': False, 'discarded': []}, 'frames': [['reject', [4, 5, 6, 7, 8, 9]]]}])], 5: [('idle/begin', 'idle', ['begin'], [{'phase': 'collecting', 'registers': {'partial': [5, 6, 7, 8, 9, 10, 11], 'published': [], 'owned': False, 'discarded': []}, 'frames': []}]), ('collecting/middle', 'collecting', ['middle'], [{'phase': 'collecting', 'registers': {'partial': [4, 5, 6, 7, 8, 9, 10, 11], 'published': [], 'owned': True, 'discarded': []}, 'frames': []}]), ('collecting/end', 'collecting', ['end'], [{'phase': 'complete', 'registers': {'partial': [4, 5, 6, 7, 8, 9, 10, 11], 'published': [[4, 5, 6, 7, 8, 9, 10, 11]], 'owned': True, 'discarded': []}, 'frames': []}]), ('idle/middle', 'idle', ['middle'], [{'phase': 'idle', 'registers': {'partial': [], 'published': [], 'owned': False, 'discarded': []}, 'frames': [['ORPHAN', 'middle']]}]), ('idle/end', 'idle', ['end'], [{'phase': 'idle', 'registers': {'partial': [], 'published': [], 'owned': False, 'discarded': []}, 'frames': [['ORPHAN', 'end']]}]), ('collecting/begin', 'collecting', ['begin'], [{'phase': 'collecting', 'registers': {'partial': [4], 'published': [], 'owned': True, 'discarded': []}, 'frames': [['NESTED_BEGIN', 1]]}]), ('collecting/abort', 'collecting', ['abort'], [{'phase': 'idle', 'registers': {'partial': [], 'published': [], 'owned': True, 'discarded': [4]}, 'frames': []}]), ('complete/consume', 'complete', ['consume'], [{'phase': 'idle', 'registers': {'partial': [], 'published': [[5, 6, 7, 8, 9, 10, 11]], 'owned': False, 'discarded': []}, 'frames': []}]), ('complete/middle', 'complete', ['middle'], [{'phase': 'complete', 'registers': {'partial': [], 'published': [[5, 6, 7, 8, 9, 10, 11]], 'owned': True, 'discarded': []}, 'frames': [['SEALED', 'middle']]}]), ('collecting/oversize', 'collecting', ['oversize'], [{'phase': 'idle', 'registers': {'partial': [], 'published': [], 'owned': True, 'discarded': []}, 'frames': [['TOO_LARGE', 7]]}]), ('ordered trace 0', 'idle', ['begin', 'end', 'consume', 'begin', 'oversize', 'end', 'begin', 'begin'], [{'phase': 'collecting', 'registers': {'partial': [5, 6, 7, 8, 9, 10, 11], 'published': [], 'owned': False, 'discarded': []}, 'frames': []}, {'phase': 'complete', 'registers': {'partial': [5, 6, 7, 8, 9, 10, 11, 5, 6, 7, 8, 9, 10, 11], 'published': [[5, 6, 7, 8, 9, 10, 11, 5, 6, 7, 8, 9, 10, 11]], 'owned': False, 'discarded': []}, 'frames': []}, {'phase': 'idle', 'registers': {'partial': [5, 6, 7, 8, 9, 10, 11, 5, 6, 7, 8, 9, 10, 11], 'published': [[5, 6, 7, 8, 9, 10, 11, 5, 6, 7, 8, 9, 10, 11]], 'owned': False, 'discarded': []}, 'frames': []}, {'phase': 'collecting', 'registers': {'partial': [5, 6, 7, 8, 9, 10, 11], 'published': [[5, 6, 7, 8, 9, 10, 11, 5, 6, 7, 8, 9, 10, 11]], 'owned': False, 'discarded': []}, 'frames': []}, {'phase': 'idle', 'registers': {'partial': [], 'published': [[5, 6, 7, 8, 9, 10, 11, 5, 6, 7, 8, 9, 10, 11]], 'owned': False, 'discarded': []}, 'frames': [['TOO_LARGE', 7]]}, {'phase': 'idle', 'registers': {'partial': [], 'published': [[5, 6, 7, 8, 9, 10, 11, 5, 6, 7, 8, 9, 10, 11]], 'owned': False, 'discarded': []}, 'frames': [['TOO_LARGE', 7], ['ORPHAN', 'end']]}, {'phase': 'collecting', 'registers': {'partial': [5, 6, 7, 8, 9, 10, 11], 'published': [[5, 6, 7, 8, 9, 10, 11, 5, 6, 7, 8, 9, 10, 11]], 'owned': False, 'discarded': []}, 'frames': [['TOO_LARGE', 7], ['ORPHAN', 'end']]}, {'phase': 'collecting', 'registers': {'partial': [5, 6, 7, 8, 9, 10, 11], 'published': [[5, 6, 7, 8, 9, 10, 11, 5, 6, 7, 8, 9, 10, 11]], 'owned': False, 'discarded': []}, 'frames': [['TOO_LARGE', 7], ['ORPHAN', 'end'], ['NESTED_BEGIN', 7]]}]), ('ordered trace 3', 'idle', ['begin', 'oversize', 'end', 'begin', 'begin', 'abort', 'begin', 'middle'], [{'phase': 'collecting', 'registers': {'partial': [5, 6, 7, 8, 9, 10, 11], 'published': [], 'owned': False, 'discarded': []}, 'frames': []}, {'phase': 'idle', 'registers': {'partial': [], 'published': [], 'owned': False, 'discarded': []}, 'frames': [['TOO_LARGE', 7]]}, {'phase': 'idle', 'registers': {'partial': [], 'published': [], 'owned': False, 'discarded': []}, 'frames': [['TOO_LARGE', 7], ['ORPHAN', 'end']]}, {'phase': 'collecting', 'registers': {'partial': [5, 6, 7, 8, 9, 10, 11], 'published': [], 'owned': False, 'discarded': []}, 'frames': [['TOO_LARGE', 7], ['ORPHAN', 'end']]}, {'phase': 'collecting', 'registers': {'partial': [5, 6, 7, 8, 9, 10, 11], 'published': [], 'owned': False, 'discarded': []}, 'frames': [['TOO_LARGE', 7], ['ORPHAN', 'end'], ['NESTED_BEGIN', 7]]}, {'phase': 'idle', 'registers': {'partial': [], 'published': [], 'owned': False, 'discarded': [5, 6, 7, 8, 9, 10, 11]}, 'frames': [['TOO_LARGE', 7], ['ORPHAN', 'end'], ['NESTED_BEGIN', 7]]}, {'phase': 'collecting', 'registers': {'partial': [5, 6, 7, 8, 9, 10, 11], 'published': [], 'owned': False, 'discarded': [5, 6, 7, 8, 9, 10, 11]}, 'frames': [['TOO_LARGE', 7], ['ORPHAN', 'end'], ['NESTED_BEGIN', 7]]}, {'phase': 'collecting', 'registers': {'partial': [5, 6, 7, 8, 9, 10, 11, 5, 6, 7, 8, 9, 10, 11], 'published': [], 'owned': False, 'discarded': [5, 6, 7, 8, 9, 10, 11]}, 'frames': [['TOO_LARGE', 7], ['ORPHAN', 'end'], ['NESTED_BEGIN', 7]]}]), ('empty input', 'idle', [], []), ('unknown event', 'idle', ['unsupported'], [{'phase': 'idle', 'registers': {'partial': [], 'published': [], 'owned': False, 'discarded': []}, '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":"9584efb396e5f5a1ada370c8015bd07d5f9eed35de99844c027ac6ea2c183726","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 = {'partial': [seed-1] if phase=='collecting' else [], 'published': [payload[:]] if phase=='complete' else [], 'owned': phase!='idle', 'discarded': []}\n    frames = []\n    observed = []\n    table = {('idle', 'begin'): ('collecting', 'start_message'), ('collecting', 'middle'): ('complete', 'publish'), ('collecting', 'end'): ('complete', 'append_publish'), ('idle', 'middle'): ('idle', 'reject_orphan'), ('idle', 'end'): ('idle', 'reject_orphan'), ('collecting', 'begin'): ('collecting', 'reject_nested'), ('collecting', 'abort'): ('idle', 'discard_partial'), ('complete', 'consume'): ('idle', 'release_message'), ('complete', 'middle'): ('complete', 'reject_sealed'), ('collecting', 'oversize'): ('idle', 'reject_discard')}\n    for event in events:\n        phase, action = table.get((phase, event), (phase, \"reject\"))\n        if action == 'start_message':\n            r['partial']=payload[:]\n        elif action == 'append':\n            r['partial'].extend(payload)\n        elif action == 'append_publish':\n            r['partial'].extend(payload); r['published'].append(r['partial'][:])\n        elif action == 'reject_orphan':\n            frames.append(['ORPHAN',event])\n        elif action == 'reject_nested':\n            frames.append(['NESTED_BEGIN',len(r['partial'])])\n        elif action == 'discard_partial':\n            r['discarded'].extend(r['partial']); r['partial']=[]\n        elif action == 'release_message':\n            r['owned']=False\n        elif action == 'reject_sealed':\n            frames.append(['SEALED',event])\n        elif action == 'reject_discard':\n            r['partial']=[]; frames.append(['TOO_LARGE',len(payload)])\n        elif action == 'publish':\n            r['published'].append(r['partial'][:])\n        elif action == 'publish_without_end':\n            r['published'].append(r['partial'][:])\n        elif action == 'replace':\n            r['partial']=payload[:]\n        elif action == 'buffer':\n            r['partial'].extend(payload)\n        elif action == 'ack':\n            frames.append(['MESSAGE_OK',seed])\n        elif action == 'restart':\n            r['partial']=payload[:]\n        elif action == 'discard':\n            r['partial']=[]\n        elif action == 'keep_partial':\n            r['owned']=False\n        elif action == 'retain':\n            r['owned']=True\n        elif action == 'discard_unread':\n            r['published']=[]\n        elif action == 'truncate':\n            r['partial']=r['partial'][:1]\n        elif action == 'publish_prefix':\n            r['published'].append(r['partial'][:1])\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: [('idle/begin', 'idle', ['begin'], [{'phase': 'collecting', 'registers': {'partial': [1, 2, 3], 'published': [], 'owned': False, 'discarded': []}, 'frames': []}]), ('collecting/middle', 'collecting', ['middle'], [{'phase': 'collecting', 'registers': {'partial': [0, 1, 2, 3], 'published': [], 'owned': True, 'discarded': []}, 'frames': []}]), ('collecting/end', 'collecting', ['end'], [{'phase': 'complete', 'registers': {'partial': [0, 1, 2, 3], 'published': [[0, 1, 2, 3]], 'owned': True, 'discarded': []}, 'frames': []}]), ('idle/middle', 'idle', ['middle'], [{'phase': 'idle', 'registers': {'partial': [], 'published': [], 'owned': False, 'discarded': []}, 'frames': [['ORPHAN', 'middle']]}]), ('idle/end', 'idle', ['end'], [{'phase': 'idle', 'registers': {'partial': [], 'published': [], 'owned': False, 'discarded': []}, 'frames': [['ORPHAN', 'end']]}]), ('collecting/begin', 'collecting', ['begin'], [{'phase': 'collecting', 'registers': {'partial': [0], 'published': [], 'owned': True, 'discarded': []}, 'frames': [['NESTED_BEGIN', 1]]}]), ('collecting/abort', 'collecting', ['abort'], [{'phase': 'idle', 'registers': {'partial': [], 'published': [], 'owned': True, 'discarded': [0]}, 'frames': []}]), ('complete/consume', 'complete', ['consume'], [{'phase': 'idle', 'registers': {'partial': [], 'published': [[1, 2, 3]], 'owned': False, 'discarded': []}, 'frames': []}]), ('complete/middle', 'complete', ['middle'], [{'phase': 'complete', 'registers': {'partial': [], 'published': [[1, 2, 3]], 'owned': True, 'discarded': []}, 'frames': [['SEALED', 'middle']]}]), ('collecting/oversize', 'collecting', ['oversize'], [{'phase': 'idle', 'registers': {'partial': [], 'published': [], 'owned': True, 'discarded': []}, 'frames': [['TOO_LARGE', 3]]}]), ('ordered trace 0', 'idle', ['begin', 'end', 'consume', 'begin'], [{'phase': 'collecting', 'registers': {'partial': [1, 2, 3], 'published': [], 'owned': False, 'discarded': []}, 'frames': []}, {'phase': 'complete', 'registers': {'partial': [1, 2, 3, 1, 2, 3], 'published': [[1, 2, 3, 1, 2, 3]], 'owned': False, 'discarded': []}, 'frames': []}, {'phase': 'idle', 'registers': {'partial': [1, 2, 3, 1, 2, 3], 'published': [[1, 2, 3, 1, 2, 3]], 'owned': False, 'discarded': []}, 'frames': []}, {'phase': 'collecting', 'registers': {'partial': [1, 2, 3], 'published': [[1, 2, 3, 1, 2, 3]], 'owned': False, 'discarded': []}, 'frames': []}]), ('ordered trace 3', 'idle', ['begin', 'oversize', 'end', 'begin'], [{'phase': 'collecting', 'registers': {'partial': [1, 2, 3], 'published': [], 'owned': False, 'discarded': []}, 'frames': []}, {'phase': 'idle', 'registers': {'partial': [], 'published': [], 'owned': False, 'discarded': []}, 'frames': [['TOO_LARGE', 3]]}, {'phase': 'idle', 'registers': {'partial': [], 'published': [], 'owned': False, 'discarded': []}, 'frames': [['TOO_LARGE', 3], ['ORPHAN', 'end']]}, {'phase': 'collecting', 'registers': {'partial': [1, 2, 3], 'published': [], 'owned': False, 'discarded': []}, 'frames': [['TOO_LARGE', 3], ['ORPHAN', 'end']]}]), ('empty input', 'idle', [], []), ('unknown event', 'idle', ['unsupported'], [{'phase': 'idle', 'registers': {'partial': [], 'published': [], 'owned': False, 'discarded': []}, 'frames': [['reject', [1, 2, 3]]]}])], 2: [('idle/begin', 'idle', ['begin'], [{'phase': 'collecting', 'registers': {'partial': [2, 3, 4, 5], 'published': [], 'owned': False, 'discarded': []}, 'frames': []}]), ('collecting/middle', 'collecting', ['middle'], [{'phase': 'collecting', 'registers': {'partial': [1, 2, 3, 4, 5], 'published': [], 'owned': True, 'discarded': []}, 'frames': []}]), ('collecting/end', 'collecting', ['end'], [{'phase': 'complete', 'registers': {'partial': [1, 2, 3, 4, 5], 'published': [[1, 2, 3, 4, 5]], 'owned': True, 'discarded': []}, 'frames': []}]), ('idle/middle', 'idle', ['middle'], [{'phase': 'idle', 'registers': {'partial': [], 'published': [], 'owned': False, 'discarded': []}, 'frames': [['ORPHAN', 'middle']]}]), ('idle/end', 'idle', ['end'], [{'phase': 'idle', 'registers': {'partial': [], 'published': [], 'owned': False, 'discarded': []}, 'frames': [['ORPHAN', 'end']]}]), ('collecting/begin', 'collecting', ['begin'], [{'phase': 'collecting', 'registers': {'partial': [1], 'published': [], 'owned': True, 'discarded': []}, 'frames': [['NESTED_BEGIN', 1]]}]), ('collecting/abort', 'collecting', ['abort'], [{'phase': 'idle', 'registers': {'partial': [], 'published': [], 'owned': True, 'discarded': [1]}, 'frames': []}]), ('complete/consume', 'complete', ['consume'], [{'phase': 'idle', 'registers': {'partial': [], 'published': [[2, 3, 4, 5]], 'owned': False, 'discarded': []}, 'frames': []}]), ('complete/middle', 'complete', ['middle'], [{'phase': 'complete', 'registers': {'partial': [], 'published': [[2, 3, 4, 5]], 'owned': True, 'discarded': []}, 'frames': [['SEALED', 'middle']]}]), ('collecting/oversize', 'collecting', ['oversize'], [{'phase': 'idle', 'registers': {'partial': [], 'published': [], 'owned': True, 'discarded': []}, 'frames': [['TOO_LARGE', 4]]}]), ('ordered trace 0', 'idle', ['begin', 'end', 'consume', 'begin', 'oversize'], [{'phase': 'collecting', 'registers': {'partial': [2, 3, 4, 5], 'published': [], 'owned': False, 'discarded': []}, 'frames': []}, {'phase': 'complete', 'registers': {'partial': [2, 3, 4, 5, 2, 3, 4, 5], 'published': [[2, 3, 4, 5, 2, 3, 4, 5]], 'owned': False, 'discarded': []}, 'frames': []}, {'phase': 'idle', 'registers': {'partial': [2, 3, 4, 5, 2, 3, 4, 5], 'published': [[2, 3, 4, 5, 2, 3, 4, 5]], 'owned': False, 'discarded': []}, 'frames': []}, {'phase': 'collecting', 'registers': {'partial': [2, 3, 4, 5], 'published': [[2, 3, 4, 5, 2, 3, 4, 5]], 'owned': False, 'discarded': []}, 'frames': []}, {'phase': 'idle', 'registers': {'partial': [], 'published': [[2, 3, 4, 5, 2, 3, 4, 5]], 'owned': False, 'discarded': []}, 'frames': [['TOO_LARGE', 4]]}]), ('ordered trace 3', 'idle', ['begin', 'oversize', 'end', 'begin', 'begin'], [{'phase': 'collecting', 'registers': {'partial': [2, 3, 4, 5], 'published': [], 'owned': False, 'discarded': []}, 'frames': []}, {'phase': 'idle', 'registers': {'partial': [], 'published': [], 'owned': False, 'discarded': []}, 'frames': [['TOO_LARGE', 4]]}, {'phase': 'idle', 'registers': {'partial': [], 'published': [], 'owned': False, 'discarded': []}, 'frames': [['TOO_LARGE', 4], ['ORPHAN', 'end']]}, {'phase': 'collecting', 'registers': {'partial': [2, 3, 4, 5], 'published': [], 'owned': False, 'discarded': []}, 'frames': [['TOO_LARGE', 4], ['ORPHAN', 'end']]}, {'phase': 'collecting', 'registers': {'partial': [2, 3, 4, 5], 'published': [], 'owned': False, 'discarded': []}, 'frames': [['TOO_LARGE', 4], ['ORPHAN', 'end'], ['NESTED_BEGIN', 4]]}]), ('empty input', 'idle', [], []), ('unknown event', 'idle', ['unsupported'], [{'phase': 'idle', 'registers': {'partial': [], 'published': [], 'owned': False, 'discarded': []}, 'frames': [['reject', [2, 3, 4, 5]]]}])], 3: [('idle/begin', 'idle', ['begin'], [{'phase': 'collecting', 'registers': {'partial': [3, 4, 5, 6, 7], 'published': [], 'owned': False, 'discarded': []}, 'frames': []}]), ('collecting/middle', 'collecting', ['middle'], [{'phase': 'collecting', 'registers': {'partial': [2, 3, 4, 5, 6, 7], 'published': [], 'owned': True, 'discarded': []}, 'frames': []}]), ('collecting/end', 'collecting', ['end'], [{'phase': 'complete', 'registers': {'partial': [2, 3, 4, 5, 6, 7], 'published': [[2, 3, 4, 5, 6, 7]], 'owned': True, 'discarded': []}, 'frames': []}]), ('idle/middle', 'idle', ['middle'], [{'phase': 'idle', 'registers': {'partial': [], 'published': [], 'owned': False, 'discarded': []}, 'frames': [['ORPHAN', 'middle']]}]), ('idle/end', 'idle', ['end'], [{'phase': 'idle', 'registers': {'partial': [], 'published': [], 'owned': False, 'discarded': []}, 'frames': [['ORPHAN', 'end']]}]), ('collecting/begin', 'collecting', ['begin'], [{'phase': 'collecting', 'registers': {'partial': [2], 'published': [], 'owned': True, 'discarded': []}, 'frames': [['NESTED_BEGIN', 1]]}]), ('collecting/abort', 'collecting', ['abort'], [{'phase': 'idle', 'registers': {'partial': [], 'published': [], 'owned': True, 'discarded': [2]}, 'frames': []}]), ('complete/consume', 'complete', ['consume'], [{'phase': 'idle', 'registers': {'partial': [], 'published': [[3, 4, 5, 6, 7]], 'owned': False, 'discarded': []}, 'frames': []}]), ('complete/middle', 'complete', ['middle'], [{'phase': 'complete', 'registers': {'partial': [], 'published': [[3, 4, 5, 6, 7]], 'owned': True, 'discarded': []}, 'frames': [['SEALED', 'middle']]}]), ('collecting/oversize', 'collecting', ['oversize'], [{'phase': 'idle', 'registers': {'partial': [], 'published': [], 'owned': True, 'discarded': []}, 'frames': [['TOO_LARGE', 5]]}]), ('ordered trace 0', 'idle', ['begin', 'end', 'consume', 'begin', 'oversize', 'end'], [{'phase': 'collecting', 'registers': {'partial': [3, 4, 5, 6, 7], 'published': [], 'owned': False, 'discarded': []}, 'frames': []}, {'phase': 'complete', 'registers': {'partial': [3, 4, 5, 6, 7, 3, 4, 5, 6, 7], 'published': [[3, 4, 5, 6, 7, 3, 4, 5, 6, 7]], 'owned': False, 'discarded': []}, 'frames': []}, {'phase': 'idle', 'registers': {'partial': [3, 4, 5, 6, 7, 3, 4, 5, 6, 7], 'published': [[3, 4, 5, 6, 7, 3, 4, 5, 6, 7]], 'owned': False, 'discarded': []}, 'frames': []}, {'phase': 'collecting', 'registers': {'partial': [3, 4, 5, 6, 7], 'published': [[3, 4, 5, 6, 7, 3, 4, 5, 6, 7]], 'owned': False, 'discarded': []}, 'frames': []}, {'phase': 'idle', 'registers': {'partial': [], 'published': [[3, 4, 5, 6, 7, 3, 4, 5, 6, 7]], 'owned': False, 'discarded': []}, 'frames': [['TOO_LARGE', 5]]}, {'phase': 'idle', 'registers': {'partial': [], 'published': [[3, 4, 5, 6, 7, 3, 4, 5, 6, 7]], 'owned': False, 'discarded': []}, 'frames': [['TOO_LARGE', 5], ['ORPHAN', 'end']]}]), ('ordered trace 3', 'idle', ['begin', 'oversize', 'end', 'begin', 'begin', 'abort'], [{'phase': 'collecting', 'registers': {'partial': [3, 4, 5, 6, 7], 'published': [], 'owned': False, 'discarded': []}, 'frames': []}, {'phase': 'idle', 'registers': {'partial': [], 'published': [], 'owned': False, 'discarded': []}, 'frames': [['TOO_LARGE', 5]]}, {'phase': 'idle', 'registers': {'partial': [], 'published': [], 'owned': False, 'discarded': []}, 'frames': [['TOO_LARGE', 5], ['ORPHAN', 'end']]}, {'phase': 'collecting', 'registers': {'partial': [3, 4, 5, 6, 7], 'published': [], 'owned': False, 'discarded': []}, 'frames': [['TOO_LARGE', 5], ['ORPHAN', 'end']]}, {'phase': 'collecting', 'registers': {'partial': [3, 4, 5, 6, 7], 'published': [], 'owned': False, 'discarded': []}, 'frames': [['TOO_LARGE', 5], ['ORPHAN', 'end'], ['NESTED_BEGIN', 5]]}, {'phase': 'idle', 'registers': {'partial': [], 'published': [], 'owned': False, 'discarded': [3, 4, 5, 6, 7]}, 'frames': [['TOO_LARGE', 5], ['ORPHAN', 'end'], ['NESTED_BEGIN', 5]]}]), ('empty input', 'idle', [], []), ('unknown event', 'idle', ['unsupported'], [{'phase': 'idle', 'registers': {'partial': [], 'published': [], 'owned': False, 'discarded': []}, 'frames': [['reject', [3, 4, 5, 6, 7]]]}])], 4: [('idle/begin', 'idle', ['begin'], [{'phase': 'collecting', 'registers': {'partial': [4, 5, 6, 7, 8, 9], 'published': [], 'owned': False, 'discarded': []}, 'frames': []}]), ('collecting/middle', 'collecting', ['middle'], [{'phase': 'collecting', 'registers': {'partial': [3, 4, 5, 6, 7, 8, 9], 'published': [], 'owned': True, 'discarded': []}, 'frames': []}]), ('collecting/end', 'collecting', ['end'], [{'phase': 'complete', 'registers': {'partial': [3, 4, 5, 6, 7, 8, 9], 'published': [[3, 4, 5, 6, 7, 8, 9]], 'owned': True, 'discarded': []}, 'frames': []}]), ('idle/middle', 'idle', ['middle'], [{'phase': 'idle', 'registers': {'partial': [], 'published': [], 'owned': False, 'discarded': []}, 'frames': [['ORPHAN', 'middle']]}]), ('idle/end', 'idle', ['end'], [{'phase': 'idle', 'registers': {'partial': [], 'published': [], 'owned': False, 'discarded': []}, 'frames': [['ORPHAN', 'end']]}]), ('collecting/begin', 'collecting', ['begin'], [{'phase': 'collecting', 'registers': {'partial': [3], 'published': [], 'owned': True, 'discarded': []}, 'frames': [['NESTED_BEGIN', 1]]}]), ('collecting/abort', 'collecting', ['abort'], [{'phase': 'idle', 'registers': {'partial': [], 'published': [], 'owned': True, 'discarded': [3]}, 'frames': []}]), ('complete/consume', 'complete', ['consume'], [{'phase': 'idle', 'registers': {'partial': [], 'published': [[4, 5, 6, 7, 8, 9]], 'owned': False, 'discarded': []}, 'frames': []}]), ('complete/middle', 'complete', ['middle'], [{'phase': 'complete', 'registers': {'partial': [], 'published': [[4, 5, 6, 7, 8, 9]], 'owned': True, 'discarded': []}, 'frames': [['SEALED', 'middle']]}]), ('collecting/oversize', 'collecting', ['oversize'], [{'phase': 'idle', 'registers': {'partial': [], 'published': [], 'owned': True, 'discarded': []}, 'frames': [['TOO_LARGE', 6]]}]), ('ordered trace 0', 'idle', ['begin', 'end', 'consume', 'begin', 'oversize', 'end', 'begin'], [{'phase': 'collecting', 'registers': {'partial': [4, 5, 6, 7, 8, 9], 'published': [], 'owned': False, 'discarded': []}, 'frames': []}, {'phase': 'complete', 'registers': {'partial': [4, 5, 6, 7, 8, 9, 4, 5, 6, 7, 8, 9], 'published': [[4, 5, 6, 7, 8, 9, 4, 5, 6, 7, 8, 9]], 'owned': False, 'discarded': []}, 'frames': []}, {'phase': 'idle', 'registers': {'partial': [4, 5, 6, 7, 8, 9, 4, 5, 6, 7, 8, 9], 'published': [[4, 5, 6, 7, 8, 9, 4, 5, 6, 7, 8, 9]], 'owned': False, 'discarded': []}, 'frames': []}, {'phase': 'collecting', 'registers': {'partial': [4, 5, 6, 7, 8, 9], 'published': [[4, 5, 6, 7, 8, 9, 4, 5, 6, 7, 8, 9]], 'owned': False, 'discarded': []}, 'frames': []}, {'phase': 'idle', 'registers': {'partial': [], 'published': [[4, 5, 6, 7, 8, 9, 4, 5, 6, 7, 8, 9]], 'owned': False, 'discarded': []}, 'frames': [['TOO_LARGE', 6]]}, {'phase': 'idle', 'registers': {'partial': [], 'published': [[4, 5, 6, 7, 8, 9, 4, 5, 6, 7, 8, 9]], 'owned': False, 'discarded': []}, 'frames': [['TOO_LARGE', 6], ['ORPHAN', 'end']]}, {'phase': 'collecting', 'registers': {'partial': [4, 5, 6, 7, 8, 9], 'published': [[4, 5, 6, 7, 8, 9, 4, 5, 6, 7, 8, 9]], 'owned': False, 'discarded': []}, 'frames': [['TOO_LARGE', 6], ['ORPHAN', 'end']]}]), ('ordered trace 3', 'idle', ['begin', 'oversize', 'end', 'begin', 'begin', 'abort', 'begin'], [{'phase': 'collecting', 'registers': {'partial': [4, 5, 6, 7, 8, 9], 'published': [], 'owned': False, 'discarded': []}, 'frames': []}, {'phase': 'idle', 'registers': {'partial': [], 'published': [], 'owned': False, 'discarded': []}, 'frames': [['TOO_LARGE', 6]]}, {'phase': 'idle', 'registers': {'partial': [], 'published': [], 'owned': False, 'discarded': []}, 'frames': [['TOO_LARGE', 6], ['ORPHAN', 'end']]}, {'phase': 'collecting', 'registers': {'partial': [4, 5, 6, 7, 8, 9], 'published': [], 'owned': False, 'discarded': []}, 'frames': [['TOO_LARGE', 6], ['ORPHAN', 'end']]}, {'phase': 'collecting', 'registers': {'partial': [4, 5, 6, 7, 8, 9], 'published': [], 'owned': False, 'discarded': []}, 'frames': [['TOO_LARGE', 6], ['ORPHAN', 'end'], ['NESTED_BEGIN', 6]]}, {'phase': 'idle', 'registers': {'partial': [], 'published': [], 'owned': False, 'discarded': [4, 5, 6, 7, 8, 9]}, 'frames': [['TOO_LARGE', 6], ['ORPHAN', 'end'], ['NESTED_BEGIN', 6]]}, {'phase': 'collecting', 'registers': {'partial': [4, 5, 6, 7, 8, 9], 'published': [], 'owned': False, 'discarded': [4, 5, 6, 7, 8, 9]}, 'frames': [['TOO_LARGE', 6], ['ORPHAN', 'end'], ['NESTED_BEGIN', 6]]}]), ('empty input', 'idle', [], []), ('unknown event', 'idle', ['unsupported'], [{'phase': 'idle', 'registers': {'partial': [], 'published': [], 'owned': False, 'discarded': []}, 'frames': [['reject', [4, 5, 6, 7, 8, 9]]]}])], 5: [('idle/begin', 'idle', ['begin'], [{'phase': 'collecting', 'registers': {'partial': [5, 6, 7, 8, 9, 10, 11], 'published': [], 'owned': False, 'discarded': []}, 'frames': []}]), ('collecting/middle', 'collecting', ['middle'], [{'phase': 'collecting', 'registers': {'partial': [4, 5, 6, 7, 8, 9, 10, 11], 'published': [], 'owned': True, 'discarded': []}, 'frames': []}]), ('collecting/end', 'collecting', ['end'], [{'phase': 'complete', 'registers': {'partial': [4, 5, 6, 7, 8, 9, 10, 11], 'published': [[4, 5, 6, 7, 8, 9, 10, 11]], 'owned': True, 'discarded': []}, 'frames': []}]), ('idle/middle', 'idle', ['middle'], [{'phase': 'idle', 'registers': {'partial': [], 'published': [], 'owned': False, 'discarded': []}, 'frames': [['ORPHAN', 'middle']]}]), ('idle/end', 'idle', ['end'], [{'phase': 'idle', 'registers': {'partial': [], 'published': [], 'owned': False, 'discarded': []}, 'frames': [['ORPHAN', 'end']]}]), ('collecting/begin', 'collecting', ['begin'], [{'phase': 'collecting', 'registers': {'partial': [4], 'published': [], 'owned': True, 'discarded': []}, 'frames': [['NESTED_BEGIN', 1]]}]), ('collecting/abort', 'collecting', ['abort'], [{'phase': 'idle', 'registers': {'partial': [], 'published': [], 'owned': True, 'discarded': [4]}, 'frames': []}]), ('complete/consume', 'complete', ['consume'], [{'phase': 'idle', 'registers': {'partial': [], 'published': [[5, 6, 7, 8, 9, 10, 11]], 'owned': False, 'discarded': []}, 'frames': []}]), ('complete/middle', 'complete', ['middle'], [{'phase': 'complete', 'registers': {'partial': [], 'published': [[5, 6, 7, 8, 9, 10, 11]], 'owned': True, 'discarded': []}, 'frames': [['SEALED', 'middle']]}]), ('collecting/oversize', 'collecting', ['oversize'], [{'phase': 'idle', 'registers': {'partial': [], 'published': [], 'owned': True, 'discarded': []}, 'frames': [['TOO_LARGE', 7]]}]), ('ordered trace 0', 'idle', ['begin', 'end', 'consume', 'begin', 'oversize', 'end', 'begin', 'begin'], [{'phase': 'collecting', 'registers': {'partial': [5, 6, 7, 8, 9, 10, 11], 'published': [], 'owned': False, 'discarded': []}, 'frames': []}, {'phase': 'complete', 'registers': {'partial': [5, 6, 7, 8, 9, 10, 11, 5, 6, 7, 8, 9, 10, 11], 'published': [[5, 6, 7, 8, 9, 10, 11, 5, 6, 7, 8, 9, 10, 11]], 'owned': False, 'discarded': []}, 'frames': []}, {'phase': 'idle', 'registers': {'partial': [5, 6, 7, 8, 9, 10, 11, 5, 6, 7, 8, 9, 10, 11], 'published': [[5, 6, 7, 8, 9, 10, 11, 5, 6, 7, 8, 9, 10, 11]], 'owned': False, 'discarded': []}, 'frames': []}, {'phase': 'collecting', 'registers': {'partial': [5, 6, 7, 8, 9, 10, 11], 'published': [[5, 6, 7, 8, 9, 10, 11, 5, 6, 7, 8, 9, 10, 11]], 'owned': False, 'discarded': []}, 'frames': []}, {'phase': 'idle', 'registers': {'partial': [], 'published': [[5, 6, 7, 8, 9, 10, 11, 5, 6, 7, 8, 9, 10, 11]], 'owned': False, 'discarded': []}, 'frames': [['TOO_LARGE', 7]]}, {'phase': 'idle', 'registers': {'partial': [], 'published': [[5, 6, 7, 8, 9, 10, 11, 5, 6, 7, 8, 9, 10, 11]], 'owned': False, 'discarded': []}, 'frames': [['TOO_LARGE', 7], ['ORPHAN', 'end']]}, {'phase': 'collecting', 'registers': {'partial': [5, 6, 7, 8, 9, 10, 11], 'published': [[5, 6, 7, 8, 9, 10, 11, 5, 6, 7, 8, 9, 10, 11]], 'owned': False, 'discarded': []}, 'frames': [['TOO_LARGE', 7], ['ORPHAN', 'end']]}, {'phase': 'collecting', 'registers': {'partial': [5, 6, 7, 8, 9, 10, 11], 'published': [[5, 6, 7, 8, 9, 10, 11, 5, 6, 7, 8, 9, 10, 11]], 'owned': False, 'discarded': []}, 'frames': [['TOO_LARGE', 7], ['ORPHAN', 'end'], ['NESTED_BEGIN', 7]]}]), ('ordered trace 3', 'idle', ['begin', 'oversize', 'end', 'begin', 'begin', 'abort', 'begin', 'middle'], [{'phase': 'collecting', 'registers': {'partial': [5, 6, 7, 8, 9, 10, 11], 'published': [], 'owned': False, 'discarded': []}, 'frames': []}, {'phase': 'idle', 'registers': {'partial': [], 'published': [], 'owned': False, 'discarded': []}, 'frames': [['TOO_LARGE', 7]]}, {'phase': 'idle', 'registers': {'partial': [], 'published': [], 'owned': False, 'discarded': []}, 'frames': [['TOO_LARGE', 7], ['ORPHAN', 'end']]}, {'phase': 'collecting', 'registers': {'partial': [5, 6, 7, 8, 9, 10, 11], 'published': [], 'owned': False, 'discarded': []}, 'frames': [['TOO_LARGE', 7], ['ORPHAN', 'end']]}, {'phase': 'collecting', 'registers': {'partial': [5, 6, 7, 8, 9, 10, 11], 'published': [], 'owned': False, 'discarded': []}, 'frames': [['TOO_LARGE', 7], ['ORPHAN', 'end'], ['NESTED_BEGIN', 7]]}, {'phase': 'idle', 'registers': {'partial': [], 'published': [], 'owned': False, 'discarded': [5, 6, 7, 8, 9, 10, 11]}, 'frames': [['TOO_LARGE', 7], ['ORPHAN', 'end'], ['NESTED_BEGIN', 7]]}, {'phase': 'collecting', 'registers': {'partial': [5, 6, 7, 8, 9, 10, 11], 'published': [], 'owned': False, 'discarded': [5, 6, 7, 8, 9, 10, 11]}, 'frames': [['TOO_LARGE', 7], ['ORPHAN', 'end'], ['NESTED_BEGIN', 7]]}, {'phase': 'collecting', 'registers': {'partial': [5, 6, 7, 8, 9, 10, 11, 5, 6, 7, 8, 9, 10, 11], 'published': [], 'owned': False, 'discarded': [5, 6, 7, 8, 9, 10, 11]}, 'frames': [['TOO_LARGE', 7], ['ORPHAN', 'end'], ['NESTED_BEGIN', 7]]}]), ('empty input', 'idle', [], []), ('unknown event', 'idle', ['unsupported'], [{'phase': 'idle', 'registers': {'partial': [], 'published': [], 'owned': False, 'discarded': []}, '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":"3519281cff75fafd8c6aa842465253fc74d166fb0d29e9401cb5ec2406e602c9","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 = {'partial': [seed-1] if phase=='collecting' else [], 'published': [payload[:]] if phase=='complete' else [], 'owned': phase!='idle', 'discarded': []}\n    frames = []\n    observed = []\n    table = {('idle', 'begin'): ('collecting', 'start_message'), ('collecting', 'middle'): ('collecting', 'append'), ('collecting', 'end'): ('complete', 'append_publish'), ('idle', 'middle'): ('idle', 'reject_orphan'), ('idle', 'end'): ('idle', 'reject_orphan'), ('collecting', 'begin'): ('collecting', 'reject_nested'), ('collecting', 'abort'): ('idle', 'discard_partial'), ('complete', 'consume'): ('idle', 'release_message'), ('complete', 'middle'): ('complete', 'reject_sealed'), ('collecting', 'oversize'): ('idle', 'reject_discard')}\n    for event in events:\n        phase, action = table.get((phase, event), (phase, \"reject\"))\n        if action == 'start_message':\n            r['partial']=payload[:]\n        elif action == 'append':\n            r['partial'].extend(payload)\n        elif action == 'append_publish':\n            r['partial'].extend(payload); r['published'].append(r['partial'][:])\n        elif action == 'reject_orphan':\n            frames.append(['ORPHAN',event])\n        elif action == 'reject_nested':\n            frames.append(['NESTED_BEGIN',len(r['partial'])])\n        elif action == 'discard_partial':\n            r['discarded'].extend(r['partial']); r['partial']=[]\n        elif action == 'release_message':\n            r['owned']=False\n        elif action == 'reject_sealed':\n            frames.append(['SEALED',event])\n        elif action == 'reject_discard':\n            r['partial']=[]; frames.append(['TOO_LARGE',len(payload)])\n        elif action == 'publish':\n            r['published'].append(r['partial'][:])\n        elif action == 'publish_without_end':\n            r['published'].append(r['partial'][:])\n        elif action == 'replace':\n            r['partial']=payload[:]\n        elif action == 'buffer':\n            r['partial'].extend(payload)\n        elif action == 'ack':\n            frames.append(['MESSAGE_OK',seed])\n        elif action == 'restart':\n            r['partial']=payload[:]\n        elif action == 'discard':\n            r['partial']=[]\n        elif action == 'keep_partial':\n            r['owned']=False\n        elif action == 'retain':\n            r['owned']=True\n        elif action == 'discard_unread':\n            r['published']=[]\n        elif action == 'truncate':\n            r['partial']=r['partial'][:1]\n        elif action == 'publish_prefix':\n            r['published'].append(r['partial'][:1])\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: [('idle/begin', 'idle', ['begin'], [{'phase': 'collecting', 'registers': {'partial': [1, 2, 3], 'published': [], 'owned': False, 'discarded': []}, 'frames': []}]), ('collecting/middle', 'collecting', ['middle'], [{'phase': 'collecting', 'registers': {'partial': [0, 1, 2, 3], 'published': [], 'owned': True, 'discarded': []}, 'frames': []}]), ('collecting/end', 'collecting', ['end'], [{'phase': 'complete', 'registers': {'partial': [0, 1, 2, 3], 'published': [[0, 1, 2, 3]], 'owned': True, 'discarded': []}, 'frames': []}]), ('idle/middle', 'idle', ['middle'], [{'phase': 'idle', 'registers': {'partial': [], 'published': [], 'owned': False, 'discarded': []}, 'frames': [['ORPHAN', 'middle']]}]), ('idle/end', 'idle', ['end'], [{'phase': 'idle', 'registers': {'partial': [], 'published': [], 'owned': False, 'discarded': []}, 'frames': [['ORPHAN', 'end']]}]), ('collecting/begin', 'collecting', ['begin'], [{'phase': 'collecting', 'registers': {'partial': [0], 'published': [], 'owned': True, 'discarded': []}, 'frames': [['NESTED_BEGIN', 1]]}]), ('collecting/abort', 'collecting', ['abort'], [{'phase': 'idle', 'registers': {'partial': [], 'published': [], 'owned': True, 'discarded': [0]}, 'frames': []}]), ('complete/consume', 'complete', ['consume'], [{'phase': 'idle', 'registers': {'partial': [], 'published': [[1, 2, 3]], 'owned': False, 'discarded': []}, 'frames': []}]), ('complete/middle', 'complete', ['middle'], [{'phase': 'complete', 'registers': {'partial': [], 'published': [[1, 2, 3]], 'owned': True, 'discarded': []}, 'frames': [['SEALED', 'middle']]}]), ('collecting/oversize', 'collecting', ['oversize'], [{'phase': 'idle', 'registers': {'partial': [], 'published': [], 'owned': True, 'discarded': []}, 'frames': [['TOO_LARGE', 3]]}]), ('ordered trace 0', 'idle', ['begin', 'end', 'consume', 'begin'], [{'phase': 'collecting', 'registers': {'partial': [1, 2, 3], 'published': [], 'owned': False, 'discarded': []}, 'frames': []}, {'phase': 'complete', 'registers': {'partial': [1, 2, 3, 1, 2, 3], 'published': [[1, 2, 3, 1, 2, 3]], 'owned': False, 'discarded': []}, 'frames': []}, {'phase': 'idle', 'registers': {'partial': [1, 2, 3, 1, 2, 3], 'published': [[1, 2, 3, 1, 2, 3]], 'owned': False, 'discarded': []}, 'frames': []}, {'phase': 'collecting', 'registers': {'partial': [1, 2, 3], 'published': [[1, 2, 3, 1, 2, 3]], 'owned': False, 'discarded': []}, 'frames': []}]), ('ordered trace 3', 'idle', ['begin', 'oversize', 'end', 'begin'], [{'phase': 'collecting', 'registers': {'partial': [1, 2, 3], 'published': [], 'owned': False, 'discarded': []}, 'frames': []}, {'phase': 'idle', 'registers': {'partial': [], 'published': [], 'owned': False, 'discarded': []}, 'frames': [['TOO_LARGE', 3]]}, {'phase': 'idle', 'registers': {'partial': [], 'published': [], 'owned': False, 'discarded': []}, 'frames': [['TOO_LARGE', 3], ['ORPHAN', 'end']]}, {'phase': 'collecting', 'registers': {'partial': [1, 2, 3], 'published': [], 'owned': False, 'discarded': []}, 'frames': [['TOO_LARGE', 3], ['ORPHAN', 'end']]}]), ('empty input', 'idle', [], []), ('unknown event', 'idle', ['unsupported'], [{'phase': 'idle', 'registers': {'partial': [], 'published': [], 'owned': False, 'discarded': []}, 'frames': [['reject', [1, 2, 3]]]}])], 2: [('idle/begin', 'idle', ['begin'], [{'phase': 'collecting', 'registers': {'partial': [2, 3, 4, 5], 'published': [], 'owned': False, 'discarded': []}, 'frames': []}]), ('collecting/middle', 'collecting', ['middle'], [{'phase': 'collecting', 'registers': {'partial': [1, 2, 3, 4, 5], 'published': [], 'owned': True, 'discarded': []}, 'frames': []}]), ('collecting/end', 'collecting', ['end'], [{'phase': 'complete', 'registers': {'partial': [1, 2, 3, 4, 5], 'published': [[1, 2, 3, 4, 5]], 'owned': True, 'discarded': []}, 'frames': []}]), ('idle/middle', 'idle', ['middle'], [{'phase': 'idle', 'registers': {'partial': [], 'published': [], 'owned': False, 'discarded': []}, 'frames': [['ORPHAN', 'middle']]}]), ('idle/end', 'idle', ['end'], [{'phase': 'idle', 'registers': {'partial': [], 'published': [], 'owned': False, 'discarded': []}, 'frames': [['ORPHAN', 'end']]}]), ('collecting/begin', 'collecting', ['begin'], [{'phase': 'collecting', 'registers': {'partial': [1], 'published': [], 'owned': True, 'discarded': []}, 'frames': [['NESTED_BEGIN', 1]]}]), ('collecting/abort', 'collecting', ['abort'], [{'phase': 'idle', 'registers': {'partial': [], 'published': [], 'owned': True, 'discarded': [1]}, 'frames': []}]), ('complete/consume', 'complete', ['consume'], [{'phase': 'idle', 'registers': {'partial': [], 'published': [[2, 3, 4, 5]], 'owned': False, 'discarded': []}, 'frames': []}]), ('complete/middle', 'complete', ['middle'], [{'phase': 'complete', 'registers': {'partial': [], 'published': [[2, 3, 4, 5]], 'owned': True, 'discarded': []}, 'frames': [['SEALED', 'middle']]}]), ('collecting/oversize', 'collecting', ['oversize'], [{'phase': 'idle', 'registers': {'partial': [], 'published': [], 'owned': True, 'discarded': []}, 'frames': [['TOO_LARGE', 4]]}]), ('ordered trace 0', 'idle', ['begin', 'end', 'consume', 'begin', 'oversize'], [{'phase': 'collecting', 'registers': {'partial': [2, 3, 4, 5], 'published': [], 'owned': False, 'discarded': []}, 'frames': []}, {'phase': 'complete', 'registers': {'partial': [2, 3, 4, 5, 2, 3, 4, 5], 'published': [[2, 3, 4, 5, 2, 3, 4, 5]], 'owned': False, 'discarded': []}, 'frames': []}, {'phase': 'idle', 'registers': {'partial': [2, 3, 4, 5, 2, 3, 4, 5], 'published': [[2, 3, 4, 5, 2, 3, 4, 5]], 'owned': False, 'discarded': []}, 'frames': []}, {'phase': 'collecting', 'registers': {'partial': [2, 3, 4, 5], 'published': [[2, 3, 4, 5, 2, 3, 4, 5]], 'owned': False, 'discarded': []}, 'frames': []}, {'phase': 'idle', 'registers': {'partial': [], 'published': [[2, 3, 4, 5, 2, 3, 4, 5]], 'owned': False, 'discarded': []}, 'frames': [['TOO_LARGE', 4]]}]), ('ordered trace 3', 'idle', ['begin', 'oversize', 'end', 'begin', 'begin'], [{'phase': 'collecting', 'registers': {'partial': [2, 3, 4, 5], 'published': [], 'owned': False, 'discarded': []}, 'frames': []}, {'phase': 'idle', 'registers': {'partial': [], 'published': [], 'owned': False, 'discarded': []}, 'frames': [['TOO_LARGE', 4]]}, {'phase': 'idle', 'registers': {'partial': [], 'published': [], 'owned': False, 'discarded': []}, 'frames': [['TOO_LARGE', 4], ['ORPHAN', 'end']]}, {'phase': 'collecting', 'registers': {'partial': [2, 3, 4, 5], 'published': [], 'owned': False, 'discarded': []}, 'frames': [['TOO_LARGE', 4], ['ORPHAN', 'end']]}, {'phase': 'collecting', 'registers': {'partial': [2, 3, 4, 5], 'published': [], 'owned': False, 'discarded': []}, 'frames': [['TOO_LARGE', 4], ['ORPHAN', 'end'], ['NESTED_BEGIN', 4]]}]), ('empty input', 'idle', [], []), ('unknown event', 'idle', ['unsupported'], [{'phase': 'idle', 'registers': {'partial': [], 'published': [], 'owned': False, 'discarded': []}, 'frames': [['reject', [2, 3, 4, 5]]]}])], 3: [('idle/begin', 'idle', ['begin'], [{'phase': 'collecting', 'registers': {'partial': [3, 4, 5, 6, 7], 'published': [], 'owned': False, 'discarded': []}, 'frames': []}]), ('collecting/middle', 'collecting', ['middle'], [{'phase': 'collecting', 'registers': {'partial': [2, 3, 4, 5, 6, 7], 'published': [], 'owned': True, 'discarded': []}, 'frames': []}]), ('collecting/end', 'collecting', ['end'], [{'phase': 'complete', 'registers': {'partial': [2, 3, 4, 5, 6, 7], 'published': [[2, 3, 4, 5, 6, 7]], 'owned': True, 'discarded': []}, 'frames': []}]), ('idle/middle', 'idle', ['middle'], [{'phase': 'idle', 'registers': {'partial': [], 'published': [], 'owned': False, 'discarded': []}, 'frames': [['ORPHAN', 'middle']]}]), ('idle/end', 'idle', ['end'], [{'phase': 'idle', 'registers': {'partial': [], 'published': [], 'owned': False, 'discarded': []}, 'frames': [['ORPHAN', 'end']]}]), ('collecting/begin', 'collecting', ['begin'], [{'phase': 'collecting', 'registers': {'partial': [2], 'published': [], 'owned': True, 'discarded': []}, 'frames': [['NESTED_BEGIN', 1]]}]), ('collecting/abort', 'collecting', ['abort'], [{'phase': 'idle', 'registers': {'partial': [], 'published': [], 'owned': True, 'discarded': [2]}, 'frames': []}]), ('complete/consume', 'complete', ['consume'], [{'phase': 'idle', 'registers': {'partial': [], 'published': [[3, 4, 5, 6, 7]], 'owned': False, 'discarded': []}, 'frames': []}]), ('complete/middle', 'complete', ['middle'], [{'phase': 'complete', 'registers': {'partial': [], 'published': [[3, 4, 5, 6, 7]], 'owned': True, 'discarded': []}, 'frames': [['SEALED', 'middle']]}]), ('collecting/oversize', 'collecting', ['oversize'], [{'phase': 'idle', 'registers': {'partial': [], 'published': [], 'owned': True, 'discarded': []}, 'frames': [['TOO_LARGE', 5]]}]), ('ordered trace 0', 'idle', ['begin', 'end', 'consume', 'begin', 'oversize', 'end'], [{'phase': 'collecting', 'registers': {'partial': [3, 4, 5, 6, 7], 'published': [], 'owned': False, 'discarded': []}, 'frames': []}, {'phase': 'complete', 'registers': {'partial': [3, 4, 5, 6, 7, 3, 4, 5, 6, 7], 'published': [[3, 4, 5, 6, 7, 3, 4, 5, 6, 7]], 'owned': False, 'discarded': []}, 'frames': []}, {'phase': 'idle', 'registers': {'partial': [3, 4, 5, 6, 7, 3, 4, 5, 6, 7], 'published': [[3, 4, 5, 6, 7, 3, 4, 5, 6, 7]], 'owned': False, 'discarded': []}, 'frames': []}, {'phase': 'collecting', 'registers': {'partial': [3, 4, 5, 6, 7], 'published': [[3, 4, 5, 6, 7, 3, 4, 5, 6, 7]], 'owned': False, 'discarded': []}, 'frames': []}, {'phase': 'idle', 'registers': {'partial': [], 'published': [[3, 4, 5, 6, 7, 3, 4, 5, 6, 7]], 'owned': False, 'discarded': []}, 'frames': [['TOO_LARGE', 5]]}, {'phase': 'idle', 'registers': {'partial': [], 'published': [[3, 4, 5, 6, 7, 3, 4, 5, 6, 7]], 'owned': False, 'discarded': []}, 'frames': [['TOO_LARGE', 5], ['ORPHAN', 'end']]}]), ('ordered trace 3', 'idle', ['begin', 'oversize', 'end', 'begin', 'begin', 'abort'], [{'phase': 'collecting', 'registers': {'partial': [3, 4, 5, 6, 7], 'published': [], 'owned': False, 'discarded': []}, 'frames': []}, {'phase': 'idle', 'registers': {'partial': [], 'published': [], 'owned': False, 'discarded': []}, 'frames': [['TOO_LARGE', 5]]}, {'phase': 'idle', 'registers': {'partial': [], 'published': [], 'owned': False, 'discarded': []}, 'frames': [['TOO_LARGE', 5], ['ORPHAN', 'end']]}, {'phase': 'collecting', 'registers': {'partial': [3, 4, 5, 6, 7], 'published': [], 'owned': False, 'discarded': []}, 'frames': [['TOO_LARGE', 5], ['ORPHAN', 'end']]}, {'phase': 'collecting', 'registers': {'partial': [3, 4, 5, 6, 7], 'published': [], 'owned': False, 'discarded': []}, 'frames': [['TOO_LARGE', 5], ['ORPHAN', 'end'], ['NESTED_BEGIN', 5]]}, {'phase': 'idle', 'registers': {'partial': [], 'published': [], 'owned': False, 'discarded': [3, 4, 5, 6, 7]}, 'frames': [['TOO_LARGE', 5], ['ORPHAN', 'end'], ['NESTED_BEGIN', 5]]}]), ('empty input', 'idle', [], []), ('unknown event', 'idle', ['unsupported'], [{'phase': 'idle', 'registers': {'partial': [], 'published': [], 'owned': False, 'discarded': []}, 'frames': [['reject', [3, 4, 5, 6, 7]]]}])], 4: [('idle/begin', 'idle', ['begin'], [{'phase': 'collecting', 'registers': {'partial': [4, 5, 6, 7, 8, 9], 'published': [], 'owned': False, 'discarded': []}, 'frames': []}]), ('collecting/middle', 'collecting', ['middle'], [{'phase': 'collecting', 'registers': {'partial': [3, 4, 5, 6, 7, 8, 9], 'published': [], 'owned': True, 'discarded': []}, 'frames': []}]), ('collecting/end', 'collecting', ['end'], [{'phase': 'complete', 'registers': {'partial': [3, 4, 5, 6, 7, 8, 9], 'published': [[3, 4, 5, 6, 7, 8, 9]], 'owned': True, 'discarded': []}, 'frames': []}]), ('idle/middle', 'idle', ['middle'], [{'phase': 'idle', 'registers': {'partial': [], 'published': [], 'owned': False, 'discarded': []}, 'frames': [['ORPHAN', 'middle']]}]), ('idle/end', 'idle', ['end'], [{'phase': 'idle', 'registers': {'partial': [], 'published': [], 'owned': False, 'discarded': []}, 'frames': [['ORPHAN', 'end']]}]), ('collecting/begin', 'collecting', ['begin'], [{'phase': 'collecting', 'registers': {'partial': [3], 'published': [], 'owned': True, 'discarded': []}, 'frames': [['NESTED_BEGIN', 1]]}]), ('collecting/abort', 'collecting', ['abort'], [{'phase': 'idle', 'registers': {'partial': [], 'published': [], 'owned': True, 'discarded': [3]}, 'frames': []}]), ('complete/consume', 'complete', ['consume'], [{'phase': 'idle', 'registers': {'partial': [], 'published': [[4, 5, 6, 7, 8, 9]], 'owned': False, 'discarded': []}, 'frames': []}]), ('complete/middle', 'complete', ['middle'], [{'phase': 'complete', 'registers': {'partial': [], 'published': [[4, 5, 6, 7, 8, 9]], 'owned': True, 'discarded': []}, 'frames': [['SEALED', 'middle']]}]), ('collecting/oversize', 'collecting', ['oversize'], [{'phase': 'idle', 'registers': {'partial': [], 'published': [], 'owned': True, 'discarded': []}, 'frames': [['TOO_LARGE', 6]]}]), ('ordered trace 0', 'idle', ['begin', 'end', 'consume', 'begin', 'oversize', 'end', 'begin'], [{'phase': 'collecting', 'registers': {'partial': [4, 5, 6, 7, 8, 9], 'published': [], 'owned': False, 'discarded': []}, 'frames': []}, {'phase': 'complete', 'registers': {'partial': [4, 5, 6, 7, 8, 9, 4, 5, 6, 7, 8, 9], 'published': [[4, 5, 6, 7, 8, 9, 4, 5, 6, 7, 8, 9]], 'owned': False, 'discarded': []}, 'frames': []}, {'phase': 'idle', 'registers': {'partial': [4, 5, 6, 7, 8, 9, 4, 5, 6, 7, 8, 9], 'published': [[4, 5, 6, 7, 8, 9, 4, 5, 6, 7, 8, 9]], 'owned': False, 'discarded': []}, 'frames': []}, {'phase': 'collecting', 'registers': {'partial': [4, 5, 6, 7, 8, 9], 'published': [[4, 5, 6, 7, 8, 9, 4, 5, 6, 7, 8, 9]], 'owned': False, 'discarded': []}, 'frames': []}, {'phase': 'idle', 'registers': {'partial': [], 'published': [[4, 5, 6, 7, 8, 9, 4, 5, 6, 7, 8, 9]], 'owned': False, 'discarded': []}, 'frames': [['TOO_LARGE', 6]]}, {'phase': 'idle', 'registers': {'partial': [], 'published': [[4, 5, 6, 7, 8, 9, 4, 5, 6, 7, 8, 9]], 'owned': False, 'discarded': []}, 'frames': [['TOO_LARGE', 6], ['ORPHAN', 'end']]}, {'phase': 'collecting', 'registers': {'partial': [4, 5, 6, 7, 8, 9], 'published': [[4, 5, 6, 7, 8, 9, 4, 5, 6, 7, 8, 9]], 'owned': False, 'discarded': []}, 'frames': [['TOO_LARGE', 6], ['ORPHAN', 'end']]}]), ('ordered trace 3', 'idle', ['begin', 'oversize', 'end', 'begin', 'begin', 'abort', 'begin'], [{'phase': 'collecting', 'registers': {'partial': [4, 5, 6, 7, 8, 9], 'published': [], 'owned': False, 'discarded': []}, 'frames': []}, {'phase': 'idle', 'registers': {'partial': [], 'published': [], 'owned': False, 'discarded': []}, 'frames': [['TOO_LARGE', 6]]}, {'phase': 'idle', 'registers': {'partial': [], 'published': [], 'owned': False, 'discarded': []}, 'frames': [['TOO_LARGE', 6], ['ORPHAN', 'end']]}, {'phase': 'collecting', 'registers': {'partial': [4, 5, 6, 7, 8, 9], 'published': [], 'owned': False, 'discarded': []}, 'frames': [['TOO_LARGE', 6], ['ORPHAN', 'end']]}, {'phase': 'collecting', 'registers': {'partial': [4, 5, 6, 7, 8, 9], 'published': [], 'owned': False, 'discarded': []}, 'frames': [['TOO_LARGE', 6], ['ORPHAN', 'end'], ['NESTED_BEGIN', 6]]}, {'phase': 'idle', 'registers': {'partial': [], 'published': [], 'owned': False, 'discarded': [4, 5, 6, 7, 8, 9]}, 'frames': [['TOO_LARGE', 6], ['ORPHAN', 'end'], ['NESTED_BEGIN', 6]]}, {'phase': 'collecting', 'registers': {'partial': [4, 5, 6, 7, 8, 9], 'published': [], 'owned': False, 'discarded': [4, 5, 6, 7, 8, 9]}, 'frames': [['TOO_LARGE', 6], ['ORPHAN', 'end'], ['NESTED_BEGIN', 6]]}]), ('empty input', 'idle', [], []), ('unknown event', 'idle', ['unsupported'], [{'phase': 'idle', 'registers': {'partial': [], 'published': [], 'owned': False, 'discarded': []}, 'frames': [['reject', [4, 5, 6, 7, 8, 9]]]}])], 5: [('idle/begin', 'idle', ['begin'], [{'phase': 'collecting', 'registers': {'partial': [5, 6, 7, 8, 9, 10, 11], 'published': [], 'owned': False, 'discarded': []}, 'frames': []}]), ('collecting/middle', 'collecting', ['middle'], [{'phase': 'collecting', 'registers': {'partial': [4, 5, 6, 7, 8, 9, 10, 11], 'published': [], 'owned': True, 'discarded': []}, 'frames': []}]), ('collecting/end', 'collecting', ['end'], [{'phase': 'complete', 'registers': {'partial': [4, 5, 6, 7, 8, 9, 10, 11], 'published': [[4, 5, 6, 7, 8, 9, 10, 11]], 'owned': True, 'discarded': []}, 'frames': []}]), ('idle/middle', 'idle', ['middle'], [{'phase': 'idle', 'registers': {'partial': [], 'published': [], 'owned': False, 'discarded': []}, 'frames': [['ORPHAN', 'middle']]}]), ('idle/end', 'idle', ['end'], [{'phase': 'idle', 'registers': {'partial': [], 'published': [], 'owned': False, 'discarded': []}, 'frames': [['ORPHAN', 'end']]}]), ('collecting/begin', 'collecting', ['begin'], [{'phase': 'collecting', 'registers': {'partial': [4], 'published': [], 'owned': True, 'discarded': []}, 'frames': [['NESTED_BEGIN', 1]]}]), ('collecting/abort', 'collecting', ['abort'], [{'phase': 'idle', 'registers': {'partial': [], 'published': [], 'owned': True, 'discarded': [4]}, 'frames': []}]), ('complete/consume', 'complete', ['consume'], [{'phase': 'idle', 'registers': {'partial': [], 'published': [[5, 6, 7, 8, 9, 10, 11]], 'owned': False, 'discarded': []}, 'frames': []}]), ('complete/middle', 'complete', ['middle'], [{'phase': 'complete', 'registers': {'partial': [], 'published': [[5, 6, 7, 8, 9, 10, 11]], 'owned': True, 'discarded': []}, 'frames': [['SEALED', 'middle']]}]), ('collecting/oversize', 'collecting', ['oversize'], [{'phase': 'idle', 'registers': {'partial': [], 'published': [], 'owned': True, 'discarded': []}, 'frames': [['TOO_LARGE', 7]]}]), ('ordered trace 0', 'idle', ['begin', 'end', 'consume', 'begin', 'oversize', 'end', 'begin', 'begin'], [{'phase': 'collecting', 'registers': {'partial': [5, 6, 7, 8, 9, 10, 11], 'published': [], 'owned': False, 'discarded': []}, 'frames': []}, {'phase': 'complete', 'registers': {'partial': [5, 6, 7, 8, 9, 10, 11, 5, 6, 7, 8, 9, 10, 11], 'published': [[5, 6, 7, 8, 9, 10, 11, 5, 6, 7, 8, 9, 10, 11]], 'owned': False, 'discarded': []}, 'frames': []}, {'phase': 'idle', 'registers': {'partial': [5, 6, 7, 8, 9, 10, 11, 5, 6, 7, 8, 9, 10, 11], 'published': [[5, 6, 7, 8, 9, 10, 11, 5, 6, 7, 8, 9, 10, 11]], 'owned': False, 'discarded': []}, 'frames': []}, {'phase': 'collecting', 'registers': {'partial': [5, 6, 7, 8, 9, 10, 11], 'published': [[5, 6, 7, 8, 9, 10, 11, 5, 6, 7, 8, 9, 10, 11]], 'owned': False, 'discarded': []}, 'frames': []}, {'phase': 'idle', 'registers': {'partial': [], 'published': [[5, 6, 7, 8, 9, 10, 11, 5, 6, 7, 8, 9, 10, 11]], 'owned': False, 'discarded': []}, 'frames': [['TOO_LARGE', 7]]}, {'phase': 'idle', 'registers': {'partial': [], 'published': [[5, 6, 7, 8, 9, 10, 11, 5, 6, 7, 8, 9, 10, 11]], 'owned': False, 'discarded': []}, 'frames': [['TOO_LARGE', 7], ['ORPHAN', 'end']]}, {'phase': 'collecting', 'registers': {'partial': [5, 6, 7, 8, 9, 10, 11], 'published': [[5, 6, 7, 8, 9, 10, 11, 5, 6, 7, 8, 9, 10, 11]], 'owned': False, 'discarded': []}, 'frames': [['TOO_LARGE', 7], ['ORPHAN', 'end']]}, {'phase': 'collecting', 'registers': {'partial': [5, 6, 7, 8, 9, 10, 11], 'published': [[5, 6, 7, 8, 9, 10, 11, 5, 6, 7, 8, 9, 10, 11]], 'owned': False, 'discarded': []}, 'frames': [['TOO_LARGE', 7], ['ORPHAN', 'end'], ['NESTED_BEGIN', 7]]}]), ('ordered trace 3', 'idle', ['begin', 'oversize', 'end', 'begin', 'begin', 'abort', 'begin', 'middle'], [{'phase': 'collecting', 'registers': {'partial': [5, 6, 7, 8, 9, 10, 11], 'published': [], 'owned': False, 'discarded': []}, 'frames': []}, {'phase': 'idle', 'registers': {'partial': [], 'published': [], 'owned': False, 'discarded': []}, 'frames': [['TOO_LARGE', 7]]}, {'phase': 'idle', 'registers': {'partial': [], 'published': [], 'owned': False, 'discarded': []}, 'frames': [['TOO_LARGE', 7], ['ORPHAN', 'end']]}, {'phase': 'collecting', 'registers': {'partial': [5, 6, 7, 8, 9, 10, 11], 'published': [], 'owned': False, 'discarded': []}, 'frames': [['TOO_LARGE', 7], ['ORPHAN', 'end']]}, {'phase': 'collecting', 'registers': {'partial': [5, 6, 7, 8, 9, 10, 11], 'published': [], 'owned': False, 'discarded': []}, 'frames': [['TOO_LARGE', 7], ['ORPHAN', 'end'], ['NESTED_BEGIN', 7]]}, {'phase': 'idle', 'registers': {'partial': [], 'published': [], 'owned': False, 'discarded': [5, 6, 7, 8, 9, 10, 11]}, 'frames': [['TOO_LARGE', 7], ['ORPHAN', 'end'], ['NESTED_BEGIN', 7]]}, {'phase': 'collecting', 'registers': {'partial': [5, 6, 7, 8, 9, 10, 11], 'published': [], 'owned': False, 'discarded': [5, 6, 7, 8, 9, 10, 11]}, 'frames': [['TOO_LARGE', 7], ['ORPHAN', 'end'], ['NESTED_BEGIN', 7]]}, {'phase': 'collecting', 'registers': {'partial': [5, 6, 7, 8, 9, 10, 11, 5, 6, 7, 8, 9, 10, 11], 'published': [], 'owned': False, 'discarded': [5, 6, 7, 8, 9, 10, 11]}, 'frames': [['TOO_LARGE', 7], ['ORPHAN', 'end'], ['NESTED_BEGIN', 7]]}]), ('empty input', 'idle', [], []), ('unknown event', 'idle', ['unsupported'], [{'phase': 'idle', 'registers': {'partial': [], 'published': [], 'owned': False, 'discarded': []}, '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-multipart-collecting-middle","generated_at":"2026-09-29T14:40:03.842876+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 collecting, classify middle as transition to collecting and emit append.","root_cause":"In collecting, the middle handler runs publish and enters complete; it must instead run append and enter collecting.","sha256":"64c79152de581f5d6b3363f3282ed00561d80ef8f8c5233cd3ffe0e98936c465","title":"Segmented message assembly controller: collecting / middle · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":44.621,"exit_code":1,"observations":[{"actual":[{"frames":[],"phase":"collecting","registers":{"discarded":[],"owned":false,"partial":[1,2,3],"published":[]}}],"check":"idle/begin","expected":[{"frames":[],"phase":"collecting","registers":{"discarded":[],"owned":false,"partial":[1,2,3],"published":[]}}],"passed":true},{"actual":[{"frames":[],"phase":"collecting","registers":{"discarded":[],"owned":true,"partial":[1,2,3],"published":[]}}],"check":"collecting/middle","expected":[{"frames":[],"phase":"collecting","registers":{"discarded":[],"owned":true,"partial":[0,1,2,3],"published":[]}}],"passed":false},{"actual":[{"frames":[],"phase":"complete","registers":{"discarded":[],"owned":true,"partial":[0,1,2,3],"published":[[0,1,2,3]]}}],"check":"collecting/end","expected":[{"frames":[],"phase":"complete","registers":{"discarded":[],"owned":true,"partial":[0,1,2,3],"published":[[0,1,2,3]]}}],"passed":true},{"actual":[{"frames":[["ORPHAN","middle"]],"phase":"idle","registers":{"discarded":[],"owned":false,"partial":[],"published":[]}}],"check":"idle/middle","expected":[{"frames":[["ORPHAN","middle"]],"phase":"idle","registers":{"discarded":[],"owned":false,"partial":[],"published":[]}}],"passed":true},{"actual":[{"frames":[["ORPHAN","end"]],"phase":"idle","registers":{"discarded":[],"owned":false,"partial":[],"published":[]}}],"check":"idle/end","expected":[{"frames":[["ORPHAN","end"]],"phase":"idle","registers":{"discarded":[],"owned":false,"partial":[],"published":[]}}],"passed":true},{"actual":[{"frames":[["NESTED_BEGIN",1]],"phase":"collecting","registers":{"discarded":[],"owned":true,"partial":[0],"published":[]}}],"check":"collecting/begin","expected":[{"frames":[["NESTED_BEGIN",1]],"phase":"collecting","registers":{"discarded":[],"owned":true,"partial":[0],"published":[]}}],"passed":true},{"actual":[{"frames":[],"phase":"idle","registers":{"discarded":[0],"owned":true,"partial":[],"published":[]}}],"check":"collecting/abort","expected":[{"frames":[],"phase":"idle","registers":{"discarded":[0],"owned":true,"partial":[],"published":[]}}],"passed":true},{"actual":[{"frames":[],"phase":"idle","registers":{"discarded":[],"owned":false,"partial":[],"published":[[1,2,3]]}}],"check":"complete/consume","expected":[{"frames":[],"phase":"idle","registers":{"discarded":[],"owned":false,"partial":[],"published":[[1,2,3]]}}],"passed":true},{"actual":[{"frames":[["SEALED","middle"]],"phase":"complete","registers":{"discarded":[],"owned":true,"partial":[],"published":[[1,2,3]]}}],"check":"complete/middle","expected":[{"frames":[["SEALED","middle"]],"phase":"complete","registers":{"discarded":[],"owned":true,"partial":[],"published":[[1,2,3]]}}],"passed":true},{"actual":[{"frames":[["TOO_LARGE",3]],"phase":"idle","registers":{"discarded":[],"owned":true,"partial":[],"published":[]}}],"check":"collecting/oversize","expected":[{"frames":[["TOO_LARGE",3]],"phase":"idle","registers":{"discarded":[],"owned":true,"partial":[],"published":[]}}],"passed":true},{"actual":[{"frames":[],"phase":"collecting","registers":{"discarded":[],"owned":false,"partial":[1,2,3],"published":[]}},{"frames":[],"phase":"complete","registers":{"discarded":[],"owned":false,"partial":[1,2,3,1,2,3],"published":[[1,2,3,1,2,3]]}},{"frames":[],"phase":"idle","registers":{"discarded":[],"owned":false,"partial":[1,2,3,1,2,3],"published":[[1,2,3,1,2,3]]}},{"frames":[],"phase":"collecting","registers":{"discarded":[],"owned":false,"partial":[1,2,3],"published":[[1,2,3,1,2,3]]}}],"check":"ordered trace 0","expected":[{"frames":[],"phase":"collecting","registers":{"discarded":[],"owned":false,"partial":[1,2,3],"published":[]}},{"frames":[],"phase":"complete","registers":{"discarded":[],"owned":false,"partial":[1,2,3,1,2,3],"published":[[1,2,3,1,2,3]]}},{"frames":[],"phase":"idle","registers":{"discarded":[],"owned":false,"partial":[1,2,3,1,2,3],"published":[[1,2,3,1,2,3]]}},{"frames":[],"phase":"collecting","registers":{"discarded":[],"owned":false,"partial":[1,2,3],"published":[[1,2,3,1,2,3]]}}],"passed":true},{"actual":[{"frames":[],"phase":"collecting","registers":{"discarded":[],"owned":false,"partial":[1,2,3],"published":[]}},{"frames":[["TOO_LARGE",3]],"phase":"idle","registers":{"discarded":[],"owned":false,"partial":[],"published":[]}},{"frames":[["TOO_LARGE",3],["ORPHAN","end"]],"phase":"idle","registers":{"discarded":[],"owned":false,"partial":[],"published":[]}},{"frames":[["TOO_LARGE",3],["ORPHAN","end"]],"phase":"collecting","registers":{"discarded":[],"owned":false,"partial":[1,2,3],"published":[]}}],"check":"ordered trace 3","expected":[{"frames":[],"phase":"collecting","registers":{"discarded":[],"owned":false,"partial":[1,2,3],"published":[]}},{"frames":[["TOO_LARGE",3]],"phase":"idle","registers":{"discarded":[],"owned":false,"partial":[],"published":[]}},{"frames":[["TOO_LARGE",3],["ORPHAN","end"]],"phase":"idle","registers":{"discarded":[],"owned":false,"partial":[],"published":[]}},{"frames":[["TOO_LARGE",3],["ORPHAN","end"]],"phase":"collecting","registers":{"discarded":[],"owned":false,"partial":[1,2,3],"published":[]}}],"passed":true},{"actual":[],"check":"empty input","expected":[],"passed":true},{"actual":[{"frames":[["reject",[1,2,3]]],"phase":"idle","registers":{"discarded":[],"owned":false,"partial":[],"published":[]}}],"check":"unknown event","expected":[{"frames":[["reject",[1,2,3]]],"phase":"idle","registers":{"discarded":[],"owned":false,"partial":[],"published":[]}}],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"idle/begin\", \"actual\": [{\"phase\": \"collecting\", \"registers\": {\"partial\": [1, 2, 3], \"published\": [], \"owned\": false, \"discarded\": []}, \"frames\": []}], \"expected\": [{\"phase\": \"collecting\", \"registers\": {\"partial\": [1, 2, 3], \"published\": [], \"owned\": false, \"discarded\": []}, \"frames\": []}], \"passed\": true}, {\"check\": \"collecting/middle\", \"actual\": [{\"phase\": \"collecting\", \"registers\": {\"partial\": [1, 2, 3], \"published\": [], \"owned\": true, \"discarded\": []}, \"frames\": []}], \"expected\": [{\"phase\": \"collecting\", \"registers\": {\"partial\": [0, 1, 2, 3], \"published\": [], \"owned\": true, \"discarded\": []}, \"frames\": []}], \"passed\": false}, {\"check\": \"collecting/end\", \"actual\": [{\"phase\": \"complete\", \"registers\": {\"partial\": [0, 1, 2, 3], \"published\": [[0, 1, 2, 3]], \"owned\": true, \"discarded\": []}, \"frames\": []}], \"expected\": [{\"phase\": \"complete\", \"registers\": {\"partial\": [0, 1, 2, 3], \"published\": [[0, 1, 2, 3]], \"owned\": true, \"discarded\": []}, \"frames\": []}], \"passed\": true}, {\"check\": \"idle/middle\", \"actual\": [{\"phase\": \"idle\", \"registers\": {\"partial\": [], \"published\": [], \"owned\": false, \"discarded\": []}, \"frames\": [[\"ORPHAN\", \"middle\"]]}], \"expected\": [{\"phase\": \"idle\", \"registers\": {\"partial\": [], \"published\": [], \"owned\": false, \"discarded\": []}, \"frames\": [[\"ORPHAN\", \"middle\"]]}], \"passed\": true}, {\"check\": \"idle/end\", \"actual\": [{\"phase\": \"idle\", \"registers\": {\"partial\": [], \"published\": [], \"owned\": false, \"discarded\": []}, \"frames\": [[\"ORPHAN\", \"end\"]]}], \"expected\": [{\"phase\": \"idle\", \"registers\": {\"partial\": [], \"published\": [], \"owned\": false, \"discarded\": []}, \"frames\": [[\"ORPHAN\", \"end\"]]}], \"passed\": true}, {\"check\": \"collecting/begin\", \"actual\": [{\"phase\": \"collecting\", \"registers\": {\"partial\": [0], \"published\": [], \"owned\": true, \"discarded\": []}, \"frames\": [[\"NESTED_BEGIN\", 1]]}], \"expected\": [{\"phase\": \"collecting\", \"registers\": {\"partial\": [0], \"published\": [], \"owned\": true, \"discarded\": []}, \"frames\": [[\"NESTED_BEGIN\", 1]]}], \"passed\": true}, {\"check\": \"collecting/abort\", \"actual\": [{\"phase\": \"idle\", \"registers\": {\"partial\": [], \"published\": [], \"owned\": true, \"discarded\": [0]}, \"frames\": []}], \"expected\": [{\"phase\": \"idle\", \"registers\": {\"partial\": [], \"published\": [], \"owned\": true, \"discarded\": [0]}, \"frames\": []}], \"passed\": true}, {\"check\": \"complete/consume\", \"actual\": [{\"phase\": \"idle\", \"registers\": {\"partial\": [], \"published\": [[1, 2, 3]], \"owned\": false, \"discarded\": []}, \"frames\": []}], \"expected\": [{\"phase\": \"idle\", \"registers\": {\"partial\": [], \"published\": [[1, 2, 3]], \"owned\": false, \"discarded\": []}, \"frames\": []}], \"passed\": true}, {\"check\": \"complete/middle\", \"actual\": [{\"phase\": \"complete\", \"registers\": {\"partial\": [], \"published\": [[1, 2, 3]], \"owned\": true, \"discarded\": []}, \"frames\": [[\"SEALED\", \"middle\"]]}], \"expected\": [{\"phase\": \"complete\", \"registers\": {\"partial\": [], \"published\": [[1, 2, 3]], \"owned\": true, \"discarded\": []}, \"frames\": [[\"SEALED\", \"middle\"]]}], \"passed\": true}, {\"check\": \"collecting/oversize\", \"actual\": [{\"phase\": \"idle\", \"registers\": {\"partial\": [], \"published\": [], \"owned\": true, \"discarded\": []}, \"frames\": [[\"TOO_LARGE\", 3]]}], \"expected\": [{\"phase\": \"idle\", \"registers\": {\"partial\": [], \"published\": [], \"owned\": true, \"discarded\": []}, \"frames\": [[\"TOO_LARGE\", 3]]}], \"passed\": true}, {\"check\": \"ordered trace 0\", \"actual\": [{\"phase\": \"collecting\", \"registers\": {\"partial\": [1, 2, 3], \"published\": [], \"owned\": false, \"discarded\": []}, \"frames\": []}, {\"phase\": \"complete\", \"registers\": {\"partial\": [1, 2, 3, 1, 2, 3], \"published\": [[1, 2, 3, 1, 2, 3]], \"owned\": false, \"discarded\": []}, \"frames\": []}, {\"phase\": \"idle\", \"registers\": {\"partial\": [1, 2, 3, 1, 2, 3], \"published\": [[1, 2, 3, 1, 2, 3]], \"owned\": false, \"discarded\": []}, \"frames\": []}, {\"phase\": \"collecting\", \"registers\": {\"partial\": [1, 2, 3], \"published\": [[1, 2, 3, 1, 2, 3]], \"owned\": false, \"discarded\": []}, \"frames\": []}], \"expected\": [{\"phase\": \"collecting\", \"registers\": {\"partial\": [1, 2, 3], \"published\": [], \"owned\": false, \"discarded\": []}, \"frames\": []}, {\"phase\": \"complete\", \"registers\": {\"partial\": [1, 2, 3, 1, 2, 3], \"published\": [[1, 2, 3, 1, 2, 3]], \"owned\": false, \"discarded\": []}, \"frames\": []}, {\"phase\": \"idle\", \"registers\": {\"partial\": [1, 2, 3, 1, 2, 3], \"published\": [[1, 2, 3, 1, 2, 3]], \"owned\": false, \"discarded\": []}, \"frames\": []}, {\"phase\": \"collecting\", \"registers\": {\"partial\": [1, 2, 3], \"published\": [[1, 2, 3, 1, 2, 3]], \"owned\": false, \"discarded\": []}, \"frames\": []}], \"passed\": true}, {\"check\": \"ordered trace 3\", \"actual\": [{\"phase\": \"collecting\", \"registers\": {\"partial\": [1, 2, 3], \"published\": [], \"owned\": false, \"discarded\": []}, \"frames\": []}, {\"phase\": \"idle\", \"registers\": {\"partial\": [], \"published\": [], \"owned\": false, \"discarded\": []}, \"frames\": [[\"TOO_LARGE\", 3]]}, {\"phase\": \"idle\", \"registers\": {\"partial\": [], \"published\": [], \"owned\": false, \"discarded\": []}, \"frames\": [[\"TOO_LARGE\", 3], [\"ORPHAN\", \"end\"]]}, {\"phase\": \"collecting\", \"registers\": {\"partial\": [1, 2, 3], \"published\": [], \"owned\": false, \"discarded\": []}, \"frames\": [[\"TOO_LARGE\", 3], [\"ORPHAN\", \"end\"]]}], \"expected\": [{\"phase\": \"collecting\", \"registers\": {\"partial\": [1, 2, 3], \"published\": [], \"owned\": false, \"discarded\": []}, \"frames\": []}, {\"phase\": \"idle\", \"registers\": {\"partial\": [], \"published\": [], \"owned\": false, \"discarded\": []}, \"frames\": [[\"TOO_LARGE\", 3]]}, {\"phase\": \"idle\", \"registers\": {\"partial\": [], \"published\": [], \"owned\": false, \"discarded\": []}, \"frames\": [[\"TOO_LARGE\", 3], [\"ORPHAN\", \"end\"]]}, {\"phase\": \"collecting\", \"registers\": {\"partial\": [1, 2, 3], \"published\": [], \"owned\": false, \"discarded\": []}, \"frames\": [[\"TOO_LARGE\", 3], [\"ORPHAN\", \"end\"]]}], \"passed\": true}, {\"check\": \"empty input\", \"actual\": [], \"expected\": [], \"passed\": true}, {\"check\": \"unknown event\", \"actual\": [{\"phase\": \"idle\", \"registers\": {\"partial\": [], \"published\": [], \"owned\": false, \"discarded\": []}, \"frames\": [[\"reject\", [1, 2, 3]]]}], \"expected\": [{\"phase\": \"idle\", \"registers\": {\"partial\": [], \"published\": [], \"owned\": false, \"discarded\": []}, \"frames\": [[\"reject\", [1, 2, 3]]]}], \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":46.948,"exit_code":1,"observations":[{"actual":[{"frames":[],"phase":"collecting","registers":{"discarded":[],"owned":false,"partial":[1,2,3],"published":[]}}],"check":"idle/begin","expected":[{"frames":[],"phase":"collecting","registers":{"discarded":[],"owned":false,"partial":[1,2,3],"published":[]}}],"passed":true},{"actual":[{"frames":[],"phase":"complete","registers":{"discarded":[],"owned":true,"partial":[0],"published":[[0]]}}],"check":"collecting/middle","expected":[{"frames":[],"phase":"collecting","registers":{"discarded":[],"owned":true,"partial":[0,1,2,3],"published":[]}}],"passed":false},{"actual":[{"frames":[],"phase":"complete","registers":{"discarded":[],"owned":true,"partial":[0,1,2,3],"published":[[0,1,2,3]]}}],"check":"collecting/end","expected":[{"frames":[],"phase":"complete","registers":{"discarded":[],"owned":true,"partial":[0,1,2,3],"published":[[0,1,2,3]]}}],"passed":true},{"actual":[{"frames":[["ORPHAN","middle"]],"phase":"idle","registers":{"discarded":[],"owned":false,"partial":[],"published":[]}}],"check":"idle/middle","expected":[{"frames":[["ORPHAN","middle"]],"phase":"idle","registers":{"discarded":[],"owned":false,"partial":[],"published":[]}}],"passed":true},{"actual":[{"frames":[["ORPHAN","end"]],"phase":"idle","registers":{"discarded":[],"owned":false,"partial":[],"published":[]}}],"check":"idle/end","expected":[{"frames":[["ORPHAN","end"]],"phase":"idle","registers":{"discarded":[],"owned":false,"partial":[],"published":[]}}],"passed":true},{"actual":[{"frames":[["NESTED_BEGIN",1]],"phase":"collecting","registers":{"discarded":[],"owned":true,"partial":[0],"published":[]}}],"check":"collecting/begin","expected":[{"frames":[["NESTED_BEGIN",1]],"phase":"collecting","registers":{"discarded":[],"owned":true,"partial":[0],"published":[]}}],"passed":true},{"actual":[{"frames":[],"phase":"idle","registers":{"discarded":[0],"owned":true,"partial":[],"published":[]}}],"check":"collecting/abort","expected":[{"frames":[],"phase":"idle","registers":{"discarded":[0],"owned":true,"partial":[],"published":[]}}],"passed":true},{"actual":[{"frames":[],"phase":"idle","registers":{"discarded":[],"owned":false,"partial":[],"published":[[1,2,3]]}}],"check":"complete/consume","expected":[{"frames":[],"phase":"idle","registers":{"discarded":[],"owned":false,"partial":[],"published":[[1,2,3]]}}],"passed":true},{"actual":[{"frames":[["SEALED","middle"]],"phase":"complete","registers":{"discarded":[],"owned":true,"partial":[],"published":[[1,2,3]]}}],"check":"complete/middle","expected":[{"frames":[["SEALED","middle"]],"phase":"complete","registers":{"discarded":[],"owned":true,"partial":[],"published":[[1,2,3]]}}],"passed":true},{"actual":[{"frames":[["TOO_LARGE",3]],"phase":"idle","registers":{"discarded":[],"owned":true,"partial":[],"published":[]}}],"check":"collecting/oversize","expected":[{"frames":[["TOO_LARGE",3]],"phase":"idle","registers":{"discarded":[],"owned":true,"partial":[],"published":[]}}],"passed":true},{"actual":[{"frames":[],"phase":"collecting","registers":{"discarded":[],"owned":false,"partial":[1,2,3],"published":[]}},{"frames":[],"phase":"complete","registers":{"discarded":[],"owned":false,"partial":[1,2,3,1,2,3],"published":[[1,2,3,1,2,3]]}},{"frames":[],"phase":"idle","registers":{"discarded":[],"owned":false,"partial":[1,2,3,1,2,3],"published":[[1,2,3,1,2,3]]}},{"frames":[],"phase":"collecting","registers":{"discarded":[],"owned":false,"partial":[1,2,3],"published":[[1,2,3,1,2,3]]}}],"check":"ordered trace 0","expected":[{"frames":[],"phase":"collecting","registers":{"discarded":[],"owned":false,"partial":[1,2,3],"published":[]}},{"frames":[],"phase":"complete","registers":{"discarded":[],"owned":false,"partial":[1,2,3,1,2,3],"published":[[1,2,3,1,2,3]]}},{"frames":[],"phase":"idle","registers":{"discarded":[],"owned":false,"partial":[1,2,3,1,2,3],"published":[[1,2,3,1,2,3]]}},{"frames":[],"phase":"collecting","registers":{"discarded":[],"owned":false,"partial":[1,2,3],"published":[[1,2,3,1,2,3]]}}],"passed":true},{"actual":[{"frames":[],"phase":"collecting","registers":{"discarded":[],"owned":false,"partial":[1,2,3],"published":[]}},{"frames":[["TOO_LARGE",3]],"phase":"idle","registers":{"discarded":[],"owned":false,"partial":[],"published":[]}},{"frames":[["TOO_LARGE",3],["ORPHAN","end"]],"phase":"idle","registers":{"discarded":[],"owned":false,"partial":[],"published":[]}},{"frames":[["TOO_LARGE",3],["ORPHAN","end"]],"phase":"collecting","registers":{"discarded":[],"owned":false,"partial":[1,2,3],"published":[]}}],"check":"ordered trace 3","expected":[{"frames":[],"phase":"collecting","registers":{"discarded":[],"owned":false,"partial":[1,2,3],"published":[]}},{"frames":[["TOO_LARGE",3]],"phase":"idle","registers":{"discarded":[],"owned":false,"partial":[],"published":[]}},{"frames":[["TOO_LARGE",3],["ORPHAN","end"]],"phase":"idle","registers":{"discarded":[],"owned":false,"partial":[],"published":[]}},{"frames":[["TOO_LARGE",3],["ORPHAN","end"]],"phase":"collecting","registers":{"discarded":[],"owned":false,"partial":[1,2,3],"published":[]}}],"passed":true},{"actual":[],"check":"empty input","expected":[],"passed":true},{"actual":[{"frames":[["reject",[1,2,3]]],"phase":"idle","registers":{"discarded":[],"owned":false,"partial":[],"published":[]}}],"check":"unknown event","expected":[{"frames":[["reject",[1,2,3]]],"phase":"idle","registers":{"discarded":[],"owned":false,"partial":[],"published":[]}}],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"idle/begin\", \"actual\": [{\"phase\": \"collecting\", \"registers\": {\"partial\": [1, 2, 3], \"published\": [], \"owned\": false, \"discarded\": []}, \"frames\": []}], \"expected\": [{\"phase\": \"collecting\", \"registers\": {\"partial\": [1, 2, 3], \"published\": [], \"owned\": false, \"discarded\": []}, \"frames\": []}], \"passed\": true}, {\"check\": \"collecting/middle\", \"actual\": [{\"phase\": \"complete\", \"registers\": {\"partial\": [0], \"published\": [[0]], \"owned\": true, \"discarded\": []}, \"frames\": []}], \"expected\": [{\"phase\": \"collecting\", \"registers\": {\"partial\": [0, 1, 2, 3], \"published\": [], \"owned\": true, \"discarded\": []}, \"frames\": []}], \"passed\": false}, {\"check\": \"collecting/end\", \"actual\": [{\"phase\": \"complete\", \"registers\": {\"partial\": [0, 1, 2, 3], \"published\": [[0, 1, 2, 3]], \"owned\": true, \"discarded\": []}, \"frames\": []}], \"expected\": [{\"phase\": \"complete\", \"registers\": {\"partial\": [0, 1, 2, 3], \"published\": [[0, 1, 2, 3]], \"owned\": true, \"discarded\": []}, \"frames\": []}], \"passed\": true}, {\"check\": \"idle/middle\", \"actual\": [{\"phase\": \"idle\", \"registers\": {\"partial\": [], \"published\": [], \"owned\": false, \"discarded\": []}, \"frames\": [[\"ORPHAN\", \"middle\"]]}], \"expected\": [{\"phase\": \"idle\", \"registers\": {\"partial\": [], \"published\": [], \"owned\": false, \"discarded\": []}, \"frames\": [[\"ORPHAN\", \"middle\"]]}], \"passed\": true}, {\"check\": \"idle/end\", \"actual\": [{\"phase\": \"idle\", \"registers\": {\"partial\": [], \"published\": [], \"owned\": false, \"discarded\": []}, \"frames\": [[\"ORPHAN\", \"end\"]]}], \"expected\": [{\"phase\": \"idle\", \"registers\": {\"partial\": [], \"published\": [], \"owned\": false, \"discarded\": []}, \"frames\": [[\"ORPHAN\", \"end\"]]}], \"passed\": true}, {\"check\": \"collecting/begin\", \"actual\": [{\"phase\": \"collecting\", \"registers\": {\"partial\": [0], \"published\": [], \"owned\": true, \"discarded\": []}, \"frames\": [[\"NESTED_BEGIN\", 1]]}], \"expected\": [{\"phase\": \"collecting\", \"registers\": {\"partial\": [0], \"published\": [], \"owned\": true, \"discarded\": []}, \"frames\": [[\"NESTED_BEGIN\", 1]]}], \"passed\": true}, {\"check\": \"collecting/abort\", \"actual\": [{\"phase\": \"idle\", \"registers\": {\"partial\": [], \"published\": [], \"owned\": true, \"discarded\": [0]}, \"frames\": []}], \"expected\": [{\"phase\": \"idle\", \"registers\": {\"partial\": [], \"published\": [], \"owned\": true, \"discarded\": [0]}, \"frames\": []}], \"passed\": true}, {\"check\": \"complete/consume\", \"actual\": [{\"phase\": \"idle\", \"registers\": {\"partial\": [], \"published\": [[1, 2, 3]], \"owned\": false, \"discarded\": []}, \"frames\": []}], \"expected\": [{\"phase\": \"idle\", \"registers\": {\"partial\": [], \"published\": [[1, 2, 3]], \"owned\": false, \"discarded\": []}, \"frames\": []}], \"passed\": true}, {\"check\": \"complete/middle\", \"actual\": [{\"phase\": \"complete\", \"registers\": {\"partial\": [], \"published\": [[1, 2, 3]], \"owned\": true, \"discarded\": []}, \"frames\": [[\"SEALED\", \"middle\"]]}], \"expected\": [{\"phase\": \"complete\", \"registers\": {\"partial\": [], \"published\": [[1, 2, 3]], \"owned\": true, \"discarded\": []}, \"frames\": [[\"SEALED\", \"middle\"]]}], \"passed\": true}, {\"check\": \"collecting/oversize\", \"actual\": [{\"phase\": \"idle\", \"registers\": {\"partial\": [], \"published\": [], \"owned\": true, \"discarded\": []}, \"frames\": [[\"TOO_LARGE\", 3]]}], \"expected\": [{\"phase\": \"idle\", \"registers\": {\"partial\": [], \"published\": [], \"owned\": true, \"discarded\": []}, \"frames\": [[\"TOO_LARGE\", 3]]}], \"passed\": true}, {\"check\": \"ordered trace 0\", \"actual\": [{\"phase\": \"collecting\", \"registers\": {\"partial\": [1, 2, 3], \"published\": [], \"owned\": false, \"discarded\": []}, \"frames\": []}, {\"phase\": \"complete\", \"registers\": {\"partial\": [1, 2, 3, 1, 2, 3], \"published\": [[1, 2, 3, 1, 2, 3]], \"owned\": false, \"discarded\": []}, \"frames\": []}, {\"phase\": \"idle\", \"registers\": {\"partial\": [1, 2, 3, 1, 2, 3], \"published\": [[1, 2, 3, 1, 2, 3]], \"owned\": false, \"discarded\": []}, \"frames\": []}, {\"phase\": \"collecting\", \"registers\": {\"partial\": [1, 2, 3], \"published\": [[1, 2, 3, 1, 2, 3]], \"owned\": false, \"discarded\": []}, \"frames\": []}], \"expected\": [{\"phase\": \"collecting\", \"registers\": {\"partial\": [1, 2, 3], \"published\": [], \"owned\": false, \"discarded\": []}, \"frames\": []}, {\"phase\": \"complete\", \"registers\": {\"partial\": [1, 2, 3, 1, 2, 3], \"published\": [[1, 2, 3, 1, 2, 3]], \"owned\": false, \"discarded\": []}, \"frames\": []}, {\"phase\": \"idle\", \"registers\": {\"partial\": [1, 2, 3, 1, 2, 3], \"published\": [[1, 2, 3, 1, 2, 3]], \"owned\": false, \"discarded\": []}, \"frames\": []}, {\"phase\": \"collecting\", \"registers\": {\"partial\": [1, 2, 3], \"published\": [[1, 2, 3, 1, 2, 3]], \"owned\": false, \"discarded\": []}, \"frames\": []}], \"passed\": true}, {\"check\": \"ordered trace 3\", \"actual\": [{\"phase\": \"collecting\", \"registers\": {\"partial\": [1, 2, 3], \"published\": [], \"owned\": false, \"discarded\": []}, \"frames\": []}, {\"phase\": \"idle\", \"registers\": {\"partial\": [], \"published\": [], \"owned\": false, \"discarded\": []}, \"frames\": [[\"TOO_LARGE\", 3]]}, {\"phase\": \"idle\", \"registers\": {\"partial\": [], \"published\": [], \"owned\": false, \"discarded\": []}, \"frames\": [[\"TOO_LARGE\", 3], [\"ORPHAN\", \"end\"]]}, {\"phase\": \"collecting\", \"registers\": {\"partial\": [1, 2, 3], \"published\": [], \"owned\": false, \"discarded\": []}, \"frames\": [[\"TOO_LARGE\", 3], [\"ORPHAN\", \"end\"]]}], \"expected\": [{\"phase\": \"collecting\", \"registers\": {\"partial\": [1, 2, 3], \"published\": [], \"owned\": false, \"discarded\": []}, \"frames\": []}, {\"phase\": \"idle\", \"registers\": {\"partial\": [], \"published\": [], \"owned\": false, \"discarded\": []}, \"frames\": [[\"TOO_LARGE\", 3]]}, {\"phase\": \"idle\", \"registers\": {\"partial\": [], \"published\": [], \"owned\": false, \"discarded\": []}, \"frames\": [[\"TOO_LARGE\", 3], [\"ORPHAN\", \"end\"]]}, {\"phase\": \"collecting\", \"registers\": {\"partial\": [1, 2, 3], \"published\": [], \"owned\": false, \"discarded\": []}, \"frames\": [[\"TOO_LARGE\", 3], [\"ORPHAN\", \"end\"]]}], \"passed\": true}, {\"check\": \"empty input\", \"actual\": [], \"expected\": [], \"passed\": true}, {\"check\": \"unknown event\", \"actual\": [{\"phase\": \"idle\", \"registers\": {\"partial\": [], \"published\": [], \"owned\": false, \"discarded\": []}, \"frames\": [[\"reject\", [1, 2, 3]]]}], \"expected\": [{\"phase\": \"idle\", \"registers\": {\"partial\": [], \"published\": [], \"owned\": false, \"discarded\": []}, \"frames\": [[\"reject\", [1, 2, 3]]]}], \"passed\": true}], \"passed\": false}\n"},"fixed":{"elapsed_ms":45.772,"exit_code":0,"observations":[{"actual":[{"frames":[],"phase":"collecting","registers":{"discarded":[],"owned":false,"partial":[1,2,3],"published":[]}}],"check":"idle/begin","expected":[{"frames":[],"phase":"collecting","registers":{"discarded":[],"owned":false,"partial":[1,2,3],"published":[]}}],"passed":true},{"actual":[{"frames":[],"phase":"collecting","registers":{"discarded":[],"owned":true,"partial":[0,1,2,3],"published":[]}}],"check":"collecting/middle","expected":[{"frames":[],"phase":"collecting","registers":{"discarded":[],"owned":true,"partial":[0,1,2,3],"published":[]}}],"passed":true},{"actual":[{"frames":[],"phase":"complete","registers":{"discarded":[],"owned":true,"partial":[0,1,2,3],"published":[[0,1,2,3]]}}],"check":"collecting/end","expected":[{"frames":[],"phase":"complete","registers":{"discarded":[],"owned":true,"partial":[0,1,2,3],"published":[[0,1,2,3]]}}],"passed":true},{"actual":[{"frames":[["ORPHAN","middle"]],"phase":"idle","registers":{"discarded":[],"owned":false,"partial":[],"published":[]}}],"check":"idle/middle","expected":[{"frames":[["ORPHAN","middle"]],"phase":"idle","registers":{"discarded":[],"owned":false,"partial":[],"published":[]}}],"passed":true},{"actual":[{"frames":[["ORPHAN","end"]],"phase":"idle","registers":{"discarded":[],"owned":false,"partial":[],"published":[]}}],"check":"idle/end","expected":[{"frames":[["ORPHAN","end"]],"phase":"idle","registers":{"discarded":[],"owned":false,"partial":[],"published":[]}}],"passed":true},{"actual":[{"frames":[["NESTED_BEGIN",1]],"phase":"collecting","registers":{"discarded":[],"owned":true,"partial":[0],"published":[]}}],"check":"collecting/begin","expected":[{"frames":[["NESTED_BEGIN",1]],"phase":"collecting","registers":{"discarded":[],"owned":true,"partial":[0],"published":[]}}],"passed":true},{"actual":[{"frames":[],"phase":"idle","registers":{"discarded":[0],"owned":true,"partial":[],"published":[]}}],"check":"collecting/abort","expected":[{"frames":[],"phase":"idle","registers":{"discarded":[0],"owned":true,"partial":[],"published":[]}}],"passed":true},{"actual":[{"frames":[],"phase":"idle","registers":{"discarded":[],"owned":false,"partial":[],"published":[[1,2,3]]}}],"check":"complete/consume","expected":[{"frames":[],"phase":"idle","registers":{"discarded":[],"owned":false,"partial":[],"published":[[1,2,3]]}}],"passed":true},{"actual":[{"frames":[["SEALED","middle"]],"phase":"complete","registers":{"discarded":[],"owned":true,"partial":[],"published":[[1,2,3]]}}],"check":"complete/middle","expected":[{"frames":[["SEALED","middle"]],"phase":"complete","registers":{"discarded":[],"owned":true,"partial":[],"published":[[1,2,3]]}}],"passed":true},{"actual":[{"frames":[["TOO_LARGE",3]],"phase":"idle","registers":{"discarded":[],"owned":true,"partial":[],"published":[]}}],"check":"collecting/oversize","expected":[{"frames":[["TOO_LARGE",3]],"phase":"idle","registers":{"discarded":[],"owned":true,"partial":[],"published":[]}}],"passed":true},{"actual":[{"frames":[],"phase":"collecting","registers":{"discarded":[],"owned":false,"partial":[1,2,3],"published":[]}},{"frames":[],"phase":"complete","registers":{"discarded":[],"owned":false,"partial":[1,2,3,1,2,3],"published":[[1,2,3,1,2,3]]}},{"frames":[],"phase":"idle","registers":{"discarded":[],"owned":false,"partial":[1,2,3,1,2,3],"published":[[1,2,3,1,2,3]]}},{"frames":[],"phase":"collecting","registers":{"discarded":[],"owned":false,"partial":[1,2,3],"published":[[1,2,3,1,2,3]]}}],"check":"ordered trace 0","expected":[{"frames":[],"phase":"collecting","registers":{"discarded":[],"owned":false,"partial":[1,2,3],"published":[]}},{"frames":[],"phase":"complete","registers":{"discarded":[],"owned":false,"partial":[1,2,3,1,2,3],"published":[[1,2,3,1,2,3]]}},{"frames":[],"phase":"idle","registers":{"discarded":[],"owned":false,"partial":[1,2,3,1,2,3],"published":[[1,2,3,1,2,3]]}},{"frames":[],"phase":"collecting","registers":{"discarded":[],"owned":false,"partial":[1,2,3],"published":[[1,2,3,1,2,3]]}}],"passed":true},{"actual":[{"frames":[],"phase":"collecting","registers":{"discarded":[],"owned":false,"partial":[1,2,3],"published":[]}},{"frames":[["TOO_LARGE",3]],"phase":"idle","registers":{"discarded":[],"owned":false,"partial":[],"published":[]}},{"frames":[["TOO_LARGE",3],["ORPHAN","end"]],"phase":"idle","registers":{"discarded":[],"owned":false,"partial":[],"published":[]}},{"frames":[["TOO_LARGE",3],["ORPHAN","end"]],"phase":"collecting","registers":{"discarded":[],"owned":false,"partial":[1,2,3],"published":[]}}],"check":"ordered trace 3","expected":[{"frames":[],"phase":"collecting","registers":{"discarded":[],"owned":false,"partial":[1,2,3],"published":[]}},{"frames":[["TOO_LARGE",3]],"phase":"idle","registers":{"discarded":[],"owned":false,"partial":[],"published":[]}},{"frames":[["TOO_LARGE",3],["ORPHAN","end"]],"phase":"idle","registers":{"discarded":[],"owned":false,"partial":[],"published":[]}},{"frames":[["TOO_LARGE",3],["ORPHAN","end"]],"phase":"collecting","registers":{"discarded":[],"owned":false,"partial":[1,2,3],"published":[]}}],"passed":true},{"actual":[],"check":"empty input","expected":[],"passed":true},{"actual":[{"frames":[["reject",[1,2,3]]],"phase":"idle","registers":{"discarded":[],"owned":false,"partial":[],"published":[]}}],"check":"unknown event","expected":[{"frames":[["reject",[1,2,3]]],"phase":"idle","registers":{"discarded":[],"owned":false,"partial":[],"published":[]}}],"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"idle/begin\", \"actual\": [{\"phase\": \"collecting\", \"registers\": {\"partial\": [1, 2, 3], \"published\": [], \"owned\": false, \"discarded\": []}, \"frames\": []}], \"expected\": [{\"phase\": \"collecting\", \"registers\": {\"partial\": [1, 2, 3], \"published\": [], \"owned\": false, \"discarded\": []}, \"frames\": []}], \"passed\": true}, {\"check\": \"collecting/middle\", \"actual\": [{\"phase\": \"collecting\", \"registers\": {\"partial\": [0, 1, 2, 3], \"published\": [], \"owned\": true, \"discarded\": []}, \"frames\": []}], \"expected\": [{\"phase\": \"collecting\", \"registers\": {\"partial\": [0, 1, 2, 3], \"published\": [], \"owned\": true, \"discarded\": []}, \"frames\": []}], \"passed\": true}, {\"check\": \"collecting/end\", \"actual\": [{\"phase\": \"complete\", \"registers\": {\"partial\": [0, 1, 2, 3], \"published\": [[0, 1, 2, 3]], \"owned\": true, \"discarded\": []}, \"frames\": []}], \"expected\": [{\"phase\": \"complete\", \"registers\": {\"partial\": [0, 1, 2, 3], \"published\": [[0, 1, 2, 3]], \"owned\": true, \"discarded\": []}, \"frames\": []}], \"passed\": true}, {\"check\": \"idle/middle\", \"actual\": [{\"phase\": \"idle\", \"registers\": {\"partial\": [], \"published\": [], \"owned\": false, \"discarded\": []}, \"frames\": [[\"ORPHAN\", \"middle\"]]}], \"expected\": [{\"phase\": \"idle\", \"registers\": {\"partial\": [], \"published\": [], \"owned\": false, \"discarded\": []}, \"frames\": [[\"ORPHAN\", \"middle\"]]}], \"passed\": true}, {\"check\": \"idle/end\", \"actual\": [{\"phase\": \"idle\", \"registers\": {\"partial\": [], \"published\": [], \"owned\": false, \"discarded\": []}, \"frames\": [[\"ORPHAN\", \"end\"]]}], \"expected\": [{\"phase\": \"idle\", \"registers\": {\"partial\": [], \"published\": [], \"owned\": false, \"discarded\": []}, \"frames\": [[\"ORPHAN\", \"end\"]]}], \"passed\": true}, {\"check\": \"collecting/begin\", \"actual\": [{\"phase\": \"collecting\", \"registers\": {\"partial\": [0], \"published\": [], \"owned\": true, \"discarded\": []}, \"frames\": [[\"NESTED_BEGIN\", 1]]}], \"expected\": [{\"phase\": \"collecting\", \"registers\": {\"partial\": [0], \"published\": [], \"owned\": true, \"discarded\": []}, \"frames\": [[\"NESTED_BEGIN\", 1]]}], \"passed\": true}, {\"check\": \"collecting/abort\", \"actual\": [{\"phase\": \"idle\", \"registers\": {\"partial\": [], \"published\": [], \"owned\": true, \"discarded\": [0]}, \"frames\": []}], \"expected\": [{\"phase\": \"idle\", \"registers\": {\"partial\": [], \"published\": [], \"owned\": true, \"discarded\": [0]}, \"frames\": []}], \"passed\": true}, {\"check\": \"complete/consume\", \"actual\": [{\"phase\": \"idle\", \"registers\": {\"partial\": [], \"published\": [[1, 2, 3]], \"owned\": false, \"discarded\": []}, \"frames\": []}], \"expected\": [{\"phase\": \"idle\", \"registers\": {\"partial\": [], \"published\": [[1, 2, 3]], \"owned\": false, \"discarded\": []}, \"frames\": []}], \"passed\": true}, {\"check\": \"complete/middle\", \"actual\": [{\"phase\": \"complete\", \"registers\": {\"partial\": [], \"published\": [[1, 2, 3]], \"owned\": true, \"discarded\": []}, \"frames\": [[\"SEALED\", \"middle\"]]}], \"expected\": [{\"phase\": \"complete\", \"registers\": {\"partial\": [], \"published\": [[1, 2, 3]], \"owned\": true, \"discarded\": []}, \"frames\": [[\"SEALED\", \"middle\"]]}], \"passed\": true}, {\"check\": \"collecting/oversize\", \"actual\": [{\"phase\": \"idle\", \"registers\": {\"partial\": [], \"published\": [], \"owned\": true, \"discarded\": []}, \"frames\": [[\"TOO_LARGE\", 3]]}], \"expected\": [{\"phase\": \"idle\", \"registers\": {\"partial\": [], \"published\": [], \"owned\": true, \"discarded\": []}, \"frames\": [[\"TOO_LARGE\", 3]]}], \"passed\": true}, {\"check\": \"ordered trace 0\", \"actual\": [{\"phase\": \"collecting\", \"registers\": {\"partial\": [1, 2, 3], \"published\": [], \"owned\": false, \"discarded\": []}, \"frames\": []}, {\"phase\": \"complete\", \"registers\": {\"partial\": [1, 2, 3, 1, 2, 3], \"published\": [[1, 2, 3, 1, 2, 3]], \"owned\": false, \"discarded\": []}, \"frames\": []}, {\"phase\": \"idle\", \"registers\": {\"partial\": [1, 2, 3, 1, 2, 3], \"published\": [[1, 2, 3, 1, 2, 3]], \"owned\": false, \"discarded\": []}, \"frames\": []}, {\"phase\": \"collecting\", \"registers\": {\"partial\": [1, 2, 3], \"published\": [[1, 2, 3, 1, 2, 3]], \"owned\": false, \"discarded\": []}, \"frames\": []}], \"expected\": [{\"phase\": \"collecting\", \"registers\": {\"partial\": [1, 2, 3], \"published\": [], \"owned\": false, \"discarded\": []}, \"frames\": []}, {\"phase\": \"complete\", \"registers\": {\"partial\": [1, 2, 3, 1, 2, 3], \"published\": [[1, 2, 3, 1, 2, 3]], \"owned\": false, \"discarded\": []}, \"frames\": []}, {\"phase\": \"idle\", \"registers\": {\"partial\": [1, 2, 3, 1, 2, 3], \"published\": [[1, 2, 3, 1, 2, 3]], \"owned\": false, \"discarded\": []}, \"frames\": []}, {\"phase\": \"collecting\", \"registers\": {\"partial\": [1, 2, 3], \"published\": [[1, 2, 3, 1, 2, 3]], \"owned\": false, \"discarded\": []}, \"frames\": []}], \"passed\": true}, {\"check\": \"ordered trace 3\", \"actual\": [{\"phase\": \"collecting\", \"registers\": {\"partial\": [1, 2, 3], \"published\": [], \"owned\": false, \"discarded\": []}, \"frames\": []}, {\"phase\": \"idle\", \"registers\": {\"partial\": [], \"published\": [], \"owned\": false, \"discarded\": []}, \"frames\": [[\"TOO_LARGE\", 3]]}, {\"phase\": \"idle\", \"registers\": {\"partial\": [], \"published\": [], \"owned\": false, \"discarded\": []}, \"frames\": [[\"TOO_LARGE\", 3], [\"ORPHAN\", \"end\"]]}, {\"phase\": \"collecting\", \"registers\": {\"partial\": [1, 2, 3], \"published\": [], \"owned\": false, \"discarded\": []}, \"frames\": [[\"TOO_LARGE\", 3], [\"ORPHAN\", \"end\"]]}], \"expected\": [{\"phase\": \"collecting\", \"registers\": {\"partial\": [1, 2, 3], \"published\": [], \"owned\": false, \"discarded\": []}, \"frames\": []}, {\"phase\": \"idle\", \"registers\": {\"partial\": [], \"published\": [], \"owned\": false, \"discarded\": []}, \"frames\": [[\"TOO_LARGE\", 3]]}, {\"phase\": \"idle\", \"registers\": {\"partial\": [], \"published\": [], \"owned\": false, \"discarded\": []}, \"frames\": [[\"TOO_LARGE\", 3], [\"ORPHAN\", \"end\"]]}, {\"phase\": \"collecting\", \"registers\": {\"partial\": [1, 2, 3], \"published\": [], \"owned\": false, \"discarded\": []}, \"frames\": [[\"TOO_LARGE\", 3], [\"ORPHAN\", \"end\"]]}], \"passed\": true}, {\"check\": \"empty input\", \"actual\": [], \"expected\": [], \"passed\": true}, {\"check\": \"unknown event\", \"actual\": [{\"phase\": \"idle\", \"registers\": {\"partial\": [], \"published\": [], \"owned\": false, \"discarded\": []}, \"frames\": [[\"reject\", [1, 2, 3]]]}], \"expected\": [{\"phase\": \"idle\", \"registers\": {\"partial\": [], \"published\": [], \"owned\": false, \"discarded\": []}, \"frames\": [[\"reject\", [1, 2, 3]]]}], \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}