{"abstract":"While ready, event reset produces ready/ignore instead of absent/notify_reset.","category":"Protocols","checks":14,"contract":"For the stipulated Multiplexed logical-channel admission 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-channel_open","failed_approach":"The partial repair chooses absent/notify_ready, which still violates this phase-specific event contract.","family":"s3-protocols-channel_open-ready-reset","id":"FA-18976","implementations":{"attempt":{"sha256":"fecccb698bcc39f5c8e44edf211fa2309833b7c243f762902bef9e4058c5c364","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 = {'channel': seed, 'allocated': int(phase!='absent'), 'ready_notifications': int(phase=='ready'), 'delivered': [], 'producer_error': None, 'policy_checks': 0}\n    frames = []\n    observed = []\n    table = {('absent', 'open_local'): ('pending', 'send_open'), ('pending', 'accepted'): ('ready', 'notify_ready'), ('pending', 'refused'): ('absent', 'notify_refused'), ('absent', 'open_remote'): ('checking', 'check_policy'), ('checking', 'allowed'): ('ready', 'accept'), ('checking', 'denied'): ('absent', 'refuse'), ('pending', 'data'): ('pending', 'reject'), ('ready', 'reset'): ('absent', 'notify_ready'), ('ready', 'duplicate_open'): ('ready', 'repeat_accept'), ('absent', 'accepted'): ('absent', 'reject')}\n    for event in events:\n        phase, action = table.get((phase, event), (phase, \"reject\"))\n        if action == 'send_open':\n            frames.append(['OPEN',r['channel']])\n        elif action == 'notify_ready':\n            r['ready_notifications']+=1\n        elif action == 'notify_refused':\n            r['allocated']=0; r['producer_error']='refused'\n        elif action == 'check_policy':\n            r['policy_checks']+=1\n        elif action == 'accept':\n            frames.append(['ACCEPT',r['channel']])\n        elif action == 'refuse':\n            r['allocated']=0; frames.append(['REFUSE',r['channel']])\n        elif action == 'reject':\n            frames.append(['REJECT',r['channel']])\n        elif action == 'notify_reset':\n            r['allocated']=0; r['producer_error']='reset'\n        elif action == 'repeat_accept':\n            frames.append(['ACCEPT',r['channel']])\n        elif action == 'allocate_again':\n            r['allocated']+=1\n        elif action == 'send_data':\n            frames.append(['DATA',r['channel'],payload])\n        elif action == 'deliver':\n            r['delivered'].extend(payload)\n        elif action == 'buffer':\n            r['delivered'].extend(payload)\n        else:\n            if action not in (\"wait\", \"ignore\", \"keep\", \"retain\", \"keep_peer\", \"keep_offer\", \"keep_hold\", \"keep_batch\", \"retain_staging\", \"keep_staging\", \"keep_local_owner\", \"keep_old_session\", \"keep_address\", \"keep_old_expiry\", \"ignore_conflict\", \"keep_service\", \"keep_subscription\", \"retain_shadow\", \"keep_live\", \"keep_suspicion\", \"keep_roles\", \"keep_staged\"):\n                frames.append([action, payload[:]])\n        observed.append(json.loads(json.dumps({\"phase\": phase, \"registers\": r, \"frames\": frames})))\n    return observed\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncases = {1: [('absent/open_local', 'absent', ['open_local'], [{'phase': 'pending', 'registers': {'channel': 1, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': None, 'policy_checks': 0}, 'frames': [['OPEN', 1]]}]), ('pending/accepted', 'pending', ['accepted'], [{'phase': 'ready', 'registers': {'channel': 1, 'allocated': 1, 'ready_notifications': 1, 'delivered': [], 'producer_error': None, 'policy_checks': 0}, 'frames': []}]), ('pending/refused', 'pending', ['refused'], [{'phase': 'absent', 'registers': {'channel': 1, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': 'refused', 'policy_checks': 0}, 'frames': []}]), ('absent/open_remote', 'absent', ['open_remote'], [{'phase': 'checking', 'registers': {'channel': 1, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': None, 'policy_checks': 1}, 'frames': []}]), ('checking/allowed', 'checking', ['allowed'], [{'phase': 'ready', 'registers': {'channel': 1, 'allocated': 1, 'ready_notifications': 0, 'delivered': [], 'producer_error': None, 'policy_checks': 0}, 'frames': [['ACCEPT', 1]]}]), ('checking/denied', 'checking', ['denied'], [{'phase': 'absent', 'registers': {'channel': 1, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': None, 'policy_checks': 0}, 'frames': [['REFUSE', 1]]}]), ('pending/data', 'pending', ['data'], [{'phase': 'pending', 'registers': {'channel': 1, 'allocated': 1, 'ready_notifications': 0, 'delivered': [], 'producer_error': None, 'policy_checks': 0}, 'frames': [['REJECT', 1]]}]), ('ready/reset', 'ready', ['reset'], [{'phase': 'absent', 'registers': {'channel': 1, 'allocated': 0, 'ready_notifications': 1, 'delivered': [], 'producer_error': 'reset', 'policy_checks': 0}, 'frames': []}]), ('ready/duplicate_open', 'ready', ['duplicate_open'], [{'phase': 'ready', 'registers': {'channel': 1, 'allocated': 1, 'ready_notifications': 1, 'delivered': [], 'producer_error': None, 'policy_checks': 0}, 'frames': [['ACCEPT', 1]]}]), ('absent/accepted', 'absent', ['accepted'], [{'phase': 'absent', 'registers': {'channel': 1, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': None, 'policy_checks': 0}, 'frames': [['REJECT', 1]]}]), ('ordered trace 0', 'absent', ['open_local', 'refused', 'accepted', 'open_local'], [{'phase': 'pending', 'registers': {'channel': 1, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': None, 'policy_checks': 0}, 'frames': [['OPEN', 1]]}, {'phase': 'absent', 'registers': {'channel': 1, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': 'refused', 'policy_checks': 0}, 'frames': [['OPEN', 1]]}, {'phase': 'absent', 'registers': {'channel': 1, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': 'refused', 'policy_checks': 0}, 'frames': [['OPEN', 1], ['REJECT', 1]]}, {'phase': 'pending', 'registers': {'channel': 1, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': 'refused', 'policy_checks': 0}, 'frames': [['OPEN', 1], ['REJECT', 1], ['OPEN', 1]]}]), ('ordered trace 3', 'absent', ['open_local', 'refused', 'accepted', 'open_local'], [{'phase': 'pending', 'registers': {'channel': 1, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': None, 'policy_checks': 0}, 'frames': [['OPEN', 1]]}, {'phase': 'absent', 'registers': {'channel': 1, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': 'refused', 'policy_checks': 0}, 'frames': [['OPEN', 1]]}, {'phase': 'absent', 'registers': {'channel': 1, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': 'refused', 'policy_checks': 0}, 'frames': [['OPEN', 1], ['REJECT', 1]]}, {'phase': 'pending', 'registers': {'channel': 1, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': 'refused', 'policy_checks': 0}, 'frames': [['OPEN', 1], ['REJECT', 1], ['OPEN', 1]]}]), ('empty input', 'absent', [], []), ('unknown event', 'absent', ['unsupported'], [{'phase': 'absent', 'registers': {'channel': 1, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': None, 'policy_checks': 0}, 'frames': [['REJECT', 1]]}])], 2: [('absent/open_local', 'absent', ['open_local'], [{'phase': 'pending', 'registers': {'channel': 2, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': None, 'policy_checks': 0}, 'frames': [['OPEN', 2]]}]), ('pending/accepted', 'pending', ['accepted'], [{'phase': 'ready', 'registers': {'channel': 2, 'allocated': 1, 'ready_notifications': 1, 'delivered': [], 'producer_error': None, 'policy_checks': 0}, 'frames': []}]), ('pending/refused', 'pending', ['refused'], [{'phase': 'absent', 'registers': {'channel': 2, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': 'refused', 'policy_checks': 0}, 'frames': []}]), ('absent/open_remote', 'absent', ['open_remote'], [{'phase': 'checking', 'registers': {'channel': 2, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': None, 'policy_checks': 1}, 'frames': []}]), ('checking/allowed', 'checking', ['allowed'], [{'phase': 'ready', 'registers': {'channel': 2, 'allocated': 1, 'ready_notifications': 0, 'delivered': [], 'producer_error': None, 'policy_checks': 0}, 'frames': [['ACCEPT', 2]]}]), ('checking/denied', 'checking', ['denied'], [{'phase': 'absent', 'registers': {'channel': 2, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': None, 'policy_checks': 0}, 'frames': [['REFUSE', 2]]}]), ('pending/data', 'pending', ['data'], [{'phase': 'pending', 'registers': {'channel': 2, 'allocated': 1, 'ready_notifications': 0, 'delivered': [], 'producer_error': None, 'policy_checks': 0}, 'frames': [['REJECT', 2]]}]), ('ready/reset', 'ready', ['reset'], [{'phase': 'absent', 'registers': {'channel': 2, 'allocated': 0, 'ready_notifications': 1, 'delivered': [], 'producer_error': 'reset', 'policy_checks': 0}, 'frames': []}]), ('ready/duplicate_open', 'ready', ['duplicate_open'], [{'phase': 'ready', 'registers': {'channel': 2, 'allocated': 1, 'ready_notifications': 1, 'delivered': [], 'producer_error': None, 'policy_checks': 0}, 'frames': [['ACCEPT', 2]]}]), ('absent/accepted', 'absent', ['accepted'], [{'phase': 'absent', 'registers': {'channel': 2, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': None, 'policy_checks': 0}, 'frames': [['REJECT', 2]]}]), ('ordered trace 0', 'absent', ['open_local', 'refused', 'accepted', 'open_local', 'refused'], [{'phase': 'pending', 'registers': {'channel': 2, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': None, 'policy_checks': 0}, 'frames': [['OPEN', 2]]}, {'phase': 'absent', 'registers': {'channel': 2, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': 'refused', 'policy_checks': 0}, 'frames': [['OPEN', 2]]}, {'phase': 'absent', 'registers': {'channel': 2, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': 'refused', 'policy_checks': 0}, 'frames': [['OPEN', 2], ['REJECT', 2]]}, {'phase': 'pending', 'registers': {'channel': 2, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': 'refused', 'policy_checks': 0}, 'frames': [['OPEN', 2], ['REJECT', 2], ['OPEN', 2]]}, {'phase': 'absent', 'registers': {'channel': 2, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': 'refused', 'policy_checks': 0}, 'frames': [['OPEN', 2], ['REJECT', 2], ['OPEN', 2]]}]), ('ordered trace 3', 'absent', ['open_local', 'refused', 'accepted', 'open_local', 'refused'], [{'phase': 'pending', 'registers': {'channel': 2, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': None, 'policy_checks': 0}, 'frames': [['OPEN', 2]]}, {'phase': 'absent', 'registers': {'channel': 2, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': 'refused', 'policy_checks': 0}, 'frames': [['OPEN', 2]]}, {'phase': 'absent', 'registers': {'channel': 2, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': 'refused', 'policy_checks': 0}, 'frames': [['OPEN', 2], ['REJECT', 2]]}, {'phase': 'pending', 'registers': {'channel': 2, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': 'refused', 'policy_checks': 0}, 'frames': [['OPEN', 2], ['REJECT', 2], ['OPEN', 2]]}, {'phase': 'absent', 'registers': {'channel': 2, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': 'refused', 'policy_checks': 0}, 'frames': [['OPEN', 2], ['REJECT', 2], ['OPEN', 2]]}]), ('empty input', 'absent', [], []), ('unknown event', 'absent', ['unsupported'], [{'phase': 'absent', 'registers': {'channel': 2, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': None, 'policy_checks': 0}, 'frames': [['REJECT', 2]]}])], 3: [('absent/open_local', 'absent', ['open_local'], [{'phase': 'pending', 'registers': {'channel': 3, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': None, 'policy_checks': 0}, 'frames': [['OPEN', 3]]}]), ('pending/accepted', 'pending', ['accepted'], [{'phase': 'ready', 'registers': {'channel': 3, 'allocated': 1, 'ready_notifications': 1, 'delivered': [], 'producer_error': None, 'policy_checks': 0}, 'frames': []}]), ('pending/refused', 'pending', ['refused'], [{'phase': 'absent', 'registers': {'channel': 3, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': 'refused', 'policy_checks': 0}, 'frames': []}]), ('absent/open_remote', 'absent', ['open_remote'], [{'phase': 'checking', 'registers': {'channel': 3, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': None, 'policy_checks': 1}, 'frames': []}]), ('checking/allowed', 'checking', ['allowed'], [{'phase': 'ready', 'registers': {'channel': 3, 'allocated': 1, 'ready_notifications': 0, 'delivered': [], 'producer_error': None, 'policy_checks': 0}, 'frames': [['ACCEPT', 3]]}]), ('checking/denied', 'checking', ['denied'], [{'phase': 'absent', 'registers': {'channel': 3, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': None, 'policy_checks': 0}, 'frames': [['REFUSE', 3]]}]), ('pending/data', 'pending', ['data'], [{'phase': 'pending', 'registers': {'channel': 3, 'allocated': 1, 'ready_notifications': 0, 'delivered': [], 'producer_error': None, 'policy_checks': 0}, 'frames': [['REJECT', 3]]}]), ('ready/reset', 'ready', ['reset'], [{'phase': 'absent', 'registers': {'channel': 3, 'allocated': 0, 'ready_notifications': 1, 'delivered': [], 'producer_error': 'reset', 'policy_checks': 0}, 'frames': []}]), ('ready/duplicate_open', 'ready', ['duplicate_open'], [{'phase': 'ready', 'registers': {'channel': 3, 'allocated': 1, 'ready_notifications': 1, 'delivered': [], 'producer_error': None, 'policy_checks': 0}, 'frames': [['ACCEPT', 3]]}]), ('absent/accepted', 'absent', ['accepted'], [{'phase': 'absent', 'registers': {'channel': 3, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': None, 'policy_checks': 0}, 'frames': [['REJECT', 3]]}]), ('ordered trace 0', 'absent', ['open_local', 'refused', 'accepted', 'open_local', 'refused', 'accepted'], [{'phase': 'pending', 'registers': {'channel': 3, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': None, 'policy_checks': 0}, 'frames': [['OPEN', 3]]}, {'phase': 'absent', 'registers': {'channel': 3, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': 'refused', 'policy_checks': 0}, 'frames': [['OPEN', 3]]}, {'phase': 'absent', 'registers': {'channel': 3, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': 'refused', 'policy_checks': 0}, 'frames': [['OPEN', 3], ['REJECT', 3]]}, {'phase': 'pending', 'registers': {'channel': 3, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': 'refused', 'policy_checks': 0}, 'frames': [['OPEN', 3], ['REJECT', 3], ['OPEN', 3]]}, {'phase': 'absent', 'registers': {'channel': 3, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': 'refused', 'policy_checks': 0}, 'frames': [['OPEN', 3], ['REJECT', 3], ['OPEN', 3]]}, {'phase': 'absent', 'registers': {'channel': 3, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': 'refused', 'policy_checks': 0}, 'frames': [['OPEN', 3], ['REJECT', 3], ['OPEN', 3], ['REJECT', 3]]}]), ('ordered trace 3', 'absent', ['open_local', 'refused', 'accepted', 'open_local', 'refused', 'accepted'], [{'phase': 'pending', 'registers': {'channel': 3, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': None, 'policy_checks': 0}, 'frames': [['OPEN', 3]]}, {'phase': 'absent', 'registers': {'channel': 3, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': 'refused', 'policy_checks': 0}, 'frames': [['OPEN', 3]]}, {'phase': 'absent', 'registers': {'channel': 3, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': 'refused', 'policy_checks': 0}, 'frames': [['OPEN', 3], ['REJECT', 3]]}, {'phase': 'pending', 'registers': {'channel': 3, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': 'refused', 'policy_checks': 0}, 'frames': [['OPEN', 3], ['REJECT', 3], ['OPEN', 3]]}, {'phase': 'absent', 'registers': {'channel': 3, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': 'refused', 'policy_checks': 0}, 'frames': [['OPEN', 3], ['REJECT', 3], ['OPEN', 3]]}, {'phase': 'absent', 'registers': {'channel': 3, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': 'refused', 'policy_checks': 0}, 'frames': [['OPEN', 3], ['REJECT', 3], ['OPEN', 3], ['REJECT', 3]]}]), ('empty input', 'absent', [], []), ('unknown event', 'absent', ['unsupported'], [{'phase': 'absent', 'registers': {'channel': 3, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': None, 'policy_checks': 0}, 'frames': [['REJECT', 3]]}])], 4: [('absent/open_local', 'absent', ['open_local'], [{'phase': 'pending', 'registers': {'channel': 4, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': None, 'policy_checks': 0}, 'frames': [['OPEN', 4]]}]), ('pending/accepted', 'pending', ['accepted'], [{'phase': 'ready', 'registers': {'channel': 4, 'allocated': 1, 'ready_notifications': 1, 'delivered': [], 'producer_error': None, 'policy_checks': 0}, 'frames': []}]), ('pending/refused', 'pending', ['refused'], [{'phase': 'absent', 'registers': {'channel': 4, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': 'refused', 'policy_checks': 0}, 'frames': []}]), ('absent/open_remote', 'absent', ['open_remote'], [{'phase': 'checking', 'registers': {'channel': 4, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': None, 'policy_checks': 1}, 'frames': []}]), ('checking/allowed', 'checking', ['allowed'], [{'phase': 'ready', 'registers': {'channel': 4, 'allocated': 1, 'ready_notifications': 0, 'delivered': [], 'producer_error': None, 'policy_checks': 0}, 'frames': [['ACCEPT', 4]]}]), ('checking/denied', 'checking', ['denied'], [{'phase': 'absent', 'registers': {'channel': 4, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': None, 'policy_checks': 0}, 'frames': [['REFUSE', 4]]}]), ('pending/data', 'pending', ['data'], [{'phase': 'pending', 'registers': {'channel': 4, 'allocated': 1, 'ready_notifications': 0, 'delivered': [], 'producer_error': None, 'policy_checks': 0}, 'frames': [['REJECT', 4]]}]), ('ready/reset', 'ready', ['reset'], [{'phase': 'absent', 'registers': {'channel': 4, 'allocated': 0, 'ready_notifications': 1, 'delivered': [], 'producer_error': 'reset', 'policy_checks': 0}, 'frames': []}]), ('ready/duplicate_open', 'ready', ['duplicate_open'], [{'phase': 'ready', 'registers': {'channel': 4, 'allocated': 1, 'ready_notifications': 1, 'delivered': [], 'producer_error': None, 'policy_checks': 0}, 'frames': [['ACCEPT', 4]]}]), ('absent/accepted', 'absent', ['accepted'], [{'phase': 'absent', 'registers': {'channel': 4, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': None, 'policy_checks': 0}, 'frames': [['REJECT', 4]]}]), ('ordered trace 0', 'absent', ['open_local', 'refused', 'accepted', 'open_local', 'refused', 'accepted', 'open_local'], [{'phase': 'pending', 'registers': {'channel': 4, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': None, 'policy_checks': 0}, 'frames': [['OPEN', 4]]}, {'phase': 'absent', 'registers': {'channel': 4, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': 'refused', 'policy_checks': 0}, 'frames': [['OPEN', 4]]}, {'phase': 'absent', 'registers': {'channel': 4, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': 'refused', 'policy_checks': 0}, 'frames': [['OPEN', 4], ['REJECT', 4]]}, {'phase': 'pending', 'registers': {'channel': 4, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': 'refused', 'policy_checks': 0}, 'frames': [['OPEN', 4], ['REJECT', 4], ['OPEN', 4]]}, {'phase': 'absent', 'registers': {'channel': 4, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': 'refused', 'policy_checks': 0}, 'frames': [['OPEN', 4], ['REJECT', 4], ['OPEN', 4]]}, {'phase': 'absent', 'registers': {'channel': 4, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': 'refused', 'policy_checks': 0}, 'frames': [['OPEN', 4], ['REJECT', 4], ['OPEN', 4], ['REJECT', 4]]}, {'phase': 'pending', 'registers': {'channel': 4, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': 'refused', 'policy_checks': 0}, 'frames': [['OPEN', 4], ['REJECT', 4], ['OPEN', 4], ['REJECT', 4], ['OPEN', 4]]}]), ('ordered trace 3', 'absent', ['open_local', 'refused', 'accepted', 'open_local', 'refused', 'accepted', 'open_local'], [{'phase': 'pending', 'registers': {'channel': 4, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': None, 'policy_checks': 0}, 'frames': [['OPEN', 4]]}, {'phase': 'absent', 'registers': {'channel': 4, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': 'refused', 'policy_checks': 0}, 'frames': [['OPEN', 4]]}, {'phase': 'absent', 'registers': {'channel': 4, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': 'refused', 'policy_checks': 0}, 'frames': [['OPEN', 4], ['REJECT', 4]]}, {'phase': 'pending', 'registers': {'channel': 4, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': 'refused', 'policy_checks': 0}, 'frames': [['OPEN', 4], ['REJECT', 4], ['OPEN', 4]]}, {'phase': 'absent', 'registers': {'channel': 4, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': 'refused', 'policy_checks': 0}, 'frames': [['OPEN', 4], ['REJECT', 4], ['OPEN', 4]]}, {'phase': 'absent', 'registers': {'channel': 4, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': 'refused', 'policy_checks': 0}, 'frames': [['OPEN', 4], ['REJECT', 4], ['OPEN', 4], ['REJECT', 4]]}, {'phase': 'pending', 'registers': {'channel': 4, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': 'refused', 'policy_checks': 0}, 'frames': [['OPEN', 4], ['REJECT', 4], ['OPEN', 4], ['REJECT', 4], ['OPEN', 4]]}]), ('empty input', 'absent', [], []), ('unknown event', 'absent', ['unsupported'], [{'phase': 'absent', 'registers': {'channel': 4, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': None, 'policy_checks': 0}, 'frames': [['REJECT', 4]]}])], 5: [('absent/open_local', 'absent', ['open_local'], [{'phase': 'pending', 'registers': {'channel': 5, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': None, 'policy_checks': 0}, 'frames': [['OPEN', 5]]}]), ('pending/accepted', 'pending', ['accepted'], [{'phase': 'ready', 'registers': {'channel': 5, 'allocated': 1, 'ready_notifications': 1, 'delivered': [], 'producer_error': None, 'policy_checks': 0}, 'frames': []}]), ('pending/refused', 'pending', ['refused'], [{'phase': 'absent', 'registers': {'channel': 5, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': 'refused', 'policy_checks': 0}, 'frames': []}]), ('absent/open_remote', 'absent', ['open_remote'], [{'phase': 'checking', 'registers': {'channel': 5, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': None, 'policy_checks': 1}, 'frames': []}]), ('checking/allowed', 'checking', ['allowed'], [{'phase': 'ready', 'registers': {'channel': 5, 'allocated': 1, 'ready_notifications': 0, 'delivered': [], 'producer_error': None, 'policy_checks': 0}, 'frames': [['ACCEPT', 5]]}]), ('checking/denied', 'checking', ['denied'], [{'phase': 'absent', 'registers': {'channel': 5, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': None, 'policy_checks': 0}, 'frames': [['REFUSE', 5]]}]), ('pending/data', 'pending', ['data'], [{'phase': 'pending', 'registers': {'channel': 5, 'allocated': 1, 'ready_notifications': 0, 'delivered': [], 'producer_error': None, 'policy_checks': 0}, 'frames': [['REJECT', 5]]}]), ('ready/reset', 'ready', ['reset'], [{'phase': 'absent', 'registers': {'channel': 5, 'allocated': 0, 'ready_notifications': 1, 'delivered': [], 'producer_error': 'reset', 'policy_checks': 0}, 'frames': []}]), ('ready/duplicate_open', 'ready', ['duplicate_open'], [{'phase': 'ready', 'registers': {'channel': 5, 'allocated': 1, 'ready_notifications': 1, 'delivered': [], 'producer_error': None, 'policy_checks': 0}, 'frames': [['ACCEPT', 5]]}]), ('absent/accepted', 'absent', ['accepted'], [{'phase': 'absent', 'registers': {'channel': 5, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': None, 'policy_checks': 0}, 'frames': [['REJECT', 5]]}]), ('ordered trace 0', 'absent', ['open_local', 'refused', 'accepted', 'open_local', 'refused', 'accepted', 'open_local', 'refused'], [{'phase': 'pending', 'registers': {'channel': 5, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': None, 'policy_checks': 0}, 'frames': [['OPEN', 5]]}, {'phase': 'absent', 'registers': {'channel': 5, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': 'refused', 'policy_checks': 0}, 'frames': [['OPEN', 5]]}, {'phase': 'absent', 'registers': {'channel': 5, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': 'refused', 'policy_checks': 0}, 'frames': [['OPEN', 5], ['REJECT', 5]]}, {'phase': 'pending', 'registers': {'channel': 5, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': 'refused', 'policy_checks': 0}, 'frames': [['OPEN', 5], ['REJECT', 5], ['OPEN', 5]]}, {'phase': 'absent', 'registers': {'channel': 5, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': 'refused', 'policy_checks': 0}, 'frames': [['OPEN', 5], ['REJECT', 5], ['OPEN', 5]]}, {'phase': 'absent', 'registers': {'channel': 5, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': 'refused', 'policy_checks': 0}, 'frames': [['OPEN', 5], ['REJECT', 5], ['OPEN', 5], ['REJECT', 5]]}, {'phase': 'pending', 'registers': {'channel': 5, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': 'refused', 'policy_checks': 0}, 'frames': [['OPEN', 5], ['REJECT', 5], ['OPEN', 5], ['REJECT', 5], ['OPEN', 5]]}, {'phase': 'absent', 'registers': {'channel': 5, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': 'refused', 'policy_checks': 0}, 'frames': [['OPEN', 5], ['REJECT', 5], ['OPEN', 5], ['REJECT', 5], ['OPEN', 5]]}]), ('ordered trace 3', 'absent', ['open_local', 'refused', 'accepted', 'open_local', 'refused', 'accepted', 'open_local', 'refused'], [{'phase': 'pending', 'registers': {'channel': 5, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': None, 'policy_checks': 0}, 'frames': [['OPEN', 5]]}, {'phase': 'absent', 'registers': {'channel': 5, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': 'refused', 'policy_checks': 0}, 'frames': [['OPEN', 5]]}, {'phase': 'absent', 'registers': {'channel': 5, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': 'refused', 'policy_checks': 0}, 'frames': [['OPEN', 5], ['REJECT', 5]]}, {'phase': 'pending', 'registers': {'channel': 5, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': 'refused', 'policy_checks': 0}, 'frames': [['OPEN', 5], ['REJECT', 5], ['OPEN', 5]]}, {'phase': 'absent', 'registers': {'channel': 5, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': 'refused', 'policy_checks': 0}, 'frames': [['OPEN', 5], ['REJECT', 5], ['OPEN', 5]]}, {'phase': 'absent', 'registers': {'channel': 5, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': 'refused', 'policy_checks': 0}, 'frames': [['OPEN', 5], ['REJECT', 5], ['OPEN', 5], ['REJECT', 5]]}, {'phase': 'pending', 'registers': {'channel': 5, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': 'refused', 'policy_checks': 0}, 'frames': [['OPEN', 5], ['REJECT', 5], ['OPEN', 5], ['REJECT', 5], ['OPEN', 5]]}, {'phase': 'absent', 'registers': {'channel': 5, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': 'refused', 'policy_checks': 0}, 'frames': [['OPEN', 5], ['REJECT', 5], ['OPEN', 5], ['REJECT', 5], ['OPEN', 5]]}]), ('empty input', 'absent', [], []), ('unknown event', 'absent', ['unsupported'], [{'phase': 'absent', 'registers': {'channel': 5, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': None, 'policy_checks': 0}, 'frames': [['REJECT', 5]]}])]}\nfor label, phase, events, expected in cases[N]:\n    check(label, solve(phase, events, N), expected)\nprint(json.dumps({\"observations\": observations, \"passed\": all(x[\"passed\"] for x in observations)}, ensure_ascii=False))\nraise SystemExit(0 if all(x[\"passed\"] for x in observations) else 1)\n"},"broken":{"sha256":"2b95f112ffee0b949b260af767562a196e9b0ff3fc0908730e5f1b47ab4e0bb3","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 = {'channel': seed, 'allocated': int(phase!='absent'), 'ready_notifications': int(phase=='ready'), 'delivered': [], 'producer_error': None, 'policy_checks': 0}\n    frames = []\n    observed = []\n    table = {('absent', 'open_local'): ('pending', 'send_open'), ('pending', 'accepted'): ('ready', 'notify_ready'), ('pending', 'refused'): ('absent', 'notify_refused'), ('absent', 'open_remote'): ('checking', 'check_policy'), ('checking', 'allowed'): ('ready', 'accept'), ('checking', 'denied'): ('absent', 'refuse'), ('pending', 'data'): ('pending', 'reject'), ('ready', 'reset'): ('ready', 'ignore'), ('ready', 'duplicate_open'): ('ready', 'repeat_accept'), ('absent', 'accepted'): ('absent', 'reject')}\n    for event in events:\n        phase, action = table.get((phase, event), (phase, \"reject\"))\n        if action == 'send_open':\n            frames.append(['OPEN',r['channel']])\n        elif action == 'notify_ready':\n            r['ready_notifications']+=1\n        elif action == 'notify_refused':\n            r['allocated']=0; r['producer_error']='refused'\n        elif action == 'check_policy':\n            r['policy_checks']+=1\n        elif action == 'accept':\n            frames.append(['ACCEPT',r['channel']])\n        elif action == 'refuse':\n            r['allocated']=0; frames.append(['REFUSE',r['channel']])\n        elif action == 'reject':\n            frames.append(['REJECT',r['channel']])\n        elif action == 'notify_reset':\n            r['allocated']=0; r['producer_error']='reset'\n        elif action == 'repeat_accept':\n            frames.append(['ACCEPT',r['channel']])\n        elif action == 'allocate_again':\n            r['allocated']+=1\n        elif action == 'send_data':\n            frames.append(['DATA',r['channel'],payload])\n        elif action == 'deliver':\n            r['delivered'].extend(payload)\n        elif action == 'buffer':\n            r['delivered'].extend(payload)\n        else:\n            if action not in (\"wait\", \"ignore\", \"keep\", \"retain\", \"keep_peer\", \"keep_offer\", \"keep_hold\", \"keep_batch\", \"retain_staging\", \"keep_staging\", \"keep_local_owner\", \"keep_old_session\", \"keep_address\", \"keep_old_expiry\", \"ignore_conflict\", \"keep_service\", \"keep_subscription\", \"retain_shadow\", \"keep_live\", \"keep_suspicion\", \"keep_roles\", \"keep_staged\"):\n                frames.append([action, payload[:]])\n        observed.append(json.loads(json.dumps({\"phase\": phase, \"registers\": r, \"frames\": frames})))\n    return observed\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncases = {1: [('absent/open_local', 'absent', ['open_local'], [{'phase': 'pending', 'registers': {'channel': 1, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': None, 'policy_checks': 0}, 'frames': [['OPEN', 1]]}]), ('pending/accepted', 'pending', ['accepted'], [{'phase': 'ready', 'registers': {'channel': 1, 'allocated': 1, 'ready_notifications': 1, 'delivered': [], 'producer_error': None, 'policy_checks': 0}, 'frames': []}]), ('pending/refused', 'pending', ['refused'], [{'phase': 'absent', 'registers': {'channel': 1, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': 'refused', 'policy_checks': 0}, 'frames': []}]), ('absent/open_remote', 'absent', ['open_remote'], [{'phase': 'checking', 'registers': {'channel': 1, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': None, 'policy_checks': 1}, 'frames': []}]), ('checking/allowed', 'checking', ['allowed'], [{'phase': 'ready', 'registers': {'channel': 1, 'allocated': 1, 'ready_notifications': 0, 'delivered': [], 'producer_error': None, 'policy_checks': 0}, 'frames': [['ACCEPT', 1]]}]), ('checking/denied', 'checking', ['denied'], [{'phase': 'absent', 'registers': {'channel': 1, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': None, 'policy_checks': 0}, 'frames': [['REFUSE', 1]]}]), ('pending/data', 'pending', ['data'], [{'phase': 'pending', 'registers': {'channel': 1, 'allocated': 1, 'ready_notifications': 0, 'delivered': [], 'producer_error': None, 'policy_checks': 0}, 'frames': [['REJECT', 1]]}]), ('ready/reset', 'ready', ['reset'], [{'phase': 'absent', 'registers': {'channel': 1, 'allocated': 0, 'ready_notifications': 1, 'delivered': [], 'producer_error': 'reset', 'policy_checks': 0}, 'frames': []}]), ('ready/duplicate_open', 'ready', ['duplicate_open'], [{'phase': 'ready', 'registers': {'channel': 1, 'allocated': 1, 'ready_notifications': 1, 'delivered': [], 'producer_error': None, 'policy_checks': 0}, 'frames': [['ACCEPT', 1]]}]), ('absent/accepted', 'absent', ['accepted'], [{'phase': 'absent', 'registers': {'channel': 1, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': None, 'policy_checks': 0}, 'frames': [['REJECT', 1]]}]), ('ordered trace 0', 'absent', ['open_local', 'refused', 'accepted', 'open_local'], [{'phase': 'pending', 'registers': {'channel': 1, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': None, 'policy_checks': 0}, 'frames': [['OPEN', 1]]}, {'phase': 'absent', 'registers': {'channel': 1, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': 'refused', 'policy_checks': 0}, 'frames': [['OPEN', 1]]}, {'phase': 'absent', 'registers': {'channel': 1, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': 'refused', 'policy_checks': 0}, 'frames': [['OPEN', 1], ['REJECT', 1]]}, {'phase': 'pending', 'registers': {'channel': 1, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': 'refused', 'policy_checks': 0}, 'frames': [['OPEN', 1], ['REJECT', 1], ['OPEN', 1]]}]), ('ordered trace 3', 'absent', ['open_local', 'refused', 'accepted', 'open_local'], [{'phase': 'pending', 'registers': {'channel': 1, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': None, 'policy_checks': 0}, 'frames': [['OPEN', 1]]}, {'phase': 'absent', 'registers': {'channel': 1, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': 'refused', 'policy_checks': 0}, 'frames': [['OPEN', 1]]}, {'phase': 'absent', 'registers': {'channel': 1, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': 'refused', 'policy_checks': 0}, 'frames': [['OPEN', 1], ['REJECT', 1]]}, {'phase': 'pending', 'registers': {'channel': 1, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': 'refused', 'policy_checks': 0}, 'frames': [['OPEN', 1], ['REJECT', 1], ['OPEN', 1]]}]), ('empty input', 'absent', [], []), ('unknown event', 'absent', ['unsupported'], [{'phase': 'absent', 'registers': {'channel': 1, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': None, 'policy_checks': 0}, 'frames': [['REJECT', 1]]}])], 2: [('absent/open_local', 'absent', ['open_local'], [{'phase': 'pending', 'registers': {'channel': 2, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': None, 'policy_checks': 0}, 'frames': [['OPEN', 2]]}]), ('pending/accepted', 'pending', ['accepted'], [{'phase': 'ready', 'registers': {'channel': 2, 'allocated': 1, 'ready_notifications': 1, 'delivered': [], 'producer_error': None, 'policy_checks': 0}, 'frames': []}]), ('pending/refused', 'pending', ['refused'], [{'phase': 'absent', 'registers': {'channel': 2, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': 'refused', 'policy_checks': 0}, 'frames': []}]), ('absent/open_remote', 'absent', ['open_remote'], [{'phase': 'checking', 'registers': {'channel': 2, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': None, 'policy_checks': 1}, 'frames': []}]), ('checking/allowed', 'checking', ['allowed'], [{'phase': 'ready', 'registers': {'channel': 2, 'allocated': 1, 'ready_notifications': 0, 'delivered': [], 'producer_error': None, 'policy_checks': 0}, 'frames': [['ACCEPT', 2]]}]), ('checking/denied', 'checking', ['denied'], [{'phase': 'absent', 'registers': {'channel': 2, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': None, 'policy_checks': 0}, 'frames': [['REFUSE', 2]]}]), ('pending/data', 'pending', ['data'], [{'phase': 'pending', 'registers': {'channel': 2, 'allocated': 1, 'ready_notifications': 0, 'delivered': [], 'producer_error': None, 'policy_checks': 0}, 'frames': [['REJECT', 2]]}]), ('ready/reset', 'ready', ['reset'], [{'phase': 'absent', 'registers': {'channel': 2, 'allocated': 0, 'ready_notifications': 1, 'delivered': [], 'producer_error': 'reset', 'policy_checks': 0}, 'frames': []}]), ('ready/duplicate_open', 'ready', ['duplicate_open'], [{'phase': 'ready', 'registers': {'channel': 2, 'allocated': 1, 'ready_notifications': 1, 'delivered': [], 'producer_error': None, 'policy_checks': 0}, 'frames': [['ACCEPT', 2]]}]), ('absent/accepted', 'absent', ['accepted'], [{'phase': 'absent', 'registers': {'channel': 2, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': None, 'policy_checks': 0}, 'frames': [['REJECT', 2]]}]), ('ordered trace 0', 'absent', ['open_local', 'refused', 'accepted', 'open_local', 'refused'], [{'phase': 'pending', 'registers': {'channel': 2, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': None, 'policy_checks': 0}, 'frames': [['OPEN', 2]]}, {'phase': 'absent', 'registers': {'channel': 2, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': 'refused', 'policy_checks': 0}, 'frames': [['OPEN', 2]]}, {'phase': 'absent', 'registers': {'channel': 2, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': 'refused', 'policy_checks': 0}, 'frames': [['OPEN', 2], ['REJECT', 2]]}, {'phase': 'pending', 'registers': {'channel': 2, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': 'refused', 'policy_checks': 0}, 'frames': [['OPEN', 2], ['REJECT', 2], ['OPEN', 2]]}, {'phase': 'absent', 'registers': {'channel': 2, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': 'refused', 'policy_checks': 0}, 'frames': [['OPEN', 2], ['REJECT', 2], ['OPEN', 2]]}]), ('ordered trace 3', 'absent', ['open_local', 'refused', 'accepted', 'open_local', 'refused'], [{'phase': 'pending', 'registers': {'channel': 2, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': None, 'policy_checks': 0}, 'frames': [['OPEN', 2]]}, {'phase': 'absent', 'registers': {'channel': 2, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': 'refused', 'policy_checks': 0}, 'frames': [['OPEN', 2]]}, {'phase': 'absent', 'registers': {'channel': 2, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': 'refused', 'policy_checks': 0}, 'frames': [['OPEN', 2], ['REJECT', 2]]}, {'phase': 'pending', 'registers': {'channel': 2, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': 'refused', 'policy_checks': 0}, 'frames': [['OPEN', 2], ['REJECT', 2], ['OPEN', 2]]}, {'phase': 'absent', 'registers': {'channel': 2, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': 'refused', 'policy_checks': 0}, 'frames': [['OPEN', 2], ['REJECT', 2], ['OPEN', 2]]}]), ('empty input', 'absent', [], []), ('unknown event', 'absent', ['unsupported'], [{'phase': 'absent', 'registers': {'channel': 2, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': None, 'policy_checks': 0}, 'frames': [['REJECT', 2]]}])], 3: [('absent/open_local', 'absent', ['open_local'], [{'phase': 'pending', 'registers': {'channel': 3, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': None, 'policy_checks': 0}, 'frames': [['OPEN', 3]]}]), ('pending/accepted', 'pending', ['accepted'], [{'phase': 'ready', 'registers': {'channel': 3, 'allocated': 1, 'ready_notifications': 1, 'delivered': [], 'producer_error': None, 'policy_checks': 0}, 'frames': []}]), ('pending/refused', 'pending', ['refused'], [{'phase': 'absent', 'registers': {'channel': 3, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': 'refused', 'policy_checks': 0}, 'frames': []}]), ('absent/open_remote', 'absent', ['open_remote'], [{'phase': 'checking', 'registers': {'channel': 3, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': None, 'policy_checks': 1}, 'frames': []}]), ('checking/allowed', 'checking', ['allowed'], [{'phase': 'ready', 'registers': {'channel': 3, 'allocated': 1, 'ready_notifications': 0, 'delivered': [], 'producer_error': None, 'policy_checks': 0}, 'frames': [['ACCEPT', 3]]}]), ('checking/denied', 'checking', ['denied'], [{'phase': 'absent', 'registers': {'channel': 3, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': None, 'policy_checks': 0}, 'frames': [['REFUSE', 3]]}]), ('pending/data', 'pending', ['data'], [{'phase': 'pending', 'registers': {'channel': 3, 'allocated': 1, 'ready_notifications': 0, 'delivered': [], 'producer_error': None, 'policy_checks': 0}, 'frames': [['REJECT', 3]]}]), ('ready/reset', 'ready', ['reset'], [{'phase': 'absent', 'registers': {'channel': 3, 'allocated': 0, 'ready_notifications': 1, 'delivered': [], 'producer_error': 'reset', 'policy_checks': 0}, 'frames': []}]), ('ready/duplicate_open', 'ready', ['duplicate_open'], [{'phase': 'ready', 'registers': {'channel': 3, 'allocated': 1, 'ready_notifications': 1, 'delivered': [], 'producer_error': None, 'policy_checks': 0}, 'frames': [['ACCEPT', 3]]}]), ('absent/accepted', 'absent', ['accepted'], [{'phase': 'absent', 'registers': {'channel': 3, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': None, 'policy_checks': 0}, 'frames': [['REJECT', 3]]}]), ('ordered trace 0', 'absent', ['open_local', 'refused', 'accepted', 'open_local', 'refused', 'accepted'], [{'phase': 'pending', 'registers': {'channel': 3, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': None, 'policy_checks': 0}, 'frames': [['OPEN', 3]]}, {'phase': 'absent', 'registers': {'channel': 3, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': 'refused', 'policy_checks': 0}, 'frames': [['OPEN', 3]]}, {'phase': 'absent', 'registers': {'channel': 3, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': 'refused', 'policy_checks': 0}, 'frames': [['OPEN', 3], ['REJECT', 3]]}, {'phase': 'pending', 'registers': {'channel': 3, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': 'refused', 'policy_checks': 0}, 'frames': [['OPEN', 3], ['REJECT', 3], ['OPEN', 3]]}, {'phase': 'absent', 'registers': {'channel': 3, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': 'refused', 'policy_checks': 0}, 'frames': [['OPEN', 3], ['REJECT', 3], ['OPEN', 3]]}, {'phase': 'absent', 'registers': {'channel': 3, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': 'refused', 'policy_checks': 0}, 'frames': [['OPEN', 3], ['REJECT', 3], ['OPEN', 3], ['REJECT', 3]]}]), ('ordered trace 3', 'absent', ['open_local', 'refused', 'accepted', 'open_local', 'refused', 'accepted'], [{'phase': 'pending', 'registers': {'channel': 3, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': None, 'policy_checks': 0}, 'frames': [['OPEN', 3]]}, {'phase': 'absent', 'registers': {'channel': 3, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': 'refused', 'policy_checks': 0}, 'frames': [['OPEN', 3]]}, {'phase': 'absent', 'registers': {'channel': 3, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': 'refused', 'policy_checks': 0}, 'frames': [['OPEN', 3], ['REJECT', 3]]}, {'phase': 'pending', 'registers': {'channel': 3, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': 'refused', 'policy_checks': 0}, 'frames': [['OPEN', 3], ['REJECT', 3], ['OPEN', 3]]}, {'phase': 'absent', 'registers': {'channel': 3, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': 'refused', 'policy_checks': 0}, 'frames': [['OPEN', 3], ['REJECT', 3], ['OPEN', 3]]}, {'phase': 'absent', 'registers': {'channel': 3, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': 'refused', 'policy_checks': 0}, 'frames': [['OPEN', 3], ['REJECT', 3], ['OPEN', 3], ['REJECT', 3]]}]), ('empty input', 'absent', [], []), ('unknown event', 'absent', ['unsupported'], [{'phase': 'absent', 'registers': {'channel': 3, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': None, 'policy_checks': 0}, 'frames': [['REJECT', 3]]}])], 4: [('absent/open_local', 'absent', ['open_local'], [{'phase': 'pending', 'registers': {'channel': 4, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': None, 'policy_checks': 0}, 'frames': [['OPEN', 4]]}]), ('pending/accepted', 'pending', ['accepted'], [{'phase': 'ready', 'registers': {'channel': 4, 'allocated': 1, 'ready_notifications': 1, 'delivered': [], 'producer_error': None, 'policy_checks': 0}, 'frames': []}]), ('pending/refused', 'pending', ['refused'], [{'phase': 'absent', 'registers': {'channel': 4, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': 'refused', 'policy_checks': 0}, 'frames': []}]), ('absent/open_remote', 'absent', ['open_remote'], [{'phase': 'checking', 'registers': {'channel': 4, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': None, 'policy_checks': 1}, 'frames': []}]), ('checking/allowed', 'checking', ['allowed'], [{'phase': 'ready', 'registers': {'channel': 4, 'allocated': 1, 'ready_notifications': 0, 'delivered': [], 'producer_error': None, 'policy_checks': 0}, 'frames': [['ACCEPT', 4]]}]), ('checking/denied', 'checking', ['denied'], [{'phase': 'absent', 'registers': {'channel': 4, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': None, 'policy_checks': 0}, 'frames': [['REFUSE', 4]]}]), ('pending/data', 'pending', ['data'], [{'phase': 'pending', 'registers': {'channel': 4, 'allocated': 1, 'ready_notifications': 0, 'delivered': [], 'producer_error': None, 'policy_checks': 0}, 'frames': [['REJECT', 4]]}]), ('ready/reset', 'ready', ['reset'], [{'phase': 'absent', 'registers': {'channel': 4, 'allocated': 0, 'ready_notifications': 1, 'delivered': [], 'producer_error': 'reset', 'policy_checks': 0}, 'frames': []}]), ('ready/duplicate_open', 'ready', ['duplicate_open'], [{'phase': 'ready', 'registers': {'channel': 4, 'allocated': 1, 'ready_notifications': 1, 'delivered': [], 'producer_error': None, 'policy_checks': 0}, 'frames': [['ACCEPT', 4]]}]), ('absent/accepted', 'absent', ['accepted'], [{'phase': 'absent', 'registers': {'channel': 4, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': None, 'policy_checks': 0}, 'frames': [['REJECT', 4]]}]), ('ordered trace 0', 'absent', ['open_local', 'refused', 'accepted', 'open_local', 'refused', 'accepted', 'open_local'], [{'phase': 'pending', 'registers': {'channel': 4, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': None, 'policy_checks': 0}, 'frames': [['OPEN', 4]]}, {'phase': 'absent', 'registers': {'channel': 4, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': 'refused', 'policy_checks': 0}, 'frames': [['OPEN', 4]]}, {'phase': 'absent', 'registers': {'channel': 4, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': 'refused', 'policy_checks': 0}, 'frames': [['OPEN', 4], ['REJECT', 4]]}, {'phase': 'pending', 'registers': {'channel': 4, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': 'refused', 'policy_checks': 0}, 'frames': [['OPEN', 4], ['REJECT', 4], ['OPEN', 4]]}, {'phase': 'absent', 'registers': {'channel': 4, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': 'refused', 'policy_checks': 0}, 'frames': [['OPEN', 4], ['REJECT', 4], ['OPEN', 4]]}, {'phase': 'absent', 'registers': {'channel': 4, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': 'refused', 'policy_checks': 0}, 'frames': [['OPEN', 4], ['REJECT', 4], ['OPEN', 4], ['REJECT', 4]]}, {'phase': 'pending', 'registers': {'channel': 4, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': 'refused', 'policy_checks': 0}, 'frames': [['OPEN', 4], ['REJECT', 4], ['OPEN', 4], ['REJECT', 4], ['OPEN', 4]]}]), ('ordered trace 3', 'absent', ['open_local', 'refused', 'accepted', 'open_local', 'refused', 'accepted', 'open_local'], [{'phase': 'pending', 'registers': {'channel': 4, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': None, 'policy_checks': 0}, 'frames': [['OPEN', 4]]}, {'phase': 'absent', 'registers': {'channel': 4, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': 'refused', 'policy_checks': 0}, 'frames': [['OPEN', 4]]}, {'phase': 'absent', 'registers': {'channel': 4, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': 'refused', 'policy_checks': 0}, 'frames': [['OPEN', 4], ['REJECT', 4]]}, {'phase': 'pending', 'registers': {'channel': 4, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': 'refused', 'policy_checks': 0}, 'frames': [['OPEN', 4], ['REJECT', 4], ['OPEN', 4]]}, {'phase': 'absent', 'registers': {'channel': 4, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': 'refused', 'policy_checks': 0}, 'frames': [['OPEN', 4], ['REJECT', 4], ['OPEN', 4]]}, {'phase': 'absent', 'registers': {'channel': 4, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': 'refused', 'policy_checks': 0}, 'frames': [['OPEN', 4], ['REJECT', 4], ['OPEN', 4], ['REJECT', 4]]}, {'phase': 'pending', 'registers': {'channel': 4, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': 'refused', 'policy_checks': 0}, 'frames': [['OPEN', 4], ['REJECT', 4], ['OPEN', 4], ['REJECT', 4], ['OPEN', 4]]}]), ('empty input', 'absent', [], []), ('unknown event', 'absent', ['unsupported'], [{'phase': 'absent', 'registers': {'channel': 4, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': None, 'policy_checks': 0}, 'frames': [['REJECT', 4]]}])], 5: [('absent/open_local', 'absent', ['open_local'], [{'phase': 'pending', 'registers': {'channel': 5, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': None, 'policy_checks': 0}, 'frames': [['OPEN', 5]]}]), ('pending/accepted', 'pending', ['accepted'], [{'phase': 'ready', 'registers': {'channel': 5, 'allocated': 1, 'ready_notifications': 1, 'delivered': [], 'producer_error': None, 'policy_checks': 0}, 'frames': []}]), ('pending/refused', 'pending', ['refused'], [{'phase': 'absent', 'registers': {'channel': 5, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': 'refused', 'policy_checks': 0}, 'frames': []}]), ('absent/open_remote', 'absent', ['open_remote'], [{'phase': 'checking', 'registers': {'channel': 5, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': None, 'policy_checks': 1}, 'frames': []}]), ('checking/allowed', 'checking', ['allowed'], [{'phase': 'ready', 'registers': {'channel': 5, 'allocated': 1, 'ready_notifications': 0, 'delivered': [], 'producer_error': None, 'policy_checks': 0}, 'frames': [['ACCEPT', 5]]}]), ('checking/denied', 'checking', ['denied'], [{'phase': 'absent', 'registers': {'channel': 5, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': None, 'policy_checks': 0}, 'frames': [['REFUSE', 5]]}]), ('pending/data', 'pending', ['data'], [{'phase': 'pending', 'registers': {'channel': 5, 'allocated': 1, 'ready_notifications': 0, 'delivered': [], 'producer_error': None, 'policy_checks': 0}, 'frames': [['REJECT', 5]]}]), ('ready/reset', 'ready', ['reset'], [{'phase': 'absent', 'registers': {'channel': 5, 'allocated': 0, 'ready_notifications': 1, 'delivered': [], 'producer_error': 'reset', 'policy_checks': 0}, 'frames': []}]), ('ready/duplicate_open', 'ready', ['duplicate_open'], [{'phase': 'ready', 'registers': {'channel': 5, 'allocated': 1, 'ready_notifications': 1, 'delivered': [], 'producer_error': None, 'policy_checks': 0}, 'frames': [['ACCEPT', 5]]}]), ('absent/accepted', 'absent', ['accepted'], [{'phase': 'absent', 'registers': {'channel': 5, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': None, 'policy_checks': 0}, 'frames': [['REJECT', 5]]}]), ('ordered trace 0', 'absent', ['open_local', 'refused', 'accepted', 'open_local', 'refused', 'accepted', 'open_local', 'refused'], [{'phase': 'pending', 'registers': {'channel': 5, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': None, 'policy_checks': 0}, 'frames': [['OPEN', 5]]}, {'phase': 'absent', 'registers': {'channel': 5, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': 'refused', 'policy_checks': 0}, 'frames': [['OPEN', 5]]}, {'phase': 'absent', 'registers': {'channel': 5, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': 'refused', 'policy_checks': 0}, 'frames': [['OPEN', 5], ['REJECT', 5]]}, {'phase': 'pending', 'registers': {'channel': 5, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': 'refused', 'policy_checks': 0}, 'frames': [['OPEN', 5], ['REJECT', 5], ['OPEN', 5]]}, {'phase': 'absent', 'registers': {'channel': 5, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': 'refused', 'policy_checks': 0}, 'frames': [['OPEN', 5], ['REJECT', 5], ['OPEN', 5]]}, {'phase': 'absent', 'registers': {'channel': 5, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': 'refused', 'policy_checks': 0}, 'frames': [['OPEN', 5], ['REJECT', 5], ['OPEN', 5], ['REJECT', 5]]}, {'phase': 'pending', 'registers': {'channel': 5, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': 'refused', 'policy_checks': 0}, 'frames': [['OPEN', 5], ['REJECT', 5], ['OPEN', 5], ['REJECT', 5], ['OPEN', 5]]}, {'phase': 'absent', 'registers': {'channel': 5, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': 'refused', 'policy_checks': 0}, 'frames': [['OPEN', 5], ['REJECT', 5], ['OPEN', 5], ['REJECT', 5], ['OPEN', 5]]}]), ('ordered trace 3', 'absent', ['open_local', 'refused', 'accepted', 'open_local', 'refused', 'accepted', 'open_local', 'refused'], [{'phase': 'pending', 'registers': {'channel': 5, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': None, 'policy_checks': 0}, 'frames': [['OPEN', 5]]}, {'phase': 'absent', 'registers': {'channel': 5, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': 'refused', 'policy_checks': 0}, 'frames': [['OPEN', 5]]}, {'phase': 'absent', 'registers': {'channel': 5, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': 'refused', 'policy_checks': 0}, 'frames': [['OPEN', 5], ['REJECT', 5]]}, {'phase': 'pending', 'registers': {'channel': 5, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': 'refused', 'policy_checks': 0}, 'frames': [['OPEN', 5], ['REJECT', 5], ['OPEN', 5]]}, {'phase': 'absent', 'registers': {'channel': 5, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': 'refused', 'policy_checks': 0}, 'frames': [['OPEN', 5], ['REJECT', 5], ['OPEN', 5]]}, {'phase': 'absent', 'registers': {'channel': 5, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': 'refused', 'policy_checks': 0}, 'frames': [['OPEN', 5], ['REJECT', 5], ['OPEN', 5], ['REJECT', 5]]}, {'phase': 'pending', 'registers': {'channel': 5, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': 'refused', 'policy_checks': 0}, 'frames': [['OPEN', 5], ['REJECT', 5], ['OPEN', 5], ['REJECT', 5], ['OPEN', 5]]}, {'phase': 'absent', 'registers': {'channel': 5, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': 'refused', 'policy_checks': 0}, 'frames': [['OPEN', 5], ['REJECT', 5], ['OPEN', 5], ['REJECT', 5], ['OPEN', 5]]}]), ('empty input', 'absent', [], []), ('unknown event', 'absent', ['unsupported'], [{'phase': 'absent', 'registers': {'channel': 5, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': None, 'policy_checks': 0}, 'frames': [['REJECT', 5]]}])]}\nfor label, phase, events, expected in cases[N]:\n    check(label, solve(phase, events, N), expected)\nprint(json.dumps({\"observations\": observations, \"passed\": all(x[\"passed\"] for x in observations)}, ensure_ascii=False))\nraise SystemExit(0 if all(x[\"passed\"] for x in observations) else 1)\n"},"fixed":{"sha256":"fd3a3a9d765af112b8c984a80175684fa497c27f60e604647a0bf366a266123c","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 = {'channel': seed, 'allocated': int(phase!='absent'), 'ready_notifications': int(phase=='ready'), 'delivered': [], 'producer_error': None, 'policy_checks': 0}\n    frames = []\n    observed = []\n    table = {('absent', 'open_local'): ('pending', 'send_open'), ('pending', 'accepted'): ('ready', 'notify_ready'), ('pending', 'refused'): ('absent', 'notify_refused'), ('absent', 'open_remote'): ('checking', 'check_policy'), ('checking', 'allowed'): ('ready', 'accept'), ('checking', 'denied'): ('absent', 'refuse'), ('pending', 'data'): ('pending', 'reject'), ('ready', 'reset'): ('absent', 'notify_reset'), ('ready', 'duplicate_open'): ('ready', 'repeat_accept'), ('absent', 'accepted'): ('absent', 'reject')}\n    for event in events:\n        phase, action = table.get((phase, event), (phase, \"reject\"))\n        if action == 'send_open':\n            frames.append(['OPEN',r['channel']])\n        elif action == 'notify_ready':\n            r['ready_notifications']+=1\n        elif action == 'notify_refused':\n            r['allocated']=0; r['producer_error']='refused'\n        elif action == 'check_policy':\n            r['policy_checks']+=1\n        elif action == 'accept':\n            frames.append(['ACCEPT',r['channel']])\n        elif action == 'refuse':\n            r['allocated']=0; frames.append(['REFUSE',r['channel']])\n        elif action == 'reject':\n            frames.append(['REJECT',r['channel']])\n        elif action == 'notify_reset':\n            r['allocated']=0; r['producer_error']='reset'\n        elif action == 'repeat_accept':\n            frames.append(['ACCEPT',r['channel']])\n        elif action == 'allocate_again':\n            r['allocated']+=1\n        elif action == 'send_data':\n            frames.append(['DATA',r['channel'],payload])\n        elif action == 'deliver':\n            r['delivered'].extend(payload)\n        elif action == 'buffer':\n            r['delivered'].extend(payload)\n        else:\n            if action not in (\"wait\", \"ignore\", \"keep\", \"retain\", \"keep_peer\", \"keep_offer\", \"keep_hold\", \"keep_batch\", \"retain_staging\", \"keep_staging\", \"keep_local_owner\", \"keep_old_session\", \"keep_address\", \"keep_old_expiry\", \"ignore_conflict\", \"keep_service\", \"keep_subscription\", \"retain_shadow\", \"keep_live\", \"keep_suspicion\", \"keep_roles\", \"keep_staged\"):\n                frames.append([action, payload[:]])\n        observed.append(json.loads(json.dumps({\"phase\": phase, \"registers\": r, \"frames\": frames})))\n    return observed\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncases = {1: [('absent/open_local', 'absent', ['open_local'], [{'phase': 'pending', 'registers': {'channel': 1, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': None, 'policy_checks': 0}, 'frames': [['OPEN', 1]]}]), ('pending/accepted', 'pending', ['accepted'], [{'phase': 'ready', 'registers': {'channel': 1, 'allocated': 1, 'ready_notifications': 1, 'delivered': [], 'producer_error': None, 'policy_checks': 0}, 'frames': []}]), ('pending/refused', 'pending', ['refused'], [{'phase': 'absent', 'registers': {'channel': 1, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': 'refused', 'policy_checks': 0}, 'frames': []}]), ('absent/open_remote', 'absent', ['open_remote'], [{'phase': 'checking', 'registers': {'channel': 1, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': None, 'policy_checks': 1}, 'frames': []}]), ('checking/allowed', 'checking', ['allowed'], [{'phase': 'ready', 'registers': {'channel': 1, 'allocated': 1, 'ready_notifications': 0, 'delivered': [], 'producer_error': None, 'policy_checks': 0}, 'frames': [['ACCEPT', 1]]}]), ('checking/denied', 'checking', ['denied'], [{'phase': 'absent', 'registers': {'channel': 1, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': None, 'policy_checks': 0}, 'frames': [['REFUSE', 1]]}]), ('pending/data', 'pending', ['data'], [{'phase': 'pending', 'registers': {'channel': 1, 'allocated': 1, 'ready_notifications': 0, 'delivered': [], 'producer_error': None, 'policy_checks': 0}, 'frames': [['REJECT', 1]]}]), ('ready/reset', 'ready', ['reset'], [{'phase': 'absent', 'registers': {'channel': 1, 'allocated': 0, 'ready_notifications': 1, 'delivered': [], 'producer_error': 'reset', 'policy_checks': 0}, 'frames': []}]), ('ready/duplicate_open', 'ready', ['duplicate_open'], [{'phase': 'ready', 'registers': {'channel': 1, 'allocated': 1, 'ready_notifications': 1, 'delivered': [], 'producer_error': None, 'policy_checks': 0}, 'frames': [['ACCEPT', 1]]}]), ('absent/accepted', 'absent', ['accepted'], [{'phase': 'absent', 'registers': {'channel': 1, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': None, 'policy_checks': 0}, 'frames': [['REJECT', 1]]}]), ('ordered trace 0', 'absent', ['open_local', 'refused', 'accepted', 'open_local'], [{'phase': 'pending', 'registers': {'channel': 1, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': None, 'policy_checks': 0}, 'frames': [['OPEN', 1]]}, {'phase': 'absent', 'registers': {'channel': 1, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': 'refused', 'policy_checks': 0}, 'frames': [['OPEN', 1]]}, {'phase': 'absent', 'registers': {'channel': 1, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': 'refused', 'policy_checks': 0}, 'frames': [['OPEN', 1], ['REJECT', 1]]}, {'phase': 'pending', 'registers': {'channel': 1, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': 'refused', 'policy_checks': 0}, 'frames': [['OPEN', 1], ['REJECT', 1], ['OPEN', 1]]}]), ('ordered trace 3', 'absent', ['open_local', 'refused', 'accepted', 'open_local'], [{'phase': 'pending', 'registers': {'channel': 1, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': None, 'policy_checks': 0}, 'frames': [['OPEN', 1]]}, {'phase': 'absent', 'registers': {'channel': 1, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': 'refused', 'policy_checks': 0}, 'frames': [['OPEN', 1]]}, {'phase': 'absent', 'registers': {'channel': 1, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': 'refused', 'policy_checks': 0}, 'frames': [['OPEN', 1], ['REJECT', 1]]}, {'phase': 'pending', 'registers': {'channel': 1, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': 'refused', 'policy_checks': 0}, 'frames': [['OPEN', 1], ['REJECT', 1], ['OPEN', 1]]}]), ('empty input', 'absent', [], []), ('unknown event', 'absent', ['unsupported'], [{'phase': 'absent', 'registers': {'channel': 1, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': None, 'policy_checks': 0}, 'frames': [['REJECT', 1]]}])], 2: [('absent/open_local', 'absent', ['open_local'], [{'phase': 'pending', 'registers': {'channel': 2, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': None, 'policy_checks': 0}, 'frames': [['OPEN', 2]]}]), ('pending/accepted', 'pending', ['accepted'], [{'phase': 'ready', 'registers': {'channel': 2, 'allocated': 1, 'ready_notifications': 1, 'delivered': [], 'producer_error': None, 'policy_checks': 0}, 'frames': []}]), ('pending/refused', 'pending', ['refused'], [{'phase': 'absent', 'registers': {'channel': 2, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': 'refused', 'policy_checks': 0}, 'frames': []}]), ('absent/open_remote', 'absent', ['open_remote'], [{'phase': 'checking', 'registers': {'channel': 2, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': None, 'policy_checks': 1}, 'frames': []}]), ('checking/allowed', 'checking', ['allowed'], [{'phase': 'ready', 'registers': {'channel': 2, 'allocated': 1, 'ready_notifications': 0, 'delivered': [], 'producer_error': None, 'policy_checks': 0}, 'frames': [['ACCEPT', 2]]}]), ('checking/denied', 'checking', ['denied'], [{'phase': 'absent', 'registers': {'channel': 2, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': None, 'policy_checks': 0}, 'frames': [['REFUSE', 2]]}]), ('pending/data', 'pending', ['data'], [{'phase': 'pending', 'registers': {'channel': 2, 'allocated': 1, 'ready_notifications': 0, 'delivered': [], 'producer_error': None, 'policy_checks': 0}, 'frames': [['REJECT', 2]]}]), ('ready/reset', 'ready', ['reset'], [{'phase': 'absent', 'registers': {'channel': 2, 'allocated': 0, 'ready_notifications': 1, 'delivered': [], 'producer_error': 'reset', 'policy_checks': 0}, 'frames': []}]), ('ready/duplicate_open', 'ready', ['duplicate_open'], [{'phase': 'ready', 'registers': {'channel': 2, 'allocated': 1, 'ready_notifications': 1, 'delivered': [], 'producer_error': None, 'policy_checks': 0}, 'frames': [['ACCEPT', 2]]}]), ('absent/accepted', 'absent', ['accepted'], [{'phase': 'absent', 'registers': {'channel': 2, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': None, 'policy_checks': 0}, 'frames': [['REJECT', 2]]}]), ('ordered trace 0', 'absent', ['open_local', 'refused', 'accepted', 'open_local', 'refused'], [{'phase': 'pending', 'registers': {'channel': 2, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': None, 'policy_checks': 0}, 'frames': [['OPEN', 2]]}, {'phase': 'absent', 'registers': {'channel': 2, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': 'refused', 'policy_checks': 0}, 'frames': [['OPEN', 2]]}, {'phase': 'absent', 'registers': {'channel': 2, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': 'refused', 'policy_checks': 0}, 'frames': [['OPEN', 2], ['REJECT', 2]]}, {'phase': 'pending', 'registers': {'channel': 2, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': 'refused', 'policy_checks': 0}, 'frames': [['OPEN', 2], ['REJECT', 2], ['OPEN', 2]]}, {'phase': 'absent', 'registers': {'channel': 2, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': 'refused', 'policy_checks': 0}, 'frames': [['OPEN', 2], ['REJECT', 2], ['OPEN', 2]]}]), ('ordered trace 3', 'absent', ['open_local', 'refused', 'accepted', 'open_local', 'refused'], [{'phase': 'pending', 'registers': {'channel': 2, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': None, 'policy_checks': 0}, 'frames': [['OPEN', 2]]}, {'phase': 'absent', 'registers': {'channel': 2, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': 'refused', 'policy_checks': 0}, 'frames': [['OPEN', 2]]}, {'phase': 'absent', 'registers': {'channel': 2, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': 'refused', 'policy_checks': 0}, 'frames': [['OPEN', 2], ['REJECT', 2]]}, {'phase': 'pending', 'registers': {'channel': 2, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': 'refused', 'policy_checks': 0}, 'frames': [['OPEN', 2], ['REJECT', 2], ['OPEN', 2]]}, {'phase': 'absent', 'registers': {'channel': 2, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': 'refused', 'policy_checks': 0}, 'frames': [['OPEN', 2], ['REJECT', 2], ['OPEN', 2]]}]), ('empty input', 'absent', [], []), ('unknown event', 'absent', ['unsupported'], [{'phase': 'absent', 'registers': {'channel': 2, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': None, 'policy_checks': 0}, 'frames': [['REJECT', 2]]}])], 3: [('absent/open_local', 'absent', ['open_local'], [{'phase': 'pending', 'registers': {'channel': 3, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': None, 'policy_checks': 0}, 'frames': [['OPEN', 3]]}]), ('pending/accepted', 'pending', ['accepted'], [{'phase': 'ready', 'registers': {'channel': 3, 'allocated': 1, 'ready_notifications': 1, 'delivered': [], 'producer_error': None, 'policy_checks': 0}, 'frames': []}]), ('pending/refused', 'pending', ['refused'], [{'phase': 'absent', 'registers': {'channel': 3, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': 'refused', 'policy_checks': 0}, 'frames': []}]), ('absent/open_remote', 'absent', ['open_remote'], [{'phase': 'checking', 'registers': {'channel': 3, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': None, 'policy_checks': 1}, 'frames': []}]), ('checking/allowed', 'checking', ['allowed'], [{'phase': 'ready', 'registers': {'channel': 3, 'allocated': 1, 'ready_notifications': 0, 'delivered': [], 'producer_error': None, 'policy_checks': 0}, 'frames': [['ACCEPT', 3]]}]), ('checking/denied', 'checking', ['denied'], [{'phase': 'absent', 'registers': {'channel': 3, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': None, 'policy_checks': 0}, 'frames': [['REFUSE', 3]]}]), ('pending/data', 'pending', ['data'], [{'phase': 'pending', 'registers': {'channel': 3, 'allocated': 1, 'ready_notifications': 0, 'delivered': [], 'producer_error': None, 'policy_checks': 0}, 'frames': [['REJECT', 3]]}]), ('ready/reset', 'ready', ['reset'], [{'phase': 'absent', 'registers': {'channel': 3, 'allocated': 0, 'ready_notifications': 1, 'delivered': [], 'producer_error': 'reset', 'policy_checks': 0}, 'frames': []}]), ('ready/duplicate_open', 'ready', ['duplicate_open'], [{'phase': 'ready', 'registers': {'channel': 3, 'allocated': 1, 'ready_notifications': 1, 'delivered': [], 'producer_error': None, 'policy_checks': 0}, 'frames': [['ACCEPT', 3]]}]), ('absent/accepted', 'absent', ['accepted'], [{'phase': 'absent', 'registers': {'channel': 3, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': None, 'policy_checks': 0}, 'frames': [['REJECT', 3]]}]), ('ordered trace 0', 'absent', ['open_local', 'refused', 'accepted', 'open_local', 'refused', 'accepted'], [{'phase': 'pending', 'registers': {'channel': 3, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': None, 'policy_checks': 0}, 'frames': [['OPEN', 3]]}, {'phase': 'absent', 'registers': {'channel': 3, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': 'refused', 'policy_checks': 0}, 'frames': [['OPEN', 3]]}, {'phase': 'absent', 'registers': {'channel': 3, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': 'refused', 'policy_checks': 0}, 'frames': [['OPEN', 3], ['REJECT', 3]]}, {'phase': 'pending', 'registers': {'channel': 3, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': 'refused', 'policy_checks': 0}, 'frames': [['OPEN', 3], ['REJECT', 3], ['OPEN', 3]]}, {'phase': 'absent', 'registers': {'channel': 3, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': 'refused', 'policy_checks': 0}, 'frames': [['OPEN', 3], ['REJECT', 3], ['OPEN', 3]]}, {'phase': 'absent', 'registers': {'channel': 3, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': 'refused', 'policy_checks': 0}, 'frames': [['OPEN', 3], ['REJECT', 3], ['OPEN', 3], ['REJECT', 3]]}]), ('ordered trace 3', 'absent', ['open_local', 'refused', 'accepted', 'open_local', 'refused', 'accepted'], [{'phase': 'pending', 'registers': {'channel': 3, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': None, 'policy_checks': 0}, 'frames': [['OPEN', 3]]}, {'phase': 'absent', 'registers': {'channel': 3, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': 'refused', 'policy_checks': 0}, 'frames': [['OPEN', 3]]}, {'phase': 'absent', 'registers': {'channel': 3, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': 'refused', 'policy_checks': 0}, 'frames': [['OPEN', 3], ['REJECT', 3]]}, {'phase': 'pending', 'registers': {'channel': 3, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': 'refused', 'policy_checks': 0}, 'frames': [['OPEN', 3], ['REJECT', 3], ['OPEN', 3]]}, {'phase': 'absent', 'registers': {'channel': 3, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': 'refused', 'policy_checks': 0}, 'frames': [['OPEN', 3], ['REJECT', 3], ['OPEN', 3]]}, {'phase': 'absent', 'registers': {'channel': 3, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': 'refused', 'policy_checks': 0}, 'frames': [['OPEN', 3], ['REJECT', 3], ['OPEN', 3], ['REJECT', 3]]}]), ('empty input', 'absent', [], []), ('unknown event', 'absent', ['unsupported'], [{'phase': 'absent', 'registers': {'channel': 3, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': None, 'policy_checks': 0}, 'frames': [['REJECT', 3]]}])], 4: [('absent/open_local', 'absent', ['open_local'], [{'phase': 'pending', 'registers': {'channel': 4, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': None, 'policy_checks': 0}, 'frames': [['OPEN', 4]]}]), ('pending/accepted', 'pending', ['accepted'], [{'phase': 'ready', 'registers': {'channel': 4, 'allocated': 1, 'ready_notifications': 1, 'delivered': [], 'producer_error': None, 'policy_checks': 0}, 'frames': []}]), ('pending/refused', 'pending', ['refused'], [{'phase': 'absent', 'registers': {'channel': 4, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': 'refused', 'policy_checks': 0}, 'frames': []}]), ('absent/open_remote', 'absent', ['open_remote'], [{'phase': 'checking', 'registers': {'channel': 4, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': None, 'policy_checks': 1}, 'frames': []}]), ('checking/allowed', 'checking', ['allowed'], [{'phase': 'ready', 'registers': {'channel': 4, 'allocated': 1, 'ready_notifications': 0, 'delivered': [], 'producer_error': None, 'policy_checks': 0}, 'frames': [['ACCEPT', 4]]}]), ('checking/denied', 'checking', ['denied'], [{'phase': 'absent', 'registers': {'channel': 4, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': None, 'policy_checks': 0}, 'frames': [['REFUSE', 4]]}]), ('pending/data', 'pending', ['data'], [{'phase': 'pending', 'registers': {'channel': 4, 'allocated': 1, 'ready_notifications': 0, 'delivered': [], 'producer_error': None, 'policy_checks': 0}, 'frames': [['REJECT', 4]]}]), ('ready/reset', 'ready', ['reset'], [{'phase': 'absent', 'registers': {'channel': 4, 'allocated': 0, 'ready_notifications': 1, 'delivered': [], 'producer_error': 'reset', 'policy_checks': 0}, 'frames': []}]), ('ready/duplicate_open', 'ready', ['duplicate_open'], [{'phase': 'ready', 'registers': {'channel': 4, 'allocated': 1, 'ready_notifications': 1, 'delivered': [], 'producer_error': None, 'policy_checks': 0}, 'frames': [['ACCEPT', 4]]}]), ('absent/accepted', 'absent', ['accepted'], [{'phase': 'absent', 'registers': {'channel': 4, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': None, 'policy_checks': 0}, 'frames': [['REJECT', 4]]}]), ('ordered trace 0', 'absent', ['open_local', 'refused', 'accepted', 'open_local', 'refused', 'accepted', 'open_local'], [{'phase': 'pending', 'registers': {'channel': 4, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': None, 'policy_checks': 0}, 'frames': [['OPEN', 4]]}, {'phase': 'absent', 'registers': {'channel': 4, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': 'refused', 'policy_checks': 0}, 'frames': [['OPEN', 4]]}, {'phase': 'absent', 'registers': {'channel': 4, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': 'refused', 'policy_checks': 0}, 'frames': [['OPEN', 4], ['REJECT', 4]]}, {'phase': 'pending', 'registers': {'channel': 4, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': 'refused', 'policy_checks': 0}, 'frames': [['OPEN', 4], ['REJECT', 4], ['OPEN', 4]]}, {'phase': 'absent', 'registers': {'channel': 4, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': 'refused', 'policy_checks': 0}, 'frames': [['OPEN', 4], ['REJECT', 4], ['OPEN', 4]]}, {'phase': 'absent', 'registers': {'channel': 4, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': 'refused', 'policy_checks': 0}, 'frames': [['OPEN', 4], ['REJECT', 4], ['OPEN', 4], ['REJECT', 4]]}, {'phase': 'pending', 'registers': {'channel': 4, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': 'refused', 'policy_checks': 0}, 'frames': [['OPEN', 4], ['REJECT', 4], ['OPEN', 4], ['REJECT', 4], ['OPEN', 4]]}]), ('ordered trace 3', 'absent', ['open_local', 'refused', 'accepted', 'open_local', 'refused', 'accepted', 'open_local'], [{'phase': 'pending', 'registers': {'channel': 4, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': None, 'policy_checks': 0}, 'frames': [['OPEN', 4]]}, {'phase': 'absent', 'registers': {'channel': 4, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': 'refused', 'policy_checks': 0}, 'frames': [['OPEN', 4]]}, {'phase': 'absent', 'registers': {'channel': 4, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': 'refused', 'policy_checks': 0}, 'frames': [['OPEN', 4], ['REJECT', 4]]}, {'phase': 'pending', 'registers': {'channel': 4, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': 'refused', 'policy_checks': 0}, 'frames': [['OPEN', 4], ['REJECT', 4], ['OPEN', 4]]}, {'phase': 'absent', 'registers': {'channel': 4, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': 'refused', 'policy_checks': 0}, 'frames': [['OPEN', 4], ['REJECT', 4], ['OPEN', 4]]}, {'phase': 'absent', 'registers': {'channel': 4, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': 'refused', 'policy_checks': 0}, 'frames': [['OPEN', 4], ['REJECT', 4], ['OPEN', 4], ['REJECT', 4]]}, {'phase': 'pending', 'registers': {'channel': 4, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': 'refused', 'policy_checks': 0}, 'frames': [['OPEN', 4], ['REJECT', 4], ['OPEN', 4], ['REJECT', 4], ['OPEN', 4]]}]), ('empty input', 'absent', [], []), ('unknown event', 'absent', ['unsupported'], [{'phase': 'absent', 'registers': {'channel': 4, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': None, 'policy_checks': 0}, 'frames': [['REJECT', 4]]}])], 5: [('absent/open_local', 'absent', ['open_local'], [{'phase': 'pending', 'registers': {'channel': 5, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': None, 'policy_checks': 0}, 'frames': [['OPEN', 5]]}]), ('pending/accepted', 'pending', ['accepted'], [{'phase': 'ready', 'registers': {'channel': 5, 'allocated': 1, 'ready_notifications': 1, 'delivered': [], 'producer_error': None, 'policy_checks': 0}, 'frames': []}]), ('pending/refused', 'pending', ['refused'], [{'phase': 'absent', 'registers': {'channel': 5, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': 'refused', 'policy_checks': 0}, 'frames': []}]), ('absent/open_remote', 'absent', ['open_remote'], [{'phase': 'checking', 'registers': {'channel': 5, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': None, 'policy_checks': 1}, 'frames': []}]), ('checking/allowed', 'checking', ['allowed'], [{'phase': 'ready', 'registers': {'channel': 5, 'allocated': 1, 'ready_notifications': 0, 'delivered': [], 'producer_error': None, 'policy_checks': 0}, 'frames': [['ACCEPT', 5]]}]), ('checking/denied', 'checking', ['denied'], [{'phase': 'absent', 'registers': {'channel': 5, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': None, 'policy_checks': 0}, 'frames': [['REFUSE', 5]]}]), ('pending/data', 'pending', ['data'], [{'phase': 'pending', 'registers': {'channel': 5, 'allocated': 1, 'ready_notifications': 0, 'delivered': [], 'producer_error': None, 'policy_checks': 0}, 'frames': [['REJECT', 5]]}]), ('ready/reset', 'ready', ['reset'], [{'phase': 'absent', 'registers': {'channel': 5, 'allocated': 0, 'ready_notifications': 1, 'delivered': [], 'producer_error': 'reset', 'policy_checks': 0}, 'frames': []}]), ('ready/duplicate_open', 'ready', ['duplicate_open'], [{'phase': 'ready', 'registers': {'channel': 5, 'allocated': 1, 'ready_notifications': 1, 'delivered': [], 'producer_error': None, 'policy_checks': 0}, 'frames': [['ACCEPT', 5]]}]), ('absent/accepted', 'absent', ['accepted'], [{'phase': 'absent', 'registers': {'channel': 5, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': None, 'policy_checks': 0}, 'frames': [['REJECT', 5]]}]), ('ordered trace 0', 'absent', ['open_local', 'refused', 'accepted', 'open_local', 'refused', 'accepted', 'open_local', 'refused'], [{'phase': 'pending', 'registers': {'channel': 5, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': None, 'policy_checks': 0}, 'frames': [['OPEN', 5]]}, {'phase': 'absent', 'registers': {'channel': 5, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': 'refused', 'policy_checks': 0}, 'frames': [['OPEN', 5]]}, {'phase': 'absent', 'registers': {'channel': 5, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': 'refused', 'policy_checks': 0}, 'frames': [['OPEN', 5], ['REJECT', 5]]}, {'phase': 'pending', 'registers': {'channel': 5, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': 'refused', 'policy_checks': 0}, 'frames': [['OPEN', 5], ['REJECT', 5], ['OPEN', 5]]}, {'phase': 'absent', 'registers': {'channel': 5, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': 'refused', 'policy_checks': 0}, 'frames': [['OPEN', 5], ['REJECT', 5], ['OPEN', 5]]}, {'phase': 'absent', 'registers': {'channel': 5, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': 'refused', 'policy_checks': 0}, 'frames': [['OPEN', 5], ['REJECT', 5], ['OPEN', 5], ['REJECT', 5]]}, {'phase': 'pending', 'registers': {'channel': 5, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': 'refused', 'policy_checks': 0}, 'frames': [['OPEN', 5], ['REJECT', 5], ['OPEN', 5], ['REJECT', 5], ['OPEN', 5]]}, {'phase': 'absent', 'registers': {'channel': 5, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': 'refused', 'policy_checks': 0}, 'frames': [['OPEN', 5], ['REJECT', 5], ['OPEN', 5], ['REJECT', 5], ['OPEN', 5]]}]), ('ordered trace 3', 'absent', ['open_local', 'refused', 'accepted', 'open_local', 'refused', 'accepted', 'open_local', 'refused'], [{'phase': 'pending', 'registers': {'channel': 5, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': None, 'policy_checks': 0}, 'frames': [['OPEN', 5]]}, {'phase': 'absent', 'registers': {'channel': 5, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': 'refused', 'policy_checks': 0}, 'frames': [['OPEN', 5]]}, {'phase': 'absent', 'registers': {'channel': 5, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': 'refused', 'policy_checks': 0}, 'frames': [['OPEN', 5], ['REJECT', 5]]}, {'phase': 'pending', 'registers': {'channel': 5, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': 'refused', 'policy_checks': 0}, 'frames': [['OPEN', 5], ['REJECT', 5], ['OPEN', 5]]}, {'phase': 'absent', 'registers': {'channel': 5, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': 'refused', 'policy_checks': 0}, 'frames': [['OPEN', 5], ['REJECT', 5], ['OPEN', 5]]}, {'phase': 'absent', 'registers': {'channel': 5, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': 'refused', 'policy_checks': 0}, 'frames': [['OPEN', 5], ['REJECT', 5], ['OPEN', 5], ['REJECT', 5]]}, {'phase': 'pending', 'registers': {'channel': 5, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': 'refused', 'policy_checks': 0}, 'frames': [['OPEN', 5], ['REJECT', 5], ['OPEN', 5], ['REJECT', 5], ['OPEN', 5]]}, {'phase': 'absent', 'registers': {'channel': 5, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': 'refused', 'policy_checks': 0}, 'frames': [['OPEN', 5], ['REJECT', 5], ['OPEN', 5], ['REJECT', 5], ['OPEN', 5]]}]), ('empty input', 'absent', [], []), ('unknown event', 'absent', ['unsupported'], [{'phase': 'absent', 'registers': {'channel': 5, 'allocated': 0, 'ready_notifications': 0, 'delivered': [], 'producer_error': None, 'policy_checks': 0}, 'frames': [['REJECT', 5]]}])]}\nfor label, phase, events, expected in cases[N]:\n    check(label, solve(phase, events, N), expected)\nprint(json.dumps({\"observations\": observations, \"passed\": all(x[\"passed\"] for x in observations)}, ensure_ascii=False))\nraise SystemExit(0 if all(x[\"passed\"] for x in observations) else 1)\n"}},"limitations":"Bounded offline control-plane abstraction with prescribed initial registers and classified events. Not a named protocol implementation or conformance test; excludes wire parsing, transport retries, physical execution, authentication, crash persistence, and timing. Related event faults share the full corrected controller and evaluation group. This reproducer isolates one failure mechanism. Results cover the supplied fixtures. Variants within a family share a test contract and should remain grouped when constructing evaluation splits. Related mechanisms with a shared evaluation_group must also remain together; these controlled models are not independent production incidents.","method":"Deterministic executable model with adversarial boundary fixtures.","provenance":{"created_by":"Failure Map","dependencies":"Python standard library","family":"s3-protocols-channel_open-ready-reset","generated_at":"2026-09-29T14:40:03.115390+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 ready, classify reset as transition to absent and emit notify_reset.","root_cause":"In ready, the reset handler runs ignore and enters ready; it must instead run notify reset and enter absent.","sha256":"b1ee789faee82018a4af2fab475f5c683a8d4fee0991302dfe6db813dcba6d75","title":"Multiplexed logical-channel admission controller: ready / reset · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":44.734,"exit_code":1,"observations":[{"actual":[{"frames":[["OPEN",1]],"phase":"pending","registers":{"allocated":0,"channel":1,"delivered":[],"policy_checks":0,"producer_error":null,"ready_notifications":0}}],"check":"absent/open_local","expected":[{"frames":[["OPEN",1]],"phase":"pending","registers":{"allocated":0,"channel":1,"delivered":[],"policy_checks":0,"producer_error":null,"ready_notifications":0}}],"passed":true},{"actual":[{"frames":[],"phase":"ready","registers":{"allocated":1,"channel":1,"delivered":[],"policy_checks":0,"producer_error":null,"ready_notifications":1}}],"check":"pending/accepted","expected":[{"frames":[],"phase":"ready","registers":{"allocated":1,"channel":1,"delivered":[],"policy_checks":0,"producer_error":null,"ready_notifications":1}}],"passed":true},{"actual":[{"frames":[],"phase":"absent","registers":{"allocated":0,"channel":1,"delivered":[],"policy_checks":0,"producer_error":"refused","ready_notifications":0}}],"check":"pending/refused","expected":[{"frames":[],"phase":"absent","registers":{"allocated":0,"channel":1,"delivered":[],"policy_checks":0,"producer_error":"refused","ready_notifications":0}}],"passed":true},{"actual":[{"frames":[],"phase":"checking","registers":{"allocated":0,"channel":1,"delivered":[],"policy_checks":1,"producer_error":null,"ready_notifications":0}}],"check":"absent/open_remote","expected":[{"frames":[],"phase":"checking","registers":{"allocated":0,"channel":1,"delivered":[],"policy_checks":1,"producer_error":null,"ready_notifications":0}}],"passed":true},{"actual":[{"frames":[["ACCEPT",1]],"phase":"ready","registers":{"allocated":1,"channel":1,"delivered":[],"policy_checks":0,"producer_error":null,"ready_notifications":0}}],"check":"checking/allowed","expected":[{"frames":[["ACCEPT",1]],"phase":"ready","registers":{"allocated":1,"channel":1,"delivered":[],"policy_checks":0,"producer_error":null,"ready_notifications":0}}],"passed":true},{"actual":[{"frames":[["REFUSE",1]],"phase":"absent","registers":{"allocated":0,"channel":1,"delivered":[],"policy_checks":0,"producer_error":null,"ready_notifications":0}}],"check":"checking/denied","expected":[{"frames":[["REFUSE",1]],"phase":"absent","registers":{"allocated":0,"channel":1,"delivered":[],"policy_checks":0,"producer_error":null,"ready_notifications":0}}],"passed":true},{"actual":[{"frames":[["REJECT",1]],"phase":"pending","registers":{"allocated":1,"channel":1,"delivered":[],"policy_checks":0,"producer_error":null,"ready_notifications":0}}],"check":"pending/data","expected":[{"frames":[["REJECT",1]],"phase":"pending","registers":{"allocated":1,"channel":1,"delivered":[],"policy_checks":0,"producer_error":null,"ready_notifications":0}}],"passed":true},{"actual":[{"frames":[],"phase":"absent","registers":{"allocated":1,"channel":1,"delivered":[],"policy_checks":0,"producer_error":null,"ready_notifications":2}}],"check":"ready/reset","expected":[{"frames":[],"phase":"absent","registers":{"allocated":0,"channel":1,"delivered":[],"policy_checks":0,"producer_error":"reset","ready_notifications":1}}],"passed":false},{"actual":[{"frames":[["ACCEPT",1]],"phase":"ready","registers":{"allocated":1,"channel":1,"delivered":[],"policy_checks":0,"producer_error":null,"ready_notifications":1}}],"check":"ready/duplicate_open","expected":[{"frames":[["ACCEPT",1]],"phase":"ready","registers":{"allocated":1,"channel":1,"delivered":[],"policy_checks":0,"producer_error":null,"ready_notifications":1}}],"passed":true},{"actual":[{"frames":[["REJECT",1]],"phase":"absent","registers":{"allocated":0,"channel":1,"delivered":[],"policy_checks":0,"producer_error":null,"ready_notifications":0}}],"check":"absent/accepted","expected":[{"frames":[["REJECT",1]],"phase":"absent","registers":{"allocated":0,"channel":1,"delivered":[],"policy_checks":0,"producer_error":null,"ready_notifications":0}}],"passed":true},{"actual":[{"frames":[["OPEN",1]],"phase":"pending","registers":{"allocated":0,"channel":1,"delivered":[],"policy_checks":0,"producer_error":null,"ready_notifications":0}},{"frames":[["OPEN",1]],"phase":"absent","registers":{"allocated":0,"channel":1,"delivered":[],"policy_checks":0,"producer_error":"refused","ready_notifications":0}},{"frames":[["OPEN",1],["REJECT",1]],"phase":"absent","registers":{"allocated":0,"channel":1,"delivered":[],"policy_checks":0,"producer_error":"refused","ready_notifications":0}},{"frames":[["OPEN",1],["REJECT",1],["OPEN",1]],"phase":"pending","registers":{"allocated":0,"channel":1,"delivered":[],"policy_checks":0,"producer_error":"refused","ready_notifications":0}}],"check":"ordered trace 0","expected":[{"frames":[["OPEN",1]],"phase":"pending","registers":{"allocated":0,"channel":1,"delivered":[],"policy_checks":0,"producer_error":null,"ready_notifications":0}},{"frames":[["OPEN",1]],"phase":"absent","registers":{"allocated":0,"channel":1,"delivered":[],"policy_checks":0,"producer_error":"refused","ready_notifications":0}},{"frames":[["OPEN",1],["REJECT",1]],"phase":"absent","registers":{"allocated":0,"channel":1,"delivered":[],"policy_checks":0,"producer_error":"refused","ready_notifications":0}},{"frames":[["OPEN",1],["REJECT",1],["OPEN",1]],"phase":"pending","registers":{"allocated":0,"channel":1,"delivered":[],"policy_checks":0,"producer_error":"refused","ready_notifications":0}}],"passed":true},{"actual":[{"frames":[["OPEN",1]],"phase":"pending","registers":{"allocated":0,"channel":1,"delivered":[],"policy_checks":0,"producer_error":null,"ready_notifications":0}},{"frames":[["OPEN",1]],"phase":"absent","registers":{"allocated":0,"channel":1,"delivered":[],"policy_checks":0,"producer_error":"refused","ready_notifications":0}},{"frames":[["OPEN",1],["REJECT",1]],"phase":"absent","registers":{"allocated":0,"channel":1,"delivered":[],"policy_checks":0,"producer_error":"refused","ready_notifications":0}},{"frames":[["OPEN",1],["REJECT",1],["OPEN",1]],"phase":"pending","registers":{"allocated":0,"channel":1,"delivered":[],"policy_checks":0,"producer_error":"refused","ready_notifications":0}}],"check":"ordered trace 3","expected":[{"frames":[["OPEN",1]],"phase":"pending","registers":{"allocated":0,"channel":1,"delivered":[],"policy_checks":0,"producer_error":null,"ready_notifications":0}},{"frames":[["OPEN",1]],"phase":"absent","registers":{"allocated":0,"channel":1,"delivered":[],"policy_checks":0,"producer_error":"refused","ready_notifications":0}},{"frames":[["OPEN",1],["REJECT",1]],"phase":"absent","registers":{"allocated":0,"channel":1,"delivered":[],"policy_checks":0,"producer_error":"refused","ready_notifications":0}},{"frames":[["OPEN",1],["REJECT",1],["OPEN",1]],"phase":"pending","registers":{"allocated":0,"channel":1,"delivered":[],"policy_checks":0,"producer_error":"refused","ready_notifications":0}}],"passed":true},{"actual":[],"check":"empty input","expected":[],"passed":true},{"actual":[{"frames":[["REJECT",1]],"phase":"absent","registers":{"allocated":0,"channel":1,"delivered":[],"policy_checks":0,"producer_error":null,"ready_notifications":0}}],"check":"unknown event","expected":[{"frames":[["REJECT",1]],"phase":"absent","registers":{"allocated":0,"channel":1,"delivered":[],"policy_checks":0,"producer_error":null,"ready_notifications":0}}],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"absent/open_local\", \"actual\": [{\"phase\": \"pending\", \"registers\": {\"channel\": 1, \"allocated\": 0, \"ready_notifications\": 0, \"delivered\": [], \"producer_error\": null, \"policy_checks\": 0}, \"frames\": [[\"OPEN\", 1]]}], \"expected\": [{\"phase\": \"pending\", \"registers\": {\"channel\": 1, \"allocated\": 0, \"ready_notifications\": 0, \"delivered\": [], \"producer_error\": null, \"policy_checks\": 0}, \"frames\": [[\"OPEN\", 1]]}], \"passed\": true}, {\"check\": \"pending/accepted\", \"actual\": [{\"phase\": \"ready\", \"registers\": {\"channel\": 1, \"allocated\": 1, \"ready_notifications\": 1, \"delivered\": [], \"producer_error\": null, \"policy_checks\": 0}, \"frames\": []}], \"expected\": [{\"phase\": \"ready\", \"registers\": {\"channel\": 1, \"allocated\": 1, \"ready_notifications\": 1, \"delivered\": [], \"producer_error\": null, \"policy_checks\": 0}, \"frames\": []}], \"passed\": true}, {\"check\": \"pending/refused\", \"actual\": [{\"phase\": \"absent\", \"registers\": {\"channel\": 1, \"allocated\": 0, \"ready_notifications\": 0, \"delivered\": [], \"producer_error\": \"refused\", \"policy_checks\": 0}, \"frames\": []}], \"expected\": [{\"phase\": \"absent\", \"registers\": {\"channel\": 1, \"allocated\": 0, \"ready_notifications\": 0, \"delivered\": [], \"producer_error\": \"refused\", \"policy_checks\": 0}, \"frames\": []}], \"passed\": true}, {\"check\": \"absent/open_remote\", \"actual\": [{\"phase\": \"checking\", \"registers\": {\"channel\": 1, \"allocated\": 0, \"ready_notifications\": 0, \"delivered\": [], \"producer_error\": null, \"policy_checks\": 1}, \"frames\": []}], \"expected\": [{\"phase\": \"checking\", \"registers\": {\"channel\": 1, \"allocated\": 0, \"ready_notifications\": 0, \"delivered\": [], \"producer_error\": null, \"policy_checks\": 1}, \"frames\": []}], \"passed\": true}, {\"check\": \"checking/allowed\", \"actual\": [{\"phase\": \"ready\", \"registers\": {\"channel\": 1, \"allocated\": 1, \"ready_notifications\": 0, \"delivered\": [], \"producer_error\": null, \"policy_checks\": 0}, \"frames\": [[\"ACCEPT\", 1]]}], \"expected\": [{\"phase\": \"ready\", \"registers\": {\"channel\": 1, \"allocated\": 1, \"ready_notifications\": 0, \"delivered\": [], \"producer_error\": null, \"policy_checks\": 0}, \"frames\": [[\"ACCEPT\", 1]]}], \"passed\": true}, {\"check\": \"checking/denied\", \"actual\": [{\"phase\": \"absent\", \"registers\": {\"channel\": 1, \"allocated\": 0, \"ready_notifications\": 0, \"delivered\": [], \"producer_error\": null, \"policy_checks\": 0}, \"frames\": [[\"REFUSE\", 1]]}], \"expected\": [{\"phase\": \"absent\", \"registers\": {\"channel\": 1, \"allocated\": 0, \"ready_notifications\": 0, \"delivered\": [], \"producer_error\": null, \"policy_checks\": 0}, \"frames\": [[\"REFUSE\", 1]]}], \"passed\": true}, {\"check\": \"pending/data\", \"actual\": [{\"phase\": \"pending\", \"registers\": {\"channel\": 1, \"allocated\": 1, \"ready_notifications\": 0, \"delivered\": [], \"producer_error\": null, \"policy_checks\": 0}, \"frames\": [[\"REJECT\", 1]]}], \"expected\": [{\"phase\": \"pending\", \"registers\": {\"channel\": 1, \"allocated\": 1, \"ready_notifications\": 0, \"delivered\": [], \"producer_error\": null, \"policy_checks\": 0}, \"frames\": [[\"REJECT\", 1]]}], \"passed\": true}, {\"check\": \"ready/reset\", \"actual\": [{\"phase\": \"absent\", \"registers\": {\"channel\": 1, \"allocated\": 1, \"ready_notifications\": 2, \"delivered\": [], \"producer_error\": null, \"policy_checks\": 0}, \"frames\": []}], \"expected\": [{\"phase\": \"absent\", \"registers\": {\"channel\": 1, \"allocated\": 0, \"ready_notifications\": 1, \"delivered\": [], \"producer_error\": \"reset\", \"policy_checks\": 0}, \"frames\": []}], \"passed\": false}, {\"check\": \"ready/duplicate_open\", \"actual\": [{\"phase\": \"ready\", \"registers\": {\"channel\": 1, \"allocated\": 1, \"ready_notifications\": 1, \"delivered\": [], \"producer_error\": null, \"policy_checks\": 0}, \"frames\": [[\"ACCEPT\", 1]]}], \"expected\": [{\"phase\": \"ready\", \"registers\": {\"channel\": 1, \"allocated\": 1, \"ready_notifications\": 1, \"delivered\": [], \"producer_error\": null, \"policy_checks\": 0}, \"frames\": [[\"ACCEPT\", 1]]}], \"passed\": true}, {\"check\": \"absent/accepted\", \"actual\": [{\"phase\": \"absent\", \"registers\": {\"channel\": 1, \"allocated\": 0, \"ready_notifications\": 0, \"delivered\": [], \"producer_error\": null, \"policy_checks\": 0}, \"frames\": [[\"REJECT\", 1]]}], \"expected\": [{\"phase\": \"absent\", \"registers\": {\"channel\": 1, \"allocated\": 0, \"ready_notifications\": 0, \"delivered\": [], \"producer_error\": null, \"policy_checks\": 0}, \"frames\": [[\"REJECT\", 1]]}], \"passed\": true}, {\"check\": \"ordered trace 0\", \"actual\": [{\"phase\": \"pending\", \"registers\": {\"channel\": 1, \"allocated\": 0, \"ready_notifications\": 0, \"delivered\": [], \"producer_error\": null, \"policy_checks\": 0}, \"frames\": [[\"OPEN\", 1]]}, {\"phase\": \"absent\", \"registers\": {\"channel\": 1, \"allocated\": 0, \"ready_notifications\": 0, \"delivered\": [], \"producer_error\": \"refused\", \"policy_checks\": 0}, \"frames\": [[\"OPEN\", 1]]}, {\"phase\": \"absent\", \"registers\": {\"channel\": 1, \"allocated\": 0, \"ready_notifications\": 0, \"delivered\": [], \"producer_error\": \"refused\", \"policy_checks\": 0}, \"frames\": [[\"OPEN\", 1], [\"REJECT\", 1]]}, {\"phase\": \"pending\", \"registers\": {\"channel\": 1, \"allocated\": 0, \"ready_notifications\": 0, \"delivered\": [], \"producer_error\": \"refused\", \"policy_checks\": 0}, \"frames\": [[\"OPEN\", 1], [\"REJECT\", 1], [\"OPEN\", 1]]}], \"expected\": [{\"phase\": \"pending\", \"registers\": {\"channel\": 1, \"allocated\": 0, \"ready_notifications\": 0, \"delivered\": [], \"producer_error\": null, \"policy_checks\": 0}, \"frames\": [[\"OPEN\", 1]]}, {\"phase\": \"absent\", \"registers\": {\"channel\": 1, \"allocated\": 0, \"ready_notifications\": 0, \"delivered\": [], \"producer_error\": \"refused\", \"policy_checks\": 0}, \"frames\": [[\"OPEN\", 1]]}, {\"phase\": \"absent\", \"registers\": {\"channel\": 1, \"allocated\": 0, \"ready_notifications\": 0, \"delivered\": [], \"producer_error\": \"refused\", \"policy_checks\": 0}, \"frames\": [[\"OPEN\", 1], [\"REJECT\", 1]]}, {\"phase\": \"pending\", \"registers\": {\"channel\": 1, \"allocated\": 0, \"ready_notifications\": 0, \"delivered\": [], \"producer_error\": \"refused\", \"policy_checks\": 0}, \"frames\": [[\"OPEN\", 1], [\"REJECT\", 1], [\"OPEN\", 1]]}], \"passed\": true}, {\"check\": \"ordered trace 3\", \"actual\": [{\"phase\": \"pending\", \"registers\": {\"channel\": 1, \"allocated\": 0, \"ready_notifications\": 0, \"delivered\": [], \"producer_error\": null, \"policy_checks\": 0}, \"frames\": [[\"OPEN\", 1]]}, {\"phase\": \"absent\", \"registers\": {\"channel\": 1, \"allocated\": 0, \"ready_notifications\": 0, \"delivered\": [], \"producer_error\": \"refused\", \"policy_checks\": 0}, \"frames\": [[\"OPEN\", 1]]}, {\"phase\": \"absent\", \"registers\": {\"channel\": 1, \"allocated\": 0, \"ready_notifications\": 0, \"delivered\": [], \"producer_error\": \"refused\", \"policy_checks\": 0}, \"frames\": [[\"OPEN\", 1], [\"REJECT\", 1]]}, {\"phase\": \"pending\", \"registers\": {\"channel\": 1, \"allocated\": 0, \"ready_notifications\": 0, \"delivered\": [], \"producer_error\": \"refused\", \"policy_checks\": 0}, \"frames\": [[\"OPEN\", 1], [\"REJECT\", 1], [\"OPEN\", 1]]}], \"expected\": [{\"phase\": \"pending\", \"registers\": {\"channel\": 1, \"allocated\": 0, \"ready_notifications\": 0, \"delivered\": [], \"producer_error\": null, \"policy_checks\": 0}, \"frames\": [[\"OPEN\", 1]]}, {\"phase\": \"absent\", \"registers\": {\"channel\": 1, \"allocated\": 0, \"ready_notifications\": 0, \"delivered\": [], \"producer_error\": \"refused\", \"policy_checks\": 0}, \"frames\": [[\"OPEN\", 1]]}, {\"phase\": \"absent\", \"registers\": {\"channel\": 1, \"allocated\": 0, \"ready_notifications\": 0, \"delivered\": [], \"producer_error\": \"refused\", \"policy_checks\": 0}, \"frames\": [[\"OPEN\", 1], [\"REJECT\", 1]]}, {\"phase\": \"pending\", \"registers\": {\"channel\": 1, \"allocated\": 0, \"ready_notifications\": 0, \"delivered\": [], \"producer_error\": \"refused\", \"policy_checks\": 0}, \"frames\": [[\"OPEN\", 1], [\"REJECT\", 1], [\"OPEN\", 1]]}], \"passed\": true}, {\"check\": \"empty input\", \"actual\": [], \"expected\": [], \"passed\": true}, {\"check\": \"unknown event\", \"actual\": [{\"phase\": \"absent\", \"registers\": {\"channel\": 1, \"allocated\": 0, \"ready_notifications\": 0, \"delivered\": [], \"producer_error\": null, \"policy_checks\": 0}, \"frames\": [[\"REJECT\", 1]]}], \"expected\": [{\"phase\": \"absent\", \"registers\": {\"channel\": 1, \"allocated\": 0, \"ready_notifications\": 0, \"delivered\": [], \"producer_error\": null, \"policy_checks\": 0}, \"frames\": [[\"REJECT\", 1]]}], \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":46.266,"exit_code":1,"observations":[{"actual":[{"frames":[["OPEN",1]],"phase":"pending","registers":{"allocated":0,"channel":1,"delivered":[],"policy_checks":0,"producer_error":null,"ready_notifications":0}}],"check":"absent/open_local","expected":[{"frames":[["OPEN",1]],"phase":"pending","registers":{"allocated":0,"channel":1,"delivered":[],"policy_checks":0,"producer_error":null,"ready_notifications":0}}],"passed":true},{"actual":[{"frames":[],"phase":"ready","registers":{"allocated":1,"channel":1,"delivered":[],"policy_checks":0,"producer_error":null,"ready_notifications":1}}],"check":"pending/accepted","expected":[{"frames":[],"phase":"ready","registers":{"allocated":1,"channel":1,"delivered":[],"policy_checks":0,"producer_error":null,"ready_notifications":1}}],"passed":true},{"actual":[{"frames":[],"phase":"absent","registers":{"allocated":0,"channel":1,"delivered":[],"policy_checks":0,"producer_error":"refused","ready_notifications":0}}],"check":"pending/refused","expected":[{"frames":[],"phase":"absent","registers":{"allocated":0,"channel":1,"delivered":[],"policy_checks":0,"producer_error":"refused","ready_notifications":0}}],"passed":true},{"actual":[{"frames":[],"phase":"checking","registers":{"allocated":0,"channel":1,"delivered":[],"policy_checks":1,"producer_error":null,"ready_notifications":0}}],"check":"absent/open_remote","expected":[{"frames":[],"phase":"checking","registers":{"allocated":0,"channel":1,"delivered":[],"policy_checks":1,"producer_error":null,"ready_notifications":0}}],"passed":true},{"actual":[{"frames":[["ACCEPT",1]],"phase":"ready","registers":{"allocated":1,"channel":1,"delivered":[],"policy_checks":0,"producer_error":null,"ready_notifications":0}}],"check":"checking/allowed","expected":[{"frames":[["ACCEPT",1]],"phase":"ready","registers":{"allocated":1,"channel":1,"delivered":[],"policy_checks":0,"producer_error":null,"ready_notifications":0}}],"passed":true},{"actual":[{"frames":[["REFUSE",1]],"phase":"absent","registers":{"allocated":0,"channel":1,"delivered":[],"policy_checks":0,"producer_error":null,"ready_notifications":0}}],"check":"checking/denied","expected":[{"frames":[["REFUSE",1]],"phase":"absent","registers":{"allocated":0,"channel":1,"delivered":[],"policy_checks":0,"producer_error":null,"ready_notifications":0}}],"passed":true},{"actual":[{"frames":[["REJECT",1]],"phase":"pending","registers":{"allocated":1,"channel":1,"delivered":[],"policy_checks":0,"producer_error":null,"ready_notifications":0}}],"check":"pending/data","expected":[{"frames":[["REJECT",1]],"phase":"pending","registers":{"allocated":1,"channel":1,"delivered":[],"policy_checks":0,"producer_error":null,"ready_notifications":0}}],"passed":true},{"actual":[{"frames":[],"phase":"ready","registers":{"allocated":1,"channel":1,"delivered":[],"policy_checks":0,"producer_error":null,"ready_notifications":1}}],"check":"ready/reset","expected":[{"frames":[],"phase":"absent","registers":{"allocated":0,"channel":1,"delivered":[],"policy_checks":0,"producer_error":"reset","ready_notifications":1}}],"passed":false},{"actual":[{"frames":[["ACCEPT",1]],"phase":"ready","registers":{"allocated":1,"channel":1,"delivered":[],"policy_checks":0,"producer_error":null,"ready_notifications":1}}],"check":"ready/duplicate_open","expected":[{"frames":[["ACCEPT",1]],"phase":"ready","registers":{"allocated":1,"channel":1,"delivered":[],"policy_checks":0,"producer_error":null,"ready_notifications":1}}],"passed":true},{"actual":[{"frames":[["REJECT",1]],"phase":"absent","registers":{"allocated":0,"channel":1,"delivered":[],"policy_checks":0,"producer_error":null,"ready_notifications":0}}],"check":"absent/accepted","expected":[{"frames":[["REJECT",1]],"phase":"absent","registers":{"allocated":0,"channel":1,"delivered":[],"policy_checks":0,"producer_error":null,"ready_notifications":0}}],"passed":true},{"actual":[{"frames":[["OPEN",1]],"phase":"pending","registers":{"allocated":0,"channel":1,"delivered":[],"policy_checks":0,"producer_error":null,"ready_notifications":0}},{"frames":[["OPEN",1]],"phase":"absent","registers":{"allocated":0,"channel":1,"delivered":[],"policy_checks":0,"producer_error":"refused","ready_notifications":0}},{"frames":[["OPEN",1],["REJECT",1]],"phase":"absent","registers":{"allocated":0,"channel":1,"delivered":[],"policy_checks":0,"producer_error":"refused","ready_notifications":0}},{"frames":[["OPEN",1],["REJECT",1],["OPEN",1]],"phase":"pending","registers":{"allocated":0,"channel":1,"delivered":[],"policy_checks":0,"producer_error":"refused","ready_notifications":0}}],"check":"ordered trace 0","expected":[{"frames":[["OPEN",1]],"phase":"pending","registers":{"allocated":0,"channel":1,"delivered":[],"policy_checks":0,"producer_error":null,"ready_notifications":0}},{"frames":[["OPEN",1]],"phase":"absent","registers":{"allocated":0,"channel":1,"delivered":[],"policy_checks":0,"producer_error":"refused","ready_notifications":0}},{"frames":[["OPEN",1],["REJECT",1]],"phase":"absent","registers":{"allocated":0,"channel":1,"delivered":[],"policy_checks":0,"producer_error":"refused","ready_notifications":0}},{"frames":[["OPEN",1],["REJECT",1],["OPEN",1]],"phase":"pending","registers":{"allocated":0,"channel":1,"delivered":[],"policy_checks":0,"producer_error":"refused","ready_notifications":0}}],"passed":true},{"actual":[{"frames":[["OPEN",1]],"phase":"pending","registers":{"allocated":0,"channel":1,"delivered":[],"policy_checks":0,"producer_error":null,"ready_notifications":0}},{"frames":[["OPEN",1]],"phase":"absent","registers":{"allocated":0,"channel":1,"delivered":[],"policy_checks":0,"producer_error":"refused","ready_notifications":0}},{"frames":[["OPEN",1],["REJECT",1]],"phase":"absent","registers":{"allocated":0,"channel":1,"delivered":[],"policy_checks":0,"producer_error":"refused","ready_notifications":0}},{"frames":[["OPEN",1],["REJECT",1],["OPEN",1]],"phase":"pending","registers":{"allocated":0,"channel":1,"delivered":[],"policy_checks":0,"producer_error":"refused","ready_notifications":0}}],"check":"ordered trace 3","expected":[{"frames":[["OPEN",1]],"phase":"pending","registers":{"allocated":0,"channel":1,"delivered":[],"policy_checks":0,"producer_error":null,"ready_notifications":0}},{"frames":[["OPEN",1]],"phase":"absent","registers":{"allocated":0,"channel":1,"delivered":[],"policy_checks":0,"producer_error":"refused","ready_notifications":0}},{"frames":[["OPEN",1],["REJECT",1]],"phase":"absent","registers":{"allocated":0,"channel":1,"delivered":[],"policy_checks":0,"producer_error":"refused","ready_notifications":0}},{"frames":[["OPEN",1],["REJECT",1],["OPEN",1]],"phase":"pending","registers":{"allocated":0,"channel":1,"delivered":[],"policy_checks":0,"producer_error":"refused","ready_notifications":0}}],"passed":true},{"actual":[],"check":"empty input","expected":[],"passed":true},{"actual":[{"frames":[["REJECT",1]],"phase":"absent","registers":{"allocated":0,"channel":1,"delivered":[],"policy_checks":0,"producer_error":null,"ready_notifications":0}}],"check":"unknown event","expected":[{"frames":[["REJECT",1]],"phase":"absent","registers":{"allocated":0,"channel":1,"delivered":[],"policy_checks":0,"producer_error":null,"ready_notifications":0}}],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"absent/open_local\", \"actual\": [{\"phase\": \"pending\", \"registers\": {\"channel\": 1, \"allocated\": 0, \"ready_notifications\": 0, \"delivered\": [], \"producer_error\": null, \"policy_checks\": 0}, \"frames\": [[\"OPEN\", 1]]}], \"expected\": [{\"phase\": \"pending\", \"registers\": {\"channel\": 1, \"allocated\": 0, \"ready_notifications\": 0, \"delivered\": [], \"producer_error\": null, \"policy_checks\": 0}, \"frames\": [[\"OPEN\", 1]]}], \"passed\": true}, {\"check\": \"pending/accepted\", \"actual\": [{\"phase\": \"ready\", \"registers\": {\"channel\": 1, \"allocated\": 1, \"ready_notifications\": 1, \"delivered\": [], \"producer_error\": null, \"policy_checks\": 0}, \"frames\": []}], \"expected\": [{\"phase\": \"ready\", \"registers\": {\"channel\": 1, \"allocated\": 1, \"ready_notifications\": 1, \"delivered\": [], \"producer_error\": null, \"policy_checks\": 0}, \"frames\": []}], \"passed\": true}, {\"check\": \"pending/refused\", \"actual\": [{\"phase\": \"absent\", \"registers\": {\"channel\": 1, \"allocated\": 0, \"ready_notifications\": 0, \"delivered\": [], \"producer_error\": \"refused\", \"policy_checks\": 0}, \"frames\": []}], \"expected\": [{\"phase\": \"absent\", \"registers\": {\"channel\": 1, \"allocated\": 0, \"ready_notifications\": 0, \"delivered\": [], \"producer_error\": \"refused\", \"policy_checks\": 0}, \"frames\": []}], \"passed\": true}, {\"check\": \"absent/open_remote\", \"actual\": [{\"phase\": \"checking\", \"registers\": {\"channel\": 1, \"allocated\": 0, \"ready_notifications\": 0, \"delivered\": [], \"producer_error\": null, \"policy_checks\": 1}, \"frames\": []}], \"expected\": [{\"phase\": \"checking\", \"registers\": {\"channel\": 1, \"allocated\": 0, \"ready_notifications\": 0, \"delivered\": [], \"producer_error\": null, \"policy_checks\": 1}, \"frames\": []}], \"passed\": true}, {\"check\": \"checking/allowed\", \"actual\": [{\"phase\": \"ready\", \"registers\": {\"channel\": 1, \"allocated\": 1, \"ready_notifications\": 0, \"delivered\": [], \"producer_error\": null, \"policy_checks\": 0}, \"frames\": [[\"ACCEPT\", 1]]}], \"expected\": [{\"phase\": \"ready\", \"registers\": {\"channel\": 1, \"allocated\": 1, \"ready_notifications\": 0, \"delivered\": [], \"producer_error\": null, \"policy_checks\": 0}, \"frames\": [[\"ACCEPT\", 1]]}], \"passed\": true}, {\"check\": \"checking/denied\", \"actual\": [{\"phase\": \"absent\", \"registers\": {\"channel\": 1, \"allocated\": 0, \"ready_notifications\": 0, \"delivered\": [], \"producer_error\": null, \"policy_checks\": 0}, \"frames\": [[\"REFUSE\", 1]]}], \"expected\": [{\"phase\": \"absent\", \"registers\": {\"channel\": 1, \"allocated\": 0, \"ready_notifications\": 0, \"delivered\": [], \"producer_error\": null, \"policy_checks\": 0}, \"frames\": [[\"REFUSE\", 1]]}], \"passed\": true}, {\"check\": \"pending/data\", \"actual\": [{\"phase\": \"pending\", \"registers\": {\"channel\": 1, \"allocated\": 1, \"ready_notifications\": 0, \"delivered\": [], \"producer_error\": null, \"policy_checks\": 0}, \"frames\": [[\"REJECT\", 1]]}], \"expected\": [{\"phase\": \"pending\", \"registers\": {\"channel\": 1, \"allocated\": 1, \"ready_notifications\": 0, \"delivered\": [], \"producer_error\": null, \"policy_checks\": 0}, \"frames\": [[\"REJECT\", 1]]}], \"passed\": true}, {\"check\": \"ready/reset\", \"actual\": [{\"phase\": \"ready\", \"registers\": {\"channel\": 1, \"allocated\": 1, \"ready_notifications\": 1, \"delivered\": [], \"producer_error\": null, \"policy_checks\": 0}, \"frames\": []}], \"expected\": [{\"phase\": \"absent\", \"registers\": {\"channel\": 1, \"allocated\": 0, \"ready_notifications\": 1, \"delivered\": [], \"producer_error\": \"reset\", \"policy_checks\": 0}, \"frames\": []}], \"passed\": false}, {\"check\": \"ready/duplicate_open\", \"actual\": [{\"phase\": \"ready\", \"registers\": {\"channel\": 1, \"allocated\": 1, \"ready_notifications\": 1, \"delivered\": [], \"producer_error\": null, \"policy_checks\": 0}, \"frames\": [[\"ACCEPT\", 1]]}], \"expected\": [{\"phase\": \"ready\", \"registers\": {\"channel\": 1, \"allocated\": 1, \"ready_notifications\": 1, \"delivered\": [], \"producer_error\": null, \"policy_checks\": 0}, \"frames\": [[\"ACCEPT\", 1]]}], \"passed\": true}, {\"check\": \"absent/accepted\", \"actual\": [{\"phase\": \"absent\", \"registers\": {\"channel\": 1, \"allocated\": 0, \"ready_notifications\": 0, \"delivered\": [], \"producer_error\": null, \"policy_checks\": 0}, \"frames\": [[\"REJECT\", 1]]}], \"expected\": [{\"phase\": \"absent\", \"registers\": {\"channel\": 1, \"allocated\": 0, \"ready_notifications\": 0, \"delivered\": [], \"producer_error\": null, \"policy_checks\": 0}, \"frames\": [[\"REJECT\", 1]]}], \"passed\": true}, {\"check\": \"ordered trace 0\", \"actual\": [{\"phase\": \"pending\", \"registers\": {\"channel\": 1, \"allocated\": 0, \"ready_notifications\": 0, \"delivered\": [], \"producer_error\": null, \"policy_checks\": 0}, \"frames\": [[\"OPEN\", 1]]}, {\"phase\": \"absent\", \"registers\": {\"channel\": 1, \"allocated\": 0, \"ready_notifications\": 0, \"delivered\": [], \"producer_error\": \"refused\", \"policy_checks\": 0}, \"frames\": [[\"OPEN\", 1]]}, {\"phase\": \"absent\", \"registers\": {\"channel\": 1, \"allocated\": 0, \"ready_notifications\": 0, \"delivered\": [], \"producer_error\": \"refused\", \"policy_checks\": 0}, \"frames\": [[\"OPEN\", 1], [\"REJECT\", 1]]}, {\"phase\": \"pending\", \"registers\": {\"channel\": 1, \"allocated\": 0, \"ready_notifications\": 0, \"delivered\": [], \"producer_error\": \"refused\", \"policy_checks\": 0}, \"frames\": [[\"OPEN\", 1], [\"REJECT\", 1], [\"OPEN\", 1]]}], \"expected\": [{\"phase\": \"pending\", \"registers\": {\"channel\": 1, \"allocated\": 0, \"ready_notifications\": 0, \"delivered\": [], \"producer_error\": null, \"policy_checks\": 0}, \"frames\": [[\"OPEN\", 1]]}, {\"phase\": \"absent\", \"registers\": {\"channel\": 1, \"allocated\": 0, \"ready_notifications\": 0, \"delivered\": [], \"producer_error\": \"refused\", \"policy_checks\": 0}, \"frames\": [[\"OPEN\", 1]]}, {\"phase\": \"absent\", \"registers\": {\"channel\": 1, \"allocated\": 0, \"ready_notifications\": 0, \"delivered\": [], \"producer_error\": \"refused\", \"policy_checks\": 0}, \"frames\": [[\"OPEN\", 1], [\"REJECT\", 1]]}, {\"phase\": \"pending\", \"registers\": {\"channel\": 1, \"allocated\": 0, \"ready_notifications\": 0, \"delivered\": [], \"producer_error\": \"refused\", \"policy_checks\": 0}, \"frames\": [[\"OPEN\", 1], [\"REJECT\", 1], [\"OPEN\", 1]]}], \"passed\": true}, {\"check\": \"ordered trace 3\", \"actual\": [{\"phase\": \"pending\", \"registers\": {\"channel\": 1, \"allocated\": 0, \"ready_notifications\": 0, \"delivered\": [], \"producer_error\": null, \"policy_checks\": 0}, \"frames\": [[\"OPEN\", 1]]}, {\"phase\": \"absent\", \"registers\": {\"channel\": 1, \"allocated\": 0, \"ready_notifications\": 0, \"delivered\": [], \"producer_error\": \"refused\", \"policy_checks\": 0}, \"frames\": [[\"OPEN\", 1]]}, {\"phase\": \"absent\", \"registers\": {\"channel\": 1, \"allocated\": 0, \"ready_notifications\": 0, \"delivered\": [], \"producer_error\": \"refused\", \"policy_checks\": 0}, \"frames\": [[\"OPEN\", 1], [\"REJECT\", 1]]}, {\"phase\": \"pending\", \"registers\": {\"channel\": 1, \"allocated\": 0, \"ready_notifications\": 0, \"delivered\": [], \"producer_error\": \"refused\", \"policy_checks\": 0}, \"frames\": [[\"OPEN\", 1], [\"REJECT\", 1], [\"OPEN\", 1]]}], \"expected\": [{\"phase\": \"pending\", \"registers\": {\"channel\": 1, \"allocated\": 0, \"ready_notifications\": 0, \"delivered\": [], \"producer_error\": null, \"policy_checks\": 0}, \"frames\": [[\"OPEN\", 1]]}, {\"phase\": \"absent\", \"registers\": {\"channel\": 1, \"allocated\": 0, \"ready_notifications\": 0, \"delivered\": [], \"producer_error\": \"refused\", \"policy_checks\": 0}, \"frames\": [[\"OPEN\", 1]]}, {\"phase\": \"absent\", \"registers\": {\"channel\": 1, \"allocated\": 0, \"ready_notifications\": 0, \"delivered\": [], \"producer_error\": \"refused\", \"policy_checks\": 0}, \"frames\": [[\"OPEN\", 1], [\"REJECT\", 1]]}, {\"phase\": \"pending\", \"registers\": {\"channel\": 1, \"allocated\": 0, \"ready_notifications\": 0, \"delivered\": [], \"producer_error\": \"refused\", \"policy_checks\": 0}, \"frames\": [[\"OPEN\", 1], [\"REJECT\", 1], [\"OPEN\", 1]]}], \"passed\": true}, {\"check\": \"empty input\", \"actual\": [], \"expected\": [], \"passed\": true}, {\"check\": \"unknown event\", \"actual\": [{\"phase\": \"absent\", \"registers\": {\"channel\": 1, \"allocated\": 0, \"ready_notifications\": 0, \"delivered\": [], \"producer_error\": null, \"policy_checks\": 0}, \"frames\": [[\"REJECT\", 1]]}], \"expected\": [{\"phase\": \"absent\", \"registers\": {\"channel\": 1, \"allocated\": 0, \"ready_notifications\": 0, \"delivered\": [], \"producer_error\": null, \"policy_checks\": 0}, \"frames\": [[\"REJECT\", 1]]}], \"passed\": true}], \"passed\": false}\n"},"fixed":{"elapsed_ms":46.145,"exit_code":0,"observations":[{"actual":[{"frames":[["OPEN",1]],"phase":"pending","registers":{"allocated":0,"channel":1,"delivered":[],"policy_checks":0,"producer_error":null,"ready_notifications":0}}],"check":"absent/open_local","expected":[{"frames":[["OPEN",1]],"phase":"pending","registers":{"allocated":0,"channel":1,"delivered":[],"policy_checks":0,"producer_error":null,"ready_notifications":0}}],"passed":true},{"actual":[{"frames":[],"phase":"ready","registers":{"allocated":1,"channel":1,"delivered":[],"policy_checks":0,"producer_error":null,"ready_notifications":1}}],"check":"pending/accepted","expected":[{"frames":[],"phase":"ready","registers":{"allocated":1,"channel":1,"delivered":[],"policy_checks":0,"producer_error":null,"ready_notifications":1}}],"passed":true},{"actual":[{"frames":[],"phase":"absent","registers":{"allocated":0,"channel":1,"delivered":[],"policy_checks":0,"producer_error":"refused","ready_notifications":0}}],"check":"pending/refused","expected":[{"frames":[],"phase":"absent","registers":{"allocated":0,"channel":1,"delivered":[],"policy_checks":0,"producer_error":"refused","ready_notifications":0}}],"passed":true},{"actual":[{"frames":[],"phase":"checking","registers":{"allocated":0,"channel":1,"delivered":[],"policy_checks":1,"producer_error":null,"ready_notifications":0}}],"check":"absent/open_remote","expected":[{"frames":[],"phase":"checking","registers":{"allocated":0,"channel":1,"delivered":[],"policy_checks":1,"producer_error":null,"ready_notifications":0}}],"passed":true},{"actual":[{"frames":[["ACCEPT",1]],"phase":"ready","registers":{"allocated":1,"channel":1,"delivered":[],"policy_checks":0,"producer_error":null,"ready_notifications":0}}],"check":"checking/allowed","expected":[{"frames":[["ACCEPT",1]],"phase":"ready","registers":{"allocated":1,"channel":1,"delivered":[],"policy_checks":0,"producer_error":null,"ready_notifications":0}}],"passed":true},{"actual":[{"frames":[["REFUSE",1]],"phase":"absent","registers":{"allocated":0,"channel":1,"delivered":[],"policy_checks":0,"producer_error":null,"ready_notifications":0}}],"check":"checking/denied","expected":[{"frames":[["REFUSE",1]],"phase":"absent","registers":{"allocated":0,"channel":1,"delivered":[],"policy_checks":0,"producer_error":null,"ready_notifications":0}}],"passed":true},{"actual":[{"frames":[["REJECT",1]],"phase":"pending","registers":{"allocated":1,"channel":1,"delivered":[],"policy_checks":0,"producer_error":null,"ready_notifications":0}}],"check":"pending/data","expected":[{"frames":[["REJECT",1]],"phase":"pending","registers":{"allocated":1,"channel":1,"delivered":[],"policy_checks":0,"producer_error":null,"ready_notifications":0}}],"passed":true},{"actual":[{"frames":[],"phase":"absent","registers":{"allocated":0,"channel":1,"delivered":[],"policy_checks":0,"producer_error":"reset","ready_notifications":1}}],"check":"ready/reset","expected":[{"frames":[],"phase":"absent","registers":{"allocated":0,"channel":1,"delivered":[],"policy_checks":0,"producer_error":"reset","ready_notifications":1}}],"passed":true},{"actual":[{"frames":[["ACCEPT",1]],"phase":"ready","registers":{"allocated":1,"channel":1,"delivered":[],"policy_checks":0,"producer_error":null,"ready_notifications":1}}],"check":"ready/duplicate_open","expected":[{"frames":[["ACCEPT",1]],"phase":"ready","registers":{"allocated":1,"channel":1,"delivered":[],"policy_checks":0,"producer_error":null,"ready_notifications":1}}],"passed":true},{"actual":[{"frames":[["REJECT",1]],"phase":"absent","registers":{"allocated":0,"channel":1,"delivered":[],"policy_checks":0,"producer_error":null,"ready_notifications":0}}],"check":"absent/accepted","expected":[{"frames":[["REJECT",1]],"phase":"absent","registers":{"allocated":0,"channel":1,"delivered":[],"policy_checks":0,"producer_error":null,"ready_notifications":0}}],"passed":true},{"actual":[{"frames":[["OPEN",1]],"phase":"pending","registers":{"allocated":0,"channel":1,"delivered":[],"policy_checks":0,"producer_error":null,"ready_notifications":0}},{"frames":[["OPEN",1]],"phase":"absent","registers":{"allocated":0,"channel":1,"delivered":[],"policy_checks":0,"producer_error":"refused","ready_notifications":0}},{"frames":[["OPEN",1],["REJECT",1]],"phase":"absent","registers":{"allocated":0,"channel":1,"delivered":[],"policy_checks":0,"producer_error":"refused","ready_notifications":0}},{"frames":[["OPEN",1],["REJECT",1],["OPEN",1]],"phase":"pending","registers":{"allocated":0,"channel":1,"delivered":[],"policy_checks":0,"producer_error":"refused","ready_notifications":0}}],"check":"ordered trace 0","expected":[{"frames":[["OPEN",1]],"phase":"pending","registers":{"allocated":0,"channel":1,"delivered":[],"policy_checks":0,"producer_error":null,"ready_notifications":0}},{"frames":[["OPEN",1]],"phase":"absent","registers":{"allocated":0,"channel":1,"delivered":[],"policy_checks":0,"producer_error":"refused","ready_notifications":0}},{"frames":[["OPEN",1],["REJECT",1]],"phase":"absent","registers":{"allocated":0,"channel":1,"delivered":[],"policy_checks":0,"producer_error":"refused","ready_notifications":0}},{"frames":[["OPEN",1],["REJECT",1],["OPEN",1]],"phase":"pending","registers":{"allocated":0,"channel":1,"delivered":[],"policy_checks":0,"producer_error":"refused","ready_notifications":0}}],"passed":true},{"actual":[{"frames":[["OPEN",1]],"phase":"pending","registers":{"allocated":0,"channel":1,"delivered":[],"policy_checks":0,"producer_error":null,"ready_notifications":0}},{"frames":[["OPEN",1]],"phase":"absent","registers":{"allocated":0,"channel":1,"delivered":[],"policy_checks":0,"producer_error":"refused","ready_notifications":0}},{"frames":[["OPEN",1],["REJECT",1]],"phase":"absent","registers":{"allocated":0,"channel":1,"delivered":[],"policy_checks":0,"producer_error":"refused","ready_notifications":0}},{"frames":[["OPEN",1],["REJECT",1],["OPEN",1]],"phase":"pending","registers":{"allocated":0,"channel":1,"delivered":[],"policy_checks":0,"producer_error":"refused","ready_notifications":0}}],"check":"ordered trace 3","expected":[{"frames":[["OPEN",1]],"phase":"pending","registers":{"allocated":0,"channel":1,"delivered":[],"policy_checks":0,"producer_error":null,"ready_notifications":0}},{"frames":[["OPEN",1]],"phase":"absent","registers":{"allocated":0,"channel":1,"delivered":[],"policy_checks":0,"producer_error":"refused","ready_notifications":0}},{"frames":[["OPEN",1],["REJECT",1]],"phase":"absent","registers":{"allocated":0,"channel":1,"delivered":[],"policy_checks":0,"producer_error":"refused","ready_notifications":0}},{"frames":[["OPEN",1],["REJECT",1],["OPEN",1]],"phase":"pending","registers":{"allocated":0,"channel":1,"delivered":[],"policy_checks":0,"producer_error":"refused","ready_notifications":0}}],"passed":true},{"actual":[],"check":"empty input","expected":[],"passed":true},{"actual":[{"frames":[["REJECT",1]],"phase":"absent","registers":{"allocated":0,"channel":1,"delivered":[],"policy_checks":0,"producer_error":null,"ready_notifications":0}}],"check":"unknown event","expected":[{"frames":[["REJECT",1]],"phase":"absent","registers":{"allocated":0,"channel":1,"delivered":[],"policy_checks":0,"producer_error":null,"ready_notifications":0}}],"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"absent/open_local\", \"actual\": [{\"phase\": \"pending\", \"registers\": {\"channel\": 1, \"allocated\": 0, \"ready_notifications\": 0, \"delivered\": [], \"producer_error\": null, \"policy_checks\": 0}, \"frames\": [[\"OPEN\", 1]]}], \"expected\": [{\"phase\": \"pending\", \"registers\": {\"channel\": 1, \"allocated\": 0, \"ready_notifications\": 0, \"delivered\": [], \"producer_error\": null, \"policy_checks\": 0}, \"frames\": [[\"OPEN\", 1]]}], \"passed\": true}, {\"check\": \"pending/accepted\", \"actual\": [{\"phase\": \"ready\", \"registers\": {\"channel\": 1, \"allocated\": 1, \"ready_notifications\": 1, \"delivered\": [], \"producer_error\": null, \"policy_checks\": 0}, \"frames\": []}], \"expected\": [{\"phase\": \"ready\", \"registers\": {\"channel\": 1, \"allocated\": 1, \"ready_notifications\": 1, \"delivered\": [], \"producer_error\": null, \"policy_checks\": 0}, \"frames\": []}], \"passed\": true}, {\"check\": \"pending/refused\", \"actual\": [{\"phase\": \"absent\", \"registers\": {\"channel\": 1, \"allocated\": 0, \"ready_notifications\": 0, \"delivered\": [], \"producer_error\": \"refused\", \"policy_checks\": 0}, \"frames\": []}], \"expected\": [{\"phase\": \"absent\", \"registers\": {\"channel\": 1, \"allocated\": 0, \"ready_notifications\": 0, \"delivered\": [], \"producer_error\": \"refused\", \"policy_checks\": 0}, \"frames\": []}], \"passed\": true}, {\"check\": \"absent/open_remote\", \"actual\": [{\"phase\": \"checking\", \"registers\": {\"channel\": 1, \"allocated\": 0, \"ready_notifications\": 0, \"delivered\": [], \"producer_error\": null, \"policy_checks\": 1}, \"frames\": []}], \"expected\": [{\"phase\": \"checking\", \"registers\": {\"channel\": 1, \"allocated\": 0, \"ready_notifications\": 0, \"delivered\": [], \"producer_error\": null, \"policy_checks\": 1}, \"frames\": []}], \"passed\": true}, {\"check\": \"checking/allowed\", \"actual\": [{\"phase\": \"ready\", \"registers\": {\"channel\": 1, \"allocated\": 1, \"ready_notifications\": 0, \"delivered\": [], \"producer_error\": null, \"policy_checks\": 0}, \"frames\": [[\"ACCEPT\", 1]]}], \"expected\": [{\"phase\": \"ready\", \"registers\": {\"channel\": 1, \"allocated\": 1, \"ready_notifications\": 0, \"delivered\": [], \"producer_error\": null, \"policy_checks\": 0}, \"frames\": [[\"ACCEPT\", 1]]}], \"passed\": true}, {\"check\": \"checking/denied\", \"actual\": [{\"phase\": \"absent\", \"registers\": {\"channel\": 1, \"allocated\": 0, \"ready_notifications\": 0, \"delivered\": [], \"producer_error\": null, \"policy_checks\": 0}, \"frames\": [[\"REFUSE\", 1]]}], \"expected\": [{\"phase\": \"absent\", \"registers\": {\"channel\": 1, \"allocated\": 0, \"ready_notifications\": 0, \"delivered\": [], \"producer_error\": null, \"policy_checks\": 0}, \"frames\": [[\"REFUSE\", 1]]}], \"passed\": true}, {\"check\": \"pending/data\", \"actual\": [{\"phase\": \"pending\", \"registers\": {\"channel\": 1, \"allocated\": 1, \"ready_notifications\": 0, \"delivered\": [], \"producer_error\": null, \"policy_checks\": 0}, \"frames\": [[\"REJECT\", 1]]}], \"expected\": [{\"phase\": \"pending\", \"registers\": {\"channel\": 1, \"allocated\": 1, \"ready_notifications\": 0, \"delivered\": [], \"producer_error\": null, \"policy_checks\": 0}, \"frames\": [[\"REJECT\", 1]]}], \"passed\": true}, {\"check\": \"ready/reset\", \"actual\": [{\"phase\": \"absent\", \"registers\": {\"channel\": 1, \"allocated\": 0, \"ready_notifications\": 1, \"delivered\": [], \"producer_error\": \"reset\", \"policy_checks\": 0}, \"frames\": []}], \"expected\": [{\"phase\": \"absent\", \"registers\": {\"channel\": 1, \"allocated\": 0, \"ready_notifications\": 1, \"delivered\": [], \"producer_error\": \"reset\", \"policy_checks\": 0}, \"frames\": []}], \"passed\": true}, {\"check\": \"ready/duplicate_open\", \"actual\": [{\"phase\": \"ready\", \"registers\": {\"channel\": 1, \"allocated\": 1, \"ready_notifications\": 1, \"delivered\": [], \"producer_error\": null, \"policy_checks\": 0}, \"frames\": [[\"ACCEPT\", 1]]}], \"expected\": [{\"phase\": \"ready\", \"registers\": {\"channel\": 1, \"allocated\": 1, \"ready_notifications\": 1, \"delivered\": [], \"producer_error\": null, \"policy_checks\": 0}, \"frames\": [[\"ACCEPT\", 1]]}], \"passed\": true}, {\"check\": \"absent/accepted\", \"actual\": [{\"phase\": \"absent\", \"registers\": {\"channel\": 1, \"allocated\": 0, \"ready_notifications\": 0, \"delivered\": [], \"producer_error\": null, \"policy_checks\": 0}, \"frames\": [[\"REJECT\", 1]]}], \"expected\": [{\"phase\": \"absent\", \"registers\": {\"channel\": 1, \"allocated\": 0, \"ready_notifications\": 0, \"delivered\": [], \"producer_error\": null, \"policy_checks\": 0}, \"frames\": [[\"REJECT\", 1]]}], \"passed\": true}, {\"check\": \"ordered trace 0\", \"actual\": [{\"phase\": \"pending\", \"registers\": {\"channel\": 1, \"allocated\": 0, \"ready_notifications\": 0, \"delivered\": [], \"producer_error\": null, \"policy_checks\": 0}, \"frames\": [[\"OPEN\", 1]]}, {\"phase\": \"absent\", \"registers\": {\"channel\": 1, \"allocated\": 0, \"ready_notifications\": 0, \"delivered\": [], \"producer_error\": \"refused\", \"policy_checks\": 0}, \"frames\": [[\"OPEN\", 1]]}, {\"phase\": \"absent\", \"registers\": {\"channel\": 1, \"allocated\": 0, \"ready_notifications\": 0, \"delivered\": [], \"producer_error\": \"refused\", \"policy_checks\": 0}, \"frames\": [[\"OPEN\", 1], [\"REJECT\", 1]]}, {\"phase\": \"pending\", \"registers\": {\"channel\": 1, \"allocated\": 0, \"ready_notifications\": 0, \"delivered\": [], \"producer_error\": \"refused\", \"policy_checks\": 0}, \"frames\": [[\"OPEN\", 1], [\"REJECT\", 1], [\"OPEN\", 1]]}], \"expected\": [{\"phase\": \"pending\", \"registers\": {\"channel\": 1, \"allocated\": 0, \"ready_notifications\": 0, \"delivered\": [], \"producer_error\": null, \"policy_checks\": 0}, \"frames\": [[\"OPEN\", 1]]}, {\"phase\": \"absent\", \"registers\": {\"channel\": 1, \"allocated\": 0, \"ready_notifications\": 0, \"delivered\": [], \"producer_error\": \"refused\", \"policy_checks\": 0}, \"frames\": [[\"OPEN\", 1]]}, {\"phase\": \"absent\", \"registers\": {\"channel\": 1, \"allocated\": 0, \"ready_notifications\": 0, \"delivered\": [], \"producer_error\": \"refused\", \"policy_checks\": 0}, \"frames\": [[\"OPEN\", 1], [\"REJECT\", 1]]}, {\"phase\": \"pending\", \"registers\": {\"channel\": 1, \"allocated\": 0, \"ready_notifications\": 0, \"delivered\": [], \"producer_error\": \"refused\", \"policy_checks\": 0}, \"frames\": [[\"OPEN\", 1], [\"REJECT\", 1], [\"OPEN\", 1]]}], \"passed\": true}, {\"check\": \"ordered trace 3\", \"actual\": [{\"phase\": \"pending\", \"registers\": {\"channel\": 1, \"allocated\": 0, \"ready_notifications\": 0, \"delivered\": [], \"producer_error\": null, \"policy_checks\": 0}, \"frames\": [[\"OPEN\", 1]]}, {\"phase\": \"absent\", \"registers\": {\"channel\": 1, \"allocated\": 0, \"ready_notifications\": 0, \"delivered\": [], \"producer_error\": \"refused\", \"policy_checks\": 0}, \"frames\": [[\"OPEN\", 1]]}, {\"phase\": \"absent\", \"registers\": {\"channel\": 1, \"allocated\": 0, \"ready_notifications\": 0, \"delivered\": [], \"producer_error\": \"refused\", \"policy_checks\": 0}, \"frames\": [[\"OPEN\", 1], [\"REJECT\", 1]]}, {\"phase\": \"pending\", \"registers\": {\"channel\": 1, \"allocated\": 0, \"ready_notifications\": 0, \"delivered\": [], \"producer_error\": \"refused\", \"policy_checks\": 0}, \"frames\": [[\"OPEN\", 1], [\"REJECT\", 1], [\"OPEN\", 1]]}], \"expected\": [{\"phase\": \"pending\", \"registers\": {\"channel\": 1, \"allocated\": 0, \"ready_notifications\": 0, \"delivered\": [], \"producer_error\": null, \"policy_checks\": 0}, \"frames\": [[\"OPEN\", 1]]}, {\"phase\": \"absent\", \"registers\": {\"channel\": 1, \"allocated\": 0, \"ready_notifications\": 0, \"delivered\": [], \"producer_error\": \"refused\", \"policy_checks\": 0}, \"frames\": [[\"OPEN\", 1]]}, {\"phase\": \"absent\", \"registers\": {\"channel\": 1, \"allocated\": 0, \"ready_notifications\": 0, \"delivered\": [], \"producer_error\": \"refused\", \"policy_checks\": 0}, \"frames\": [[\"OPEN\", 1], [\"REJECT\", 1]]}, {\"phase\": \"pending\", \"registers\": {\"channel\": 1, \"allocated\": 0, \"ready_notifications\": 0, \"delivered\": [], \"producer_error\": \"refused\", \"policy_checks\": 0}, \"frames\": [[\"OPEN\", 1], [\"REJECT\", 1], [\"OPEN\", 1]]}], \"passed\": true}, {\"check\": \"empty input\", \"actual\": [], \"expected\": [], \"passed\": true}, {\"check\": \"unknown event\", \"actual\": [{\"phase\": \"absent\", \"registers\": {\"channel\": 1, \"allocated\": 0, \"ready_notifications\": 0, \"delivered\": [], \"producer_error\": null, \"policy_checks\": 0}, \"frames\": [[\"REJECT\", 1]]}], \"expected\": [{\"phase\": \"absent\", \"registers\": {\"channel\": 1, \"allocated\": 0, \"ready_notifications\": 0, \"delivered\": [], \"producer_error\": null, \"policy_checks\": 0}, \"frames\": [[\"REJECT\", 1]]}], \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}