{"abstract":"The cancel-mute-intent event leaves a notification in muted instead of audible-channel.","category":"Notification interfaces","checks":34,"contract":"Temporary notification mute feedback is a bounded visual-notification workflow with mutable policy state {'until': 30, 'now': 10, 'muted': False, 'extension': 60}. Its default transition relation is {('audible-channel', 'mute-for-session'): 'mute-pending', ('mute-pending', 'mute-confirmed'): 'muted', ('mute-pending', 'mute-rejected'): 'mute-error', ('muted', 'mute-window-ended'): 'unmute-pending', ('unmute-pending', 'unmute-confirmed'): 'audible-channel', ('unmute-pending', 'unmute-rejected'): 'unmute-error', ('muted', 'extend-mute'): 'extend-pending', ('extend-pending', 'extension-confirmed'): 'muted-extended', ('muted-extended', 'old-window-ended'): 'muted-extended', ('mute-error', 'cancel-mute-intent'): 'audible-channel'}; domain inputs can suppress or redirect transitions and update policy fields, as specified in solve. Different-generation events are inert. Batches apply in order. Optional observe returns the selected policy field alongside the phase.","evaluation_group":"s3-notification-interfaces-temporary-mute","failed_approach":"Retrying on cancellation acts against the user's new choice.","family":"s3-notification-interfaces-temporary-mute-10","id":"FA-35086","implementations":{"attempt":{"sha256":"fcde8ccb6718f724ac64ff0faa188968c5e0e80d9c32bbb31aa7345231dec23a","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(initial, events, generation, payload=None, observe=None):\n    table = {('audible-channel', 'mute-for-session'): 'mute-pending', ('mute-pending', 'mute-confirmed'): 'muted', ('mute-pending', 'mute-rejected'): 'mute-error', ('muted', 'mute-window-ended'): 'unmute-pending', ('unmute-pending', 'unmute-confirmed'): 'audible-channel', ('unmute-pending', 'unmute-rejected'): 'unmute-error', ('muted', 'extend-mute'): 'extend-pending', ('extend-pending', 'extension-confirmed'): 'muted-extended', ('muted-extended', 'old-window-ended'): 'muted-extended', ('mute-error', 'cancel-mute-intent'): 'mute-pending'}\n    data = json.loads(json.dumps({'until': 30, 'now': 10, 'muted': False, 'extension': 60})) if payload is None else {**json.loads(json.dumps({'until': 30, 'now': 10, 'muted': False, 'extension': 60})), **json.loads(json.dumps(payload))}\n    state = initial\n    for delivery in events:\n        event, event_generation = delivery[:2]\n        arg = delivery[2] if len(delivery) > 2 else {}\n        if event_generation == generation:\n            previous = state\n            data['now'] = max(data['now'],arg.get('now',data['now']))\n            if event == 'mute-window-ended' and data['now'] < data['until'] and 'now' in arg: event = 'unknown-event'\n            if event == 'extend-mute': data['extension'] = max(data['until'],arg.get('until',data['extension']))\n            if event == 'extension-confirmed': data['until'] = data['extension']\n            state = table.get((state, event), state)\n            if state in ('muted','muted-extended'): data['muted'] = True\n            if state == 'audible-channel': data['muted'] = False\n    return {'phase': state, 'value': data[observe]} if observe else state\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('audible-channel / mute-for-session', solve('audible-channel', [('mute-for-session', N)], N), 'mute-pending')\ncheck('mute-pending / mute-confirmed', solve('mute-pending', [('mute-confirmed', N)], N), 'muted')\ncheck('mute-pending / mute-rejected', solve('mute-pending', [('mute-rejected', N)], N), 'mute-error')\ncheck('muted / mute-window-ended', solve('muted', [('mute-window-ended', N)], N), 'unmute-pending')\ncheck('unmute-pending / unmute-confirmed', solve('unmute-pending', [('unmute-confirmed', N)], N), 'audible-channel')\ncheck('unmute-pending / unmute-rejected', solve('unmute-pending', [('unmute-rejected', N)], N), 'unmute-error')\ncheck('muted / extend-mute', solve('muted', [('extend-mute', N)], N), 'extend-pending')\ncheck('extend-pending / extension-confirmed', solve('extend-pending', [('extension-confirmed', N)], N), 'muted-extended')\ncheck('muted-extended / old-window-ended', solve('muted-extended', [('old-window-ended', N)], N), 'muted-extended')\ncheck('mute-error / cancel-mute-intent', solve('mute-error', [('cancel-mute-intent', N)], N), 'audible-channel')\ncheck('older notification incarnation', solve('audible-channel', [('mute-for-session', N - 1)], N), 'audible-channel')\ncheck('future notification incarnation', solve('audible-channel', [('mute-for-session', N + 1)], N), 'audible-channel')\ncheck('unknown event is inert', solve('audible-channel', [('unknown-event', N)], N), 'audible-channel')\ncheck('empty delivery batch', solve('audible-channel', [], N), 'audible-channel')\ncheck('N stale deliveries before current delivery', solve('audible-channel', [('mute-for-session', N - 1)] * N + [('mute-for-session', N)], N), 'mute-pending')\ncheck('trace mute-for-session then mute-confirmed', solve('audible-channel', [('mute-for-session', N), ('mute-confirmed', N)], N), 'muted')\ncheck('trace mute-for-session then mute-rejected', solve('audible-channel', [('mute-for-session', N), ('mute-rejected', N)], N), 'mute-error')\ncheck('trace mute-confirmed then mute-window-ended', solve('mute-pending', [('mute-confirmed', N), ('mute-window-ended', N)], N), 'unmute-pending')\ncheck('trace mute-confirmed then extend-mute', solve('mute-pending', [('mute-confirmed', N), ('extend-mute', N)], N), 'extend-pending')\ncheck('trace mute-rejected then cancel-mute-intent', solve('mute-pending', [('mute-rejected', N), ('cancel-mute-intent', N)], N), 'audible-channel')\ncheck('trace mute-window-ended then unmute-confirmed', solve('muted', [('mute-window-ended', N), ('unmute-confirmed', N)], N), 'audible-channel')\ncheck('trace mute-window-ended then unmute-rejected', solve('muted', [('mute-window-ended', N), ('unmute-rejected', N)], N), 'unmute-error')\ncheck('trace unmute-confirmed then mute-for-session', solve('unmute-pending', [('unmute-confirmed', N), ('mute-for-session', N)], N), 'mute-pending')\ncheck('trace extend-mute then extension-confirmed', solve('muted', [('extend-mute', N), ('extension-confirmed', N)], N), 'muted-extended')\ncheck('trace extension-confirmed then old-window-ended', solve('extend-pending', [('extension-confirmed', N), ('old-window-ended', N)], N), 'muted-extended')\ncheck('trace old-window-ended then old-window-ended', solve('muted-extended', [('old-window-ended', N), ('old-window-ended', N)], N), 'muted-extended')\ncheck('trace cancel-mute-intent then mute-for-session', solve('mute-error', [('cancel-mute-intent', N), ('mute-for-session', N)], N), 'mute-pending')\ncheck('domain state regression 1: muted', solve('muted', [('mute-window-ended', N, {'now': 29})], N, {'muted': True}, 'muted'), {'phase': 'muted', 'value': True})\ncheck('domain state regression 2: muted', solve('muted', [('mute-window-ended', N, {'now': 30})], N, {'muted': True}, 'muted'), {'phase': 'unmute-pending', 'value': True})\ncheck('domain state regression 3: extension', solve('muted', [('extend-mute', N, {'until': 20})], N, {}, 'extension'), {'phase': 'extend-pending', 'value': 30})\ncheck('domain state regression 4: until', solve('extend-pending', [('extension-confirmed', N, {})], N, {}, 'until'), {'phase': 'muted-extended', 'value': 60})\ncheck('domain state regression 5: muted', solve('muted-extended', [('old-window-ended', N, {})], N, {'until': 60, 'muted': True}, 'muted'), {'phase': 'muted-extended', 'value': True})\ncheck('domain state regression 6: muted', solve('unmute-pending', [('unmute-confirmed', N, {})], N, {'muted': True}, 'muted'), {'phase': 'audible-channel', 'value': False})\ncheck('domain state regression 7: until', solve('muted', [('extend-mute', N, {'until': 80}), ('extension-confirmed', N, {}), ('old-window-ended', N, {})], N, {'muted': True}, 'until'), {'phase': 'muted-extended', 'value': 80})\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":"92e1d619366a38c05ce1c9f2fc5dd0531adb4ec6965d6bcc46feed81d12e7978","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(initial, events, generation, payload=None, observe=None):\n    table = {('audible-channel', 'mute-for-session'): 'mute-pending', ('mute-pending', 'mute-confirmed'): 'muted', ('mute-pending', 'mute-rejected'): 'mute-error', ('muted', 'mute-window-ended'): 'unmute-pending', ('unmute-pending', 'unmute-confirmed'): 'audible-channel', ('unmute-pending', 'unmute-rejected'): 'unmute-error', ('muted', 'extend-mute'): 'extend-pending', ('extend-pending', 'extension-confirmed'): 'muted-extended', ('muted-extended', 'old-window-ended'): 'muted-extended', ('mute-error', 'cancel-mute-intent'): 'muted'}\n    data = json.loads(json.dumps({'until': 30, 'now': 10, 'muted': False, 'extension': 60})) if payload is None else {**json.loads(json.dumps({'until': 30, 'now': 10, 'muted': False, 'extension': 60})), **json.loads(json.dumps(payload))}\n    state = initial\n    for delivery in events:\n        event, event_generation = delivery[:2]\n        arg = delivery[2] if len(delivery) > 2 else {}\n        if event_generation == generation:\n            previous = state\n            data['now'] = max(data['now'],arg.get('now',data['now']))\n            if event == 'mute-window-ended' and data['now'] < data['until'] and 'now' in arg: event = 'unknown-event'\n            if event == 'extend-mute': data['extension'] = max(data['until'],arg.get('until',data['extension']))\n            if event == 'extension-confirmed': data['until'] = data['extension']\n            state = table.get((state, event), state)\n            if state in ('muted','muted-extended'): data['muted'] = True\n            if state == 'audible-channel': data['muted'] = False\n    return {'phase': state, 'value': data[observe]} if observe else state\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('audible-channel / mute-for-session', solve('audible-channel', [('mute-for-session', N)], N), 'mute-pending')\ncheck('mute-pending / mute-confirmed', solve('mute-pending', [('mute-confirmed', N)], N), 'muted')\ncheck('mute-pending / mute-rejected', solve('mute-pending', [('mute-rejected', N)], N), 'mute-error')\ncheck('muted / mute-window-ended', solve('muted', [('mute-window-ended', N)], N), 'unmute-pending')\ncheck('unmute-pending / unmute-confirmed', solve('unmute-pending', [('unmute-confirmed', N)], N), 'audible-channel')\ncheck('unmute-pending / unmute-rejected', solve('unmute-pending', [('unmute-rejected', N)], N), 'unmute-error')\ncheck('muted / extend-mute', solve('muted', [('extend-mute', N)], N), 'extend-pending')\ncheck('extend-pending / extension-confirmed', solve('extend-pending', [('extension-confirmed', N)], N), 'muted-extended')\ncheck('muted-extended / old-window-ended', solve('muted-extended', [('old-window-ended', N)], N), 'muted-extended')\ncheck('mute-error / cancel-mute-intent', solve('mute-error', [('cancel-mute-intent', N)], N), 'audible-channel')\ncheck('older notification incarnation', solve('audible-channel', [('mute-for-session', N - 1)], N), 'audible-channel')\ncheck('future notification incarnation', solve('audible-channel', [('mute-for-session', N + 1)], N), 'audible-channel')\ncheck('unknown event is inert', solve('audible-channel', [('unknown-event', N)], N), 'audible-channel')\ncheck('empty delivery batch', solve('audible-channel', [], N), 'audible-channel')\ncheck('N stale deliveries before current delivery', solve('audible-channel', [('mute-for-session', N - 1)] * N + [('mute-for-session', N)], N), 'mute-pending')\ncheck('trace mute-for-session then mute-confirmed', solve('audible-channel', [('mute-for-session', N), ('mute-confirmed', N)], N), 'muted')\ncheck('trace mute-for-session then mute-rejected', solve('audible-channel', [('mute-for-session', N), ('mute-rejected', N)], N), 'mute-error')\ncheck('trace mute-confirmed then mute-window-ended', solve('mute-pending', [('mute-confirmed', N), ('mute-window-ended', N)], N), 'unmute-pending')\ncheck('trace mute-confirmed then extend-mute', solve('mute-pending', [('mute-confirmed', N), ('extend-mute', N)], N), 'extend-pending')\ncheck('trace mute-rejected then cancel-mute-intent', solve('mute-pending', [('mute-rejected', N), ('cancel-mute-intent', N)], N), 'audible-channel')\ncheck('trace mute-window-ended then unmute-confirmed', solve('muted', [('mute-window-ended', N), ('unmute-confirmed', N)], N), 'audible-channel')\ncheck('trace mute-window-ended then unmute-rejected', solve('muted', [('mute-window-ended', N), ('unmute-rejected', N)], N), 'unmute-error')\ncheck('trace unmute-confirmed then mute-for-session', solve('unmute-pending', [('unmute-confirmed', N), ('mute-for-session', N)], N), 'mute-pending')\ncheck('trace extend-mute then extension-confirmed', solve('muted', [('extend-mute', N), ('extension-confirmed', N)], N), 'muted-extended')\ncheck('trace extension-confirmed then old-window-ended', solve('extend-pending', [('extension-confirmed', N), ('old-window-ended', N)], N), 'muted-extended')\ncheck('trace old-window-ended then old-window-ended', solve('muted-extended', [('old-window-ended', N), ('old-window-ended', N)], N), 'muted-extended')\ncheck('trace cancel-mute-intent then mute-for-session', solve('mute-error', [('cancel-mute-intent', N), ('mute-for-session', N)], N), 'mute-pending')\ncheck('domain state regression 1: muted', solve('muted', [('mute-window-ended', N, {'now': 29})], N, {'muted': True}, 'muted'), {'phase': 'muted', 'value': True})\ncheck('domain state regression 2: muted', solve('muted', [('mute-window-ended', N, {'now': 30})], N, {'muted': True}, 'muted'), {'phase': 'unmute-pending', 'value': True})\ncheck('domain state regression 3: extension', solve('muted', [('extend-mute', N, {'until': 20})], N, {}, 'extension'), {'phase': 'extend-pending', 'value': 30})\ncheck('domain state regression 4: until', solve('extend-pending', [('extension-confirmed', N, {})], N, {}, 'until'), {'phase': 'muted-extended', 'value': 60})\ncheck('domain state regression 5: muted', solve('muted-extended', [('old-window-ended', N, {})], N, {'until': 60, 'muted': True}, 'muted'), {'phase': 'muted-extended', 'value': True})\ncheck('domain state regression 6: muted', solve('unmute-pending', [('unmute-confirmed', N, {})], N, {'muted': True}, 'muted'), {'phase': 'audible-channel', 'value': False})\ncheck('domain state regression 7: until', solve('muted', [('extend-mute', N, {'until': 80}), ('extension-confirmed', N, {}), ('old-window-ended', N, {})], N, {'muted': True}, 'until'), {'phase': 'muted-extended', 'value': 80})\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":"8e8582c0431e4bb645bc9a78d556d84835bfbb41af9840af43a04c0f82f77f96","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(initial, events, generation, payload=None, observe=None):\n    table = {('audible-channel', 'mute-for-session'): 'mute-pending', ('mute-pending', 'mute-confirmed'): 'muted', ('mute-pending', 'mute-rejected'): 'mute-error', ('muted', 'mute-window-ended'): 'unmute-pending', ('unmute-pending', 'unmute-confirmed'): 'audible-channel', ('unmute-pending', 'unmute-rejected'): 'unmute-error', ('muted', 'extend-mute'): 'extend-pending', ('extend-pending', 'extension-confirmed'): 'muted-extended', ('muted-extended', 'old-window-ended'): 'muted-extended', ('mute-error', 'cancel-mute-intent'): 'audible-channel'}\n    data = json.loads(json.dumps({'until': 30, 'now': 10, 'muted': False, 'extension': 60})) if payload is None else {**json.loads(json.dumps({'until': 30, 'now': 10, 'muted': False, 'extension': 60})), **json.loads(json.dumps(payload))}\n    state = initial\n    for delivery in events:\n        event, event_generation = delivery[:2]\n        arg = delivery[2] if len(delivery) > 2 else {}\n        if event_generation == generation:\n            previous = state\n            data['now'] = max(data['now'],arg.get('now',data['now']))\n            if event == 'mute-window-ended' and data['now'] < data['until'] and 'now' in arg: event = 'unknown-event'\n            if event == 'extend-mute': data['extension'] = max(data['until'],arg.get('until',data['extension']))\n            if event == 'extension-confirmed': data['until'] = data['extension']\n            state = table.get((state, event), state)\n            if state in ('muted','muted-extended'): data['muted'] = True\n            if state == 'audible-channel': data['muted'] = False\n    return {'phase': state, 'value': data[observe]} if observe else state\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('audible-channel / mute-for-session', solve('audible-channel', [('mute-for-session', N)], N), 'mute-pending')\ncheck('mute-pending / mute-confirmed', solve('mute-pending', [('mute-confirmed', N)], N), 'muted')\ncheck('mute-pending / mute-rejected', solve('mute-pending', [('mute-rejected', N)], N), 'mute-error')\ncheck('muted / mute-window-ended', solve('muted', [('mute-window-ended', N)], N), 'unmute-pending')\ncheck('unmute-pending / unmute-confirmed', solve('unmute-pending', [('unmute-confirmed', N)], N), 'audible-channel')\ncheck('unmute-pending / unmute-rejected', solve('unmute-pending', [('unmute-rejected', N)], N), 'unmute-error')\ncheck('muted / extend-mute', solve('muted', [('extend-mute', N)], N), 'extend-pending')\ncheck('extend-pending / extension-confirmed', solve('extend-pending', [('extension-confirmed', N)], N), 'muted-extended')\ncheck('muted-extended / old-window-ended', solve('muted-extended', [('old-window-ended', N)], N), 'muted-extended')\ncheck('mute-error / cancel-mute-intent', solve('mute-error', [('cancel-mute-intent', N)], N), 'audible-channel')\ncheck('older notification incarnation', solve('audible-channel', [('mute-for-session', N - 1)], N), 'audible-channel')\ncheck('future notification incarnation', solve('audible-channel', [('mute-for-session', N + 1)], N), 'audible-channel')\ncheck('unknown event is inert', solve('audible-channel', [('unknown-event', N)], N), 'audible-channel')\ncheck('empty delivery batch', solve('audible-channel', [], N), 'audible-channel')\ncheck('N stale deliveries before current delivery', solve('audible-channel', [('mute-for-session', N - 1)] * N + [('mute-for-session', N)], N), 'mute-pending')\ncheck('trace mute-for-session then mute-confirmed', solve('audible-channel', [('mute-for-session', N), ('mute-confirmed', N)], N), 'muted')\ncheck('trace mute-for-session then mute-rejected', solve('audible-channel', [('mute-for-session', N), ('mute-rejected', N)], N), 'mute-error')\ncheck('trace mute-confirmed then mute-window-ended', solve('mute-pending', [('mute-confirmed', N), ('mute-window-ended', N)], N), 'unmute-pending')\ncheck('trace mute-confirmed then extend-mute', solve('mute-pending', [('mute-confirmed', N), ('extend-mute', N)], N), 'extend-pending')\ncheck('trace mute-rejected then cancel-mute-intent', solve('mute-pending', [('mute-rejected', N), ('cancel-mute-intent', N)], N), 'audible-channel')\ncheck('trace mute-window-ended then unmute-confirmed', solve('muted', [('mute-window-ended', N), ('unmute-confirmed', N)], N), 'audible-channel')\ncheck('trace mute-window-ended then unmute-rejected', solve('muted', [('mute-window-ended', N), ('unmute-rejected', N)], N), 'unmute-error')\ncheck('trace unmute-confirmed then mute-for-session', solve('unmute-pending', [('unmute-confirmed', N), ('mute-for-session', N)], N), 'mute-pending')\ncheck('trace extend-mute then extension-confirmed', solve('muted', [('extend-mute', N), ('extension-confirmed', N)], N), 'muted-extended')\ncheck('trace extension-confirmed then old-window-ended', solve('extend-pending', [('extension-confirmed', N), ('old-window-ended', N)], N), 'muted-extended')\ncheck('trace old-window-ended then old-window-ended', solve('muted-extended', [('old-window-ended', N), ('old-window-ended', N)], N), 'muted-extended')\ncheck('trace cancel-mute-intent then mute-for-session', solve('mute-error', [('cancel-mute-intent', N), ('mute-for-session', N)], N), 'mute-pending')\ncheck('domain state regression 1: muted', solve('muted', [('mute-window-ended', N, {'now': 29})], N, {'muted': True}, 'muted'), {'phase': 'muted', 'value': True})\ncheck('domain state regression 2: muted', solve('muted', [('mute-window-ended', N, {'now': 30})], N, {'muted': True}, 'muted'), {'phase': 'unmute-pending', 'value': True})\ncheck('domain state regression 3: extension', solve('muted', [('extend-mute', N, {'until': 20})], N, {}, 'extension'), {'phase': 'extend-pending', 'value': 30})\ncheck('domain state regression 4: until', solve('extend-pending', [('extension-confirmed', N, {})], N, {}, 'until'), {'phase': 'muted-extended', 'value': 60})\ncheck('domain state regression 5: muted', solve('muted-extended', [('old-window-ended', N, {})], N, {'until': 60, 'muted': True}, 'muted'), {'phase': 'muted-extended', 'value': True})\ncheck('domain state regression 6: muted', solve('unmute-pending', [('unmute-confirmed', N, {})], N, {'muted': True}, 'muted'), {'phase': 'audible-channel', 'value': False})\ncheck('domain state regression 7: until', solve('muted', [('extend-mute', N, {'until': 80}), ('extension-confirmed', N, {}), ('old-window-ended', N, {})], N, {'muted': True}, 'until'), {'phase': 'muted-extended', 'value': 80})\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":"Stipulated single-notification state and policy model only. Event delivery and acknowledgements are explicit test inputs. No DOM, accessibility announcements, live timers, networking, actual rendering, or production-platform conformance is simulated. 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-notification-interfaces-temporary-mute-10","generated_at":"2026-09-29T14:42:38.163825+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"Visual notification lifecycle ordering can leave an inbox or toast showing the wrong actionable state even when transport succeeds.","repair":"Commit the mute-error / cancel-mute-intent transition to audible-channel; preserve the other explicitly stipulated transitions.","root_cause":"Canceling a failed mute still shows suppression.","sha256":"b104d64746edba72408b4cd2b7bbd8cf1b29af607e9a77f6dffa49598ad733c7","title":"Temporary notification mute feedback: cancel-mute-intent from mute-error · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":41.956,"exit_code":1,"observations":[{"actual":"mute-pending","check":"audible-channel / mute-for-session","expected":"mute-pending","passed":true},{"actual":"muted","check":"mute-pending / mute-confirmed","expected":"muted","passed":true},{"actual":"mute-error","check":"mute-pending / mute-rejected","expected":"mute-error","passed":true},{"actual":"unmute-pending","check":"muted / mute-window-ended","expected":"unmute-pending","passed":true},{"actual":"audible-channel","check":"unmute-pending / unmute-confirmed","expected":"audible-channel","passed":true},{"actual":"unmute-error","check":"unmute-pending / unmute-rejected","expected":"unmute-error","passed":true},{"actual":"extend-pending","check":"muted / extend-mute","expected":"extend-pending","passed":true},{"actual":"muted-extended","check":"extend-pending / extension-confirmed","expected":"muted-extended","passed":true},{"actual":"muted-extended","check":"muted-extended / old-window-ended","expected":"muted-extended","passed":true},{"actual":"mute-pending","check":"mute-error / cancel-mute-intent","expected":"audible-channel","passed":false},{"actual":"audible-channel","check":"older notification incarnation","expected":"audible-channel","passed":true},{"actual":"audible-channel","check":"future notification incarnation","expected":"audible-channel","passed":true},{"actual":"audible-channel","check":"unknown event is inert","expected":"audible-channel","passed":true},{"actual":"audible-channel","check":"empty delivery batch","expected":"audible-channel","passed":true},{"actual":"mute-pending","check":"N stale deliveries before current delivery","expected":"mute-pending","passed":true},{"actual":"muted","check":"trace mute-for-session then mute-confirmed","expected":"muted","passed":true},{"actual":"mute-error","check":"trace mute-for-session then mute-rejected","expected":"mute-error","passed":true},{"actual":"unmute-pending","check":"trace mute-confirmed then mute-window-ended","expected":"unmute-pending","passed":true},{"actual":"extend-pending","check":"trace mute-confirmed then extend-mute","expected":"extend-pending","passed":true},{"actual":"mute-pending","check":"trace mute-rejected then cancel-mute-intent","expected":"audible-channel","passed":false},{"actual":"audible-channel","check":"trace mute-window-ended then unmute-confirmed","expected":"audible-channel","passed":true},{"actual":"unmute-error","check":"trace mute-window-ended then unmute-rejected","expected":"unmute-error","passed":true},{"actual":"mute-pending","check":"trace unmute-confirmed then mute-for-session","expected":"mute-pending","passed":true},{"actual":"muted-extended","check":"trace extend-mute then extension-confirmed","expected":"muted-extended","passed":true},{"actual":"muted-extended","check":"trace extension-confirmed then old-window-ended","expected":"muted-extended","passed":true},{"actual":"muted-extended","check":"trace old-window-ended then old-window-ended","expected":"muted-extended","passed":true},{"actual":"mute-pending","check":"trace cancel-mute-intent then mute-for-session","expected":"mute-pending","passed":true},{"actual":{"phase":"muted","value":true},"check":"domain state regression 1: muted","expected":{"phase":"muted","value":true},"passed":true},{"actual":{"phase":"unmute-pending","value":true},"check":"domain state regression 2: muted","expected":{"phase":"unmute-pending","value":true},"passed":true},{"actual":{"phase":"extend-pending","value":30},"check":"domain state regression 3: extension","expected":{"phase":"extend-pending","value":30},"passed":true},{"actual":{"phase":"muted-extended","value":60},"check":"domain state regression 4: until","expected":{"phase":"muted-extended","value":60},"passed":true},{"actual":{"phase":"muted-extended","value":true},"check":"domain state regression 5: muted","expected":{"phase":"muted-extended","value":true},"passed":true},{"actual":{"phase":"audible-channel","value":false},"check":"domain state regression 6: muted","expected":{"phase":"audible-channel","value":false},"passed":true},{"actual":{"phase":"muted-extended","value":80},"check":"domain state regression 7: until","expected":{"phase":"muted-extended","value":80},"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"audible-channel / mute-for-session\", \"actual\": \"mute-pending\", \"expected\": \"mute-pending\", \"passed\": true}, {\"check\": \"mute-pending / mute-confirmed\", \"actual\": \"muted\", \"expected\": \"muted\", \"passed\": true}, {\"check\": \"mute-pending / mute-rejected\", \"actual\": \"mute-error\", \"expected\": \"mute-error\", \"passed\": true}, {\"check\": \"muted / mute-window-ended\", \"actual\": \"unmute-pending\", \"expected\": \"unmute-pending\", \"passed\": true}, {\"check\": \"unmute-pending / unmute-confirmed\", \"actual\": \"audible-channel\", \"expected\": \"audible-channel\", \"passed\": true}, {\"check\": \"unmute-pending / unmute-rejected\", \"actual\": \"unmute-error\", \"expected\": \"unmute-error\", \"passed\": true}, {\"check\": \"muted / extend-mute\", \"actual\": \"extend-pending\", \"expected\": \"extend-pending\", \"passed\": true}, {\"check\": \"extend-pending / extension-confirmed\", \"actual\": \"muted-extended\", \"expected\": \"muted-extended\", \"passed\": true}, {\"check\": \"muted-extended / old-window-ended\", \"actual\": \"muted-extended\", \"expected\": \"muted-extended\", \"passed\": true}, {\"check\": \"mute-error / cancel-mute-intent\", \"actual\": \"mute-pending\", \"expected\": \"audible-channel\", \"passed\": false}, {\"check\": \"older notification incarnation\", \"actual\": \"audible-channel\", \"expected\": \"audible-channel\", \"passed\": true}, {\"check\": \"future notification incarnation\", \"actual\": \"audible-channel\", \"expected\": \"audible-channel\", \"passed\": true}, {\"check\": \"unknown event is inert\", \"actual\": \"audible-channel\", \"expected\": \"audible-channel\", \"passed\": true}, {\"check\": \"empty delivery batch\", \"actual\": \"audible-channel\", \"expected\": \"audible-channel\", \"passed\": true}, {\"check\": \"N stale deliveries before current delivery\", \"actual\": \"mute-pending\", \"expected\": \"mute-pending\", \"passed\": true}, {\"check\": \"trace mute-for-session then mute-confirmed\", \"actual\": \"muted\", \"expected\": \"muted\", \"passed\": true}, {\"check\": \"trace mute-for-session then mute-rejected\", \"actual\": \"mute-error\", \"expected\": \"mute-error\", \"passed\": true}, {\"check\": \"trace mute-confirmed then mute-window-ended\", \"actual\": \"unmute-pending\", \"expected\": \"unmute-pending\", \"passed\": true}, {\"check\": \"trace mute-confirmed then extend-mute\", \"actual\": \"extend-pending\", \"expected\": \"extend-pending\", \"passed\": true}, {\"check\": \"trace mute-rejected then cancel-mute-intent\", \"actual\": \"mute-pending\", \"expected\": \"audible-channel\", \"passed\": false}, {\"check\": \"trace mute-window-ended then unmute-confirmed\", \"actual\": \"audible-channel\", \"expected\": \"audible-channel\", \"passed\": true}, {\"check\": \"trace mute-window-ended then unmute-rejected\", \"actual\": \"unmute-error\", \"expected\": \"unmute-error\", \"passed\": true}, {\"check\": \"trace unmute-confirmed then mute-for-session\", \"actual\": \"mute-pending\", \"expected\": \"mute-pending\", \"passed\": true}, {\"check\": \"trace extend-mute then extension-confirmed\", \"actual\": \"muted-extended\", \"expected\": \"muted-extended\", \"passed\": true}, {\"check\": \"trace extension-confirmed then old-window-ended\", \"actual\": \"muted-extended\", \"expected\": \"muted-extended\", \"passed\": true}, {\"check\": \"trace old-window-ended then old-window-ended\", \"actual\": \"muted-extended\", \"expected\": \"muted-extended\", \"passed\": true}, {\"check\": \"trace cancel-mute-intent then mute-for-session\", \"actual\": \"mute-pending\", \"expected\": \"mute-pending\", \"passed\": true}, {\"check\": \"domain state regression 1: muted\", \"actual\": {\"phase\": \"muted\", \"value\": true}, \"expected\": {\"phase\": \"muted\", \"value\": true}, \"passed\": true}, {\"check\": \"domain state regression 2: muted\", \"actual\": {\"phase\": \"unmute-pending\", \"value\": true}, \"expected\": {\"phase\": \"unmute-pending\", \"value\": true}, \"passed\": true}, {\"check\": \"domain state regression 3: extension\", \"actual\": {\"phase\": \"extend-pending\", \"value\": 30}, \"expected\": {\"phase\": \"extend-pending\", \"value\": 30}, \"passed\": true}, {\"check\": \"domain state regression 4: until\", \"actual\": {\"phase\": \"muted-extended\", \"value\": 60}, \"expected\": {\"phase\": \"muted-extended\", \"value\": 60}, \"passed\": true}, {\"check\": \"domain state regression 5: muted\", \"actual\": {\"phase\": \"muted-extended\", \"value\": true}, \"expected\": {\"phase\": \"muted-extended\", \"value\": true}, \"passed\": true}, {\"check\": \"domain state regression 6: muted\", \"actual\": {\"phase\": \"audible-channel\", \"value\": false}, \"expected\": {\"phase\": \"audible-channel\", \"value\": false}, \"passed\": true}, {\"check\": \"domain state regression 7: until\", \"actual\": {\"phase\": \"muted-extended\", \"value\": 80}, \"expected\": {\"phase\": \"muted-extended\", \"value\": 80}, \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":42.319,"exit_code":1,"observations":[{"actual":"mute-pending","check":"audible-channel / mute-for-session","expected":"mute-pending","passed":true},{"actual":"muted","check":"mute-pending / mute-confirmed","expected":"muted","passed":true},{"actual":"mute-error","check":"mute-pending / mute-rejected","expected":"mute-error","passed":true},{"actual":"unmute-pending","check":"muted / mute-window-ended","expected":"unmute-pending","passed":true},{"actual":"audible-channel","check":"unmute-pending / unmute-confirmed","expected":"audible-channel","passed":true},{"actual":"unmute-error","check":"unmute-pending / unmute-rejected","expected":"unmute-error","passed":true},{"actual":"extend-pending","check":"muted / extend-mute","expected":"extend-pending","passed":true},{"actual":"muted-extended","check":"extend-pending / extension-confirmed","expected":"muted-extended","passed":true},{"actual":"muted-extended","check":"muted-extended / old-window-ended","expected":"muted-extended","passed":true},{"actual":"muted","check":"mute-error / cancel-mute-intent","expected":"audible-channel","passed":false},{"actual":"audible-channel","check":"older notification incarnation","expected":"audible-channel","passed":true},{"actual":"audible-channel","check":"future notification incarnation","expected":"audible-channel","passed":true},{"actual":"audible-channel","check":"unknown event is inert","expected":"audible-channel","passed":true},{"actual":"audible-channel","check":"empty delivery batch","expected":"audible-channel","passed":true},{"actual":"mute-pending","check":"N stale deliveries before current delivery","expected":"mute-pending","passed":true},{"actual":"muted","check":"trace mute-for-session then mute-confirmed","expected":"muted","passed":true},{"actual":"mute-error","check":"trace mute-for-session then mute-rejected","expected":"mute-error","passed":true},{"actual":"unmute-pending","check":"trace mute-confirmed then mute-window-ended","expected":"unmute-pending","passed":true},{"actual":"extend-pending","check":"trace mute-confirmed then extend-mute","expected":"extend-pending","passed":true},{"actual":"muted","check":"trace mute-rejected then cancel-mute-intent","expected":"audible-channel","passed":false},{"actual":"audible-channel","check":"trace mute-window-ended then unmute-confirmed","expected":"audible-channel","passed":true},{"actual":"unmute-error","check":"trace mute-window-ended then unmute-rejected","expected":"unmute-error","passed":true},{"actual":"mute-pending","check":"trace unmute-confirmed then mute-for-session","expected":"mute-pending","passed":true},{"actual":"muted-extended","check":"trace extend-mute then extension-confirmed","expected":"muted-extended","passed":true},{"actual":"muted-extended","check":"trace extension-confirmed then old-window-ended","expected":"muted-extended","passed":true},{"actual":"muted-extended","check":"trace old-window-ended then old-window-ended","expected":"muted-extended","passed":true},{"actual":"muted","check":"trace cancel-mute-intent then mute-for-session","expected":"mute-pending","passed":false},{"actual":{"phase":"muted","value":true},"check":"domain state regression 1: muted","expected":{"phase":"muted","value":true},"passed":true},{"actual":{"phase":"unmute-pending","value":true},"check":"domain state regression 2: muted","expected":{"phase":"unmute-pending","value":true},"passed":true},{"actual":{"phase":"extend-pending","value":30},"check":"domain state regression 3: extension","expected":{"phase":"extend-pending","value":30},"passed":true},{"actual":{"phase":"muted-extended","value":60},"check":"domain state regression 4: until","expected":{"phase":"muted-extended","value":60},"passed":true},{"actual":{"phase":"muted-extended","value":true},"check":"domain state regression 5: muted","expected":{"phase":"muted-extended","value":true},"passed":true},{"actual":{"phase":"audible-channel","value":false},"check":"domain state regression 6: muted","expected":{"phase":"audible-channel","value":false},"passed":true},{"actual":{"phase":"muted-extended","value":80},"check":"domain state regression 7: until","expected":{"phase":"muted-extended","value":80},"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"audible-channel / mute-for-session\", \"actual\": \"mute-pending\", \"expected\": \"mute-pending\", \"passed\": true}, {\"check\": \"mute-pending / mute-confirmed\", \"actual\": \"muted\", \"expected\": \"muted\", \"passed\": true}, {\"check\": \"mute-pending / mute-rejected\", \"actual\": \"mute-error\", \"expected\": \"mute-error\", \"passed\": true}, {\"check\": \"muted / mute-window-ended\", \"actual\": \"unmute-pending\", \"expected\": \"unmute-pending\", \"passed\": true}, {\"check\": \"unmute-pending / unmute-confirmed\", \"actual\": \"audible-channel\", \"expected\": \"audible-channel\", \"passed\": true}, {\"check\": \"unmute-pending / unmute-rejected\", \"actual\": \"unmute-error\", \"expected\": \"unmute-error\", \"passed\": true}, {\"check\": \"muted / extend-mute\", \"actual\": \"extend-pending\", \"expected\": \"extend-pending\", \"passed\": true}, {\"check\": \"extend-pending / extension-confirmed\", \"actual\": \"muted-extended\", \"expected\": \"muted-extended\", \"passed\": true}, {\"check\": \"muted-extended / old-window-ended\", \"actual\": \"muted-extended\", \"expected\": \"muted-extended\", \"passed\": true}, {\"check\": \"mute-error / cancel-mute-intent\", \"actual\": \"muted\", \"expected\": \"audible-channel\", \"passed\": false}, {\"check\": \"older notification incarnation\", \"actual\": \"audible-channel\", \"expected\": \"audible-channel\", \"passed\": true}, {\"check\": \"future notification incarnation\", \"actual\": \"audible-channel\", \"expected\": \"audible-channel\", \"passed\": true}, {\"check\": \"unknown event is inert\", \"actual\": \"audible-channel\", \"expected\": \"audible-channel\", \"passed\": true}, {\"check\": \"empty delivery batch\", \"actual\": \"audible-channel\", \"expected\": \"audible-channel\", \"passed\": true}, {\"check\": \"N stale deliveries before current delivery\", \"actual\": \"mute-pending\", \"expected\": \"mute-pending\", \"passed\": true}, {\"check\": \"trace mute-for-session then mute-confirmed\", \"actual\": \"muted\", \"expected\": \"muted\", \"passed\": true}, {\"check\": \"trace mute-for-session then mute-rejected\", \"actual\": \"mute-error\", \"expected\": \"mute-error\", \"passed\": true}, {\"check\": \"trace mute-confirmed then mute-window-ended\", \"actual\": \"unmute-pending\", \"expected\": \"unmute-pending\", \"passed\": true}, {\"check\": \"trace mute-confirmed then extend-mute\", \"actual\": \"extend-pending\", \"expected\": \"extend-pending\", \"passed\": true}, {\"check\": \"trace mute-rejected then cancel-mute-intent\", \"actual\": \"muted\", \"expected\": \"audible-channel\", \"passed\": false}, {\"check\": \"trace mute-window-ended then unmute-confirmed\", \"actual\": \"audible-channel\", \"expected\": \"audible-channel\", \"passed\": true}, {\"check\": \"trace mute-window-ended then unmute-rejected\", \"actual\": \"unmute-error\", \"expected\": \"unmute-error\", \"passed\": true}, {\"check\": \"trace unmute-confirmed then mute-for-session\", \"actual\": \"mute-pending\", \"expected\": \"mute-pending\", \"passed\": true}, {\"check\": \"trace extend-mute then extension-confirmed\", \"actual\": \"muted-extended\", \"expected\": \"muted-extended\", \"passed\": true}, {\"check\": \"trace extension-confirmed then old-window-ended\", \"actual\": \"muted-extended\", \"expected\": \"muted-extended\", \"passed\": true}, {\"check\": \"trace old-window-ended then old-window-ended\", \"actual\": \"muted-extended\", \"expected\": \"muted-extended\", \"passed\": true}, {\"check\": \"trace cancel-mute-intent then mute-for-session\", \"actual\": \"muted\", \"expected\": \"mute-pending\", \"passed\": false}, {\"check\": \"domain state regression 1: muted\", \"actual\": {\"phase\": \"muted\", \"value\": true}, \"expected\": {\"phase\": \"muted\", \"value\": true}, \"passed\": true}, {\"check\": \"domain state regression 2: muted\", \"actual\": {\"phase\": \"unmute-pending\", \"value\": true}, \"expected\": {\"phase\": \"unmute-pending\", \"value\": true}, \"passed\": true}, {\"check\": \"domain state regression 3: extension\", \"actual\": {\"phase\": \"extend-pending\", \"value\": 30}, \"expected\": {\"phase\": \"extend-pending\", \"value\": 30}, \"passed\": true}, {\"check\": \"domain state regression 4: until\", \"actual\": {\"phase\": \"muted-extended\", \"value\": 60}, \"expected\": {\"phase\": \"muted-extended\", \"value\": 60}, \"passed\": true}, {\"check\": \"domain state regression 5: muted\", \"actual\": {\"phase\": \"muted-extended\", \"value\": true}, \"expected\": {\"phase\": \"muted-extended\", \"value\": true}, \"passed\": true}, {\"check\": \"domain state regression 6: muted\", \"actual\": {\"phase\": \"audible-channel\", \"value\": false}, \"expected\": {\"phase\": \"audible-channel\", \"value\": false}, \"passed\": true}, {\"check\": \"domain state regression 7: until\", \"actual\": {\"phase\": \"muted-extended\", \"value\": 80}, \"expected\": {\"phase\": \"muted-extended\", \"value\": 80}, \"passed\": true}], \"passed\": false}\n"},"fixed":{"elapsed_ms":41.205,"exit_code":0,"observations":[{"actual":"mute-pending","check":"audible-channel / mute-for-session","expected":"mute-pending","passed":true},{"actual":"muted","check":"mute-pending / mute-confirmed","expected":"muted","passed":true},{"actual":"mute-error","check":"mute-pending / mute-rejected","expected":"mute-error","passed":true},{"actual":"unmute-pending","check":"muted / mute-window-ended","expected":"unmute-pending","passed":true},{"actual":"audible-channel","check":"unmute-pending / unmute-confirmed","expected":"audible-channel","passed":true},{"actual":"unmute-error","check":"unmute-pending / unmute-rejected","expected":"unmute-error","passed":true},{"actual":"extend-pending","check":"muted / extend-mute","expected":"extend-pending","passed":true},{"actual":"muted-extended","check":"extend-pending / extension-confirmed","expected":"muted-extended","passed":true},{"actual":"muted-extended","check":"muted-extended / old-window-ended","expected":"muted-extended","passed":true},{"actual":"audible-channel","check":"mute-error / cancel-mute-intent","expected":"audible-channel","passed":true},{"actual":"audible-channel","check":"older notification incarnation","expected":"audible-channel","passed":true},{"actual":"audible-channel","check":"future notification incarnation","expected":"audible-channel","passed":true},{"actual":"audible-channel","check":"unknown event is inert","expected":"audible-channel","passed":true},{"actual":"audible-channel","check":"empty delivery batch","expected":"audible-channel","passed":true},{"actual":"mute-pending","check":"N stale deliveries before current delivery","expected":"mute-pending","passed":true},{"actual":"muted","check":"trace mute-for-session then mute-confirmed","expected":"muted","passed":true},{"actual":"mute-error","check":"trace mute-for-session then mute-rejected","expected":"mute-error","passed":true},{"actual":"unmute-pending","check":"trace mute-confirmed then mute-window-ended","expected":"unmute-pending","passed":true},{"actual":"extend-pending","check":"trace mute-confirmed then extend-mute","expected":"extend-pending","passed":true},{"actual":"audible-channel","check":"trace mute-rejected then cancel-mute-intent","expected":"audible-channel","passed":true},{"actual":"audible-channel","check":"trace mute-window-ended then unmute-confirmed","expected":"audible-channel","passed":true},{"actual":"unmute-error","check":"trace mute-window-ended then unmute-rejected","expected":"unmute-error","passed":true},{"actual":"mute-pending","check":"trace unmute-confirmed then mute-for-session","expected":"mute-pending","passed":true},{"actual":"muted-extended","check":"trace extend-mute then extension-confirmed","expected":"muted-extended","passed":true},{"actual":"muted-extended","check":"trace extension-confirmed then old-window-ended","expected":"muted-extended","passed":true},{"actual":"muted-extended","check":"trace old-window-ended then old-window-ended","expected":"muted-extended","passed":true},{"actual":"mute-pending","check":"trace cancel-mute-intent then mute-for-session","expected":"mute-pending","passed":true},{"actual":{"phase":"muted","value":true},"check":"domain state regression 1: muted","expected":{"phase":"muted","value":true},"passed":true},{"actual":{"phase":"unmute-pending","value":true},"check":"domain state regression 2: muted","expected":{"phase":"unmute-pending","value":true},"passed":true},{"actual":{"phase":"extend-pending","value":30},"check":"domain state regression 3: extension","expected":{"phase":"extend-pending","value":30},"passed":true},{"actual":{"phase":"muted-extended","value":60},"check":"domain state regression 4: until","expected":{"phase":"muted-extended","value":60},"passed":true},{"actual":{"phase":"muted-extended","value":true},"check":"domain state regression 5: muted","expected":{"phase":"muted-extended","value":true},"passed":true},{"actual":{"phase":"audible-channel","value":false},"check":"domain state regression 6: muted","expected":{"phase":"audible-channel","value":false},"passed":true},{"actual":{"phase":"muted-extended","value":80},"check":"domain state regression 7: until","expected":{"phase":"muted-extended","value":80},"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"audible-channel / mute-for-session\", \"actual\": \"mute-pending\", \"expected\": \"mute-pending\", \"passed\": true}, {\"check\": \"mute-pending / mute-confirmed\", \"actual\": \"muted\", \"expected\": \"muted\", \"passed\": true}, {\"check\": \"mute-pending / mute-rejected\", \"actual\": \"mute-error\", \"expected\": \"mute-error\", \"passed\": true}, {\"check\": \"muted / mute-window-ended\", \"actual\": \"unmute-pending\", \"expected\": \"unmute-pending\", \"passed\": true}, {\"check\": \"unmute-pending / unmute-confirmed\", \"actual\": \"audible-channel\", \"expected\": \"audible-channel\", \"passed\": true}, {\"check\": \"unmute-pending / unmute-rejected\", \"actual\": \"unmute-error\", \"expected\": \"unmute-error\", \"passed\": true}, {\"check\": \"muted / extend-mute\", \"actual\": \"extend-pending\", \"expected\": \"extend-pending\", \"passed\": true}, {\"check\": \"extend-pending / extension-confirmed\", \"actual\": \"muted-extended\", \"expected\": \"muted-extended\", \"passed\": true}, {\"check\": \"muted-extended / old-window-ended\", \"actual\": \"muted-extended\", \"expected\": \"muted-extended\", \"passed\": true}, {\"check\": \"mute-error / cancel-mute-intent\", \"actual\": \"audible-channel\", \"expected\": \"audible-channel\", \"passed\": true}, {\"check\": \"older notification incarnation\", \"actual\": \"audible-channel\", \"expected\": \"audible-channel\", \"passed\": true}, {\"check\": \"future notification incarnation\", \"actual\": \"audible-channel\", \"expected\": \"audible-channel\", \"passed\": true}, {\"check\": \"unknown event is inert\", \"actual\": \"audible-channel\", \"expected\": \"audible-channel\", \"passed\": true}, {\"check\": \"empty delivery batch\", \"actual\": \"audible-channel\", \"expected\": \"audible-channel\", \"passed\": true}, {\"check\": \"N stale deliveries before current delivery\", \"actual\": \"mute-pending\", \"expected\": \"mute-pending\", \"passed\": true}, {\"check\": \"trace mute-for-session then mute-confirmed\", \"actual\": \"muted\", \"expected\": \"muted\", \"passed\": true}, {\"check\": \"trace mute-for-session then mute-rejected\", \"actual\": \"mute-error\", \"expected\": \"mute-error\", \"passed\": true}, {\"check\": \"trace mute-confirmed then mute-window-ended\", \"actual\": \"unmute-pending\", \"expected\": \"unmute-pending\", \"passed\": true}, {\"check\": \"trace mute-confirmed then extend-mute\", \"actual\": \"extend-pending\", \"expected\": \"extend-pending\", \"passed\": true}, {\"check\": \"trace mute-rejected then cancel-mute-intent\", \"actual\": \"audible-channel\", \"expected\": \"audible-channel\", \"passed\": true}, {\"check\": \"trace mute-window-ended then unmute-confirmed\", \"actual\": \"audible-channel\", \"expected\": \"audible-channel\", \"passed\": true}, {\"check\": \"trace mute-window-ended then unmute-rejected\", \"actual\": \"unmute-error\", \"expected\": \"unmute-error\", \"passed\": true}, {\"check\": \"trace unmute-confirmed then mute-for-session\", \"actual\": \"mute-pending\", \"expected\": \"mute-pending\", \"passed\": true}, {\"check\": \"trace extend-mute then extension-confirmed\", \"actual\": \"muted-extended\", \"expected\": \"muted-extended\", \"passed\": true}, {\"check\": \"trace extension-confirmed then old-window-ended\", \"actual\": \"muted-extended\", \"expected\": \"muted-extended\", \"passed\": true}, {\"check\": \"trace old-window-ended then old-window-ended\", \"actual\": \"muted-extended\", \"expected\": \"muted-extended\", \"passed\": true}, {\"check\": \"trace cancel-mute-intent then mute-for-session\", \"actual\": \"mute-pending\", \"expected\": \"mute-pending\", \"passed\": true}, {\"check\": \"domain state regression 1: muted\", \"actual\": {\"phase\": \"muted\", \"value\": true}, \"expected\": {\"phase\": \"muted\", \"value\": true}, \"passed\": true}, {\"check\": \"domain state regression 2: muted\", \"actual\": {\"phase\": \"unmute-pending\", \"value\": true}, \"expected\": {\"phase\": \"unmute-pending\", \"value\": true}, \"passed\": true}, {\"check\": \"domain state regression 3: extension\", \"actual\": {\"phase\": \"extend-pending\", \"value\": 30}, \"expected\": {\"phase\": \"extend-pending\", \"value\": 30}, \"passed\": true}, {\"check\": \"domain state regression 4: until\", \"actual\": {\"phase\": \"muted-extended\", \"value\": 60}, \"expected\": {\"phase\": \"muted-extended\", \"value\": 60}, \"passed\": true}, {\"check\": \"domain state regression 5: muted\", \"actual\": {\"phase\": \"muted-extended\", \"value\": true}, \"expected\": {\"phase\": \"muted-extended\", \"value\": true}, \"passed\": true}, {\"check\": \"domain state regression 6: muted\", \"actual\": {\"phase\": \"audible-channel\", \"value\": false}, \"expected\": {\"phase\": \"audible-channel\", \"value\": false}, \"passed\": true}, {\"check\": \"domain state regression 7: until\", \"actual\": {\"phase\": \"muted-extended\", \"value\": 80}, \"expected\": {\"phase\": \"muted-extended\", \"value\": 80}, \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}