{"abstract":"While active, event evicted produces active/decode_stale instead of empty/notify_unavailable.","category":"Protocols","checks":14,"contract":"For the stipulated Compression dictionary installation 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-dictionary_exchange","failed_approach":"The partial repair chooses empty/silent_drop, which still violates this phase-specific event contract.","family":"s3-protocols-dictionary_exchange-active-evicted","id":"FA-19336","implementations":{"attempt":{"sha256":"f80e3b0fe1b19e165dec432ea0d245d46eced45bd6c56e2a4d8edb9f5fbed11a","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 = {'dictionary': 'old' if phase in ('active','switching') else None, 'epoch': seed, 'enabled': phase=='active', 'cache': ['old'], 'decoded': []}\n    frames = []\n    observed = []\n    table = {('empty', 'offer'): ('offered', 'send_fingerprint'), ('offered', 'cache_hit'): ('active', 'select_cached'), ('offered', 'cache_miss'): ('installing', 'send_dictionary'), ('installing', 'verified'): ('active', 'confirm_install'), ('installing', 'bad_fingerprint'): ('empty', 'reject_dictionary'), ('active', 'replacement_offer'): ('switching', 'pause_old_epoch'), ('switching', 'replacement_ready'): ('active', 'switch_epoch'), ('switching', 'replacement_failed'): ('active', 'resume_old_epoch'), ('empty', 'compressed_payload'): ('empty', 'reject_missing'), ('active', 'evicted'): ('empty', 'silent_drop')}\n    for event in events:\n        phase, action = table.get((phase, event), (phase, \"reject\"))\n        if action == 'send_fingerprint':\n            frames.append(['DICT_ID','new',seed+1])\n        elif action == 'select_cached':\n            r['dictionary']='new'; r['epoch']=seed+1\n        elif action == 'send_dictionary':\n            frames.append(['DICT_BODY','new',payload])\n        elif action == 'confirm_install':\n            r['cache'].append('new'); r['dictionary']='new'; frames.append(['DICT_READY',seed+1])\n        elif action == 'reject_dictionary':\n            frames.append(['BAD_DICT','new']); r['enabled']=False\n        elif action == 'pause_old_epoch':\n            r['enabled']=False\n        elif action == 'switch_epoch':\n            r['dictionary']='new'; r['epoch']=seed+1; r['enabled']=True\n        elif action == 'resume_old_epoch':\n            r['dictionary']='old'; r['epoch']=seed; r['enabled']=True\n        elif action == 'reject_missing':\n            frames.append(['MISSING_DICT',seed])\n        elif action == 'notify_unavailable':\n            r['enabled']=False; r['cache']=[]; frames.append(['DICT_EVICTED',seed])\n        elif action == 'compress':\n            frames.append(['COMPRESSED',r['dictionary'],payload])\n        elif action == 'send_payload':\n            frames.append(['COMPRESSED',None,payload])\n        elif action == 'select_default':\n            r['dictionary']='default'\n        elif action == 'compress_without_confirm':\n            r['dictionary']='new'; frames.append(['COMPRESSED','new',payload])\n        elif action == 'cache_bad':\n            r['cache'].append('corrupt')\n        elif action == 'switch_immediately':\n            r['dictionary']='new'; r['epoch']=seed+1\n        elif action == 'continue_old':\n            frames.append(['COMPRESSED','old',payload])\n        elif action == 'keep_old_epoch':\n            r['enabled']=True\n        elif action == 'use_rejected_epoch':\n            r['dictionary']='rejected'\n        elif action == 'discard_old':\n            r['cache']=[]\n        elif action == 'decode_default':\n            r['decoded'].append(['default',payload])\n        elif action == 'deliver_raw':\n            r['decoded'].append(['raw',payload])\n        elif action == 'decode_stale':\n            r['decoded'].append(['old',payload])\n        elif action == 'silent_drop':\n            r['cache']=[]\n        else:\n            if action not in (\"wait\", \"ignore\", \"keep\", \"retain\", \"keep_peer\", \"keep_offer\", \"keep_hold\", \"keep_batch\", \"retain_staging\", \"keep_staging\", \"keep_local_owner\", \"keep_old_session\", \"keep_address\", \"keep_old_expiry\", \"ignore_conflict\", \"keep_service\", \"keep_subscription\", \"retain_shadow\", \"keep_live\", \"keep_suspicion\", \"keep_roles\", \"keep_staged\"):\n                frames.append([action, payload[:]])\n        observed.append(json.loads(json.dumps({\"phase\": phase, \"registers\": r, \"frames\": frames})))\n    return observed\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncases = {1: [('empty/offer', 'empty', ['offer'], [{'phase': 'offered', 'registers': {'dictionary': None, 'epoch': 1, 'enabled': False, 'cache': ['old'], 'decoded': []}, 'frames': [['DICT_ID', 'new', 2]]}]), ('offered/cache_hit', 'offered', ['cache_hit'], [{'phase': 'active', 'registers': {'dictionary': 'new', 'epoch': 2, 'enabled': False, 'cache': ['old'], 'decoded': []}, 'frames': []}]), ('offered/cache_miss', 'offered', ['cache_miss'], [{'phase': 'installing', 'registers': {'dictionary': None, 'epoch': 1, 'enabled': False, 'cache': ['old'], 'decoded': []}, 'frames': [['DICT_BODY', 'new', [1, 2, 3]]]}]), ('installing/verified', 'installing', ['verified'], [{'phase': 'active', 'registers': {'dictionary': 'new', 'epoch': 1, 'enabled': False, 'cache': ['old', 'new'], 'decoded': []}, 'frames': [['DICT_READY', 2]]}]), ('installing/bad_fingerprint', 'installing', ['bad_fingerprint'], [{'phase': 'empty', 'registers': {'dictionary': None, 'epoch': 1, 'enabled': False, 'cache': ['old'], 'decoded': []}, 'frames': [['BAD_DICT', 'new']]}]), ('active/replacement_offer', 'active', ['replacement_offer'], [{'phase': 'switching', 'registers': {'dictionary': 'old', 'epoch': 1, 'enabled': False, 'cache': ['old'], 'decoded': []}, 'frames': []}]), ('switching/replacement_ready', 'switching', ['replacement_ready'], [{'phase': 'active', 'registers': {'dictionary': 'new', 'epoch': 2, 'enabled': True, 'cache': ['old'], 'decoded': []}, 'frames': []}]), ('switching/replacement_failed', 'switching', ['replacement_failed'], [{'phase': 'active', 'registers': {'dictionary': 'old', 'epoch': 1, 'enabled': True, 'cache': ['old'], 'decoded': []}, 'frames': []}]), ('empty/compressed_payload', 'empty', ['compressed_payload'], [{'phase': 'empty', 'registers': {'dictionary': None, 'epoch': 1, 'enabled': False, 'cache': ['old'], 'decoded': []}, 'frames': [['MISSING_DICT', 1]]}]), ('active/evicted', 'active', ['evicted'], [{'phase': 'empty', 'registers': {'dictionary': 'old', 'epoch': 1, 'enabled': False, 'cache': [], 'decoded': []}, 'frames': [['DICT_EVICTED', 1]]}]), ('ordered trace 0', 'empty', ['offer', 'cache_miss', 'verified', 'evicted'], [{'phase': 'offered', 'registers': {'dictionary': None, 'epoch': 1, 'enabled': False, 'cache': ['old'], 'decoded': []}, 'frames': [['DICT_ID', 'new', 2]]}, {'phase': 'installing', 'registers': {'dictionary': None, 'epoch': 1, 'enabled': False, 'cache': ['old'], 'decoded': []}, 'frames': [['DICT_ID', 'new', 2], ['DICT_BODY', 'new', [1, 2, 3]]]}, {'phase': 'active', 'registers': {'dictionary': 'new', 'epoch': 1, 'enabled': False, 'cache': ['old', 'new'], 'decoded': []}, 'frames': [['DICT_ID', 'new', 2], ['DICT_BODY', 'new', [1, 2, 3]], ['DICT_READY', 2]]}, {'phase': 'empty', 'registers': {'dictionary': 'new', 'epoch': 1, 'enabled': False, 'cache': [], 'decoded': []}, 'frames': [['DICT_ID', 'new', 2], ['DICT_BODY', 'new', [1, 2, 3]], ['DICT_READY', 2], ['DICT_EVICTED', 1]]}]), ('ordered trace 3', 'installing', ['bad_fingerprint', 'offer', 'cache_miss', 'verified'], [{'phase': 'empty', 'registers': {'dictionary': None, 'epoch': 1, 'enabled': False, 'cache': ['old'], 'decoded': []}, 'frames': [['BAD_DICT', 'new']]}, {'phase': 'offered', 'registers': {'dictionary': None, 'epoch': 1, 'enabled': False, 'cache': ['old'], 'decoded': []}, 'frames': [['BAD_DICT', 'new'], ['DICT_ID', 'new', 2]]}, {'phase': 'installing', 'registers': {'dictionary': None, 'epoch': 1, 'enabled': False, 'cache': ['old'], 'decoded': []}, 'frames': [['BAD_DICT', 'new'], ['DICT_ID', 'new', 2], ['DICT_BODY', 'new', [1, 2, 3]]]}, {'phase': 'active', 'registers': {'dictionary': 'new', 'epoch': 1, 'enabled': False, 'cache': ['old', 'new'], 'decoded': []}, 'frames': [['BAD_DICT', 'new'], ['DICT_ID', 'new', 2], ['DICT_BODY', 'new', [1, 2, 3]], ['DICT_READY', 2]]}]), ('empty input', 'empty', [], []), ('unknown event', 'empty', ['unsupported'], [{'phase': 'empty', 'registers': {'dictionary': None, 'epoch': 1, 'enabled': False, 'cache': ['old'], 'decoded': []}, 'frames': [['reject', [1, 2, 3]]]}])], 2: [('empty/offer', 'empty', ['offer'], [{'phase': 'offered', 'registers': {'dictionary': None, 'epoch': 2, 'enabled': False, 'cache': ['old'], 'decoded': []}, 'frames': [['DICT_ID', 'new', 3]]}]), ('offered/cache_hit', 'offered', ['cache_hit'], [{'phase': 'active', 'registers': {'dictionary': 'new', 'epoch': 3, 'enabled': False, 'cache': ['old'], 'decoded': []}, 'frames': []}]), ('offered/cache_miss', 'offered', ['cache_miss'], [{'phase': 'installing', 'registers': {'dictionary': None, 'epoch': 2, 'enabled': False, 'cache': ['old'], 'decoded': []}, 'frames': [['DICT_BODY', 'new', [2, 3, 4, 5]]]}]), ('installing/verified', 'installing', ['verified'], [{'phase': 'active', 'registers': {'dictionary': 'new', 'epoch': 2, 'enabled': False, 'cache': ['old', 'new'], 'decoded': []}, 'frames': [['DICT_READY', 3]]}]), ('installing/bad_fingerprint', 'installing', ['bad_fingerprint'], [{'phase': 'empty', 'registers': {'dictionary': None, 'epoch': 2, 'enabled': False, 'cache': ['old'], 'decoded': []}, 'frames': [['BAD_DICT', 'new']]}]), ('active/replacement_offer', 'active', ['replacement_offer'], [{'phase': 'switching', 'registers': {'dictionary': 'old', 'epoch': 2, 'enabled': False, 'cache': ['old'], 'decoded': []}, 'frames': []}]), ('switching/replacement_ready', 'switching', ['replacement_ready'], [{'phase': 'active', 'registers': {'dictionary': 'new', 'epoch': 3, 'enabled': True, 'cache': ['old'], 'decoded': []}, 'frames': []}]), ('switching/replacement_failed', 'switching', ['replacement_failed'], [{'phase': 'active', 'registers': {'dictionary': 'old', 'epoch': 2, 'enabled': True, 'cache': ['old'], 'decoded': []}, 'frames': []}]), ('empty/compressed_payload', 'empty', ['compressed_payload'], [{'phase': 'empty', 'registers': {'dictionary': None, 'epoch': 2, 'enabled': False, 'cache': ['old'], 'decoded': []}, 'frames': [['MISSING_DICT', 2]]}]), ('active/evicted', 'active', ['evicted'], [{'phase': 'empty', 'registers': {'dictionary': 'old', 'epoch': 2, 'enabled': False, 'cache': [], 'decoded': []}, 'frames': [['DICT_EVICTED', 2]]}]), ('ordered trace 0', 'empty', ['offer', 'cache_miss', 'verified', 'evicted', 'offer'], [{'phase': 'offered', 'registers': {'dictionary': None, 'epoch': 2, 'enabled': False, 'cache': ['old'], 'decoded': []}, 'frames': [['DICT_ID', 'new', 3]]}, {'phase': 'installing', 'registers': {'dictionary': None, 'epoch': 2, 'enabled': False, 'cache': ['old'], 'decoded': []}, 'frames': [['DICT_ID', 'new', 3], ['DICT_BODY', 'new', [2, 3, 4, 5]]]}, {'phase': 'active', 'registers': {'dictionary': 'new', 'epoch': 2, 'enabled': False, 'cache': ['old', 'new'], 'decoded': []}, 'frames': [['DICT_ID', 'new', 3], ['DICT_BODY', 'new', [2, 3, 4, 5]], ['DICT_READY', 3]]}, {'phase': 'empty', 'registers': {'dictionary': 'new', 'epoch': 2, 'enabled': False, 'cache': [], 'decoded': []}, 'frames': [['DICT_ID', 'new', 3], ['DICT_BODY', 'new', [2, 3, 4, 5]], ['DICT_READY', 3], ['DICT_EVICTED', 2]]}, {'phase': 'offered', 'registers': {'dictionary': 'new', 'epoch': 2, 'enabled': False, 'cache': [], 'decoded': []}, 'frames': [['DICT_ID', 'new', 3], ['DICT_BODY', 'new', [2, 3, 4, 5]], ['DICT_READY', 3], ['DICT_EVICTED', 2], ['DICT_ID', 'new', 3]]}]), ('ordered trace 3', 'installing', ['bad_fingerprint', 'offer', 'cache_miss', 'verified', 'evicted'], [{'phase': 'empty', 'registers': {'dictionary': None, 'epoch': 2, 'enabled': False, 'cache': ['old'], 'decoded': []}, 'frames': [['BAD_DICT', 'new']]}, {'phase': 'offered', 'registers': {'dictionary': None, 'epoch': 2, 'enabled': False, 'cache': ['old'], 'decoded': []}, 'frames': [['BAD_DICT', 'new'], ['DICT_ID', 'new', 3]]}, {'phase': 'installing', 'registers': {'dictionary': None, 'epoch': 2, 'enabled': False, 'cache': ['old'], 'decoded': []}, 'frames': [['BAD_DICT', 'new'], ['DICT_ID', 'new', 3], ['DICT_BODY', 'new', [2, 3, 4, 5]]]}, {'phase': 'active', 'registers': {'dictionary': 'new', 'epoch': 2, 'enabled': False, 'cache': ['old', 'new'], 'decoded': []}, 'frames': [['BAD_DICT', 'new'], ['DICT_ID', 'new', 3], ['DICT_BODY', 'new', [2, 3, 4, 5]], ['DICT_READY', 3]]}, {'phase': 'empty', 'registers': {'dictionary': 'new', 'epoch': 2, 'enabled': False, 'cache': [], 'decoded': []}, 'frames': [['BAD_DICT', 'new'], ['DICT_ID', 'new', 3], ['DICT_BODY', 'new', [2, 3, 4, 5]], ['DICT_READY', 3], ['DICT_EVICTED', 2]]}]), ('empty input', 'empty', [], []), ('unknown event', 'empty', ['unsupported'], [{'phase': 'empty', 'registers': {'dictionary': None, 'epoch': 2, 'enabled': False, 'cache': ['old'], 'decoded': []}, 'frames': [['reject', [2, 3, 4, 5]]]}])], 3: [('empty/offer', 'empty', ['offer'], [{'phase': 'offered', 'registers': {'dictionary': None, 'epoch': 3, 'enabled': False, 'cache': ['old'], 'decoded': []}, 'frames': [['DICT_ID', 'new', 4]]}]), ('offered/cache_hit', 'offered', ['cache_hit'], [{'phase': 'active', 'registers': {'dictionary': 'new', 'epoch': 4, 'enabled': False, 'cache': ['old'], 'decoded': []}, 'frames': []}]), ('offered/cache_miss', 'offered', ['cache_miss'], [{'phase': 'installing', 'registers': {'dictionary': None, 'epoch': 3, 'enabled': False, 'cache': ['old'], 'decoded': []}, 'frames': [['DICT_BODY', 'new', [3, 4, 5, 6, 7]]]}]), ('installing/verified', 'installing', ['verified'], [{'phase': 'active', 'registers': {'dictionary': 'new', 'epoch': 3, 'enabled': False, 'cache': ['old', 'new'], 'decoded': []}, 'frames': [['DICT_READY', 4]]}]), ('installing/bad_fingerprint', 'installing', ['bad_fingerprint'], [{'phase': 'empty', 'registers': {'dictionary': None, 'epoch': 3, 'enabled': False, 'cache': ['old'], 'decoded': []}, 'frames': [['BAD_DICT', 'new']]}]), ('active/replacement_offer', 'active', ['replacement_offer'], [{'phase': 'switching', 'registers': {'dictionary': 'old', 'epoch': 3, 'enabled': False, 'cache': ['old'], 'decoded': []}, 'frames': []}]), ('switching/replacement_ready', 'switching', ['replacement_ready'], [{'phase': 'active', 'registers': {'dictionary': 'new', 'epoch': 4, 'enabled': True, 'cache': ['old'], 'decoded': []}, 'frames': []}]), ('switching/replacement_failed', 'switching', ['replacement_failed'], [{'phase': 'active', 'registers': {'dictionary': 'old', 'epoch': 3, 'enabled': True, 'cache': ['old'], 'decoded': []}, 'frames': []}]), ('empty/compressed_payload', 'empty', ['compressed_payload'], [{'phase': 'empty', 'registers': {'dictionary': None, 'epoch': 3, 'enabled': False, 'cache': ['old'], 'decoded': []}, 'frames': [['MISSING_DICT', 3]]}]), ('active/evicted', 'active', ['evicted'], [{'phase': 'empty', 'registers': {'dictionary': 'old', 'epoch': 3, 'enabled': False, 'cache': [], 'decoded': []}, 'frames': [['DICT_EVICTED', 3]]}]), ('ordered trace 0', 'empty', ['offer', 'cache_miss', 'verified', 'evicted', 'offer', 'cache_miss'], [{'phase': 'offered', 'registers': {'dictionary': None, 'epoch': 3, 'enabled': False, 'cache': ['old'], 'decoded': []}, 'frames': [['DICT_ID', 'new', 4]]}, {'phase': 'installing', 'registers': {'dictionary': None, 'epoch': 3, 'enabled': False, 'cache': ['old'], 'decoded': []}, 'frames': [['DICT_ID', 'new', 4], ['DICT_BODY', 'new', [3, 4, 5, 6, 7]]]}, {'phase': 'active', 'registers': {'dictionary': 'new', 'epoch': 3, 'enabled': False, 'cache': ['old', 'new'], 'decoded': []}, 'frames': [['DICT_ID', 'new', 4], ['DICT_BODY', 'new', [3, 4, 5, 6, 7]], ['DICT_READY', 4]]}, {'phase': 'empty', 'registers': {'dictionary': 'new', 'epoch': 3, 'enabled': False, 'cache': [], 'decoded': []}, 'frames': [['DICT_ID', 'new', 4], ['DICT_BODY', 'new', [3, 4, 5, 6, 7]], ['DICT_READY', 4], ['DICT_EVICTED', 3]]}, {'phase': 'offered', 'registers': {'dictionary': 'new', 'epoch': 3, 'enabled': False, 'cache': [], 'decoded': []}, 'frames': [['DICT_ID', 'new', 4], ['DICT_BODY', 'new', [3, 4, 5, 6, 7]], ['DICT_READY', 4], ['DICT_EVICTED', 3], ['DICT_ID', 'new', 4]]}, {'phase': 'installing', 'registers': {'dictionary': 'new', 'epoch': 3, 'enabled': False, 'cache': [], 'decoded': []}, 'frames': [['DICT_ID', 'new', 4], ['DICT_BODY', 'new', [3, 4, 5, 6, 7]], ['DICT_READY', 4], ['DICT_EVICTED', 3], ['DICT_ID', 'new', 4], ['DICT_BODY', 'new', [3, 4, 5, 6, 7]]]}]), ('ordered trace 3', 'installing', ['bad_fingerprint', 'offer', 'cache_miss', 'verified', 'evicted', 'offer'], [{'phase': 'empty', 'registers': {'dictionary': None, 'epoch': 3, 'enabled': False, 'cache': ['old'], 'decoded': []}, 'frames': [['BAD_DICT', 'new']]}, {'phase': 'offered', 'registers': {'dictionary': None, 'epoch': 3, 'enabled': False, 'cache': ['old'], 'decoded': []}, 'frames': [['BAD_DICT', 'new'], ['DICT_ID', 'new', 4]]}, {'phase': 'installing', 'registers': {'dictionary': None, 'epoch': 3, 'enabled': False, 'cache': ['old'], 'decoded': []}, 'frames': [['BAD_DICT', 'new'], ['DICT_ID', 'new', 4], ['DICT_BODY', 'new', [3, 4, 5, 6, 7]]]}, {'phase': 'active', 'registers': {'dictionary': 'new', 'epoch': 3, 'enabled': False, 'cache': ['old', 'new'], 'decoded': []}, 'frames': [['BAD_DICT', 'new'], ['DICT_ID', 'new', 4], ['DICT_BODY', 'new', [3, 4, 5, 6, 7]], ['DICT_READY', 4]]}, {'phase': 'empty', 'registers': {'dictionary': 'new', 'epoch': 3, 'enabled': False, 'cache': [], 'decoded': []}, 'frames': [['BAD_DICT', 'new'], ['DICT_ID', 'new', 4], ['DICT_BODY', 'new', [3, 4, 5, 6, 7]], ['DICT_READY', 4], ['DICT_EVICTED', 3]]}, {'phase': 'offered', 'registers': {'dictionary': 'new', 'epoch': 3, 'enabled': False, 'cache': [], 'decoded': []}, 'frames': [['BAD_DICT', 'new'], ['DICT_ID', 'new', 4], ['DICT_BODY', 'new', [3, 4, 5, 6, 7]], ['DICT_READY', 4], ['DICT_EVICTED', 3], ['DICT_ID', 'new', 4]]}]), ('empty input', 'empty', [], []), ('unknown event', 'empty', ['unsupported'], [{'phase': 'empty', 'registers': {'dictionary': None, 'epoch': 3, 'enabled': False, 'cache': ['old'], 'decoded': []}, 'frames': [['reject', [3, 4, 5, 6, 7]]]}])], 4: [('empty/offer', 'empty', ['offer'], [{'phase': 'offered', 'registers': {'dictionary': None, 'epoch': 4, 'enabled': False, 'cache': ['old'], 'decoded': []}, 'frames': [['DICT_ID', 'new', 5]]}]), ('offered/cache_hit', 'offered', ['cache_hit'], [{'phase': 'active', 'registers': {'dictionary': 'new', 'epoch': 5, 'enabled': False, 'cache': ['old'], 'decoded': []}, 'frames': []}]), ('offered/cache_miss', 'offered', ['cache_miss'], [{'phase': 'installing', 'registers': {'dictionary': None, 'epoch': 4, 'enabled': False, 'cache': ['old'], 'decoded': []}, 'frames': [['DICT_BODY', 'new', [4, 5, 6, 7, 8, 9]]]}]), ('installing/verified', 'installing', ['verified'], [{'phase': 'active', 'registers': {'dictionary': 'new', 'epoch': 4, 'enabled': False, 'cache': ['old', 'new'], 'decoded': []}, 'frames': [['DICT_READY', 5]]}]), ('installing/bad_fingerprint', 'installing', ['bad_fingerprint'], [{'phase': 'empty', 'registers': {'dictionary': None, 'epoch': 4, 'enabled': False, 'cache': ['old'], 'decoded': []}, 'frames': [['BAD_DICT', 'new']]}]), ('active/replacement_offer', 'active', ['replacement_offer'], [{'phase': 'switching', 'registers': {'dictionary': 'old', 'epoch': 4, 'enabled': False, 'cache': ['old'], 'decoded': []}, 'frames': []}]), ('switching/replacement_ready', 'switching', ['replacement_ready'], [{'phase': 'active', 'registers': {'dictionary': 'new', 'epoch': 5, 'enabled': True, 'cache': ['old'], 'decoded': []}, 'frames': []}]), ('switching/replacement_failed', 'switching', ['replacement_failed'], [{'phase': 'active', 'registers': {'dictionary': 'old', 'epoch': 4, 'enabled': True, 'cache': ['old'], 'decoded': []}, 'frames': []}]), ('empty/compressed_payload', 'empty', ['compressed_payload'], [{'phase': 'empty', 'registers': {'dictionary': None, 'epoch': 4, 'enabled': False, 'cache': ['old'], 'decoded': []}, 'frames': [['MISSING_DICT', 4]]}]), ('active/evicted', 'active', ['evicted'], [{'phase': 'empty', 'registers': {'dictionary': 'old', 'epoch': 4, 'enabled': False, 'cache': [], 'decoded': []}, 'frames': [['DICT_EVICTED', 4]]}]), ('ordered trace 0', 'empty', ['offer', 'cache_miss', 'verified', 'evicted', 'offer', 'cache_miss', 'verified'], [{'phase': 'offered', 'registers': {'dictionary': None, 'epoch': 4, 'enabled': False, 'cache': ['old'], 'decoded': []}, 'frames': [['DICT_ID', 'new', 5]]}, {'phase': 'installing', 'registers': {'dictionary': None, 'epoch': 4, 'enabled': False, 'cache': ['old'], 'decoded': []}, 'frames': [['DICT_ID', 'new', 5], ['DICT_BODY', 'new', [4, 5, 6, 7, 8, 9]]]}, {'phase': 'active', 'registers': {'dictionary': 'new', 'epoch': 4, 'enabled': False, 'cache': ['old', 'new'], 'decoded': []}, 'frames': [['DICT_ID', 'new', 5], ['DICT_BODY', 'new', [4, 5, 6, 7, 8, 9]], ['DICT_READY', 5]]}, {'phase': 'empty', 'registers': {'dictionary': 'new', 'epoch': 4, 'enabled': False, 'cache': [], 'decoded': []}, 'frames': [['DICT_ID', 'new', 5], ['DICT_BODY', 'new', [4, 5, 6, 7, 8, 9]], ['DICT_READY', 5], ['DICT_EVICTED', 4]]}, {'phase': 'offered', 'registers': {'dictionary': 'new', 'epoch': 4, 'enabled': False, 'cache': [], 'decoded': []}, 'frames': [['DICT_ID', 'new', 5], ['DICT_BODY', 'new', [4, 5, 6, 7, 8, 9]], ['DICT_READY', 5], ['DICT_EVICTED', 4], ['DICT_ID', 'new', 5]]}, {'phase': 'installing', 'registers': {'dictionary': 'new', 'epoch': 4, 'enabled': False, 'cache': [], 'decoded': []}, 'frames': [['DICT_ID', 'new', 5], ['DICT_BODY', 'new', [4, 5, 6, 7, 8, 9]], ['DICT_READY', 5], ['DICT_EVICTED', 4], ['DICT_ID', 'new', 5], ['DICT_BODY', 'new', [4, 5, 6, 7, 8, 9]]]}, {'phase': 'active', 'registers': {'dictionary': 'new', 'epoch': 4, 'enabled': False, 'cache': ['new'], 'decoded': []}, 'frames': [['DICT_ID', 'new', 5], ['DICT_BODY', 'new', [4, 5, 6, 7, 8, 9]], ['DICT_READY', 5], ['DICT_EVICTED', 4], ['DICT_ID', 'new', 5], ['DICT_BODY', 'new', [4, 5, 6, 7, 8, 9]], ['DICT_READY', 5]]}]), ('ordered trace 3', 'installing', ['bad_fingerprint', 'offer', 'cache_miss', 'verified', 'evicted', 'offer', 'cache_miss'], [{'phase': 'empty', 'registers': {'dictionary': None, 'epoch': 4, 'enabled': False, 'cache': ['old'], 'decoded': []}, 'frames': [['BAD_DICT', 'new']]}, {'phase': 'offered', 'registers': {'dictionary': None, 'epoch': 4, 'enabled': False, 'cache': ['old'], 'decoded': []}, 'frames': [['BAD_DICT', 'new'], ['DICT_ID', 'new', 5]]}, {'phase': 'installing', 'registers': {'dictionary': None, 'epoch': 4, 'enabled': False, 'cache': ['old'], 'decoded': []}, 'frames': [['BAD_DICT', 'new'], ['DICT_ID', 'new', 5], ['DICT_BODY', 'new', [4, 5, 6, 7, 8, 9]]]}, {'phase': 'active', 'registers': {'dictionary': 'new', 'epoch': 4, 'enabled': False, 'cache': ['old', 'new'], 'decoded': []}, 'frames': [['BAD_DICT', 'new'], ['DICT_ID', 'new', 5], ['DICT_BODY', 'new', [4, 5, 6, 7, 8, 9]], ['DICT_READY', 5]]}, {'phase': 'empty', 'registers': {'dictionary': 'new', 'epoch': 4, 'enabled': False, 'cache': [], 'decoded': []}, 'frames': [['BAD_DICT', 'new'], ['DICT_ID', 'new', 5], ['DICT_BODY', 'new', [4, 5, 6, 7, 8, 9]], ['DICT_READY', 5], ['DICT_EVICTED', 4]]}, {'phase': 'offered', 'registers': {'dictionary': 'new', 'epoch': 4, 'enabled': False, 'cache': [], 'decoded': []}, 'frames': [['BAD_DICT', 'new'], ['DICT_ID', 'new', 5], ['DICT_BODY', 'new', [4, 5, 6, 7, 8, 9]], ['DICT_READY', 5], ['DICT_EVICTED', 4], ['DICT_ID', 'new', 5]]}, {'phase': 'installing', 'registers': {'dictionary': 'new', 'epoch': 4, 'enabled': False, 'cache': [], 'decoded': []}, 'frames': [['BAD_DICT', 'new'], ['DICT_ID', 'new', 5], ['DICT_BODY', 'new', [4, 5, 6, 7, 8, 9]], ['DICT_READY', 5], ['DICT_EVICTED', 4], ['DICT_ID', 'new', 5], ['DICT_BODY', 'new', [4, 5, 6, 7, 8, 9]]]}]), ('empty input', 'empty', [], []), ('unknown event', 'empty', ['unsupported'], [{'phase': 'empty', 'registers': {'dictionary': None, 'epoch': 4, 'enabled': False, 'cache': ['old'], 'decoded': []}, 'frames': [['reject', [4, 5, 6, 7, 8, 9]]]}])], 5: [('empty/offer', 'empty', ['offer'], [{'phase': 'offered', 'registers': {'dictionary': None, 'epoch': 5, 'enabled': False, 'cache': ['old'], 'decoded': []}, 'frames': [['DICT_ID', 'new', 6]]}]), ('offered/cache_hit', 'offered', ['cache_hit'], [{'phase': 'active', 'registers': {'dictionary': 'new', 'epoch': 6, 'enabled': False, 'cache': ['old'], 'decoded': []}, 'frames': []}]), ('offered/cache_miss', 'offered', ['cache_miss'], [{'phase': 'installing', 'registers': {'dictionary': None, 'epoch': 5, 'enabled': False, 'cache': ['old'], 'decoded': []}, 'frames': [['DICT_BODY', 'new', [5, 6, 7, 8, 9, 10, 11]]]}]), ('installing/verified', 'installing', ['verified'], [{'phase': 'active', 'registers': {'dictionary': 'new', 'epoch': 5, 'enabled': False, 'cache': ['old', 'new'], 'decoded': []}, 'frames': [['DICT_READY', 6]]}]), ('installing/bad_fingerprint', 'installing', ['bad_fingerprint'], [{'phase': 'empty', 'registers': {'dictionary': None, 'epoch': 5, 'enabled': False, 'cache': ['old'], 'decoded': []}, 'frames': [['BAD_DICT', 'new']]}]), ('active/replacement_offer', 'active', ['replacement_offer'], [{'phase': 'switching', 'registers': {'dictionary': 'old', 'epoch': 5, 'enabled': False, 'cache': ['old'], 'decoded': []}, 'frames': []}]), ('switching/replacement_ready', 'switching', ['replacement_ready'], [{'phase': 'active', 'registers': {'dictionary': 'new', 'epoch': 6, 'enabled': True, 'cache': ['old'], 'decoded': []}, 'frames': []}]), ('switching/replacement_failed', 'switching', ['replacement_failed'], [{'phase': 'active', 'registers': {'dictionary': 'old', 'epoch': 5, 'enabled': True, 'cache': ['old'], 'decoded': []}, 'frames': []}]), ('empty/compressed_payload', 'empty', ['compressed_payload'], [{'phase': 'empty', 'registers': {'dictionary': None, 'epoch': 5, 'enabled': False, 'cache': ['old'], 'decoded': []}, 'frames': [['MISSING_DICT', 5]]}]), ('active/evicted', 'active', ['evicted'], [{'phase': 'empty', 'registers': {'dictionary': 'old', 'epoch': 5, 'enabled': False, 'cache': [], 'decoded': []}, 'frames': [['DICT_EVICTED', 5]]}]), ('ordered trace 0', 'empty', ['offer', 'cache_miss', 'verified', 'evicted', 'offer', 'cache_miss', 'verified', 'evicted'], [{'phase': 'offered', 'registers': {'dictionary': None, 'epoch': 5, 'enabled': False, 'cache': ['old'], 'decoded': []}, 'frames': [['DICT_ID', 'new', 6]]}, {'phase': 'installing', 'registers': {'dictionary': None, 'epoch': 5, 'enabled': False, 'cache': ['old'], 'decoded': []}, 'frames': [['DICT_ID', 'new', 6], ['DICT_BODY', 'new', [5, 6, 7, 8, 9, 10, 11]]]}, {'phase': 'active', 'registers': {'dictionary': 'new', 'epoch': 5, 'enabled': False, 'cache': ['old', 'new'], 'decoded': []}, 'frames': [['DICT_ID', 'new', 6], ['DICT_BODY', 'new', [5, 6, 7, 8, 9, 10, 11]], ['DICT_READY', 6]]}, {'phase': 'empty', 'registers': {'dictionary': 'new', 'epoch': 5, 'enabled': False, 'cache': [], 'decoded': []}, 'frames': [['DICT_ID', 'new', 6], ['DICT_BODY', 'new', [5, 6, 7, 8, 9, 10, 11]], ['DICT_READY', 6], ['DICT_EVICTED', 5]]}, {'phase': 'offered', 'registers': {'dictionary': 'new', 'epoch': 5, 'enabled': False, 'cache': [], 'decoded': []}, 'frames': [['DICT_ID', 'new', 6], ['DICT_BODY', 'new', [5, 6, 7, 8, 9, 10, 11]], ['DICT_READY', 6], ['DICT_EVICTED', 5], ['DICT_ID', 'new', 6]]}, {'phase': 'installing', 'registers': {'dictionary': 'new', 'epoch': 5, 'enabled': False, 'cache': [], 'decoded': []}, 'frames': [['DICT_ID', 'new', 6], ['DICT_BODY', 'new', [5, 6, 7, 8, 9, 10, 11]], ['DICT_READY', 6], ['DICT_EVICTED', 5], ['DICT_ID', 'new', 6], ['DICT_BODY', 'new', [5, 6, 7, 8, 9, 10, 11]]]}, {'phase': 'active', 'registers': {'dictionary': 'new', 'epoch': 5, 'enabled': False, 'cache': ['new'], 'decoded': []}, 'frames': [['DICT_ID', 'new', 6], ['DICT_BODY', 'new', [5, 6, 7, 8, 9, 10, 11]], ['DICT_READY', 6], ['DICT_EVICTED', 5], ['DICT_ID', 'new', 6], ['DICT_BODY', 'new', [5, 6, 7, 8, 9, 10, 11]], ['DICT_READY', 6]]}, {'phase': 'empty', 'registers': {'dictionary': 'new', 'epoch': 5, 'enabled': False, 'cache': [], 'decoded': []}, 'frames': [['DICT_ID', 'new', 6], ['DICT_BODY', 'new', [5, 6, 7, 8, 9, 10, 11]], ['DICT_READY', 6], ['DICT_EVICTED', 5], ['DICT_ID', 'new', 6], ['DICT_BODY', 'new', [5, 6, 7, 8, 9, 10, 11]], ['DICT_READY', 6], ['DICT_EVICTED', 5]]}]), ('ordered trace 3', 'installing', ['bad_fingerprint', 'offer', 'cache_miss', 'verified', 'evicted', 'offer', 'cache_miss', 'verified'], [{'phase': 'empty', 'registers': {'dictionary': None, 'epoch': 5, 'enabled': False, 'cache': ['old'], 'decoded': []}, 'frames': [['BAD_DICT', 'new']]}, {'phase': 'offered', 'registers': {'dictionary': None, 'epoch': 5, 'enabled': False, 'cache': ['old'], 'decoded': []}, 'frames': [['BAD_DICT', 'new'], ['DICT_ID', 'new', 6]]}, {'phase': 'installing', 'registers': {'dictionary': None, 'epoch': 5, 'enabled': False, 'cache': ['old'], 'decoded': []}, 'frames': [['BAD_DICT', 'new'], ['DICT_ID', 'new', 6], ['DICT_BODY', 'new', [5, 6, 7, 8, 9, 10, 11]]]}, {'phase': 'active', 'registers': {'dictionary': 'new', 'epoch': 5, 'enabled': False, 'cache': ['old', 'new'], 'decoded': []}, 'frames': [['BAD_DICT', 'new'], ['DICT_ID', 'new', 6], ['DICT_BODY', 'new', [5, 6, 7, 8, 9, 10, 11]], ['DICT_READY', 6]]}, {'phase': 'empty', 'registers': {'dictionary': 'new', 'epoch': 5, 'enabled': False, 'cache': [], 'decoded': []}, 'frames': [['BAD_DICT', 'new'], ['DICT_ID', 'new', 6], ['DICT_BODY', 'new', [5, 6, 7, 8, 9, 10, 11]], ['DICT_READY', 6], ['DICT_EVICTED', 5]]}, {'phase': 'offered', 'registers': {'dictionary': 'new', 'epoch': 5, 'enabled': False, 'cache': [], 'decoded': []}, 'frames': [['BAD_DICT', 'new'], ['DICT_ID', 'new', 6], ['DICT_BODY', 'new', [5, 6, 7, 8, 9, 10, 11]], ['DICT_READY', 6], ['DICT_EVICTED', 5], ['DICT_ID', 'new', 6]]}, {'phase': 'installing', 'registers': {'dictionary': 'new', 'epoch': 5, 'enabled': False, 'cache': [], 'decoded': []}, 'frames': [['BAD_DICT', 'new'], ['DICT_ID', 'new', 6], ['DICT_BODY', 'new', [5, 6, 7, 8, 9, 10, 11]], ['DICT_READY', 6], ['DICT_EVICTED', 5], ['DICT_ID', 'new', 6], ['DICT_BODY', 'new', [5, 6, 7, 8, 9, 10, 11]]]}, {'phase': 'active', 'registers': {'dictionary': 'new', 'epoch': 5, 'enabled': False, 'cache': ['new'], 'decoded': []}, 'frames': [['BAD_DICT', 'new'], ['DICT_ID', 'new', 6], ['DICT_BODY', 'new', [5, 6, 7, 8, 9, 10, 11]], ['DICT_READY', 6], ['DICT_EVICTED', 5], ['DICT_ID', 'new', 6], ['DICT_BODY', 'new', [5, 6, 7, 8, 9, 10, 11]], ['DICT_READY', 6]]}]), ('empty input', 'empty', [], []), ('unknown event', 'empty', ['unsupported'], [{'phase': 'empty', 'registers': {'dictionary': None, 'epoch': 5, 'enabled': False, 'cache': ['old'], 'decoded': []}, 'frames': [['reject', [5, 6, 7, 8, 9, 10, 11]]]}])]}\nfor label, phase, events, expected in cases[N]:\n    check(label, solve(phase, events, N), expected)\nprint(json.dumps({\"observations\": observations, \"passed\": all(x[\"passed\"] for x in observations)}, ensure_ascii=False))\nraise SystemExit(0 if all(x[\"passed\"] for x in observations) else 1)\n"},"broken":{"sha256":"409890480da1babf93ee68ca853f33493580a3aed5cd8a187930d115d30acdb0","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 = {'dictionary': 'old' if phase in ('active','switching') else None, 'epoch': seed, 'enabled': phase=='active', 'cache': ['old'], 'decoded': []}\n    frames = []\n    observed = []\n    table = {('empty', 'offer'): ('offered', 'send_fingerprint'), ('offered', 'cache_hit'): ('active', 'select_cached'), ('offered', 'cache_miss'): ('installing', 'send_dictionary'), ('installing', 'verified'): ('active', 'confirm_install'), ('installing', 'bad_fingerprint'): ('empty', 'reject_dictionary'), ('active', 'replacement_offer'): ('switching', 'pause_old_epoch'), ('switching', 'replacement_ready'): ('active', 'switch_epoch'), ('switching', 'replacement_failed'): ('active', 'resume_old_epoch'), ('empty', 'compressed_payload'): ('empty', 'reject_missing'), ('active', 'evicted'): ('active', 'decode_stale')}\n    for event in events:\n        phase, action = table.get((phase, event), (phase, \"reject\"))\n        if action == 'send_fingerprint':\n            frames.append(['DICT_ID','new',seed+1])\n        elif action == 'select_cached':\n            r['dictionary']='new'; r['epoch']=seed+1\n        elif action == 'send_dictionary':\n            frames.append(['DICT_BODY','new',payload])\n        elif action == 'confirm_install':\n            r['cache'].append('new'); r['dictionary']='new'; frames.append(['DICT_READY',seed+1])\n        elif action == 'reject_dictionary':\n            frames.append(['BAD_DICT','new']); r['enabled']=False\n        elif action == 'pause_old_epoch':\n            r['enabled']=False\n        elif action == 'switch_epoch':\n            r['dictionary']='new'; r['epoch']=seed+1; r['enabled']=True\n        elif action == 'resume_old_epoch':\n            r['dictionary']='old'; r['epoch']=seed; r['enabled']=True\n        elif action == 'reject_missing':\n            frames.append(['MISSING_DICT',seed])\n        elif action == 'notify_unavailable':\n            r['enabled']=False; r['cache']=[]; frames.append(['DICT_EVICTED',seed])\n        elif action == 'compress':\n            frames.append(['COMPRESSED',r['dictionary'],payload])\n        elif action == 'send_payload':\n            frames.append(['COMPRESSED',None,payload])\n        elif action == 'select_default':\n            r['dictionary']='default'\n        elif action == 'compress_without_confirm':\n            r['dictionary']='new'; frames.append(['COMPRESSED','new',payload])\n        elif action == 'cache_bad':\n            r['cache'].append('corrupt')\n        elif action == 'switch_immediately':\n            r['dictionary']='new'; r['epoch']=seed+1\n        elif action == 'continue_old':\n            frames.append(['COMPRESSED','old',payload])\n        elif action == 'keep_old_epoch':\n            r['enabled']=True\n        elif action == 'use_rejected_epoch':\n            r['dictionary']='rejected'\n        elif action == 'discard_old':\n            r['cache']=[]\n        elif action == 'decode_default':\n            r['decoded'].append(['default',payload])\n        elif action == 'deliver_raw':\n            r['decoded'].append(['raw',payload])\n        elif action == 'decode_stale':\n            r['decoded'].append(['old',payload])\n        elif action == 'silent_drop':\n            r['cache']=[]\n        else:\n            if action not in (\"wait\", \"ignore\", \"keep\", \"retain\", \"keep_peer\", \"keep_offer\", \"keep_hold\", \"keep_batch\", \"retain_staging\", \"keep_staging\", \"keep_local_owner\", \"keep_old_session\", \"keep_address\", \"keep_old_expiry\", \"ignore_conflict\", \"keep_service\", \"keep_subscription\", \"retain_shadow\", \"keep_live\", \"keep_suspicion\", \"keep_roles\", \"keep_staged\"):\n                frames.append([action, payload[:]])\n        observed.append(json.loads(json.dumps({\"phase\": phase, \"registers\": r, \"frames\": frames})))\n    return observed\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncases = {1: [('empty/offer', 'empty', ['offer'], [{'phase': 'offered', 'registers': {'dictionary': None, 'epoch': 1, 'enabled': False, 'cache': ['old'], 'decoded': []}, 'frames': [['DICT_ID', 'new', 2]]}]), ('offered/cache_hit', 'offered', ['cache_hit'], [{'phase': 'active', 'registers': {'dictionary': 'new', 'epoch': 2, 'enabled': False, 'cache': ['old'], 'decoded': []}, 'frames': []}]), ('offered/cache_miss', 'offered', ['cache_miss'], [{'phase': 'installing', 'registers': {'dictionary': None, 'epoch': 1, 'enabled': False, 'cache': ['old'], 'decoded': []}, 'frames': [['DICT_BODY', 'new', [1, 2, 3]]]}]), ('installing/verified', 'installing', ['verified'], [{'phase': 'active', 'registers': {'dictionary': 'new', 'epoch': 1, 'enabled': False, 'cache': ['old', 'new'], 'decoded': []}, 'frames': [['DICT_READY', 2]]}]), ('installing/bad_fingerprint', 'installing', ['bad_fingerprint'], [{'phase': 'empty', 'registers': {'dictionary': None, 'epoch': 1, 'enabled': False, 'cache': ['old'], 'decoded': []}, 'frames': [['BAD_DICT', 'new']]}]), ('active/replacement_offer', 'active', ['replacement_offer'], [{'phase': 'switching', 'registers': {'dictionary': 'old', 'epoch': 1, 'enabled': False, 'cache': ['old'], 'decoded': []}, 'frames': []}]), ('switching/replacement_ready', 'switching', ['replacement_ready'], [{'phase': 'active', 'registers': {'dictionary': 'new', 'epoch': 2, 'enabled': True, 'cache': ['old'], 'decoded': []}, 'frames': []}]), ('switching/replacement_failed', 'switching', ['replacement_failed'], [{'phase': 'active', 'registers': {'dictionary': 'old', 'epoch': 1, 'enabled': True, 'cache': ['old'], 'decoded': []}, 'frames': []}]), ('empty/compressed_payload', 'empty', ['compressed_payload'], [{'phase': 'empty', 'registers': {'dictionary': None, 'epoch': 1, 'enabled': False, 'cache': ['old'], 'decoded': []}, 'frames': [['MISSING_DICT', 1]]}]), ('active/evicted', 'active', ['evicted'], [{'phase': 'empty', 'registers': {'dictionary': 'old', 'epoch': 1, 'enabled': False, 'cache': [], 'decoded': []}, 'frames': [['DICT_EVICTED', 1]]}]), ('ordered trace 0', 'empty', ['offer', 'cache_miss', 'verified', 'evicted'], [{'phase': 'offered', 'registers': {'dictionary': None, 'epoch': 1, 'enabled': False, 'cache': ['old'], 'decoded': []}, 'frames': [['DICT_ID', 'new', 2]]}, {'phase': 'installing', 'registers': {'dictionary': None, 'epoch': 1, 'enabled': False, 'cache': ['old'], 'decoded': []}, 'frames': [['DICT_ID', 'new', 2], ['DICT_BODY', 'new', [1, 2, 3]]]}, {'phase': 'active', 'registers': {'dictionary': 'new', 'epoch': 1, 'enabled': False, 'cache': ['old', 'new'], 'decoded': []}, 'frames': [['DICT_ID', 'new', 2], ['DICT_BODY', 'new', [1, 2, 3]], ['DICT_READY', 2]]}, {'phase': 'empty', 'registers': {'dictionary': 'new', 'epoch': 1, 'enabled': False, 'cache': [], 'decoded': []}, 'frames': [['DICT_ID', 'new', 2], ['DICT_BODY', 'new', [1, 2, 3]], ['DICT_READY', 2], ['DICT_EVICTED', 1]]}]), ('ordered trace 3', 'installing', ['bad_fingerprint', 'offer', 'cache_miss', 'verified'], [{'phase': 'empty', 'registers': {'dictionary': None, 'epoch': 1, 'enabled': False, 'cache': ['old'], 'decoded': []}, 'frames': [['BAD_DICT', 'new']]}, {'phase': 'offered', 'registers': {'dictionary': None, 'epoch': 1, 'enabled': False, 'cache': ['old'], 'decoded': []}, 'frames': [['BAD_DICT', 'new'], ['DICT_ID', 'new', 2]]}, {'phase': 'installing', 'registers': {'dictionary': None, 'epoch': 1, 'enabled': False, 'cache': ['old'], 'decoded': []}, 'frames': [['BAD_DICT', 'new'], ['DICT_ID', 'new', 2], ['DICT_BODY', 'new', [1, 2, 3]]]}, {'phase': 'active', 'registers': {'dictionary': 'new', 'epoch': 1, 'enabled': False, 'cache': ['old', 'new'], 'decoded': []}, 'frames': [['BAD_DICT', 'new'], ['DICT_ID', 'new', 2], ['DICT_BODY', 'new', [1, 2, 3]], ['DICT_READY', 2]]}]), ('empty input', 'empty', [], []), ('unknown event', 'empty', ['unsupported'], [{'phase': 'empty', 'registers': {'dictionary': None, 'epoch': 1, 'enabled': False, 'cache': ['old'], 'decoded': []}, 'frames': [['reject', [1, 2, 3]]]}])], 2: [('empty/offer', 'empty', ['offer'], [{'phase': 'offered', 'registers': {'dictionary': None, 'epoch': 2, 'enabled': False, 'cache': ['old'], 'decoded': []}, 'frames': [['DICT_ID', 'new', 3]]}]), ('offered/cache_hit', 'offered', ['cache_hit'], [{'phase': 'active', 'registers': {'dictionary': 'new', 'epoch': 3, 'enabled': False, 'cache': ['old'], 'decoded': []}, 'frames': []}]), ('offered/cache_miss', 'offered', ['cache_miss'], [{'phase': 'installing', 'registers': {'dictionary': None, 'epoch': 2, 'enabled': False, 'cache': ['old'], 'decoded': []}, 'frames': [['DICT_BODY', 'new', [2, 3, 4, 5]]]}]), ('installing/verified', 'installing', ['verified'], [{'phase': 'active', 'registers': {'dictionary': 'new', 'epoch': 2, 'enabled': False, 'cache': ['old', 'new'], 'decoded': []}, 'frames': [['DICT_READY', 3]]}]), ('installing/bad_fingerprint', 'installing', ['bad_fingerprint'], [{'phase': 'empty', 'registers': {'dictionary': None, 'epoch': 2, 'enabled': False, 'cache': ['old'], 'decoded': []}, 'frames': [['BAD_DICT', 'new']]}]), ('active/replacement_offer', 'active', ['replacement_offer'], [{'phase': 'switching', 'registers': {'dictionary': 'old', 'epoch': 2, 'enabled': False, 'cache': ['old'], 'decoded': []}, 'frames': []}]), ('switching/replacement_ready', 'switching', ['replacement_ready'], [{'phase': 'active', 'registers': {'dictionary': 'new', 'epoch': 3, 'enabled': True, 'cache': ['old'], 'decoded': []}, 'frames': []}]), ('switching/replacement_failed', 'switching', ['replacement_failed'], [{'phase': 'active', 'registers': {'dictionary': 'old', 'epoch': 2, 'enabled': True, 'cache': ['old'], 'decoded': []}, 'frames': []}]), ('empty/compressed_payload', 'empty', ['compressed_payload'], [{'phase': 'empty', 'registers': {'dictionary': None, 'epoch': 2, 'enabled': False, 'cache': ['old'], 'decoded': []}, 'frames': [['MISSING_DICT', 2]]}]), ('active/evicted', 'active', ['evicted'], [{'phase': 'empty', 'registers': {'dictionary': 'old', 'epoch': 2, 'enabled': False, 'cache': [], 'decoded': []}, 'frames': [['DICT_EVICTED', 2]]}]), ('ordered trace 0', 'empty', ['offer', 'cache_miss', 'verified', 'evicted', 'offer'], [{'phase': 'offered', 'registers': {'dictionary': None, 'epoch': 2, 'enabled': False, 'cache': ['old'], 'decoded': []}, 'frames': [['DICT_ID', 'new', 3]]}, {'phase': 'installing', 'registers': {'dictionary': None, 'epoch': 2, 'enabled': False, 'cache': ['old'], 'decoded': []}, 'frames': [['DICT_ID', 'new', 3], ['DICT_BODY', 'new', [2, 3, 4, 5]]]}, {'phase': 'active', 'registers': {'dictionary': 'new', 'epoch': 2, 'enabled': False, 'cache': ['old', 'new'], 'decoded': []}, 'frames': [['DICT_ID', 'new', 3], ['DICT_BODY', 'new', [2, 3, 4, 5]], ['DICT_READY', 3]]}, {'phase': 'empty', 'registers': {'dictionary': 'new', 'epoch': 2, 'enabled': False, 'cache': [], 'decoded': []}, 'frames': [['DICT_ID', 'new', 3], ['DICT_BODY', 'new', [2, 3, 4, 5]], ['DICT_READY', 3], ['DICT_EVICTED', 2]]}, {'phase': 'offered', 'registers': {'dictionary': 'new', 'epoch': 2, 'enabled': False, 'cache': [], 'decoded': []}, 'frames': [['DICT_ID', 'new', 3], ['DICT_BODY', 'new', [2, 3, 4, 5]], ['DICT_READY', 3], ['DICT_EVICTED', 2], ['DICT_ID', 'new', 3]]}]), ('ordered trace 3', 'installing', ['bad_fingerprint', 'offer', 'cache_miss', 'verified', 'evicted'], [{'phase': 'empty', 'registers': {'dictionary': None, 'epoch': 2, 'enabled': False, 'cache': ['old'], 'decoded': []}, 'frames': [['BAD_DICT', 'new']]}, {'phase': 'offered', 'registers': {'dictionary': None, 'epoch': 2, 'enabled': False, 'cache': ['old'], 'decoded': []}, 'frames': [['BAD_DICT', 'new'], ['DICT_ID', 'new', 3]]}, {'phase': 'installing', 'registers': {'dictionary': None, 'epoch': 2, 'enabled': False, 'cache': ['old'], 'decoded': []}, 'frames': [['BAD_DICT', 'new'], ['DICT_ID', 'new', 3], ['DICT_BODY', 'new', [2, 3, 4, 5]]]}, {'phase': 'active', 'registers': {'dictionary': 'new', 'epoch': 2, 'enabled': False, 'cache': ['old', 'new'], 'decoded': []}, 'frames': [['BAD_DICT', 'new'], ['DICT_ID', 'new', 3], ['DICT_BODY', 'new', [2, 3, 4, 5]], ['DICT_READY', 3]]}, {'phase': 'empty', 'registers': {'dictionary': 'new', 'epoch': 2, 'enabled': False, 'cache': [], 'decoded': []}, 'frames': [['BAD_DICT', 'new'], ['DICT_ID', 'new', 3], ['DICT_BODY', 'new', [2, 3, 4, 5]], ['DICT_READY', 3], ['DICT_EVICTED', 2]]}]), ('empty input', 'empty', [], []), ('unknown event', 'empty', ['unsupported'], [{'phase': 'empty', 'registers': {'dictionary': None, 'epoch': 2, 'enabled': False, 'cache': ['old'], 'decoded': []}, 'frames': [['reject', [2, 3, 4, 5]]]}])], 3: [('empty/offer', 'empty', ['offer'], [{'phase': 'offered', 'registers': {'dictionary': None, 'epoch': 3, 'enabled': False, 'cache': ['old'], 'decoded': []}, 'frames': [['DICT_ID', 'new', 4]]}]), ('offered/cache_hit', 'offered', ['cache_hit'], [{'phase': 'active', 'registers': {'dictionary': 'new', 'epoch': 4, 'enabled': False, 'cache': ['old'], 'decoded': []}, 'frames': []}]), ('offered/cache_miss', 'offered', ['cache_miss'], [{'phase': 'installing', 'registers': {'dictionary': None, 'epoch': 3, 'enabled': False, 'cache': ['old'], 'decoded': []}, 'frames': [['DICT_BODY', 'new', [3, 4, 5, 6, 7]]]}]), ('installing/verified', 'installing', ['verified'], [{'phase': 'active', 'registers': {'dictionary': 'new', 'epoch': 3, 'enabled': False, 'cache': ['old', 'new'], 'decoded': []}, 'frames': [['DICT_READY', 4]]}]), ('installing/bad_fingerprint', 'installing', ['bad_fingerprint'], [{'phase': 'empty', 'registers': {'dictionary': None, 'epoch': 3, 'enabled': False, 'cache': ['old'], 'decoded': []}, 'frames': [['BAD_DICT', 'new']]}]), ('active/replacement_offer', 'active', ['replacement_offer'], [{'phase': 'switching', 'registers': {'dictionary': 'old', 'epoch': 3, 'enabled': False, 'cache': ['old'], 'decoded': []}, 'frames': []}]), ('switching/replacement_ready', 'switching', ['replacement_ready'], [{'phase': 'active', 'registers': {'dictionary': 'new', 'epoch': 4, 'enabled': True, 'cache': ['old'], 'decoded': []}, 'frames': []}]), ('switching/replacement_failed', 'switching', ['replacement_failed'], [{'phase': 'active', 'registers': {'dictionary': 'old', 'epoch': 3, 'enabled': True, 'cache': ['old'], 'decoded': []}, 'frames': []}]), ('empty/compressed_payload', 'empty', ['compressed_payload'], [{'phase': 'empty', 'registers': {'dictionary': None, 'epoch': 3, 'enabled': False, 'cache': ['old'], 'decoded': []}, 'frames': [['MISSING_DICT', 3]]}]), ('active/evicted', 'active', ['evicted'], [{'phase': 'empty', 'registers': {'dictionary': 'old', 'epoch': 3, 'enabled': False, 'cache': [], 'decoded': []}, 'frames': [['DICT_EVICTED', 3]]}]), ('ordered trace 0', 'empty', ['offer', 'cache_miss', 'verified', 'evicted', 'offer', 'cache_miss'], [{'phase': 'offered', 'registers': {'dictionary': None, 'epoch': 3, 'enabled': False, 'cache': ['old'], 'decoded': []}, 'frames': [['DICT_ID', 'new', 4]]}, {'phase': 'installing', 'registers': {'dictionary': None, 'epoch': 3, 'enabled': False, 'cache': ['old'], 'decoded': []}, 'frames': [['DICT_ID', 'new', 4], ['DICT_BODY', 'new', [3, 4, 5, 6, 7]]]}, {'phase': 'active', 'registers': {'dictionary': 'new', 'epoch': 3, 'enabled': False, 'cache': ['old', 'new'], 'decoded': []}, 'frames': [['DICT_ID', 'new', 4], ['DICT_BODY', 'new', [3, 4, 5, 6, 7]], ['DICT_READY', 4]]}, {'phase': 'empty', 'registers': {'dictionary': 'new', 'epoch': 3, 'enabled': False, 'cache': [], 'decoded': []}, 'frames': [['DICT_ID', 'new', 4], ['DICT_BODY', 'new', [3, 4, 5, 6, 7]], ['DICT_READY', 4], ['DICT_EVICTED', 3]]}, {'phase': 'offered', 'registers': {'dictionary': 'new', 'epoch': 3, 'enabled': False, 'cache': [], 'decoded': []}, 'frames': [['DICT_ID', 'new', 4], ['DICT_BODY', 'new', [3, 4, 5, 6, 7]], ['DICT_READY', 4], ['DICT_EVICTED', 3], ['DICT_ID', 'new', 4]]}, {'phase': 'installing', 'registers': {'dictionary': 'new', 'epoch': 3, 'enabled': False, 'cache': [], 'decoded': []}, 'frames': [['DICT_ID', 'new', 4], ['DICT_BODY', 'new', [3, 4, 5, 6, 7]], ['DICT_READY', 4], ['DICT_EVICTED', 3], ['DICT_ID', 'new', 4], ['DICT_BODY', 'new', [3, 4, 5, 6, 7]]]}]), ('ordered trace 3', 'installing', ['bad_fingerprint', 'offer', 'cache_miss', 'verified', 'evicted', 'offer'], [{'phase': 'empty', 'registers': {'dictionary': None, 'epoch': 3, 'enabled': False, 'cache': ['old'], 'decoded': []}, 'frames': [['BAD_DICT', 'new']]}, {'phase': 'offered', 'registers': {'dictionary': None, 'epoch': 3, 'enabled': False, 'cache': ['old'], 'decoded': []}, 'frames': [['BAD_DICT', 'new'], ['DICT_ID', 'new', 4]]}, {'phase': 'installing', 'registers': {'dictionary': None, 'epoch': 3, 'enabled': False, 'cache': ['old'], 'decoded': []}, 'frames': [['BAD_DICT', 'new'], ['DICT_ID', 'new', 4], ['DICT_BODY', 'new', [3, 4, 5, 6, 7]]]}, {'phase': 'active', 'registers': {'dictionary': 'new', 'epoch': 3, 'enabled': False, 'cache': ['old', 'new'], 'decoded': []}, 'frames': [['BAD_DICT', 'new'], ['DICT_ID', 'new', 4], ['DICT_BODY', 'new', [3, 4, 5, 6, 7]], ['DICT_READY', 4]]}, {'phase': 'empty', 'registers': {'dictionary': 'new', 'epoch': 3, 'enabled': False, 'cache': [], 'decoded': []}, 'frames': [['BAD_DICT', 'new'], ['DICT_ID', 'new', 4], ['DICT_BODY', 'new', [3, 4, 5, 6, 7]], ['DICT_READY', 4], ['DICT_EVICTED', 3]]}, {'phase': 'offered', 'registers': {'dictionary': 'new', 'epoch': 3, 'enabled': False, 'cache': [], 'decoded': []}, 'frames': [['BAD_DICT', 'new'], ['DICT_ID', 'new', 4], ['DICT_BODY', 'new', [3, 4, 5, 6, 7]], ['DICT_READY', 4], ['DICT_EVICTED', 3], ['DICT_ID', 'new', 4]]}]), ('empty input', 'empty', [], []), ('unknown event', 'empty', ['unsupported'], [{'phase': 'empty', 'registers': {'dictionary': None, 'epoch': 3, 'enabled': False, 'cache': ['old'], 'decoded': []}, 'frames': [['reject', [3, 4, 5, 6, 7]]]}])], 4: [('empty/offer', 'empty', ['offer'], [{'phase': 'offered', 'registers': {'dictionary': None, 'epoch': 4, 'enabled': False, 'cache': ['old'], 'decoded': []}, 'frames': [['DICT_ID', 'new', 5]]}]), ('offered/cache_hit', 'offered', ['cache_hit'], [{'phase': 'active', 'registers': {'dictionary': 'new', 'epoch': 5, 'enabled': False, 'cache': ['old'], 'decoded': []}, 'frames': []}]), ('offered/cache_miss', 'offered', ['cache_miss'], [{'phase': 'installing', 'registers': {'dictionary': None, 'epoch': 4, 'enabled': False, 'cache': ['old'], 'decoded': []}, 'frames': [['DICT_BODY', 'new', [4, 5, 6, 7, 8, 9]]]}]), ('installing/verified', 'installing', ['verified'], [{'phase': 'active', 'registers': {'dictionary': 'new', 'epoch': 4, 'enabled': False, 'cache': ['old', 'new'], 'decoded': []}, 'frames': [['DICT_READY', 5]]}]), ('installing/bad_fingerprint', 'installing', ['bad_fingerprint'], [{'phase': 'empty', 'registers': {'dictionary': None, 'epoch': 4, 'enabled': False, 'cache': ['old'], 'decoded': []}, 'frames': [['BAD_DICT', 'new']]}]), ('active/replacement_offer', 'active', ['replacement_offer'], [{'phase': 'switching', 'registers': {'dictionary': 'old', 'epoch': 4, 'enabled': False, 'cache': ['old'], 'decoded': []}, 'frames': []}]), ('switching/replacement_ready', 'switching', ['replacement_ready'], [{'phase': 'active', 'registers': {'dictionary': 'new', 'epoch': 5, 'enabled': True, 'cache': ['old'], 'decoded': []}, 'frames': []}]), ('switching/replacement_failed', 'switching', ['replacement_failed'], [{'phase': 'active', 'registers': {'dictionary': 'old', 'epoch': 4, 'enabled': True, 'cache': ['old'], 'decoded': []}, 'frames': []}]), ('empty/compressed_payload', 'empty', ['compressed_payload'], [{'phase': 'empty', 'registers': {'dictionary': None, 'epoch': 4, 'enabled': False, 'cache': ['old'], 'decoded': []}, 'frames': [['MISSING_DICT', 4]]}]), ('active/evicted', 'active', ['evicted'], [{'phase': 'empty', 'registers': {'dictionary': 'old', 'epoch': 4, 'enabled': False, 'cache': [], 'decoded': []}, 'frames': [['DICT_EVICTED', 4]]}]), ('ordered trace 0', 'empty', ['offer', 'cache_miss', 'verified', 'evicted', 'offer', 'cache_miss', 'verified'], [{'phase': 'offered', 'registers': {'dictionary': None, 'epoch': 4, 'enabled': False, 'cache': ['old'], 'decoded': []}, 'frames': [['DICT_ID', 'new', 5]]}, {'phase': 'installing', 'registers': {'dictionary': None, 'epoch': 4, 'enabled': False, 'cache': ['old'], 'decoded': []}, 'frames': [['DICT_ID', 'new', 5], ['DICT_BODY', 'new', [4, 5, 6, 7, 8, 9]]]}, {'phase': 'active', 'registers': {'dictionary': 'new', 'epoch': 4, 'enabled': False, 'cache': ['old', 'new'], 'decoded': []}, 'frames': [['DICT_ID', 'new', 5], ['DICT_BODY', 'new', [4, 5, 6, 7, 8, 9]], ['DICT_READY', 5]]}, {'phase': 'empty', 'registers': {'dictionary': 'new', 'epoch': 4, 'enabled': False, 'cache': [], 'decoded': []}, 'frames': [['DICT_ID', 'new', 5], ['DICT_BODY', 'new', [4, 5, 6, 7, 8, 9]], ['DICT_READY', 5], ['DICT_EVICTED', 4]]}, {'phase': 'offered', 'registers': {'dictionary': 'new', 'epoch': 4, 'enabled': False, 'cache': [], 'decoded': []}, 'frames': [['DICT_ID', 'new', 5], ['DICT_BODY', 'new', [4, 5, 6, 7, 8, 9]], ['DICT_READY', 5], ['DICT_EVICTED', 4], ['DICT_ID', 'new', 5]]}, {'phase': 'installing', 'registers': {'dictionary': 'new', 'epoch': 4, 'enabled': False, 'cache': [], 'decoded': []}, 'frames': [['DICT_ID', 'new', 5], ['DICT_BODY', 'new', [4, 5, 6, 7, 8, 9]], ['DICT_READY', 5], ['DICT_EVICTED', 4], ['DICT_ID', 'new', 5], ['DICT_BODY', 'new', [4, 5, 6, 7, 8, 9]]]}, {'phase': 'active', 'registers': {'dictionary': 'new', 'epoch': 4, 'enabled': False, 'cache': ['new'], 'decoded': []}, 'frames': [['DICT_ID', 'new', 5], ['DICT_BODY', 'new', [4, 5, 6, 7, 8, 9]], ['DICT_READY', 5], ['DICT_EVICTED', 4], ['DICT_ID', 'new', 5], ['DICT_BODY', 'new', [4, 5, 6, 7, 8, 9]], ['DICT_READY', 5]]}]), ('ordered trace 3', 'installing', ['bad_fingerprint', 'offer', 'cache_miss', 'verified', 'evicted', 'offer', 'cache_miss'], [{'phase': 'empty', 'registers': {'dictionary': None, 'epoch': 4, 'enabled': False, 'cache': ['old'], 'decoded': []}, 'frames': [['BAD_DICT', 'new']]}, {'phase': 'offered', 'registers': {'dictionary': None, 'epoch': 4, 'enabled': False, 'cache': ['old'], 'decoded': []}, 'frames': [['BAD_DICT', 'new'], ['DICT_ID', 'new', 5]]}, {'phase': 'installing', 'registers': {'dictionary': None, 'epoch': 4, 'enabled': False, 'cache': ['old'], 'decoded': []}, 'frames': [['BAD_DICT', 'new'], ['DICT_ID', 'new', 5], ['DICT_BODY', 'new', [4, 5, 6, 7, 8, 9]]]}, {'phase': 'active', 'registers': {'dictionary': 'new', 'epoch': 4, 'enabled': False, 'cache': ['old', 'new'], 'decoded': []}, 'frames': [['BAD_DICT', 'new'], ['DICT_ID', 'new', 5], ['DICT_BODY', 'new', [4, 5, 6, 7, 8, 9]], ['DICT_READY', 5]]}, {'phase': 'empty', 'registers': {'dictionary': 'new', 'epoch': 4, 'enabled': False, 'cache': [], 'decoded': []}, 'frames': [['BAD_DICT', 'new'], ['DICT_ID', 'new', 5], ['DICT_BODY', 'new', [4, 5, 6, 7, 8, 9]], ['DICT_READY', 5], ['DICT_EVICTED', 4]]}, {'phase': 'offered', 'registers': {'dictionary': 'new', 'epoch': 4, 'enabled': False, 'cache': [], 'decoded': []}, 'frames': [['BAD_DICT', 'new'], ['DICT_ID', 'new', 5], ['DICT_BODY', 'new', [4, 5, 6, 7, 8, 9]], ['DICT_READY', 5], ['DICT_EVICTED', 4], ['DICT_ID', 'new', 5]]}, {'phase': 'installing', 'registers': {'dictionary': 'new', 'epoch': 4, 'enabled': False, 'cache': [], 'decoded': []}, 'frames': [['BAD_DICT', 'new'], ['DICT_ID', 'new', 5], ['DICT_BODY', 'new', [4, 5, 6, 7, 8, 9]], ['DICT_READY', 5], ['DICT_EVICTED', 4], ['DICT_ID', 'new', 5], ['DICT_BODY', 'new', [4, 5, 6, 7, 8, 9]]]}]), ('empty input', 'empty', [], []), ('unknown event', 'empty', ['unsupported'], [{'phase': 'empty', 'registers': {'dictionary': None, 'epoch': 4, 'enabled': False, 'cache': ['old'], 'decoded': []}, 'frames': [['reject', [4, 5, 6, 7, 8, 9]]]}])], 5: [('empty/offer', 'empty', ['offer'], [{'phase': 'offered', 'registers': {'dictionary': None, 'epoch': 5, 'enabled': False, 'cache': ['old'], 'decoded': []}, 'frames': [['DICT_ID', 'new', 6]]}]), ('offered/cache_hit', 'offered', ['cache_hit'], [{'phase': 'active', 'registers': {'dictionary': 'new', 'epoch': 6, 'enabled': False, 'cache': ['old'], 'decoded': []}, 'frames': []}]), ('offered/cache_miss', 'offered', ['cache_miss'], [{'phase': 'installing', 'registers': {'dictionary': None, 'epoch': 5, 'enabled': False, 'cache': ['old'], 'decoded': []}, 'frames': [['DICT_BODY', 'new', [5, 6, 7, 8, 9, 10, 11]]]}]), ('installing/verified', 'installing', ['verified'], [{'phase': 'active', 'registers': {'dictionary': 'new', 'epoch': 5, 'enabled': False, 'cache': ['old', 'new'], 'decoded': []}, 'frames': [['DICT_READY', 6]]}]), ('installing/bad_fingerprint', 'installing', ['bad_fingerprint'], [{'phase': 'empty', 'registers': {'dictionary': None, 'epoch': 5, 'enabled': False, 'cache': ['old'], 'decoded': []}, 'frames': [['BAD_DICT', 'new']]}]), ('active/replacement_offer', 'active', ['replacement_offer'], [{'phase': 'switching', 'registers': {'dictionary': 'old', 'epoch': 5, 'enabled': False, 'cache': ['old'], 'decoded': []}, 'frames': []}]), ('switching/replacement_ready', 'switching', ['replacement_ready'], [{'phase': 'active', 'registers': {'dictionary': 'new', 'epoch': 6, 'enabled': True, 'cache': ['old'], 'decoded': []}, 'frames': []}]), ('switching/replacement_failed', 'switching', ['replacement_failed'], [{'phase': 'active', 'registers': {'dictionary': 'old', 'epoch': 5, 'enabled': True, 'cache': ['old'], 'decoded': []}, 'frames': []}]), ('empty/compressed_payload', 'empty', ['compressed_payload'], [{'phase': 'empty', 'registers': {'dictionary': None, 'epoch': 5, 'enabled': False, 'cache': ['old'], 'decoded': []}, 'frames': [['MISSING_DICT', 5]]}]), ('active/evicted', 'active', ['evicted'], [{'phase': 'empty', 'registers': {'dictionary': 'old', 'epoch': 5, 'enabled': False, 'cache': [], 'decoded': []}, 'frames': [['DICT_EVICTED', 5]]}]), ('ordered trace 0', 'empty', ['offer', 'cache_miss', 'verified', 'evicted', 'offer', 'cache_miss', 'verified', 'evicted'], [{'phase': 'offered', 'registers': {'dictionary': None, 'epoch': 5, 'enabled': False, 'cache': ['old'], 'decoded': []}, 'frames': [['DICT_ID', 'new', 6]]}, {'phase': 'installing', 'registers': {'dictionary': None, 'epoch': 5, 'enabled': False, 'cache': ['old'], 'decoded': []}, 'frames': [['DICT_ID', 'new', 6], ['DICT_BODY', 'new', [5, 6, 7, 8, 9, 10, 11]]]}, {'phase': 'active', 'registers': {'dictionary': 'new', 'epoch': 5, 'enabled': False, 'cache': ['old', 'new'], 'decoded': []}, 'frames': [['DICT_ID', 'new', 6], ['DICT_BODY', 'new', [5, 6, 7, 8, 9, 10, 11]], ['DICT_READY', 6]]}, {'phase': 'empty', 'registers': {'dictionary': 'new', 'epoch': 5, 'enabled': False, 'cache': [], 'decoded': []}, 'frames': [['DICT_ID', 'new', 6], ['DICT_BODY', 'new', [5, 6, 7, 8, 9, 10, 11]], ['DICT_READY', 6], ['DICT_EVICTED', 5]]}, {'phase': 'offered', 'registers': {'dictionary': 'new', 'epoch': 5, 'enabled': False, 'cache': [], 'decoded': []}, 'frames': [['DICT_ID', 'new', 6], ['DICT_BODY', 'new', [5, 6, 7, 8, 9, 10, 11]], ['DICT_READY', 6], ['DICT_EVICTED', 5], ['DICT_ID', 'new', 6]]}, {'phase': 'installing', 'registers': {'dictionary': 'new', 'epoch': 5, 'enabled': False, 'cache': [], 'decoded': []}, 'frames': [['DICT_ID', 'new', 6], ['DICT_BODY', 'new', [5, 6, 7, 8, 9, 10, 11]], ['DICT_READY', 6], ['DICT_EVICTED', 5], ['DICT_ID', 'new', 6], ['DICT_BODY', 'new', [5, 6, 7, 8, 9, 10, 11]]]}, {'phase': 'active', 'registers': {'dictionary': 'new', 'epoch': 5, 'enabled': False, 'cache': ['new'], 'decoded': []}, 'frames': [['DICT_ID', 'new', 6], ['DICT_BODY', 'new', [5, 6, 7, 8, 9, 10, 11]], ['DICT_READY', 6], ['DICT_EVICTED', 5], ['DICT_ID', 'new', 6], ['DICT_BODY', 'new', [5, 6, 7, 8, 9, 10, 11]], ['DICT_READY', 6]]}, {'phase': 'empty', 'registers': {'dictionary': 'new', 'epoch': 5, 'enabled': False, 'cache': [], 'decoded': []}, 'frames': [['DICT_ID', 'new', 6], ['DICT_BODY', 'new', [5, 6, 7, 8, 9, 10, 11]], ['DICT_READY', 6], ['DICT_EVICTED', 5], ['DICT_ID', 'new', 6], ['DICT_BODY', 'new', [5, 6, 7, 8, 9, 10, 11]], ['DICT_READY', 6], ['DICT_EVICTED', 5]]}]), ('ordered trace 3', 'installing', ['bad_fingerprint', 'offer', 'cache_miss', 'verified', 'evicted', 'offer', 'cache_miss', 'verified'], [{'phase': 'empty', 'registers': {'dictionary': None, 'epoch': 5, 'enabled': False, 'cache': ['old'], 'decoded': []}, 'frames': [['BAD_DICT', 'new']]}, {'phase': 'offered', 'registers': {'dictionary': None, 'epoch': 5, 'enabled': False, 'cache': ['old'], 'decoded': []}, 'frames': [['BAD_DICT', 'new'], ['DICT_ID', 'new', 6]]}, {'phase': 'installing', 'registers': {'dictionary': None, 'epoch': 5, 'enabled': False, 'cache': ['old'], 'decoded': []}, 'frames': [['BAD_DICT', 'new'], ['DICT_ID', 'new', 6], ['DICT_BODY', 'new', [5, 6, 7, 8, 9, 10, 11]]]}, {'phase': 'active', 'registers': {'dictionary': 'new', 'epoch': 5, 'enabled': False, 'cache': ['old', 'new'], 'decoded': []}, 'frames': [['BAD_DICT', 'new'], ['DICT_ID', 'new', 6], ['DICT_BODY', 'new', [5, 6, 7, 8, 9, 10, 11]], ['DICT_READY', 6]]}, {'phase': 'empty', 'registers': {'dictionary': 'new', 'epoch': 5, 'enabled': False, 'cache': [], 'decoded': []}, 'frames': [['BAD_DICT', 'new'], ['DICT_ID', 'new', 6], ['DICT_BODY', 'new', [5, 6, 7, 8, 9, 10, 11]], ['DICT_READY', 6], ['DICT_EVICTED', 5]]}, {'phase': 'offered', 'registers': {'dictionary': 'new', 'epoch': 5, 'enabled': False, 'cache': [], 'decoded': []}, 'frames': [['BAD_DICT', 'new'], ['DICT_ID', 'new', 6], ['DICT_BODY', 'new', [5, 6, 7, 8, 9, 10, 11]], ['DICT_READY', 6], ['DICT_EVICTED', 5], ['DICT_ID', 'new', 6]]}, {'phase': 'installing', 'registers': {'dictionary': 'new', 'epoch': 5, 'enabled': False, 'cache': [], 'decoded': []}, 'frames': [['BAD_DICT', 'new'], ['DICT_ID', 'new', 6], ['DICT_BODY', 'new', [5, 6, 7, 8, 9, 10, 11]], ['DICT_READY', 6], ['DICT_EVICTED', 5], ['DICT_ID', 'new', 6], ['DICT_BODY', 'new', [5, 6, 7, 8, 9, 10, 11]]]}, {'phase': 'active', 'registers': {'dictionary': 'new', 'epoch': 5, 'enabled': False, 'cache': ['new'], 'decoded': []}, 'frames': [['BAD_DICT', 'new'], ['DICT_ID', 'new', 6], ['DICT_BODY', 'new', [5, 6, 7, 8, 9, 10, 11]], ['DICT_READY', 6], ['DICT_EVICTED', 5], ['DICT_ID', 'new', 6], ['DICT_BODY', 'new', [5, 6, 7, 8, 9, 10, 11]], ['DICT_READY', 6]]}]), ('empty input', 'empty', [], []), ('unknown event', 'empty', ['unsupported'], [{'phase': 'empty', 'registers': {'dictionary': None, 'epoch': 5, 'enabled': False, 'cache': ['old'], 'decoded': []}, 'frames': [['reject', [5, 6, 7, 8, 9, 10, 11]]]}])]}\nfor label, phase, events, expected in cases[N]:\n    check(label, solve(phase, events, N), expected)\nprint(json.dumps({\"observations\": observations, \"passed\": all(x[\"passed\"] for x in observations)}, ensure_ascii=False))\nraise SystemExit(0 if all(x[\"passed\"] for x in observations) else 1)\n"},"fixed":{"sha256":"a4b1f969d1dbb203bf21ac59cbf60ce5d64043efb3d13d30ecc2464857451cbb","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 = {'dictionary': 'old' if phase in ('active','switching') else None, 'epoch': seed, 'enabled': phase=='active', 'cache': ['old'], 'decoded': []}\n    frames = []\n    observed = []\n    table = {('empty', 'offer'): ('offered', 'send_fingerprint'), ('offered', 'cache_hit'): ('active', 'select_cached'), ('offered', 'cache_miss'): ('installing', 'send_dictionary'), ('installing', 'verified'): ('active', 'confirm_install'), ('installing', 'bad_fingerprint'): ('empty', 'reject_dictionary'), ('active', 'replacement_offer'): ('switching', 'pause_old_epoch'), ('switching', 'replacement_ready'): ('active', 'switch_epoch'), ('switching', 'replacement_failed'): ('active', 'resume_old_epoch'), ('empty', 'compressed_payload'): ('empty', 'reject_missing'), ('active', 'evicted'): ('empty', 'notify_unavailable')}\n    for event in events:\n        phase, action = table.get((phase, event), (phase, \"reject\"))\n        if action == 'send_fingerprint':\n            frames.append(['DICT_ID','new',seed+1])\n        elif action == 'select_cached':\n            r['dictionary']='new'; r['epoch']=seed+1\n        elif action == 'send_dictionary':\n            frames.append(['DICT_BODY','new',payload])\n        elif action == 'confirm_install':\n            r['cache'].append('new'); r['dictionary']='new'; frames.append(['DICT_READY',seed+1])\n        elif action == 'reject_dictionary':\n            frames.append(['BAD_DICT','new']); r['enabled']=False\n        elif action == 'pause_old_epoch':\n            r['enabled']=False\n        elif action == 'switch_epoch':\n            r['dictionary']='new'; r['epoch']=seed+1; r['enabled']=True\n        elif action == 'resume_old_epoch':\n            r['dictionary']='old'; r['epoch']=seed; r['enabled']=True\n        elif action == 'reject_missing':\n            frames.append(['MISSING_DICT',seed])\n        elif action == 'notify_unavailable':\n            r['enabled']=False; r['cache']=[]; frames.append(['DICT_EVICTED',seed])\n        elif action == 'compress':\n            frames.append(['COMPRESSED',r['dictionary'],payload])\n        elif action == 'send_payload':\n            frames.append(['COMPRESSED',None,payload])\n        elif action == 'select_default':\n            r['dictionary']='default'\n        elif action == 'compress_without_confirm':\n            r['dictionary']='new'; frames.append(['COMPRESSED','new',payload])\n        elif action == 'cache_bad':\n            r['cache'].append('corrupt')\n        elif action == 'switch_immediately':\n            r['dictionary']='new'; r['epoch']=seed+1\n        elif action == 'continue_old':\n            frames.append(['COMPRESSED','old',payload])\n        elif action == 'keep_old_epoch':\n            r['enabled']=True\n        elif action == 'use_rejected_epoch':\n            r['dictionary']='rejected'\n        elif action == 'discard_old':\n            r['cache']=[]\n        elif action == 'decode_default':\n            r['decoded'].append(['default',payload])\n        elif action == 'deliver_raw':\n            r['decoded'].append(['raw',payload])\n        elif action == 'decode_stale':\n            r['decoded'].append(['old',payload])\n        elif action == 'silent_drop':\n            r['cache']=[]\n        else:\n            if action not in (\"wait\", \"ignore\", \"keep\", \"retain\", \"keep_peer\", \"keep_offer\", \"keep_hold\", \"keep_batch\", \"retain_staging\", \"keep_staging\", \"keep_local_owner\", \"keep_old_session\", \"keep_address\", \"keep_old_expiry\", \"ignore_conflict\", \"keep_service\", \"keep_subscription\", \"retain_shadow\", \"keep_live\", \"keep_suspicion\", \"keep_roles\", \"keep_staged\"):\n                frames.append([action, payload[:]])\n        observed.append(json.loads(json.dumps({\"phase\": phase, \"registers\": r, \"frames\": frames})))\n    return observed\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncases = {1: [('empty/offer', 'empty', ['offer'], [{'phase': 'offered', 'registers': {'dictionary': None, 'epoch': 1, 'enabled': False, 'cache': ['old'], 'decoded': []}, 'frames': [['DICT_ID', 'new', 2]]}]), ('offered/cache_hit', 'offered', ['cache_hit'], [{'phase': 'active', 'registers': {'dictionary': 'new', 'epoch': 2, 'enabled': False, 'cache': ['old'], 'decoded': []}, 'frames': []}]), ('offered/cache_miss', 'offered', ['cache_miss'], [{'phase': 'installing', 'registers': {'dictionary': None, 'epoch': 1, 'enabled': False, 'cache': ['old'], 'decoded': []}, 'frames': [['DICT_BODY', 'new', [1, 2, 3]]]}]), ('installing/verified', 'installing', ['verified'], [{'phase': 'active', 'registers': {'dictionary': 'new', 'epoch': 1, 'enabled': False, 'cache': ['old', 'new'], 'decoded': []}, 'frames': [['DICT_READY', 2]]}]), ('installing/bad_fingerprint', 'installing', ['bad_fingerprint'], [{'phase': 'empty', 'registers': {'dictionary': None, 'epoch': 1, 'enabled': False, 'cache': ['old'], 'decoded': []}, 'frames': [['BAD_DICT', 'new']]}]), ('active/replacement_offer', 'active', ['replacement_offer'], [{'phase': 'switching', 'registers': {'dictionary': 'old', 'epoch': 1, 'enabled': False, 'cache': ['old'], 'decoded': []}, 'frames': []}]), ('switching/replacement_ready', 'switching', ['replacement_ready'], [{'phase': 'active', 'registers': {'dictionary': 'new', 'epoch': 2, 'enabled': True, 'cache': ['old'], 'decoded': []}, 'frames': []}]), ('switching/replacement_failed', 'switching', ['replacement_failed'], [{'phase': 'active', 'registers': {'dictionary': 'old', 'epoch': 1, 'enabled': True, 'cache': ['old'], 'decoded': []}, 'frames': []}]), ('empty/compressed_payload', 'empty', ['compressed_payload'], [{'phase': 'empty', 'registers': {'dictionary': None, 'epoch': 1, 'enabled': False, 'cache': ['old'], 'decoded': []}, 'frames': [['MISSING_DICT', 1]]}]), ('active/evicted', 'active', ['evicted'], [{'phase': 'empty', 'registers': {'dictionary': 'old', 'epoch': 1, 'enabled': False, 'cache': [], 'decoded': []}, 'frames': [['DICT_EVICTED', 1]]}]), ('ordered trace 0', 'empty', ['offer', 'cache_miss', 'verified', 'evicted'], [{'phase': 'offered', 'registers': {'dictionary': None, 'epoch': 1, 'enabled': False, 'cache': ['old'], 'decoded': []}, 'frames': [['DICT_ID', 'new', 2]]}, {'phase': 'installing', 'registers': {'dictionary': None, 'epoch': 1, 'enabled': False, 'cache': ['old'], 'decoded': []}, 'frames': [['DICT_ID', 'new', 2], ['DICT_BODY', 'new', [1, 2, 3]]]}, {'phase': 'active', 'registers': {'dictionary': 'new', 'epoch': 1, 'enabled': False, 'cache': ['old', 'new'], 'decoded': []}, 'frames': [['DICT_ID', 'new', 2], ['DICT_BODY', 'new', [1, 2, 3]], ['DICT_READY', 2]]}, {'phase': 'empty', 'registers': {'dictionary': 'new', 'epoch': 1, 'enabled': False, 'cache': [], 'decoded': []}, 'frames': [['DICT_ID', 'new', 2], ['DICT_BODY', 'new', [1, 2, 3]], ['DICT_READY', 2], ['DICT_EVICTED', 1]]}]), ('ordered trace 3', 'installing', ['bad_fingerprint', 'offer', 'cache_miss', 'verified'], [{'phase': 'empty', 'registers': {'dictionary': None, 'epoch': 1, 'enabled': False, 'cache': ['old'], 'decoded': []}, 'frames': [['BAD_DICT', 'new']]}, {'phase': 'offered', 'registers': {'dictionary': None, 'epoch': 1, 'enabled': False, 'cache': ['old'], 'decoded': []}, 'frames': [['BAD_DICT', 'new'], ['DICT_ID', 'new', 2]]}, {'phase': 'installing', 'registers': {'dictionary': None, 'epoch': 1, 'enabled': False, 'cache': ['old'], 'decoded': []}, 'frames': [['BAD_DICT', 'new'], ['DICT_ID', 'new', 2], ['DICT_BODY', 'new', [1, 2, 3]]]}, {'phase': 'active', 'registers': {'dictionary': 'new', 'epoch': 1, 'enabled': False, 'cache': ['old', 'new'], 'decoded': []}, 'frames': [['BAD_DICT', 'new'], ['DICT_ID', 'new', 2], ['DICT_BODY', 'new', [1, 2, 3]], ['DICT_READY', 2]]}]), ('empty input', 'empty', [], []), ('unknown event', 'empty', ['unsupported'], [{'phase': 'empty', 'registers': {'dictionary': None, 'epoch': 1, 'enabled': False, 'cache': ['old'], 'decoded': []}, 'frames': [['reject', [1, 2, 3]]]}])], 2: [('empty/offer', 'empty', ['offer'], [{'phase': 'offered', 'registers': {'dictionary': None, 'epoch': 2, 'enabled': False, 'cache': ['old'], 'decoded': []}, 'frames': [['DICT_ID', 'new', 3]]}]), ('offered/cache_hit', 'offered', ['cache_hit'], [{'phase': 'active', 'registers': {'dictionary': 'new', 'epoch': 3, 'enabled': False, 'cache': ['old'], 'decoded': []}, 'frames': []}]), ('offered/cache_miss', 'offered', ['cache_miss'], [{'phase': 'installing', 'registers': {'dictionary': None, 'epoch': 2, 'enabled': False, 'cache': ['old'], 'decoded': []}, 'frames': [['DICT_BODY', 'new', [2, 3, 4, 5]]]}]), ('installing/verified', 'installing', ['verified'], [{'phase': 'active', 'registers': {'dictionary': 'new', 'epoch': 2, 'enabled': False, 'cache': ['old', 'new'], 'decoded': []}, 'frames': [['DICT_READY', 3]]}]), ('installing/bad_fingerprint', 'installing', ['bad_fingerprint'], [{'phase': 'empty', 'registers': {'dictionary': None, 'epoch': 2, 'enabled': False, 'cache': ['old'], 'decoded': []}, 'frames': [['BAD_DICT', 'new']]}]), ('active/replacement_offer', 'active', ['replacement_offer'], [{'phase': 'switching', 'registers': {'dictionary': 'old', 'epoch': 2, 'enabled': False, 'cache': ['old'], 'decoded': []}, 'frames': []}]), ('switching/replacement_ready', 'switching', ['replacement_ready'], [{'phase': 'active', 'registers': {'dictionary': 'new', 'epoch': 3, 'enabled': True, 'cache': ['old'], 'decoded': []}, 'frames': []}]), ('switching/replacement_failed', 'switching', ['replacement_failed'], [{'phase': 'active', 'registers': {'dictionary': 'old', 'epoch': 2, 'enabled': True, 'cache': ['old'], 'decoded': []}, 'frames': []}]), ('empty/compressed_payload', 'empty', ['compressed_payload'], [{'phase': 'empty', 'registers': {'dictionary': None, 'epoch': 2, 'enabled': False, 'cache': ['old'], 'decoded': []}, 'frames': [['MISSING_DICT', 2]]}]), ('active/evicted', 'active', ['evicted'], [{'phase': 'empty', 'registers': {'dictionary': 'old', 'epoch': 2, 'enabled': False, 'cache': [], 'decoded': []}, 'frames': [['DICT_EVICTED', 2]]}]), ('ordered trace 0', 'empty', ['offer', 'cache_miss', 'verified', 'evicted', 'offer'], [{'phase': 'offered', 'registers': {'dictionary': None, 'epoch': 2, 'enabled': False, 'cache': ['old'], 'decoded': []}, 'frames': [['DICT_ID', 'new', 3]]}, {'phase': 'installing', 'registers': {'dictionary': None, 'epoch': 2, 'enabled': False, 'cache': ['old'], 'decoded': []}, 'frames': [['DICT_ID', 'new', 3], ['DICT_BODY', 'new', [2, 3, 4, 5]]]}, {'phase': 'active', 'registers': {'dictionary': 'new', 'epoch': 2, 'enabled': False, 'cache': ['old', 'new'], 'decoded': []}, 'frames': [['DICT_ID', 'new', 3], ['DICT_BODY', 'new', [2, 3, 4, 5]], ['DICT_READY', 3]]}, {'phase': 'empty', 'registers': {'dictionary': 'new', 'epoch': 2, 'enabled': False, 'cache': [], 'decoded': []}, 'frames': [['DICT_ID', 'new', 3], ['DICT_BODY', 'new', [2, 3, 4, 5]], ['DICT_READY', 3], ['DICT_EVICTED', 2]]}, {'phase': 'offered', 'registers': {'dictionary': 'new', 'epoch': 2, 'enabled': False, 'cache': [], 'decoded': []}, 'frames': [['DICT_ID', 'new', 3], ['DICT_BODY', 'new', [2, 3, 4, 5]], ['DICT_READY', 3], ['DICT_EVICTED', 2], ['DICT_ID', 'new', 3]]}]), ('ordered trace 3', 'installing', ['bad_fingerprint', 'offer', 'cache_miss', 'verified', 'evicted'], [{'phase': 'empty', 'registers': {'dictionary': None, 'epoch': 2, 'enabled': False, 'cache': ['old'], 'decoded': []}, 'frames': [['BAD_DICT', 'new']]}, {'phase': 'offered', 'registers': {'dictionary': None, 'epoch': 2, 'enabled': False, 'cache': ['old'], 'decoded': []}, 'frames': [['BAD_DICT', 'new'], ['DICT_ID', 'new', 3]]}, {'phase': 'installing', 'registers': {'dictionary': None, 'epoch': 2, 'enabled': False, 'cache': ['old'], 'decoded': []}, 'frames': [['BAD_DICT', 'new'], ['DICT_ID', 'new', 3], ['DICT_BODY', 'new', [2, 3, 4, 5]]]}, {'phase': 'active', 'registers': {'dictionary': 'new', 'epoch': 2, 'enabled': False, 'cache': ['old', 'new'], 'decoded': []}, 'frames': [['BAD_DICT', 'new'], ['DICT_ID', 'new', 3], ['DICT_BODY', 'new', [2, 3, 4, 5]], ['DICT_READY', 3]]}, {'phase': 'empty', 'registers': {'dictionary': 'new', 'epoch': 2, 'enabled': False, 'cache': [], 'decoded': []}, 'frames': [['BAD_DICT', 'new'], ['DICT_ID', 'new', 3], ['DICT_BODY', 'new', [2, 3, 4, 5]], ['DICT_READY', 3], ['DICT_EVICTED', 2]]}]), ('empty input', 'empty', [], []), ('unknown event', 'empty', ['unsupported'], [{'phase': 'empty', 'registers': {'dictionary': None, 'epoch': 2, 'enabled': False, 'cache': ['old'], 'decoded': []}, 'frames': [['reject', [2, 3, 4, 5]]]}])], 3: [('empty/offer', 'empty', ['offer'], [{'phase': 'offered', 'registers': {'dictionary': None, 'epoch': 3, 'enabled': False, 'cache': ['old'], 'decoded': []}, 'frames': [['DICT_ID', 'new', 4]]}]), ('offered/cache_hit', 'offered', ['cache_hit'], [{'phase': 'active', 'registers': {'dictionary': 'new', 'epoch': 4, 'enabled': False, 'cache': ['old'], 'decoded': []}, 'frames': []}]), ('offered/cache_miss', 'offered', ['cache_miss'], [{'phase': 'installing', 'registers': {'dictionary': None, 'epoch': 3, 'enabled': False, 'cache': ['old'], 'decoded': []}, 'frames': [['DICT_BODY', 'new', [3, 4, 5, 6, 7]]]}]), ('installing/verified', 'installing', ['verified'], [{'phase': 'active', 'registers': {'dictionary': 'new', 'epoch': 3, 'enabled': False, 'cache': ['old', 'new'], 'decoded': []}, 'frames': [['DICT_READY', 4]]}]), ('installing/bad_fingerprint', 'installing', ['bad_fingerprint'], [{'phase': 'empty', 'registers': {'dictionary': None, 'epoch': 3, 'enabled': False, 'cache': ['old'], 'decoded': []}, 'frames': [['BAD_DICT', 'new']]}]), ('active/replacement_offer', 'active', ['replacement_offer'], [{'phase': 'switching', 'registers': {'dictionary': 'old', 'epoch': 3, 'enabled': False, 'cache': ['old'], 'decoded': []}, 'frames': []}]), ('switching/replacement_ready', 'switching', ['replacement_ready'], [{'phase': 'active', 'registers': {'dictionary': 'new', 'epoch': 4, 'enabled': True, 'cache': ['old'], 'decoded': []}, 'frames': []}]), ('switching/replacement_failed', 'switching', ['replacement_failed'], [{'phase': 'active', 'registers': {'dictionary': 'old', 'epoch': 3, 'enabled': True, 'cache': ['old'], 'decoded': []}, 'frames': []}]), ('empty/compressed_payload', 'empty', ['compressed_payload'], [{'phase': 'empty', 'registers': {'dictionary': None, 'epoch': 3, 'enabled': False, 'cache': ['old'], 'decoded': []}, 'frames': [['MISSING_DICT', 3]]}]), ('active/evicted', 'active', ['evicted'], [{'phase': 'empty', 'registers': {'dictionary': 'old', 'epoch': 3, 'enabled': False, 'cache': [], 'decoded': []}, 'frames': [['DICT_EVICTED', 3]]}]), ('ordered trace 0', 'empty', ['offer', 'cache_miss', 'verified', 'evicted', 'offer', 'cache_miss'], [{'phase': 'offered', 'registers': {'dictionary': None, 'epoch': 3, 'enabled': False, 'cache': ['old'], 'decoded': []}, 'frames': [['DICT_ID', 'new', 4]]}, {'phase': 'installing', 'registers': {'dictionary': None, 'epoch': 3, 'enabled': False, 'cache': ['old'], 'decoded': []}, 'frames': [['DICT_ID', 'new', 4], ['DICT_BODY', 'new', [3, 4, 5, 6, 7]]]}, {'phase': 'active', 'registers': {'dictionary': 'new', 'epoch': 3, 'enabled': False, 'cache': ['old', 'new'], 'decoded': []}, 'frames': [['DICT_ID', 'new', 4], ['DICT_BODY', 'new', [3, 4, 5, 6, 7]], ['DICT_READY', 4]]}, {'phase': 'empty', 'registers': {'dictionary': 'new', 'epoch': 3, 'enabled': False, 'cache': [], 'decoded': []}, 'frames': [['DICT_ID', 'new', 4], ['DICT_BODY', 'new', [3, 4, 5, 6, 7]], ['DICT_READY', 4], ['DICT_EVICTED', 3]]}, {'phase': 'offered', 'registers': {'dictionary': 'new', 'epoch': 3, 'enabled': False, 'cache': [], 'decoded': []}, 'frames': [['DICT_ID', 'new', 4], ['DICT_BODY', 'new', [3, 4, 5, 6, 7]], ['DICT_READY', 4], ['DICT_EVICTED', 3], ['DICT_ID', 'new', 4]]}, {'phase': 'installing', 'registers': {'dictionary': 'new', 'epoch': 3, 'enabled': False, 'cache': [], 'decoded': []}, 'frames': [['DICT_ID', 'new', 4], ['DICT_BODY', 'new', [3, 4, 5, 6, 7]], ['DICT_READY', 4], ['DICT_EVICTED', 3], ['DICT_ID', 'new', 4], ['DICT_BODY', 'new', [3, 4, 5, 6, 7]]]}]), ('ordered trace 3', 'installing', ['bad_fingerprint', 'offer', 'cache_miss', 'verified', 'evicted', 'offer'], [{'phase': 'empty', 'registers': {'dictionary': None, 'epoch': 3, 'enabled': False, 'cache': ['old'], 'decoded': []}, 'frames': [['BAD_DICT', 'new']]}, {'phase': 'offered', 'registers': {'dictionary': None, 'epoch': 3, 'enabled': False, 'cache': ['old'], 'decoded': []}, 'frames': [['BAD_DICT', 'new'], ['DICT_ID', 'new', 4]]}, {'phase': 'installing', 'registers': {'dictionary': None, 'epoch': 3, 'enabled': False, 'cache': ['old'], 'decoded': []}, 'frames': [['BAD_DICT', 'new'], ['DICT_ID', 'new', 4], ['DICT_BODY', 'new', [3, 4, 5, 6, 7]]]}, {'phase': 'active', 'registers': {'dictionary': 'new', 'epoch': 3, 'enabled': False, 'cache': ['old', 'new'], 'decoded': []}, 'frames': [['BAD_DICT', 'new'], ['DICT_ID', 'new', 4], ['DICT_BODY', 'new', [3, 4, 5, 6, 7]], ['DICT_READY', 4]]}, {'phase': 'empty', 'registers': {'dictionary': 'new', 'epoch': 3, 'enabled': False, 'cache': [], 'decoded': []}, 'frames': [['BAD_DICT', 'new'], ['DICT_ID', 'new', 4], ['DICT_BODY', 'new', [3, 4, 5, 6, 7]], ['DICT_READY', 4], ['DICT_EVICTED', 3]]}, {'phase': 'offered', 'registers': {'dictionary': 'new', 'epoch': 3, 'enabled': False, 'cache': [], 'decoded': []}, 'frames': [['BAD_DICT', 'new'], ['DICT_ID', 'new', 4], ['DICT_BODY', 'new', [3, 4, 5, 6, 7]], ['DICT_READY', 4], ['DICT_EVICTED', 3], ['DICT_ID', 'new', 4]]}]), ('empty input', 'empty', [], []), ('unknown event', 'empty', ['unsupported'], [{'phase': 'empty', 'registers': {'dictionary': None, 'epoch': 3, 'enabled': False, 'cache': ['old'], 'decoded': []}, 'frames': [['reject', [3, 4, 5, 6, 7]]]}])], 4: [('empty/offer', 'empty', ['offer'], [{'phase': 'offered', 'registers': {'dictionary': None, 'epoch': 4, 'enabled': False, 'cache': ['old'], 'decoded': []}, 'frames': [['DICT_ID', 'new', 5]]}]), ('offered/cache_hit', 'offered', ['cache_hit'], [{'phase': 'active', 'registers': {'dictionary': 'new', 'epoch': 5, 'enabled': False, 'cache': ['old'], 'decoded': []}, 'frames': []}]), ('offered/cache_miss', 'offered', ['cache_miss'], [{'phase': 'installing', 'registers': {'dictionary': None, 'epoch': 4, 'enabled': False, 'cache': ['old'], 'decoded': []}, 'frames': [['DICT_BODY', 'new', [4, 5, 6, 7, 8, 9]]]}]), ('installing/verified', 'installing', ['verified'], [{'phase': 'active', 'registers': {'dictionary': 'new', 'epoch': 4, 'enabled': False, 'cache': ['old', 'new'], 'decoded': []}, 'frames': [['DICT_READY', 5]]}]), ('installing/bad_fingerprint', 'installing', ['bad_fingerprint'], [{'phase': 'empty', 'registers': {'dictionary': None, 'epoch': 4, 'enabled': False, 'cache': ['old'], 'decoded': []}, 'frames': [['BAD_DICT', 'new']]}]), ('active/replacement_offer', 'active', ['replacement_offer'], [{'phase': 'switching', 'registers': {'dictionary': 'old', 'epoch': 4, 'enabled': False, 'cache': ['old'], 'decoded': []}, 'frames': []}]), ('switching/replacement_ready', 'switching', ['replacement_ready'], [{'phase': 'active', 'registers': {'dictionary': 'new', 'epoch': 5, 'enabled': True, 'cache': ['old'], 'decoded': []}, 'frames': []}]), ('switching/replacement_failed', 'switching', ['replacement_failed'], [{'phase': 'active', 'registers': {'dictionary': 'old', 'epoch': 4, 'enabled': True, 'cache': ['old'], 'decoded': []}, 'frames': []}]), ('empty/compressed_payload', 'empty', ['compressed_payload'], [{'phase': 'empty', 'registers': {'dictionary': None, 'epoch': 4, 'enabled': False, 'cache': ['old'], 'decoded': []}, 'frames': [['MISSING_DICT', 4]]}]), ('active/evicted', 'active', ['evicted'], [{'phase': 'empty', 'registers': {'dictionary': 'old', 'epoch': 4, 'enabled': False, 'cache': [], 'decoded': []}, 'frames': [['DICT_EVICTED', 4]]}]), ('ordered trace 0', 'empty', ['offer', 'cache_miss', 'verified', 'evicted', 'offer', 'cache_miss', 'verified'], [{'phase': 'offered', 'registers': {'dictionary': None, 'epoch': 4, 'enabled': False, 'cache': ['old'], 'decoded': []}, 'frames': [['DICT_ID', 'new', 5]]}, {'phase': 'installing', 'registers': {'dictionary': None, 'epoch': 4, 'enabled': False, 'cache': ['old'], 'decoded': []}, 'frames': [['DICT_ID', 'new', 5], ['DICT_BODY', 'new', [4, 5, 6, 7, 8, 9]]]}, {'phase': 'active', 'registers': {'dictionary': 'new', 'epoch': 4, 'enabled': False, 'cache': ['old', 'new'], 'decoded': []}, 'frames': [['DICT_ID', 'new', 5], ['DICT_BODY', 'new', [4, 5, 6, 7, 8, 9]], ['DICT_READY', 5]]}, {'phase': 'empty', 'registers': {'dictionary': 'new', 'epoch': 4, 'enabled': False, 'cache': [], 'decoded': []}, 'frames': [['DICT_ID', 'new', 5], ['DICT_BODY', 'new', [4, 5, 6, 7, 8, 9]], ['DICT_READY', 5], ['DICT_EVICTED', 4]]}, {'phase': 'offered', 'registers': {'dictionary': 'new', 'epoch': 4, 'enabled': False, 'cache': [], 'decoded': []}, 'frames': [['DICT_ID', 'new', 5], ['DICT_BODY', 'new', [4, 5, 6, 7, 8, 9]], ['DICT_READY', 5], ['DICT_EVICTED', 4], ['DICT_ID', 'new', 5]]}, {'phase': 'installing', 'registers': {'dictionary': 'new', 'epoch': 4, 'enabled': False, 'cache': [], 'decoded': []}, 'frames': [['DICT_ID', 'new', 5], ['DICT_BODY', 'new', [4, 5, 6, 7, 8, 9]], ['DICT_READY', 5], ['DICT_EVICTED', 4], ['DICT_ID', 'new', 5], ['DICT_BODY', 'new', [4, 5, 6, 7, 8, 9]]]}, {'phase': 'active', 'registers': {'dictionary': 'new', 'epoch': 4, 'enabled': False, 'cache': ['new'], 'decoded': []}, 'frames': [['DICT_ID', 'new', 5], ['DICT_BODY', 'new', [4, 5, 6, 7, 8, 9]], ['DICT_READY', 5], ['DICT_EVICTED', 4], ['DICT_ID', 'new', 5], ['DICT_BODY', 'new', [4, 5, 6, 7, 8, 9]], ['DICT_READY', 5]]}]), ('ordered trace 3', 'installing', ['bad_fingerprint', 'offer', 'cache_miss', 'verified', 'evicted', 'offer', 'cache_miss'], [{'phase': 'empty', 'registers': {'dictionary': None, 'epoch': 4, 'enabled': False, 'cache': ['old'], 'decoded': []}, 'frames': [['BAD_DICT', 'new']]}, {'phase': 'offered', 'registers': {'dictionary': None, 'epoch': 4, 'enabled': False, 'cache': ['old'], 'decoded': []}, 'frames': [['BAD_DICT', 'new'], ['DICT_ID', 'new', 5]]}, {'phase': 'installing', 'registers': {'dictionary': None, 'epoch': 4, 'enabled': False, 'cache': ['old'], 'decoded': []}, 'frames': [['BAD_DICT', 'new'], ['DICT_ID', 'new', 5], ['DICT_BODY', 'new', [4, 5, 6, 7, 8, 9]]]}, {'phase': 'active', 'registers': {'dictionary': 'new', 'epoch': 4, 'enabled': False, 'cache': ['old', 'new'], 'decoded': []}, 'frames': [['BAD_DICT', 'new'], ['DICT_ID', 'new', 5], ['DICT_BODY', 'new', [4, 5, 6, 7, 8, 9]], ['DICT_READY', 5]]}, {'phase': 'empty', 'registers': {'dictionary': 'new', 'epoch': 4, 'enabled': False, 'cache': [], 'decoded': []}, 'frames': [['BAD_DICT', 'new'], ['DICT_ID', 'new', 5], ['DICT_BODY', 'new', [4, 5, 6, 7, 8, 9]], ['DICT_READY', 5], ['DICT_EVICTED', 4]]}, {'phase': 'offered', 'registers': {'dictionary': 'new', 'epoch': 4, 'enabled': False, 'cache': [], 'decoded': []}, 'frames': [['BAD_DICT', 'new'], ['DICT_ID', 'new', 5], ['DICT_BODY', 'new', [4, 5, 6, 7, 8, 9]], ['DICT_READY', 5], ['DICT_EVICTED', 4], ['DICT_ID', 'new', 5]]}, {'phase': 'installing', 'registers': {'dictionary': 'new', 'epoch': 4, 'enabled': False, 'cache': [], 'decoded': []}, 'frames': [['BAD_DICT', 'new'], ['DICT_ID', 'new', 5], ['DICT_BODY', 'new', [4, 5, 6, 7, 8, 9]], ['DICT_READY', 5], ['DICT_EVICTED', 4], ['DICT_ID', 'new', 5], ['DICT_BODY', 'new', [4, 5, 6, 7, 8, 9]]]}]), ('empty input', 'empty', [], []), ('unknown event', 'empty', ['unsupported'], [{'phase': 'empty', 'registers': {'dictionary': None, 'epoch': 4, 'enabled': False, 'cache': ['old'], 'decoded': []}, 'frames': [['reject', [4, 5, 6, 7, 8, 9]]]}])], 5: [('empty/offer', 'empty', ['offer'], [{'phase': 'offered', 'registers': {'dictionary': None, 'epoch': 5, 'enabled': False, 'cache': ['old'], 'decoded': []}, 'frames': [['DICT_ID', 'new', 6]]}]), ('offered/cache_hit', 'offered', ['cache_hit'], [{'phase': 'active', 'registers': {'dictionary': 'new', 'epoch': 6, 'enabled': False, 'cache': ['old'], 'decoded': []}, 'frames': []}]), ('offered/cache_miss', 'offered', ['cache_miss'], [{'phase': 'installing', 'registers': {'dictionary': None, 'epoch': 5, 'enabled': False, 'cache': ['old'], 'decoded': []}, 'frames': [['DICT_BODY', 'new', [5, 6, 7, 8, 9, 10, 11]]]}]), ('installing/verified', 'installing', ['verified'], [{'phase': 'active', 'registers': {'dictionary': 'new', 'epoch': 5, 'enabled': False, 'cache': ['old', 'new'], 'decoded': []}, 'frames': [['DICT_READY', 6]]}]), ('installing/bad_fingerprint', 'installing', ['bad_fingerprint'], [{'phase': 'empty', 'registers': {'dictionary': None, 'epoch': 5, 'enabled': False, 'cache': ['old'], 'decoded': []}, 'frames': [['BAD_DICT', 'new']]}]), ('active/replacement_offer', 'active', ['replacement_offer'], [{'phase': 'switching', 'registers': {'dictionary': 'old', 'epoch': 5, 'enabled': False, 'cache': ['old'], 'decoded': []}, 'frames': []}]), ('switching/replacement_ready', 'switching', ['replacement_ready'], [{'phase': 'active', 'registers': {'dictionary': 'new', 'epoch': 6, 'enabled': True, 'cache': ['old'], 'decoded': []}, 'frames': []}]), ('switching/replacement_failed', 'switching', ['replacement_failed'], [{'phase': 'active', 'registers': {'dictionary': 'old', 'epoch': 5, 'enabled': True, 'cache': ['old'], 'decoded': []}, 'frames': []}]), ('empty/compressed_payload', 'empty', ['compressed_payload'], [{'phase': 'empty', 'registers': {'dictionary': None, 'epoch': 5, 'enabled': False, 'cache': ['old'], 'decoded': []}, 'frames': [['MISSING_DICT', 5]]}]), ('active/evicted', 'active', ['evicted'], [{'phase': 'empty', 'registers': {'dictionary': 'old', 'epoch': 5, 'enabled': False, 'cache': [], 'decoded': []}, 'frames': [['DICT_EVICTED', 5]]}]), ('ordered trace 0', 'empty', ['offer', 'cache_miss', 'verified', 'evicted', 'offer', 'cache_miss', 'verified', 'evicted'], [{'phase': 'offered', 'registers': {'dictionary': None, 'epoch': 5, 'enabled': False, 'cache': ['old'], 'decoded': []}, 'frames': [['DICT_ID', 'new', 6]]}, {'phase': 'installing', 'registers': {'dictionary': None, 'epoch': 5, 'enabled': False, 'cache': ['old'], 'decoded': []}, 'frames': [['DICT_ID', 'new', 6], ['DICT_BODY', 'new', [5, 6, 7, 8, 9, 10, 11]]]}, {'phase': 'active', 'registers': {'dictionary': 'new', 'epoch': 5, 'enabled': False, 'cache': ['old', 'new'], 'decoded': []}, 'frames': [['DICT_ID', 'new', 6], ['DICT_BODY', 'new', [5, 6, 7, 8, 9, 10, 11]], ['DICT_READY', 6]]}, {'phase': 'empty', 'registers': {'dictionary': 'new', 'epoch': 5, 'enabled': False, 'cache': [], 'decoded': []}, 'frames': [['DICT_ID', 'new', 6], ['DICT_BODY', 'new', [5, 6, 7, 8, 9, 10, 11]], ['DICT_READY', 6], ['DICT_EVICTED', 5]]}, {'phase': 'offered', 'registers': {'dictionary': 'new', 'epoch': 5, 'enabled': False, 'cache': [], 'decoded': []}, 'frames': [['DICT_ID', 'new', 6], ['DICT_BODY', 'new', [5, 6, 7, 8, 9, 10, 11]], ['DICT_READY', 6], ['DICT_EVICTED', 5], ['DICT_ID', 'new', 6]]}, {'phase': 'installing', 'registers': {'dictionary': 'new', 'epoch': 5, 'enabled': False, 'cache': [], 'decoded': []}, 'frames': [['DICT_ID', 'new', 6], ['DICT_BODY', 'new', [5, 6, 7, 8, 9, 10, 11]], ['DICT_READY', 6], ['DICT_EVICTED', 5], ['DICT_ID', 'new', 6], ['DICT_BODY', 'new', [5, 6, 7, 8, 9, 10, 11]]]}, {'phase': 'active', 'registers': {'dictionary': 'new', 'epoch': 5, 'enabled': False, 'cache': ['new'], 'decoded': []}, 'frames': [['DICT_ID', 'new', 6], ['DICT_BODY', 'new', [5, 6, 7, 8, 9, 10, 11]], ['DICT_READY', 6], ['DICT_EVICTED', 5], ['DICT_ID', 'new', 6], ['DICT_BODY', 'new', [5, 6, 7, 8, 9, 10, 11]], ['DICT_READY', 6]]}, {'phase': 'empty', 'registers': {'dictionary': 'new', 'epoch': 5, 'enabled': False, 'cache': [], 'decoded': []}, 'frames': [['DICT_ID', 'new', 6], ['DICT_BODY', 'new', [5, 6, 7, 8, 9, 10, 11]], ['DICT_READY', 6], ['DICT_EVICTED', 5], ['DICT_ID', 'new', 6], ['DICT_BODY', 'new', [5, 6, 7, 8, 9, 10, 11]], ['DICT_READY', 6], ['DICT_EVICTED', 5]]}]), ('ordered trace 3', 'installing', ['bad_fingerprint', 'offer', 'cache_miss', 'verified', 'evicted', 'offer', 'cache_miss', 'verified'], [{'phase': 'empty', 'registers': {'dictionary': None, 'epoch': 5, 'enabled': False, 'cache': ['old'], 'decoded': []}, 'frames': [['BAD_DICT', 'new']]}, {'phase': 'offered', 'registers': {'dictionary': None, 'epoch': 5, 'enabled': False, 'cache': ['old'], 'decoded': []}, 'frames': [['BAD_DICT', 'new'], ['DICT_ID', 'new', 6]]}, {'phase': 'installing', 'registers': {'dictionary': None, 'epoch': 5, 'enabled': False, 'cache': ['old'], 'decoded': []}, 'frames': [['BAD_DICT', 'new'], ['DICT_ID', 'new', 6], ['DICT_BODY', 'new', [5, 6, 7, 8, 9, 10, 11]]]}, {'phase': 'active', 'registers': {'dictionary': 'new', 'epoch': 5, 'enabled': False, 'cache': ['old', 'new'], 'decoded': []}, 'frames': [['BAD_DICT', 'new'], ['DICT_ID', 'new', 6], ['DICT_BODY', 'new', [5, 6, 7, 8, 9, 10, 11]], ['DICT_READY', 6]]}, {'phase': 'empty', 'registers': {'dictionary': 'new', 'epoch': 5, 'enabled': False, 'cache': [], 'decoded': []}, 'frames': [['BAD_DICT', 'new'], ['DICT_ID', 'new', 6], ['DICT_BODY', 'new', [5, 6, 7, 8, 9, 10, 11]], ['DICT_READY', 6], ['DICT_EVICTED', 5]]}, {'phase': 'offered', 'registers': {'dictionary': 'new', 'epoch': 5, 'enabled': False, 'cache': [], 'decoded': []}, 'frames': [['BAD_DICT', 'new'], ['DICT_ID', 'new', 6], ['DICT_BODY', 'new', [5, 6, 7, 8, 9, 10, 11]], ['DICT_READY', 6], ['DICT_EVICTED', 5], ['DICT_ID', 'new', 6]]}, {'phase': 'installing', 'registers': {'dictionary': 'new', 'epoch': 5, 'enabled': False, 'cache': [], 'decoded': []}, 'frames': [['BAD_DICT', 'new'], ['DICT_ID', 'new', 6], ['DICT_BODY', 'new', [5, 6, 7, 8, 9, 10, 11]], ['DICT_READY', 6], ['DICT_EVICTED', 5], ['DICT_ID', 'new', 6], ['DICT_BODY', 'new', [5, 6, 7, 8, 9, 10, 11]]]}, {'phase': 'active', 'registers': {'dictionary': 'new', 'epoch': 5, 'enabled': False, 'cache': ['new'], 'decoded': []}, 'frames': [['BAD_DICT', 'new'], ['DICT_ID', 'new', 6], ['DICT_BODY', 'new', [5, 6, 7, 8, 9, 10, 11]], ['DICT_READY', 6], ['DICT_EVICTED', 5], ['DICT_ID', 'new', 6], ['DICT_BODY', 'new', [5, 6, 7, 8, 9, 10, 11]], ['DICT_READY', 6]]}]), ('empty input', 'empty', [], []), ('unknown event', 'empty', ['unsupported'], [{'phase': 'empty', 'registers': {'dictionary': None, 'epoch': 5, 'enabled': False, 'cache': ['old'], 'decoded': []}, 'frames': [['reject', [5, 6, 7, 8, 9, 10, 11]]]}])]}\nfor label, phase, events, expected in cases[N]:\n    check(label, solve(phase, events, N), expected)\nprint(json.dumps({\"observations\": observations, \"passed\": all(x[\"passed\"] for x in observations)}, ensure_ascii=False))\nraise SystemExit(0 if all(x[\"passed\"] for x in observations) else 1)\n"}},"limitations":"Bounded offline control-plane abstraction with prescribed initial registers and classified events. Not a named protocol implementation or conformance test; excludes wire parsing, transport retries, physical execution, authentication, crash persistence, and timing. Related event faults share the full corrected controller and evaluation group. This reproducer isolates one failure mechanism. Results cover the supplied fixtures. Variants within a family share a test contract and should remain grouped when constructing evaluation splits. Related mechanisms with a shared evaluation_group must also remain together; these controlled models are not independent production incidents.","method":"Deterministic executable model with adversarial boundary fixtures.","provenance":{"created_by":"Failure Map","dependencies":"Python standard library","family":"s3-protocols-dictionary_exchange-active-evicted","generated_at":"2026-09-29T14:40:06.947089+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 active, classify evicted as transition to empty and emit notify_unavailable.","root_cause":"In active, the evicted handler runs decode stale and enters active; it must instead run notify unavailable and enter empty.","sha256":"a97bfbd2bed301c1515a93139babd87ebdea1555267782e23ceeff7d026d2186","title":"Compression dictionary installation controller: active / evicted · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":47.507,"exit_code":1,"observations":[{"actual":[{"frames":[["DICT_ID","new",2]],"phase":"offered","registers":{"cache":["old"],"decoded":[],"dictionary":null,"enabled":false,"epoch":1}}],"check":"empty/offer","expected":[{"frames":[["DICT_ID","new",2]],"phase":"offered","registers":{"cache":["old"],"decoded":[],"dictionary":null,"enabled":false,"epoch":1}}],"passed":true},{"actual":[{"frames":[],"phase":"active","registers":{"cache":["old"],"decoded":[],"dictionary":"new","enabled":false,"epoch":2}}],"check":"offered/cache_hit","expected":[{"frames":[],"phase":"active","registers":{"cache":["old"],"decoded":[],"dictionary":"new","enabled":false,"epoch":2}}],"passed":true},{"actual":[{"frames":[["DICT_BODY","new",[1,2,3]]],"phase":"installing","registers":{"cache":["old"],"decoded":[],"dictionary":null,"enabled":false,"epoch":1}}],"check":"offered/cache_miss","expected":[{"frames":[["DICT_BODY","new",[1,2,3]]],"phase":"installing","registers":{"cache":["old"],"decoded":[],"dictionary":null,"enabled":false,"epoch":1}}],"passed":true},{"actual":[{"frames":[["DICT_READY",2]],"phase":"active","registers":{"cache":["old","new"],"decoded":[],"dictionary":"new","enabled":false,"epoch":1}}],"check":"installing/verified","expected":[{"frames":[["DICT_READY",2]],"phase":"active","registers":{"cache":["old","new"],"decoded":[],"dictionary":"new","enabled":false,"epoch":1}}],"passed":true},{"actual":[{"frames":[["BAD_DICT","new"]],"phase":"empty","registers":{"cache":["old"],"decoded":[],"dictionary":null,"enabled":false,"epoch":1}}],"check":"installing/bad_fingerprint","expected":[{"frames":[["BAD_DICT","new"]],"phase":"empty","registers":{"cache":["old"],"decoded":[],"dictionary":null,"enabled":false,"epoch":1}}],"passed":true},{"actual":[{"frames":[],"phase":"switching","registers":{"cache":["old"],"decoded":[],"dictionary":"old","enabled":false,"epoch":1}}],"check":"active/replacement_offer","expected":[{"frames":[],"phase":"switching","registers":{"cache":["old"],"decoded":[],"dictionary":"old","enabled":false,"epoch":1}}],"passed":true},{"actual":[{"frames":[],"phase":"active","registers":{"cache":["old"],"decoded":[],"dictionary":"new","enabled":true,"epoch":2}}],"check":"switching/replacement_ready","expected":[{"frames":[],"phase":"active","registers":{"cache":["old"],"decoded":[],"dictionary":"new","enabled":true,"epoch":2}}],"passed":true},{"actual":[{"frames":[],"phase":"active","registers":{"cache":["old"],"decoded":[],"dictionary":"old","enabled":true,"epoch":1}}],"check":"switching/replacement_failed","expected":[{"frames":[],"phase":"active","registers":{"cache":["old"],"decoded":[],"dictionary":"old","enabled":true,"epoch":1}}],"passed":true},{"actual":[{"frames":[["MISSING_DICT",1]],"phase":"empty","registers":{"cache":["old"],"decoded":[],"dictionary":null,"enabled":false,"epoch":1}}],"check":"empty/compressed_payload","expected":[{"frames":[["MISSING_DICT",1]],"phase":"empty","registers":{"cache":["old"],"decoded":[],"dictionary":null,"enabled":false,"epoch":1}}],"passed":true},{"actual":[{"frames":[],"phase":"empty","registers":{"cache":[],"decoded":[],"dictionary":"old","enabled":true,"epoch":1}}],"check":"active/evicted","expected":[{"frames":[["DICT_EVICTED",1]],"phase":"empty","registers":{"cache":[],"decoded":[],"dictionary":"old","enabled":false,"epoch":1}}],"passed":false},{"actual":[{"frames":[["DICT_ID","new",2]],"phase":"offered","registers":{"cache":["old"],"decoded":[],"dictionary":null,"enabled":false,"epoch":1}},{"frames":[["DICT_ID","new",2],["DICT_BODY","new",[1,2,3]]],"phase":"installing","registers":{"cache":["old"],"decoded":[],"dictionary":null,"enabled":false,"epoch":1}},{"frames":[["DICT_ID","new",2],["DICT_BODY","new",[1,2,3]],["DICT_READY",2]],"phase":"active","registers":{"cache":["old","new"],"decoded":[],"dictionary":"new","enabled":false,"epoch":1}},{"frames":[["DICT_ID","new",2],["DICT_BODY","new",[1,2,3]],["DICT_READY",2]],"phase":"empty","registers":{"cache":[],"decoded":[],"dictionary":"new","enabled":false,"epoch":1}}],"check":"ordered trace 0","expected":[{"frames":[["DICT_ID","new",2]],"phase":"offered","registers":{"cache":["old"],"decoded":[],"dictionary":null,"enabled":false,"epoch":1}},{"frames":[["DICT_ID","new",2],["DICT_BODY","new",[1,2,3]]],"phase":"installing","registers":{"cache":["old"],"decoded":[],"dictionary":null,"enabled":false,"epoch":1}},{"frames":[["DICT_ID","new",2],["DICT_BODY","new",[1,2,3]],["DICT_READY",2]],"phase":"active","registers":{"cache":["old","new"],"decoded":[],"dictionary":"new","enabled":false,"epoch":1}},{"frames":[["DICT_ID","new",2],["DICT_BODY","new",[1,2,3]],["DICT_READY",2],["DICT_EVICTED",1]],"phase":"empty","registers":{"cache":[],"decoded":[],"dictionary":"new","enabled":false,"epoch":1}}],"passed":false},{"actual":[{"frames":[["BAD_DICT","new"]],"phase":"empty","registers":{"cache":["old"],"decoded":[],"dictionary":null,"enabled":false,"epoch":1}},{"frames":[["BAD_DICT","new"],["DICT_ID","new",2]],"phase":"offered","registers":{"cache":["old"],"decoded":[],"dictionary":null,"enabled":false,"epoch":1}},{"frames":[["BAD_DICT","new"],["DICT_ID","new",2],["DICT_BODY","new",[1,2,3]]],"phase":"installing","registers":{"cache":["old"],"decoded":[],"dictionary":null,"enabled":false,"epoch":1}},{"frames":[["BAD_DICT","new"],["DICT_ID","new",2],["DICT_BODY","new",[1,2,3]],["DICT_READY",2]],"phase":"active","registers":{"cache":["old","new"],"decoded":[],"dictionary":"new","enabled":false,"epoch":1}}],"check":"ordered trace 3","expected":[{"frames":[["BAD_DICT","new"]],"phase":"empty","registers":{"cache":["old"],"decoded":[],"dictionary":null,"enabled":false,"epoch":1}},{"frames":[["BAD_DICT","new"],["DICT_ID","new",2]],"phase":"offered","registers":{"cache":["old"],"decoded":[],"dictionary":null,"enabled":false,"epoch":1}},{"frames":[["BAD_DICT","new"],["DICT_ID","new",2],["DICT_BODY","new",[1,2,3]]],"phase":"installing","registers":{"cache":["old"],"decoded":[],"dictionary":null,"enabled":false,"epoch":1}},{"frames":[["BAD_DICT","new"],["DICT_ID","new",2],["DICT_BODY","new",[1,2,3]],["DICT_READY",2]],"phase":"active","registers":{"cache":["old","new"],"decoded":[],"dictionary":"new","enabled":false,"epoch":1}}],"passed":true},{"actual":[],"check":"empty input","expected":[],"passed":true},{"actual":[{"frames":[["reject",[1,2,3]]],"phase":"empty","registers":{"cache":["old"],"decoded":[],"dictionary":null,"enabled":false,"epoch":1}}],"check":"unknown event","expected":[{"frames":[["reject",[1,2,3]]],"phase":"empty","registers":{"cache":["old"],"decoded":[],"dictionary":null,"enabled":false,"epoch":1}}],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"empty/offer\", \"actual\": [{\"phase\": \"offered\", \"registers\": {\"dictionary\": null, \"epoch\": 1, \"enabled\": false, \"cache\": [\"old\"], \"decoded\": []}, \"frames\": [[\"DICT_ID\", \"new\", 2]]}], \"expected\": [{\"phase\": \"offered\", \"registers\": {\"dictionary\": null, \"epoch\": 1, \"enabled\": false, \"cache\": [\"old\"], \"decoded\": []}, \"frames\": [[\"DICT_ID\", \"new\", 2]]}], \"passed\": true}, {\"check\": \"offered/cache_hit\", \"actual\": [{\"phase\": \"active\", \"registers\": {\"dictionary\": \"new\", \"epoch\": 2, \"enabled\": false, \"cache\": [\"old\"], \"decoded\": []}, \"frames\": []}], \"expected\": [{\"phase\": \"active\", \"registers\": {\"dictionary\": \"new\", \"epoch\": 2, \"enabled\": false, \"cache\": [\"old\"], \"decoded\": []}, \"frames\": []}], \"passed\": true}, {\"check\": \"offered/cache_miss\", \"actual\": [{\"phase\": \"installing\", \"registers\": {\"dictionary\": null, \"epoch\": 1, \"enabled\": false, \"cache\": [\"old\"], \"decoded\": []}, \"frames\": [[\"DICT_BODY\", \"new\", [1, 2, 3]]]}], \"expected\": [{\"phase\": \"installing\", \"registers\": {\"dictionary\": null, \"epoch\": 1, \"enabled\": false, \"cache\": [\"old\"], \"decoded\": []}, \"frames\": [[\"DICT_BODY\", \"new\", [1, 2, 3]]]}], \"passed\": true}, {\"check\": \"installing/verified\", \"actual\": [{\"phase\": \"active\", \"registers\": {\"dictionary\": \"new\", \"epoch\": 1, \"enabled\": false, \"cache\": [\"old\", \"new\"], \"decoded\": []}, \"frames\": [[\"DICT_READY\", 2]]}], \"expected\": [{\"phase\": \"active\", \"registers\": {\"dictionary\": \"new\", \"epoch\": 1, \"enabled\": false, \"cache\": [\"old\", \"new\"], \"decoded\": []}, \"frames\": [[\"DICT_READY\", 2]]}], \"passed\": true}, {\"check\": \"installing/bad_fingerprint\", \"actual\": [{\"phase\": \"empty\", \"registers\": {\"dictionary\": null, \"epoch\": 1, \"enabled\": false, \"cache\": [\"old\"], \"decoded\": []}, \"frames\": [[\"BAD_DICT\", \"new\"]]}], \"expected\": [{\"phase\": \"empty\", \"registers\": {\"dictionary\": null, \"epoch\": 1, \"enabled\": false, \"cache\": [\"old\"], \"decoded\": []}, \"frames\": [[\"BAD_DICT\", \"new\"]]}], \"passed\": true}, {\"check\": \"active/replacement_offer\", \"actual\": [{\"phase\": \"switching\", \"registers\": {\"dictionary\": \"old\", \"epoch\": 1, \"enabled\": false, \"cache\": [\"old\"], \"decoded\": []}, \"frames\": []}], \"expected\": [{\"phase\": \"switching\", \"registers\": {\"dictionary\": \"old\", \"epoch\": 1, \"enabled\": false, \"cache\": [\"old\"], \"decoded\": []}, \"frames\": []}], \"passed\": true}, {\"check\": \"switching/replacement_ready\", \"actual\": [{\"phase\": \"active\", \"registers\": {\"dictionary\": \"new\", \"epoch\": 2, \"enabled\": true, \"cache\": [\"old\"], \"decoded\": []}, \"frames\": []}], \"expected\": [{\"phase\": \"active\", \"registers\": {\"dictionary\": \"new\", \"epoch\": 2, \"enabled\": true, \"cache\": [\"old\"], \"decoded\": []}, \"frames\": []}], \"passed\": true}, {\"check\": \"switching/replacement_failed\", \"actual\": [{\"phase\": \"active\", \"registers\": {\"dictionary\": \"old\", \"epoch\": 1, \"enabled\": true, \"cache\": [\"old\"], \"decoded\": []}, \"frames\": []}], \"expected\": [{\"phase\": \"active\", \"registers\": {\"dictionary\": \"old\", \"epoch\": 1, \"enabled\": true, \"cache\": [\"old\"], \"decoded\": []}, \"frames\": []}], \"passed\": true}, {\"check\": \"empty/compressed_payload\", \"actual\": [{\"phase\": \"empty\", \"registers\": {\"dictionary\": null, \"epoch\": 1, \"enabled\": false, \"cache\": [\"old\"], \"decoded\": []}, \"frames\": [[\"MISSING_DICT\", 1]]}], \"expected\": [{\"phase\": \"empty\", \"registers\": {\"dictionary\": null, \"epoch\": 1, \"enabled\": false, \"cache\": [\"old\"], \"decoded\": []}, \"frames\": [[\"MISSING_DICT\", 1]]}], \"passed\": true}, {\"check\": \"active/evicted\", \"actual\": [{\"phase\": \"empty\", \"registers\": {\"dictionary\": \"old\", \"epoch\": 1, \"enabled\": true, \"cache\": [], \"decoded\": []}, \"frames\": []}], \"expected\": [{\"phase\": \"empty\", \"registers\": {\"dictionary\": \"old\", \"epoch\": 1, \"enabled\": false, \"cache\": [], \"decoded\": []}, \"frames\": [[\"DICT_EVICTED\", 1]]}], \"passed\": false}, {\"check\": \"ordered trace 0\", \"actual\": [{\"phase\": \"offered\", \"registers\": {\"dictionary\": null, \"epoch\": 1, \"enabled\": false, \"cache\": [\"old\"], \"decoded\": []}, \"frames\": [[\"DICT_ID\", \"new\", 2]]}, {\"phase\": \"installing\", \"registers\": {\"dictionary\": null, \"epoch\": 1, \"enabled\": false, \"cache\": [\"old\"], \"decoded\": []}, \"frames\": [[\"DICT_ID\", \"new\", 2], [\"DICT_BODY\", \"new\", [1, 2, 3]]]}, {\"phase\": \"active\", \"registers\": {\"dictionary\": \"new\", \"epoch\": 1, \"enabled\": false, \"cache\": [\"old\", \"new\"], \"decoded\": []}, \"frames\": [[\"DICT_ID\", \"new\", 2], [\"DICT_BODY\", \"new\", [1, 2, 3]], [\"DICT_READY\", 2]]}, {\"phase\": \"empty\", \"registers\": {\"dictionary\": \"new\", \"epoch\": 1, \"enabled\": false, \"cache\": [], \"decoded\": []}, \"frames\": [[\"DICT_ID\", \"new\", 2], [\"DICT_BODY\", \"new\", [1, 2, 3]], [\"DICT_READY\", 2]]}], \"expected\": [{\"phase\": \"offered\", \"registers\": {\"dictionary\": null, \"epoch\": 1, \"enabled\": false, \"cache\": [\"old\"], \"decoded\": []}, \"frames\": [[\"DICT_ID\", \"new\", 2]]}, {\"phase\": \"installing\", \"registers\": {\"dictionary\": null, \"epoch\": 1, \"enabled\": false, \"cache\": [\"old\"], \"decoded\": []}, \"frames\": [[\"DICT_ID\", \"new\", 2], [\"DICT_BODY\", \"new\", [1, 2, 3]]]}, {\"phase\": \"active\", \"registers\": {\"dictionary\": \"new\", \"epoch\": 1, \"enabled\": false, \"cache\": [\"old\", \"new\"], \"decoded\": []}, \"frames\": [[\"DICT_ID\", \"new\", 2], [\"DICT_BODY\", \"new\", [1, 2, 3]], [\"DICT_READY\", 2]]}, {\"phase\": \"empty\", \"registers\": {\"dictionary\": \"new\", \"epoch\": 1, \"enabled\": false, \"cache\": [], \"decoded\": []}, \"frames\": [[\"DICT_ID\", \"new\", 2], [\"DICT_BODY\", \"new\", [1, 2, 3]], [\"DICT_READY\", 2], [\"DICT_EVICTED\", 1]]}], \"passed\": false}, {\"check\": \"ordered trace 3\", \"actual\": [{\"phase\": \"empty\", \"registers\": {\"dictionary\": null, \"epoch\": 1, \"enabled\": false, \"cache\": [\"old\"], \"decoded\": []}, \"frames\": [[\"BAD_DICT\", \"new\"]]}, {\"phase\": \"offered\", \"registers\": {\"dictionary\": null, \"epoch\": 1, \"enabled\": false, \"cache\": [\"old\"], \"decoded\": []}, \"frames\": [[\"BAD_DICT\", \"new\"], [\"DICT_ID\", \"new\", 2]]}, {\"phase\": \"installing\", \"registers\": {\"dictionary\": null, \"epoch\": 1, \"enabled\": false, \"cache\": [\"old\"], \"decoded\": []}, \"frames\": [[\"BAD_DICT\", \"new\"], [\"DICT_ID\", \"new\", 2], [\"DICT_BODY\", \"new\", [1, 2, 3]]]}, {\"phase\": \"active\", \"registers\": {\"dictionary\": \"new\", \"epoch\": 1, \"enabled\": false, \"cache\": [\"old\", \"new\"], \"decoded\": []}, \"frames\": [[\"BAD_DICT\", \"new\"], [\"DICT_ID\", \"new\", 2], [\"DICT_BODY\", \"new\", [1, 2, 3]], [\"DICT_READY\", 2]]}], \"expected\": [{\"phase\": \"empty\", \"registers\": {\"dictionary\": null, \"epoch\": 1, \"enabled\": false, \"cache\": [\"old\"], \"decoded\": []}, \"frames\": [[\"BAD_DICT\", \"new\"]]}, {\"phase\": \"offered\", \"registers\": {\"dictionary\": null, \"epoch\": 1, \"enabled\": false, \"cache\": [\"old\"], \"decoded\": []}, \"frames\": [[\"BAD_DICT\", \"new\"], [\"DICT_ID\", \"new\", 2]]}, {\"phase\": \"installing\", \"registers\": {\"dictionary\": null, \"epoch\": 1, \"enabled\": false, \"cache\": [\"old\"], \"decoded\": []}, \"frames\": [[\"BAD_DICT\", \"new\"], [\"DICT_ID\", \"new\", 2], [\"DICT_BODY\", \"new\", [1, 2, 3]]]}, {\"phase\": \"active\", \"registers\": {\"dictionary\": \"new\", \"epoch\": 1, \"enabled\": false, \"cache\": [\"old\", \"new\"], \"decoded\": []}, \"frames\": [[\"BAD_DICT\", \"new\"], [\"DICT_ID\", \"new\", 2], [\"DICT_BODY\", \"new\", [1, 2, 3]], [\"DICT_READY\", 2]]}], \"passed\": true}, {\"check\": \"empty input\", \"actual\": [], \"expected\": [], \"passed\": true}, {\"check\": \"unknown event\", \"actual\": [{\"phase\": \"empty\", \"registers\": {\"dictionary\": null, \"epoch\": 1, \"enabled\": false, \"cache\": [\"old\"], \"decoded\": []}, \"frames\": [[\"reject\", [1, 2, 3]]]}], \"expected\": [{\"phase\": \"empty\", \"registers\": {\"dictionary\": null, \"epoch\": 1, \"enabled\": false, \"cache\": [\"old\"], \"decoded\": []}, \"frames\": [[\"reject\", [1, 2, 3]]]}], \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":46.331,"exit_code":1,"observations":[{"actual":[{"frames":[["DICT_ID","new",2]],"phase":"offered","registers":{"cache":["old"],"decoded":[],"dictionary":null,"enabled":false,"epoch":1}}],"check":"empty/offer","expected":[{"frames":[["DICT_ID","new",2]],"phase":"offered","registers":{"cache":["old"],"decoded":[],"dictionary":null,"enabled":false,"epoch":1}}],"passed":true},{"actual":[{"frames":[],"phase":"active","registers":{"cache":["old"],"decoded":[],"dictionary":"new","enabled":false,"epoch":2}}],"check":"offered/cache_hit","expected":[{"frames":[],"phase":"active","registers":{"cache":["old"],"decoded":[],"dictionary":"new","enabled":false,"epoch":2}}],"passed":true},{"actual":[{"frames":[["DICT_BODY","new",[1,2,3]]],"phase":"installing","registers":{"cache":["old"],"decoded":[],"dictionary":null,"enabled":false,"epoch":1}}],"check":"offered/cache_miss","expected":[{"frames":[["DICT_BODY","new",[1,2,3]]],"phase":"installing","registers":{"cache":["old"],"decoded":[],"dictionary":null,"enabled":false,"epoch":1}}],"passed":true},{"actual":[{"frames":[["DICT_READY",2]],"phase":"active","registers":{"cache":["old","new"],"decoded":[],"dictionary":"new","enabled":false,"epoch":1}}],"check":"installing/verified","expected":[{"frames":[["DICT_READY",2]],"phase":"active","registers":{"cache":["old","new"],"decoded":[],"dictionary":"new","enabled":false,"epoch":1}}],"passed":true},{"actual":[{"frames":[["BAD_DICT","new"]],"phase":"empty","registers":{"cache":["old"],"decoded":[],"dictionary":null,"enabled":false,"epoch":1}}],"check":"installing/bad_fingerprint","expected":[{"frames":[["BAD_DICT","new"]],"phase":"empty","registers":{"cache":["old"],"decoded":[],"dictionary":null,"enabled":false,"epoch":1}}],"passed":true},{"actual":[{"frames":[],"phase":"switching","registers":{"cache":["old"],"decoded":[],"dictionary":"old","enabled":false,"epoch":1}}],"check":"active/replacement_offer","expected":[{"frames":[],"phase":"switching","registers":{"cache":["old"],"decoded":[],"dictionary":"old","enabled":false,"epoch":1}}],"passed":true},{"actual":[{"frames":[],"phase":"active","registers":{"cache":["old"],"decoded":[],"dictionary":"new","enabled":true,"epoch":2}}],"check":"switching/replacement_ready","expected":[{"frames":[],"phase":"active","registers":{"cache":["old"],"decoded":[],"dictionary":"new","enabled":true,"epoch":2}}],"passed":true},{"actual":[{"frames":[],"phase":"active","registers":{"cache":["old"],"decoded":[],"dictionary":"old","enabled":true,"epoch":1}}],"check":"switching/replacement_failed","expected":[{"frames":[],"phase":"active","registers":{"cache":["old"],"decoded":[],"dictionary":"old","enabled":true,"epoch":1}}],"passed":true},{"actual":[{"frames":[["MISSING_DICT",1]],"phase":"empty","registers":{"cache":["old"],"decoded":[],"dictionary":null,"enabled":false,"epoch":1}}],"check":"empty/compressed_payload","expected":[{"frames":[["MISSING_DICT",1]],"phase":"empty","registers":{"cache":["old"],"decoded":[],"dictionary":null,"enabled":false,"epoch":1}}],"passed":true},{"actual":[{"frames":[],"phase":"active","registers":{"cache":["old"],"decoded":[["old",[1,2,3]]],"dictionary":"old","enabled":true,"epoch":1}}],"check":"active/evicted","expected":[{"frames":[["DICT_EVICTED",1]],"phase":"empty","registers":{"cache":[],"decoded":[],"dictionary":"old","enabled":false,"epoch":1}}],"passed":false},{"actual":[{"frames":[["DICT_ID","new",2]],"phase":"offered","registers":{"cache":["old"],"decoded":[],"dictionary":null,"enabled":false,"epoch":1}},{"frames":[["DICT_ID","new",2],["DICT_BODY","new",[1,2,3]]],"phase":"installing","registers":{"cache":["old"],"decoded":[],"dictionary":null,"enabled":false,"epoch":1}},{"frames":[["DICT_ID","new",2],["DICT_BODY","new",[1,2,3]],["DICT_READY",2]],"phase":"active","registers":{"cache":["old","new"],"decoded":[],"dictionary":"new","enabled":false,"epoch":1}},{"frames":[["DICT_ID","new",2],["DICT_BODY","new",[1,2,3]],["DICT_READY",2]],"phase":"active","registers":{"cache":["old","new"],"decoded":[["old",[1,2,3]]],"dictionary":"new","enabled":false,"epoch":1}}],"check":"ordered trace 0","expected":[{"frames":[["DICT_ID","new",2]],"phase":"offered","registers":{"cache":["old"],"decoded":[],"dictionary":null,"enabled":false,"epoch":1}},{"frames":[["DICT_ID","new",2],["DICT_BODY","new",[1,2,3]]],"phase":"installing","registers":{"cache":["old"],"decoded":[],"dictionary":null,"enabled":false,"epoch":1}},{"frames":[["DICT_ID","new",2],["DICT_BODY","new",[1,2,3]],["DICT_READY",2]],"phase":"active","registers":{"cache":["old","new"],"decoded":[],"dictionary":"new","enabled":false,"epoch":1}},{"frames":[["DICT_ID","new",2],["DICT_BODY","new",[1,2,3]],["DICT_READY",2],["DICT_EVICTED",1]],"phase":"empty","registers":{"cache":[],"decoded":[],"dictionary":"new","enabled":false,"epoch":1}}],"passed":false},{"actual":[{"frames":[["BAD_DICT","new"]],"phase":"empty","registers":{"cache":["old"],"decoded":[],"dictionary":null,"enabled":false,"epoch":1}},{"frames":[["BAD_DICT","new"],["DICT_ID","new",2]],"phase":"offered","registers":{"cache":["old"],"decoded":[],"dictionary":null,"enabled":false,"epoch":1}},{"frames":[["BAD_DICT","new"],["DICT_ID","new",2],["DICT_BODY","new",[1,2,3]]],"phase":"installing","registers":{"cache":["old"],"decoded":[],"dictionary":null,"enabled":false,"epoch":1}},{"frames":[["BAD_DICT","new"],["DICT_ID","new",2],["DICT_BODY","new",[1,2,3]],["DICT_READY",2]],"phase":"active","registers":{"cache":["old","new"],"decoded":[],"dictionary":"new","enabled":false,"epoch":1}}],"check":"ordered trace 3","expected":[{"frames":[["BAD_DICT","new"]],"phase":"empty","registers":{"cache":["old"],"decoded":[],"dictionary":null,"enabled":false,"epoch":1}},{"frames":[["BAD_DICT","new"],["DICT_ID","new",2]],"phase":"offered","registers":{"cache":["old"],"decoded":[],"dictionary":null,"enabled":false,"epoch":1}},{"frames":[["BAD_DICT","new"],["DICT_ID","new",2],["DICT_BODY","new",[1,2,3]]],"phase":"installing","registers":{"cache":["old"],"decoded":[],"dictionary":null,"enabled":false,"epoch":1}},{"frames":[["BAD_DICT","new"],["DICT_ID","new",2],["DICT_BODY","new",[1,2,3]],["DICT_READY",2]],"phase":"active","registers":{"cache":["old","new"],"decoded":[],"dictionary":"new","enabled":false,"epoch":1}}],"passed":true},{"actual":[],"check":"empty input","expected":[],"passed":true},{"actual":[{"frames":[["reject",[1,2,3]]],"phase":"empty","registers":{"cache":["old"],"decoded":[],"dictionary":null,"enabled":false,"epoch":1}}],"check":"unknown event","expected":[{"frames":[["reject",[1,2,3]]],"phase":"empty","registers":{"cache":["old"],"decoded":[],"dictionary":null,"enabled":false,"epoch":1}}],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"empty/offer\", \"actual\": [{\"phase\": \"offered\", \"registers\": {\"dictionary\": null, \"epoch\": 1, \"enabled\": false, \"cache\": [\"old\"], \"decoded\": []}, \"frames\": [[\"DICT_ID\", \"new\", 2]]}], \"expected\": [{\"phase\": \"offered\", \"registers\": {\"dictionary\": null, \"epoch\": 1, \"enabled\": false, \"cache\": [\"old\"], \"decoded\": []}, \"frames\": [[\"DICT_ID\", \"new\", 2]]}], \"passed\": true}, {\"check\": \"offered/cache_hit\", \"actual\": [{\"phase\": \"active\", \"registers\": {\"dictionary\": \"new\", \"epoch\": 2, \"enabled\": false, \"cache\": [\"old\"], \"decoded\": []}, \"frames\": []}], \"expected\": [{\"phase\": \"active\", \"registers\": {\"dictionary\": \"new\", \"epoch\": 2, \"enabled\": false, \"cache\": [\"old\"], \"decoded\": []}, \"frames\": []}], \"passed\": true}, {\"check\": \"offered/cache_miss\", \"actual\": [{\"phase\": \"installing\", \"registers\": {\"dictionary\": null, \"epoch\": 1, \"enabled\": false, \"cache\": [\"old\"], \"decoded\": []}, \"frames\": [[\"DICT_BODY\", \"new\", [1, 2, 3]]]}], \"expected\": [{\"phase\": \"installing\", \"registers\": {\"dictionary\": null, \"epoch\": 1, \"enabled\": false, \"cache\": [\"old\"], \"decoded\": []}, \"frames\": [[\"DICT_BODY\", \"new\", [1, 2, 3]]]}], \"passed\": true}, {\"check\": \"installing/verified\", \"actual\": [{\"phase\": \"active\", \"registers\": {\"dictionary\": \"new\", \"epoch\": 1, \"enabled\": false, \"cache\": [\"old\", \"new\"], \"decoded\": []}, \"frames\": [[\"DICT_READY\", 2]]}], \"expected\": [{\"phase\": \"active\", \"registers\": {\"dictionary\": \"new\", \"epoch\": 1, \"enabled\": false, \"cache\": [\"old\", \"new\"], \"decoded\": []}, \"frames\": [[\"DICT_READY\", 2]]}], \"passed\": true}, {\"check\": \"installing/bad_fingerprint\", \"actual\": [{\"phase\": \"empty\", \"registers\": {\"dictionary\": null, \"epoch\": 1, \"enabled\": false, \"cache\": [\"old\"], \"decoded\": []}, \"frames\": [[\"BAD_DICT\", \"new\"]]}], \"expected\": [{\"phase\": \"empty\", \"registers\": {\"dictionary\": null, \"epoch\": 1, \"enabled\": false, \"cache\": [\"old\"], \"decoded\": []}, \"frames\": [[\"BAD_DICT\", \"new\"]]}], \"passed\": true}, {\"check\": \"active/replacement_offer\", \"actual\": [{\"phase\": \"switching\", \"registers\": {\"dictionary\": \"old\", \"epoch\": 1, \"enabled\": false, \"cache\": [\"old\"], \"decoded\": []}, \"frames\": []}], \"expected\": [{\"phase\": \"switching\", \"registers\": {\"dictionary\": \"old\", \"epoch\": 1, \"enabled\": false, \"cache\": [\"old\"], \"decoded\": []}, \"frames\": []}], \"passed\": true}, {\"check\": \"switching/replacement_ready\", \"actual\": [{\"phase\": \"active\", \"registers\": {\"dictionary\": \"new\", \"epoch\": 2, \"enabled\": true, \"cache\": [\"old\"], \"decoded\": []}, \"frames\": []}], \"expected\": [{\"phase\": \"active\", \"registers\": {\"dictionary\": \"new\", \"epoch\": 2, \"enabled\": true, \"cache\": [\"old\"], \"decoded\": []}, \"frames\": []}], \"passed\": true}, {\"check\": \"switching/replacement_failed\", \"actual\": [{\"phase\": \"active\", \"registers\": {\"dictionary\": \"old\", \"epoch\": 1, \"enabled\": true, \"cache\": [\"old\"], \"decoded\": []}, \"frames\": []}], \"expected\": [{\"phase\": \"active\", \"registers\": {\"dictionary\": \"old\", \"epoch\": 1, \"enabled\": true, \"cache\": [\"old\"], \"decoded\": []}, \"frames\": []}], \"passed\": true}, {\"check\": \"empty/compressed_payload\", \"actual\": [{\"phase\": \"empty\", \"registers\": {\"dictionary\": null, \"epoch\": 1, \"enabled\": false, \"cache\": [\"old\"], \"decoded\": []}, \"frames\": [[\"MISSING_DICT\", 1]]}], \"expected\": [{\"phase\": \"empty\", \"registers\": {\"dictionary\": null, \"epoch\": 1, \"enabled\": false, \"cache\": [\"old\"], \"decoded\": []}, \"frames\": [[\"MISSING_DICT\", 1]]}], \"passed\": true}, {\"check\": \"active/evicted\", \"actual\": [{\"phase\": \"active\", \"registers\": {\"dictionary\": \"old\", \"epoch\": 1, \"enabled\": true, \"cache\": [\"old\"], \"decoded\": [[\"old\", [1, 2, 3]]]}, \"frames\": []}], \"expected\": [{\"phase\": \"empty\", \"registers\": {\"dictionary\": \"old\", \"epoch\": 1, \"enabled\": false, \"cache\": [], \"decoded\": []}, \"frames\": [[\"DICT_EVICTED\", 1]]}], \"passed\": false}, {\"check\": \"ordered trace 0\", \"actual\": [{\"phase\": \"offered\", \"registers\": {\"dictionary\": null, \"epoch\": 1, \"enabled\": false, \"cache\": [\"old\"], \"decoded\": []}, \"frames\": [[\"DICT_ID\", \"new\", 2]]}, {\"phase\": \"installing\", \"registers\": {\"dictionary\": null, \"epoch\": 1, \"enabled\": false, \"cache\": [\"old\"], \"decoded\": []}, \"frames\": [[\"DICT_ID\", \"new\", 2], [\"DICT_BODY\", \"new\", [1, 2, 3]]]}, {\"phase\": \"active\", \"registers\": {\"dictionary\": \"new\", \"epoch\": 1, \"enabled\": false, \"cache\": [\"old\", \"new\"], \"decoded\": []}, \"frames\": [[\"DICT_ID\", \"new\", 2], [\"DICT_BODY\", \"new\", [1, 2, 3]], [\"DICT_READY\", 2]]}, {\"phase\": \"active\", \"registers\": {\"dictionary\": \"new\", \"epoch\": 1, \"enabled\": false, \"cache\": [\"old\", \"new\"], \"decoded\": [[\"old\", [1, 2, 3]]]}, \"frames\": [[\"DICT_ID\", \"new\", 2], [\"DICT_BODY\", \"new\", [1, 2, 3]], [\"DICT_READY\", 2]]}], \"expected\": [{\"phase\": \"offered\", \"registers\": {\"dictionary\": null, \"epoch\": 1, \"enabled\": false, \"cache\": [\"old\"], \"decoded\": []}, \"frames\": [[\"DICT_ID\", \"new\", 2]]}, {\"phase\": \"installing\", \"registers\": {\"dictionary\": null, \"epoch\": 1, \"enabled\": false, \"cache\": [\"old\"], \"decoded\": []}, \"frames\": [[\"DICT_ID\", \"new\", 2], [\"DICT_BODY\", \"new\", [1, 2, 3]]]}, {\"phase\": \"active\", \"registers\": {\"dictionary\": \"new\", \"epoch\": 1, \"enabled\": false, \"cache\": [\"old\", \"new\"], \"decoded\": []}, \"frames\": [[\"DICT_ID\", \"new\", 2], [\"DICT_BODY\", \"new\", [1, 2, 3]], [\"DICT_READY\", 2]]}, {\"phase\": \"empty\", \"registers\": {\"dictionary\": \"new\", \"epoch\": 1, \"enabled\": false, \"cache\": [], \"decoded\": []}, \"frames\": [[\"DICT_ID\", \"new\", 2], [\"DICT_BODY\", \"new\", [1, 2, 3]], [\"DICT_READY\", 2], [\"DICT_EVICTED\", 1]]}], \"passed\": false}, {\"check\": \"ordered trace 3\", \"actual\": [{\"phase\": \"empty\", \"registers\": {\"dictionary\": null, \"epoch\": 1, \"enabled\": false, \"cache\": [\"old\"], \"decoded\": []}, \"frames\": [[\"BAD_DICT\", \"new\"]]}, {\"phase\": \"offered\", \"registers\": {\"dictionary\": null, \"epoch\": 1, \"enabled\": false, \"cache\": [\"old\"], \"decoded\": []}, \"frames\": [[\"BAD_DICT\", \"new\"], [\"DICT_ID\", \"new\", 2]]}, {\"phase\": \"installing\", \"registers\": {\"dictionary\": null, \"epoch\": 1, \"enabled\": false, \"cache\": [\"old\"], \"decoded\": []}, \"frames\": [[\"BAD_DICT\", \"new\"], [\"DICT_ID\", \"new\", 2], [\"DICT_BODY\", \"new\", [1, 2, 3]]]}, {\"phase\": \"active\", \"registers\": {\"dictionary\": \"new\", \"epoch\": 1, \"enabled\": false, \"cache\": [\"old\", \"new\"], \"decoded\": []}, \"frames\": [[\"BAD_DICT\", \"new\"], [\"DICT_ID\", \"new\", 2], [\"DICT_BODY\", \"new\", [1, 2, 3]], [\"DICT_READY\", 2]]}], \"expected\": [{\"phase\": \"empty\", \"registers\": {\"dictionary\": null, \"epoch\": 1, \"enabled\": false, \"cache\": [\"old\"], \"decoded\": []}, \"frames\": [[\"BAD_DICT\", \"new\"]]}, {\"phase\": \"offered\", \"registers\": {\"dictionary\": null, \"epoch\": 1, \"enabled\": false, \"cache\": [\"old\"], \"decoded\": []}, \"frames\": [[\"BAD_DICT\", \"new\"], [\"DICT_ID\", \"new\", 2]]}, {\"phase\": \"installing\", \"registers\": {\"dictionary\": null, \"epoch\": 1, \"enabled\": false, \"cache\": [\"old\"], \"decoded\": []}, \"frames\": [[\"BAD_DICT\", \"new\"], [\"DICT_ID\", \"new\", 2], [\"DICT_BODY\", \"new\", [1, 2, 3]]]}, {\"phase\": \"active\", \"registers\": {\"dictionary\": \"new\", \"epoch\": 1, \"enabled\": false, \"cache\": [\"old\", \"new\"], \"decoded\": []}, \"frames\": [[\"BAD_DICT\", \"new\"], [\"DICT_ID\", \"new\", 2], [\"DICT_BODY\", \"new\", [1, 2, 3]], [\"DICT_READY\", 2]]}], \"passed\": true}, {\"check\": \"empty input\", \"actual\": [], \"expected\": [], \"passed\": true}, {\"check\": \"unknown event\", \"actual\": [{\"phase\": \"empty\", \"registers\": {\"dictionary\": null, \"epoch\": 1, \"enabled\": false, \"cache\": [\"old\"], \"decoded\": []}, \"frames\": [[\"reject\", [1, 2, 3]]]}], \"expected\": [{\"phase\": \"empty\", \"registers\": {\"dictionary\": null, \"epoch\": 1, \"enabled\": false, \"cache\": [\"old\"], \"decoded\": []}, \"frames\": [[\"reject\", [1, 2, 3]]]}], \"passed\": true}], \"passed\": false}\n"},"fixed":{"elapsed_ms":46.753,"exit_code":0,"observations":[{"actual":[{"frames":[["DICT_ID","new",2]],"phase":"offered","registers":{"cache":["old"],"decoded":[],"dictionary":null,"enabled":false,"epoch":1}}],"check":"empty/offer","expected":[{"frames":[["DICT_ID","new",2]],"phase":"offered","registers":{"cache":["old"],"decoded":[],"dictionary":null,"enabled":false,"epoch":1}}],"passed":true},{"actual":[{"frames":[],"phase":"active","registers":{"cache":["old"],"decoded":[],"dictionary":"new","enabled":false,"epoch":2}}],"check":"offered/cache_hit","expected":[{"frames":[],"phase":"active","registers":{"cache":["old"],"decoded":[],"dictionary":"new","enabled":false,"epoch":2}}],"passed":true},{"actual":[{"frames":[["DICT_BODY","new",[1,2,3]]],"phase":"installing","registers":{"cache":["old"],"decoded":[],"dictionary":null,"enabled":false,"epoch":1}}],"check":"offered/cache_miss","expected":[{"frames":[["DICT_BODY","new",[1,2,3]]],"phase":"installing","registers":{"cache":["old"],"decoded":[],"dictionary":null,"enabled":false,"epoch":1}}],"passed":true},{"actual":[{"frames":[["DICT_READY",2]],"phase":"active","registers":{"cache":["old","new"],"decoded":[],"dictionary":"new","enabled":false,"epoch":1}}],"check":"installing/verified","expected":[{"frames":[["DICT_READY",2]],"phase":"active","registers":{"cache":["old","new"],"decoded":[],"dictionary":"new","enabled":false,"epoch":1}}],"passed":true},{"actual":[{"frames":[["BAD_DICT","new"]],"phase":"empty","registers":{"cache":["old"],"decoded":[],"dictionary":null,"enabled":false,"epoch":1}}],"check":"installing/bad_fingerprint","expected":[{"frames":[["BAD_DICT","new"]],"phase":"empty","registers":{"cache":["old"],"decoded":[],"dictionary":null,"enabled":false,"epoch":1}}],"passed":true},{"actual":[{"frames":[],"phase":"switching","registers":{"cache":["old"],"decoded":[],"dictionary":"old","enabled":false,"epoch":1}}],"check":"active/replacement_offer","expected":[{"frames":[],"phase":"switching","registers":{"cache":["old"],"decoded":[],"dictionary":"old","enabled":false,"epoch":1}}],"passed":true},{"actual":[{"frames":[],"phase":"active","registers":{"cache":["old"],"decoded":[],"dictionary":"new","enabled":true,"epoch":2}}],"check":"switching/replacement_ready","expected":[{"frames":[],"phase":"active","registers":{"cache":["old"],"decoded":[],"dictionary":"new","enabled":true,"epoch":2}}],"passed":true},{"actual":[{"frames":[],"phase":"active","registers":{"cache":["old"],"decoded":[],"dictionary":"old","enabled":true,"epoch":1}}],"check":"switching/replacement_failed","expected":[{"frames":[],"phase":"active","registers":{"cache":["old"],"decoded":[],"dictionary":"old","enabled":true,"epoch":1}}],"passed":true},{"actual":[{"frames":[["MISSING_DICT",1]],"phase":"empty","registers":{"cache":["old"],"decoded":[],"dictionary":null,"enabled":false,"epoch":1}}],"check":"empty/compressed_payload","expected":[{"frames":[["MISSING_DICT",1]],"phase":"empty","registers":{"cache":["old"],"decoded":[],"dictionary":null,"enabled":false,"epoch":1}}],"passed":true},{"actual":[{"frames":[["DICT_EVICTED",1]],"phase":"empty","registers":{"cache":[],"decoded":[],"dictionary":"old","enabled":false,"epoch":1}}],"check":"active/evicted","expected":[{"frames":[["DICT_EVICTED",1]],"phase":"empty","registers":{"cache":[],"decoded":[],"dictionary":"old","enabled":false,"epoch":1}}],"passed":true},{"actual":[{"frames":[["DICT_ID","new",2]],"phase":"offered","registers":{"cache":["old"],"decoded":[],"dictionary":null,"enabled":false,"epoch":1}},{"frames":[["DICT_ID","new",2],["DICT_BODY","new",[1,2,3]]],"phase":"installing","registers":{"cache":["old"],"decoded":[],"dictionary":null,"enabled":false,"epoch":1}},{"frames":[["DICT_ID","new",2],["DICT_BODY","new",[1,2,3]],["DICT_READY",2]],"phase":"active","registers":{"cache":["old","new"],"decoded":[],"dictionary":"new","enabled":false,"epoch":1}},{"frames":[["DICT_ID","new",2],["DICT_BODY","new",[1,2,3]],["DICT_READY",2],["DICT_EVICTED",1]],"phase":"empty","registers":{"cache":[],"decoded":[],"dictionary":"new","enabled":false,"epoch":1}}],"check":"ordered trace 0","expected":[{"frames":[["DICT_ID","new",2]],"phase":"offered","registers":{"cache":["old"],"decoded":[],"dictionary":null,"enabled":false,"epoch":1}},{"frames":[["DICT_ID","new",2],["DICT_BODY","new",[1,2,3]]],"phase":"installing","registers":{"cache":["old"],"decoded":[],"dictionary":null,"enabled":false,"epoch":1}},{"frames":[["DICT_ID","new",2],["DICT_BODY","new",[1,2,3]],["DICT_READY",2]],"phase":"active","registers":{"cache":["old","new"],"decoded":[],"dictionary":"new","enabled":false,"epoch":1}},{"frames":[["DICT_ID","new",2],["DICT_BODY","new",[1,2,3]],["DICT_READY",2],["DICT_EVICTED",1]],"phase":"empty","registers":{"cache":[],"decoded":[],"dictionary":"new","enabled":false,"epoch":1}}],"passed":true},{"actual":[{"frames":[["BAD_DICT","new"]],"phase":"empty","registers":{"cache":["old"],"decoded":[],"dictionary":null,"enabled":false,"epoch":1}},{"frames":[["BAD_DICT","new"],["DICT_ID","new",2]],"phase":"offered","registers":{"cache":["old"],"decoded":[],"dictionary":null,"enabled":false,"epoch":1}},{"frames":[["BAD_DICT","new"],["DICT_ID","new",2],["DICT_BODY","new",[1,2,3]]],"phase":"installing","registers":{"cache":["old"],"decoded":[],"dictionary":null,"enabled":false,"epoch":1}},{"frames":[["BAD_DICT","new"],["DICT_ID","new",2],["DICT_BODY","new",[1,2,3]],["DICT_READY",2]],"phase":"active","registers":{"cache":["old","new"],"decoded":[],"dictionary":"new","enabled":false,"epoch":1}}],"check":"ordered trace 3","expected":[{"frames":[["BAD_DICT","new"]],"phase":"empty","registers":{"cache":["old"],"decoded":[],"dictionary":null,"enabled":false,"epoch":1}},{"frames":[["BAD_DICT","new"],["DICT_ID","new",2]],"phase":"offered","registers":{"cache":["old"],"decoded":[],"dictionary":null,"enabled":false,"epoch":1}},{"frames":[["BAD_DICT","new"],["DICT_ID","new",2],["DICT_BODY","new",[1,2,3]]],"phase":"installing","registers":{"cache":["old"],"decoded":[],"dictionary":null,"enabled":false,"epoch":1}},{"frames":[["BAD_DICT","new"],["DICT_ID","new",2],["DICT_BODY","new",[1,2,3]],["DICT_READY",2]],"phase":"active","registers":{"cache":["old","new"],"decoded":[],"dictionary":"new","enabled":false,"epoch":1}}],"passed":true},{"actual":[],"check":"empty input","expected":[],"passed":true},{"actual":[{"frames":[["reject",[1,2,3]]],"phase":"empty","registers":{"cache":["old"],"decoded":[],"dictionary":null,"enabled":false,"epoch":1}}],"check":"unknown event","expected":[{"frames":[["reject",[1,2,3]]],"phase":"empty","registers":{"cache":["old"],"decoded":[],"dictionary":null,"enabled":false,"epoch":1}}],"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"empty/offer\", \"actual\": [{\"phase\": \"offered\", \"registers\": {\"dictionary\": null, \"epoch\": 1, \"enabled\": false, \"cache\": [\"old\"], \"decoded\": []}, \"frames\": [[\"DICT_ID\", \"new\", 2]]}], \"expected\": [{\"phase\": \"offered\", \"registers\": {\"dictionary\": null, \"epoch\": 1, \"enabled\": false, \"cache\": [\"old\"], \"decoded\": []}, \"frames\": [[\"DICT_ID\", \"new\", 2]]}], \"passed\": true}, {\"check\": \"offered/cache_hit\", \"actual\": [{\"phase\": \"active\", \"registers\": {\"dictionary\": \"new\", \"epoch\": 2, \"enabled\": false, \"cache\": [\"old\"], \"decoded\": []}, \"frames\": []}], \"expected\": [{\"phase\": \"active\", \"registers\": {\"dictionary\": \"new\", \"epoch\": 2, \"enabled\": false, \"cache\": [\"old\"], \"decoded\": []}, \"frames\": []}], \"passed\": true}, {\"check\": \"offered/cache_miss\", \"actual\": [{\"phase\": \"installing\", \"registers\": {\"dictionary\": null, \"epoch\": 1, \"enabled\": false, \"cache\": [\"old\"], \"decoded\": []}, \"frames\": [[\"DICT_BODY\", \"new\", [1, 2, 3]]]}], \"expected\": [{\"phase\": \"installing\", \"registers\": {\"dictionary\": null, \"epoch\": 1, \"enabled\": false, \"cache\": [\"old\"], \"decoded\": []}, \"frames\": [[\"DICT_BODY\", \"new\", [1, 2, 3]]]}], \"passed\": true}, {\"check\": \"installing/verified\", \"actual\": [{\"phase\": \"active\", \"registers\": {\"dictionary\": \"new\", \"epoch\": 1, \"enabled\": false, \"cache\": [\"old\", \"new\"], \"decoded\": []}, \"frames\": [[\"DICT_READY\", 2]]}], \"expected\": [{\"phase\": \"active\", \"registers\": {\"dictionary\": \"new\", \"epoch\": 1, \"enabled\": false, \"cache\": [\"old\", \"new\"], \"decoded\": []}, \"frames\": [[\"DICT_READY\", 2]]}], \"passed\": true}, {\"check\": \"installing/bad_fingerprint\", \"actual\": [{\"phase\": \"empty\", \"registers\": {\"dictionary\": null, \"epoch\": 1, \"enabled\": false, \"cache\": [\"old\"], \"decoded\": []}, \"frames\": [[\"BAD_DICT\", \"new\"]]}], \"expected\": [{\"phase\": \"empty\", \"registers\": {\"dictionary\": null, \"epoch\": 1, \"enabled\": false, \"cache\": [\"old\"], \"decoded\": []}, \"frames\": [[\"BAD_DICT\", \"new\"]]}], \"passed\": true}, {\"check\": \"active/replacement_offer\", \"actual\": [{\"phase\": \"switching\", \"registers\": {\"dictionary\": \"old\", \"epoch\": 1, \"enabled\": false, \"cache\": [\"old\"], \"decoded\": []}, \"frames\": []}], \"expected\": [{\"phase\": \"switching\", \"registers\": {\"dictionary\": \"old\", \"epoch\": 1, \"enabled\": false, \"cache\": [\"old\"], \"decoded\": []}, \"frames\": []}], \"passed\": true}, {\"check\": \"switching/replacement_ready\", \"actual\": [{\"phase\": \"active\", \"registers\": {\"dictionary\": \"new\", \"epoch\": 2, \"enabled\": true, \"cache\": [\"old\"], \"decoded\": []}, \"frames\": []}], \"expected\": [{\"phase\": \"active\", \"registers\": {\"dictionary\": \"new\", \"epoch\": 2, \"enabled\": true, \"cache\": [\"old\"], \"decoded\": []}, \"frames\": []}], \"passed\": true}, {\"check\": \"switching/replacement_failed\", \"actual\": [{\"phase\": \"active\", \"registers\": {\"dictionary\": \"old\", \"epoch\": 1, \"enabled\": true, \"cache\": [\"old\"], \"decoded\": []}, \"frames\": []}], \"expected\": [{\"phase\": \"active\", \"registers\": {\"dictionary\": \"old\", \"epoch\": 1, \"enabled\": true, \"cache\": [\"old\"], \"decoded\": []}, \"frames\": []}], \"passed\": true}, {\"check\": \"empty/compressed_payload\", \"actual\": [{\"phase\": \"empty\", \"registers\": {\"dictionary\": null, \"epoch\": 1, \"enabled\": false, \"cache\": [\"old\"], \"decoded\": []}, \"frames\": [[\"MISSING_DICT\", 1]]}], \"expected\": [{\"phase\": \"empty\", \"registers\": {\"dictionary\": null, \"epoch\": 1, \"enabled\": false, \"cache\": [\"old\"], \"decoded\": []}, \"frames\": [[\"MISSING_DICT\", 1]]}], \"passed\": true}, {\"check\": \"active/evicted\", \"actual\": [{\"phase\": \"empty\", \"registers\": {\"dictionary\": \"old\", \"epoch\": 1, \"enabled\": false, \"cache\": [], \"decoded\": []}, \"frames\": [[\"DICT_EVICTED\", 1]]}], \"expected\": [{\"phase\": \"empty\", \"registers\": {\"dictionary\": \"old\", \"epoch\": 1, \"enabled\": false, \"cache\": [], \"decoded\": []}, \"frames\": [[\"DICT_EVICTED\", 1]]}], \"passed\": true}, {\"check\": \"ordered trace 0\", \"actual\": [{\"phase\": \"offered\", \"registers\": {\"dictionary\": null, \"epoch\": 1, \"enabled\": false, \"cache\": [\"old\"], \"decoded\": []}, \"frames\": [[\"DICT_ID\", \"new\", 2]]}, {\"phase\": \"installing\", \"registers\": {\"dictionary\": null, \"epoch\": 1, \"enabled\": false, \"cache\": [\"old\"], \"decoded\": []}, \"frames\": [[\"DICT_ID\", \"new\", 2], [\"DICT_BODY\", \"new\", [1, 2, 3]]]}, {\"phase\": \"active\", \"registers\": {\"dictionary\": \"new\", \"epoch\": 1, \"enabled\": false, \"cache\": [\"old\", \"new\"], \"decoded\": []}, \"frames\": [[\"DICT_ID\", \"new\", 2], [\"DICT_BODY\", \"new\", [1, 2, 3]], [\"DICT_READY\", 2]]}, {\"phase\": \"empty\", \"registers\": {\"dictionary\": \"new\", \"epoch\": 1, \"enabled\": false, \"cache\": [], \"decoded\": []}, \"frames\": [[\"DICT_ID\", \"new\", 2], [\"DICT_BODY\", \"new\", [1, 2, 3]], [\"DICT_READY\", 2], [\"DICT_EVICTED\", 1]]}], \"expected\": [{\"phase\": \"offered\", \"registers\": {\"dictionary\": null, \"epoch\": 1, \"enabled\": false, \"cache\": [\"old\"], \"decoded\": []}, \"frames\": [[\"DICT_ID\", \"new\", 2]]}, {\"phase\": \"installing\", \"registers\": {\"dictionary\": null, \"epoch\": 1, \"enabled\": false, \"cache\": [\"old\"], \"decoded\": []}, \"frames\": [[\"DICT_ID\", \"new\", 2], [\"DICT_BODY\", \"new\", [1, 2, 3]]]}, {\"phase\": \"active\", \"registers\": {\"dictionary\": \"new\", \"epoch\": 1, \"enabled\": false, \"cache\": [\"old\", \"new\"], \"decoded\": []}, \"frames\": [[\"DICT_ID\", \"new\", 2], [\"DICT_BODY\", \"new\", [1, 2, 3]], [\"DICT_READY\", 2]]}, {\"phase\": \"empty\", \"registers\": {\"dictionary\": \"new\", \"epoch\": 1, \"enabled\": false, \"cache\": [], \"decoded\": []}, \"frames\": [[\"DICT_ID\", \"new\", 2], [\"DICT_BODY\", \"new\", [1, 2, 3]], [\"DICT_READY\", 2], [\"DICT_EVICTED\", 1]]}], \"passed\": true}, {\"check\": \"ordered trace 3\", \"actual\": [{\"phase\": \"empty\", \"registers\": {\"dictionary\": null, \"epoch\": 1, \"enabled\": false, \"cache\": [\"old\"], \"decoded\": []}, \"frames\": [[\"BAD_DICT\", \"new\"]]}, {\"phase\": \"offered\", \"registers\": {\"dictionary\": null, \"epoch\": 1, \"enabled\": false, \"cache\": [\"old\"], \"decoded\": []}, \"frames\": [[\"BAD_DICT\", \"new\"], [\"DICT_ID\", \"new\", 2]]}, {\"phase\": \"installing\", \"registers\": {\"dictionary\": null, \"epoch\": 1, \"enabled\": false, \"cache\": [\"old\"], \"decoded\": []}, \"frames\": [[\"BAD_DICT\", \"new\"], [\"DICT_ID\", \"new\", 2], [\"DICT_BODY\", \"new\", [1, 2, 3]]]}, {\"phase\": \"active\", \"registers\": {\"dictionary\": \"new\", \"epoch\": 1, \"enabled\": false, \"cache\": [\"old\", \"new\"], \"decoded\": []}, \"frames\": [[\"BAD_DICT\", \"new\"], [\"DICT_ID\", \"new\", 2], [\"DICT_BODY\", \"new\", [1, 2, 3]], [\"DICT_READY\", 2]]}], \"expected\": [{\"phase\": \"empty\", \"registers\": {\"dictionary\": null, \"epoch\": 1, \"enabled\": false, \"cache\": [\"old\"], \"decoded\": []}, \"frames\": [[\"BAD_DICT\", \"new\"]]}, {\"phase\": \"offered\", \"registers\": {\"dictionary\": null, \"epoch\": 1, \"enabled\": false, \"cache\": [\"old\"], \"decoded\": []}, \"frames\": [[\"BAD_DICT\", \"new\"], [\"DICT_ID\", \"new\", 2]]}, {\"phase\": \"installing\", \"registers\": {\"dictionary\": null, \"epoch\": 1, \"enabled\": false, \"cache\": [\"old\"], \"decoded\": []}, \"frames\": [[\"BAD_DICT\", \"new\"], [\"DICT_ID\", \"new\", 2], [\"DICT_BODY\", \"new\", [1, 2, 3]]]}, {\"phase\": \"active\", \"registers\": {\"dictionary\": \"new\", \"epoch\": 1, \"enabled\": false, \"cache\": [\"old\", \"new\"], \"decoded\": []}, \"frames\": [[\"BAD_DICT\", \"new\"], [\"DICT_ID\", \"new\", 2], [\"DICT_BODY\", \"new\", [1, 2, 3]], [\"DICT_READY\", 2]]}], \"passed\": true}, {\"check\": \"empty input\", \"actual\": [], \"expected\": [], \"passed\": true}, {\"check\": \"unknown event\", \"actual\": [{\"phase\": \"empty\", \"registers\": {\"dictionary\": null, \"epoch\": 1, \"enabled\": false, \"cache\": [\"old\"], \"decoded\": []}, \"frames\": [[\"reject\", [1, 2, 3]]]}], \"expected\": [{\"phase\": \"empty\", \"registers\": {\"dictionary\": null, \"epoch\": 1, \"enabled\": false, \"cache\": [\"old\"], \"decoded\": []}, \"frames\": [[\"reject\", [1, 2, 3]]]}], \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}