{"abstract":"The cancel-accepted event leaves a notification in scheduled instead of visible.","category":"Notification interfaces","checks":36,"contract":"Notification snooze presentation is a bounded visual-notification workflow with mutable policy state {'now': 10, 'wake': 30, 'scheduled': False, 'resurfaced': 0}. Its default transition relation is {('visible', 'open-snooze'): 'choosing', ('choosing', 'cancel-chooser'): 'visible', ('choosing', 'confirm-future'): 'scheduling', ('scheduling', 'persisted'): 'scheduled', ('scheduling', 'persist-failed'): 'snooze-error', ('scheduled', 'wake-time'): 'resurfaced', ('scheduled', 'cancel-snooze'): 'cancel-pending', ('cancel-pending', 'cancel-accepted'): 'visible', ('resurfaced', 'wake-replay'): 'resurfaced', ('snooze-error', 'choose-again'): 'choosing'}; 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-snooze","failed_approach":"Removing it entirely loses the original actionable notice.","family":"s3-notification-interfaces-snooze-08","id":"FA-34076","implementations":{"attempt":{"sha256":"d46fb4ee64e066438e53eb95e9a61f0e38dc2f5852440990fcdb800687d9d120","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 = {('visible', 'open-snooze'): 'choosing', ('choosing', 'cancel-chooser'): 'visible', ('choosing', 'confirm-future'): 'scheduling', ('scheduling', 'persisted'): 'scheduled', ('scheduling', 'persist-failed'): 'snooze-error', ('scheduled', 'wake-time'): 'resurfaced', ('scheduled', 'cancel-snooze'): 'cancel-pending', ('cancel-pending', 'cancel-accepted'): 'hidden', ('resurfaced', 'wake-replay'): 'resurfaced', ('snooze-error', 'choose-again'): 'choosing'}\n    data = json.loads(json.dumps({'now': 10, 'wake': 30, 'scheduled': False, 'resurfaced': 0})) if payload is None else {**json.loads(json.dumps({'now': 10, 'wake': 30, 'scheduled': False, 'resurfaced': 0})), **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 == 'confirm-future':\n                wake = arg.get('wake',data['wake'])\n                if wake <= data['now']: event = 'unknown-event'\n                else: data['wake'] = wake\n            if event == 'wake-time' and data['now'] < data['wake'] and 'now' in arg: event = 'unknown-event'\n            state = table.get((state, event), state)\n            if state == 'scheduled': data['scheduled'] = True\n            if state in ('visible','resurfaced'): data['scheduled'] = False\n            if state == 'resurfaced' and previous != 'resurfaced': data['resurfaced'] += 1\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('visible / open-snooze', solve('visible', [('open-snooze', N)], N), 'choosing')\ncheck('choosing / cancel-chooser', solve('choosing', [('cancel-chooser', N)], N), 'visible')\ncheck('choosing / confirm-future', solve('choosing', [('confirm-future', N)], N), 'scheduling')\ncheck('scheduling / persisted', solve('scheduling', [('persisted', N)], N), 'scheduled')\ncheck('scheduling / persist-failed', solve('scheduling', [('persist-failed', N)], N), 'snooze-error')\ncheck('scheduled / wake-time', solve('scheduled', [('wake-time', N)], N), 'resurfaced')\ncheck('scheduled / cancel-snooze', solve('scheduled', [('cancel-snooze', N)], N), 'cancel-pending')\ncheck('cancel-pending / cancel-accepted', solve('cancel-pending', [('cancel-accepted', N)], N), 'visible')\ncheck('resurfaced / wake-replay', solve('resurfaced', [('wake-replay', N)], N), 'resurfaced')\ncheck('snooze-error / choose-again', solve('snooze-error', [('choose-again', N)], N), 'choosing')\ncheck('older notification incarnation', solve('visible', [('open-snooze', N - 1)], N), 'visible')\ncheck('future notification incarnation', solve('visible', [('open-snooze', N + 1)], N), 'visible')\ncheck('unknown event is inert', solve('visible', [('unknown-event', N)], N), 'visible')\ncheck('empty delivery batch', solve('visible', [], N), 'visible')\ncheck('N stale deliveries before current delivery', solve('visible', [('open-snooze', N - 1)] * N + [('open-snooze', N)], N), 'choosing')\ncheck('trace open-snooze then cancel-chooser', solve('visible', [('open-snooze', N), ('cancel-chooser', N)], N), 'visible')\ncheck('trace open-snooze then confirm-future', solve('visible', [('open-snooze', N), ('confirm-future', N)], N), 'scheduling')\ncheck('trace cancel-chooser then open-snooze', solve('choosing', [('cancel-chooser', N), ('open-snooze', N)], N), 'choosing')\ncheck('trace confirm-future then persisted', solve('choosing', [('confirm-future', N), ('persisted', N)], N), 'scheduled')\ncheck('trace confirm-future then persist-failed', solve('choosing', [('confirm-future', N), ('persist-failed', N)], N), 'snooze-error')\ncheck('trace persisted then wake-time', solve('scheduling', [('persisted', N), ('wake-time', N)], N), 'resurfaced')\ncheck('trace persisted then cancel-snooze', solve('scheduling', [('persisted', N), ('cancel-snooze', N)], N), 'cancel-pending')\ncheck('trace persist-failed then choose-again', solve('scheduling', [('persist-failed', N), ('choose-again', N)], N), 'choosing')\ncheck('trace wake-time then wake-replay', solve('scheduled', [('wake-time', N), ('wake-replay', N)], N), 'resurfaced')\ncheck('trace cancel-snooze then cancel-accepted', solve('scheduled', [('cancel-snooze', N), ('cancel-accepted', N)], N), 'visible')\ncheck('trace cancel-accepted then open-snooze', solve('cancel-pending', [('cancel-accepted', N), ('open-snooze', N)], N), 'choosing')\ncheck('trace wake-replay then wake-replay', solve('resurfaced', [('wake-replay', N), ('wake-replay', N)], N), 'resurfaced')\ncheck('trace choose-again then cancel-chooser', solve('snooze-error', [('choose-again', N), ('cancel-chooser', N)], N), 'visible')\ncheck('trace choose-again then confirm-future', solve('snooze-error', [('choose-again', N), ('confirm-future', N)], N), 'scheduling')\ncheck('domain state regression 1: wake', solve('choosing', [('confirm-future', N, {'wake': 10})], N, {}, 'wake'), {'phase': 'choosing', 'value': 30})\ncheck('domain state regression 2: wake', solve('choosing', [('confirm-future', N, {'wake': 50})], N, {}, 'wake'), {'phase': 'scheduling', 'value': 50})\ncheck('domain state regression 3: scheduled', solve('scheduled', [('wake-time', N, {'now': 29})], N, {'scheduled': True}, 'scheduled'), {'phase': 'scheduled', 'value': True})\ncheck('domain state regression 4: resurfaced', solve('scheduled', [('wake-time', N, {'now': 30})], N, {'scheduled': True}, 'resurfaced'), {'phase': 'resurfaced', 'value': 1})\ncheck('domain state regression 5: resurfaced', solve('resurfaced', [('wake-replay', N, {})], N, {'resurfaced': 1}, 'resurfaced'), {'phase': 'resurfaced', 'value': 1})\ncheck('domain state regression 6: scheduled', solve('cancel-pending', [('cancel-accepted', N, {})], N, {'scheduled': True}, 'scheduled'), {'phase': 'visible', 'value': False})\ncheck('domain state regression 7: resurfaced', solve('choosing', [('confirm-future', N, {'wake': 40}), ('persisted', N, {}), ('wake-time', N, {'now': 39}), ('wake-time', N, {'now': 40}), ('wake-replay', N, {})], N, {}, 'resurfaced'), {'phase': 'resurfaced', 'value': 1})\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":"1e1bf33b1a7a3545ad228e15a2aa06081dc5708278051d008d20f7340189e7da","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 = {('visible', 'open-snooze'): 'choosing', ('choosing', 'cancel-chooser'): 'visible', ('choosing', 'confirm-future'): 'scheduling', ('scheduling', 'persisted'): 'scheduled', ('scheduling', 'persist-failed'): 'snooze-error', ('scheduled', 'wake-time'): 'resurfaced', ('scheduled', 'cancel-snooze'): 'cancel-pending', ('cancel-pending', 'cancel-accepted'): 'scheduled', ('resurfaced', 'wake-replay'): 'resurfaced', ('snooze-error', 'choose-again'): 'choosing'}\n    data = json.loads(json.dumps({'now': 10, 'wake': 30, 'scheduled': False, 'resurfaced': 0})) if payload is None else {**json.loads(json.dumps({'now': 10, 'wake': 30, 'scheduled': False, 'resurfaced': 0})), **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 == 'confirm-future':\n                wake = arg.get('wake',data['wake'])\n                if wake <= data['now']: event = 'unknown-event'\n                else: data['wake'] = wake\n            if event == 'wake-time' and data['now'] < data['wake'] and 'now' in arg: event = 'unknown-event'\n            state = table.get((state, event), state)\n            if state == 'scheduled': data['scheduled'] = True\n            if state in ('visible','resurfaced'): data['scheduled'] = False\n            if state == 'resurfaced' and previous != 'resurfaced': data['resurfaced'] += 1\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('visible / open-snooze', solve('visible', [('open-snooze', N)], N), 'choosing')\ncheck('choosing / cancel-chooser', solve('choosing', [('cancel-chooser', N)], N), 'visible')\ncheck('choosing / confirm-future', solve('choosing', [('confirm-future', N)], N), 'scheduling')\ncheck('scheduling / persisted', solve('scheduling', [('persisted', N)], N), 'scheduled')\ncheck('scheduling / persist-failed', solve('scheduling', [('persist-failed', N)], N), 'snooze-error')\ncheck('scheduled / wake-time', solve('scheduled', [('wake-time', N)], N), 'resurfaced')\ncheck('scheduled / cancel-snooze', solve('scheduled', [('cancel-snooze', N)], N), 'cancel-pending')\ncheck('cancel-pending / cancel-accepted', solve('cancel-pending', [('cancel-accepted', N)], N), 'visible')\ncheck('resurfaced / wake-replay', solve('resurfaced', [('wake-replay', N)], N), 'resurfaced')\ncheck('snooze-error / choose-again', solve('snooze-error', [('choose-again', N)], N), 'choosing')\ncheck('older notification incarnation', solve('visible', [('open-snooze', N - 1)], N), 'visible')\ncheck('future notification incarnation', solve('visible', [('open-snooze', N + 1)], N), 'visible')\ncheck('unknown event is inert', solve('visible', [('unknown-event', N)], N), 'visible')\ncheck('empty delivery batch', solve('visible', [], N), 'visible')\ncheck('N stale deliveries before current delivery', solve('visible', [('open-snooze', N - 1)] * N + [('open-snooze', N)], N), 'choosing')\ncheck('trace open-snooze then cancel-chooser', solve('visible', [('open-snooze', N), ('cancel-chooser', N)], N), 'visible')\ncheck('trace open-snooze then confirm-future', solve('visible', [('open-snooze', N), ('confirm-future', N)], N), 'scheduling')\ncheck('trace cancel-chooser then open-snooze', solve('choosing', [('cancel-chooser', N), ('open-snooze', N)], N), 'choosing')\ncheck('trace confirm-future then persisted', solve('choosing', [('confirm-future', N), ('persisted', N)], N), 'scheduled')\ncheck('trace confirm-future then persist-failed', solve('choosing', [('confirm-future', N), ('persist-failed', N)], N), 'snooze-error')\ncheck('trace persisted then wake-time', solve('scheduling', [('persisted', N), ('wake-time', N)], N), 'resurfaced')\ncheck('trace persisted then cancel-snooze', solve('scheduling', [('persisted', N), ('cancel-snooze', N)], N), 'cancel-pending')\ncheck('trace persist-failed then choose-again', solve('scheduling', [('persist-failed', N), ('choose-again', N)], N), 'choosing')\ncheck('trace wake-time then wake-replay', solve('scheduled', [('wake-time', N), ('wake-replay', N)], N), 'resurfaced')\ncheck('trace cancel-snooze then cancel-accepted', solve('scheduled', [('cancel-snooze', N), ('cancel-accepted', N)], N), 'visible')\ncheck('trace cancel-accepted then open-snooze', solve('cancel-pending', [('cancel-accepted', N), ('open-snooze', N)], N), 'choosing')\ncheck('trace wake-replay then wake-replay', solve('resurfaced', [('wake-replay', N), ('wake-replay', N)], N), 'resurfaced')\ncheck('trace choose-again then cancel-chooser', solve('snooze-error', [('choose-again', N), ('cancel-chooser', N)], N), 'visible')\ncheck('trace choose-again then confirm-future', solve('snooze-error', [('choose-again', N), ('confirm-future', N)], N), 'scheduling')\ncheck('domain state regression 1: wake', solve('choosing', [('confirm-future', N, {'wake': 10})], N, {}, 'wake'), {'phase': 'choosing', 'value': 30})\ncheck('domain state regression 2: wake', solve('choosing', [('confirm-future', N, {'wake': 50})], N, {}, 'wake'), {'phase': 'scheduling', 'value': 50})\ncheck('domain state regression 3: scheduled', solve('scheduled', [('wake-time', N, {'now': 29})], N, {'scheduled': True}, 'scheduled'), {'phase': 'scheduled', 'value': True})\ncheck('domain state regression 4: resurfaced', solve('scheduled', [('wake-time', N, {'now': 30})], N, {'scheduled': True}, 'resurfaced'), {'phase': 'resurfaced', 'value': 1})\ncheck('domain state regression 5: resurfaced', solve('resurfaced', [('wake-replay', N, {})], N, {'resurfaced': 1}, 'resurfaced'), {'phase': 'resurfaced', 'value': 1})\ncheck('domain state regression 6: scheduled', solve('cancel-pending', [('cancel-accepted', N, {})], N, {'scheduled': True}, 'scheduled'), {'phase': 'visible', 'value': False})\ncheck('domain state regression 7: resurfaced', solve('choosing', [('confirm-future', N, {'wake': 40}), ('persisted', N, {}), ('wake-time', N, {'now': 39}), ('wake-time', N, {'now': 40}), ('wake-replay', N, {})], N, {}, 'resurfaced'), {'phase': 'resurfaced', 'value': 1})\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":"261d9893b8b4ad2fed07adb666506cbe25aa9ce6ad442a907ba96279c35db6ec","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 = {('visible', 'open-snooze'): 'choosing', ('choosing', 'cancel-chooser'): 'visible', ('choosing', 'confirm-future'): 'scheduling', ('scheduling', 'persisted'): 'scheduled', ('scheduling', 'persist-failed'): 'snooze-error', ('scheduled', 'wake-time'): 'resurfaced', ('scheduled', 'cancel-snooze'): 'cancel-pending', ('cancel-pending', 'cancel-accepted'): 'visible', ('resurfaced', 'wake-replay'): 'resurfaced', ('snooze-error', 'choose-again'): 'choosing'}\n    data = json.loads(json.dumps({'now': 10, 'wake': 30, 'scheduled': False, 'resurfaced': 0})) if payload is None else {**json.loads(json.dumps({'now': 10, 'wake': 30, 'scheduled': False, 'resurfaced': 0})), **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 == 'confirm-future':\n                wake = arg.get('wake',data['wake'])\n                if wake <= data['now']: event = 'unknown-event'\n                else: data['wake'] = wake\n            if event == 'wake-time' and data['now'] < data['wake'] and 'now' in arg: event = 'unknown-event'\n            state = table.get((state, event), state)\n            if state == 'scheduled': data['scheduled'] = True\n            if state in ('visible','resurfaced'): data['scheduled'] = False\n            if state == 'resurfaced' and previous != 'resurfaced': data['resurfaced'] += 1\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('visible / open-snooze', solve('visible', [('open-snooze', N)], N), 'choosing')\ncheck('choosing / cancel-chooser', solve('choosing', [('cancel-chooser', N)], N), 'visible')\ncheck('choosing / confirm-future', solve('choosing', [('confirm-future', N)], N), 'scheduling')\ncheck('scheduling / persisted', solve('scheduling', [('persisted', N)], N), 'scheduled')\ncheck('scheduling / persist-failed', solve('scheduling', [('persist-failed', N)], N), 'snooze-error')\ncheck('scheduled / wake-time', solve('scheduled', [('wake-time', N)], N), 'resurfaced')\ncheck('scheduled / cancel-snooze', solve('scheduled', [('cancel-snooze', N)], N), 'cancel-pending')\ncheck('cancel-pending / cancel-accepted', solve('cancel-pending', [('cancel-accepted', N)], N), 'visible')\ncheck('resurfaced / wake-replay', solve('resurfaced', [('wake-replay', N)], N), 'resurfaced')\ncheck('snooze-error / choose-again', solve('snooze-error', [('choose-again', N)], N), 'choosing')\ncheck('older notification incarnation', solve('visible', [('open-snooze', N - 1)], N), 'visible')\ncheck('future notification incarnation', solve('visible', [('open-snooze', N + 1)], N), 'visible')\ncheck('unknown event is inert', solve('visible', [('unknown-event', N)], N), 'visible')\ncheck('empty delivery batch', solve('visible', [], N), 'visible')\ncheck('N stale deliveries before current delivery', solve('visible', [('open-snooze', N - 1)] * N + [('open-snooze', N)], N), 'choosing')\ncheck('trace open-snooze then cancel-chooser', solve('visible', [('open-snooze', N), ('cancel-chooser', N)], N), 'visible')\ncheck('trace open-snooze then confirm-future', solve('visible', [('open-snooze', N), ('confirm-future', N)], N), 'scheduling')\ncheck('trace cancel-chooser then open-snooze', solve('choosing', [('cancel-chooser', N), ('open-snooze', N)], N), 'choosing')\ncheck('trace confirm-future then persisted', solve('choosing', [('confirm-future', N), ('persisted', N)], N), 'scheduled')\ncheck('trace confirm-future then persist-failed', solve('choosing', [('confirm-future', N), ('persist-failed', N)], N), 'snooze-error')\ncheck('trace persisted then wake-time', solve('scheduling', [('persisted', N), ('wake-time', N)], N), 'resurfaced')\ncheck('trace persisted then cancel-snooze', solve('scheduling', [('persisted', N), ('cancel-snooze', N)], N), 'cancel-pending')\ncheck('trace persist-failed then choose-again', solve('scheduling', [('persist-failed', N), ('choose-again', N)], N), 'choosing')\ncheck('trace wake-time then wake-replay', solve('scheduled', [('wake-time', N), ('wake-replay', N)], N), 'resurfaced')\ncheck('trace cancel-snooze then cancel-accepted', solve('scheduled', [('cancel-snooze', N), ('cancel-accepted', N)], N), 'visible')\ncheck('trace cancel-accepted then open-snooze', solve('cancel-pending', [('cancel-accepted', N), ('open-snooze', N)], N), 'choosing')\ncheck('trace wake-replay then wake-replay', solve('resurfaced', [('wake-replay', N), ('wake-replay', N)], N), 'resurfaced')\ncheck('trace choose-again then cancel-chooser', solve('snooze-error', [('choose-again', N), ('cancel-chooser', N)], N), 'visible')\ncheck('trace choose-again then confirm-future', solve('snooze-error', [('choose-again', N), ('confirm-future', N)], N), 'scheduling')\ncheck('domain state regression 1: wake', solve('choosing', [('confirm-future', N, {'wake': 10})], N, {}, 'wake'), {'phase': 'choosing', 'value': 30})\ncheck('domain state regression 2: wake', solve('choosing', [('confirm-future', N, {'wake': 50})], N, {}, 'wake'), {'phase': 'scheduling', 'value': 50})\ncheck('domain state regression 3: scheduled', solve('scheduled', [('wake-time', N, {'now': 29})], N, {'scheduled': True}, 'scheduled'), {'phase': 'scheduled', 'value': True})\ncheck('domain state regression 4: resurfaced', solve('scheduled', [('wake-time', N, {'now': 30})], N, {'scheduled': True}, 'resurfaced'), {'phase': 'resurfaced', 'value': 1})\ncheck('domain state regression 5: resurfaced', solve('resurfaced', [('wake-replay', N, {})], N, {'resurfaced': 1}, 'resurfaced'), {'phase': 'resurfaced', 'value': 1})\ncheck('domain state regression 6: scheduled', solve('cancel-pending', [('cancel-accepted', N, {})], N, {'scheduled': True}, 'scheduled'), {'phase': 'visible', 'value': False})\ncheck('domain state regression 7: resurfaced', solve('choosing', [('confirm-future', N, {'wake': 40}), ('persisted', N, {}), ('wake-time', N, {'now': 39}), ('wake-time', N, {'now': 40}), ('wake-replay', N, {})], N, {}, 'resurfaced'), {'phase': 'resurfaced', 'value': 1})\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-snooze-08","generated_at":"2026-09-29T14:42:28.369129+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 cancel-pending / cancel-accepted transition to visible; preserve the other explicitly stipulated transitions.","root_cause":"A canceled reminder still shows scheduled status.","sha256":"46ccde7eb809a4d3bcb56a5e565de5501af4d8433d09558c9a0310c53d341e8c","title":"Notification snooze presentation: cancel-accepted from cancel-pending · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":41.422,"exit_code":1,"observations":[{"actual":"choosing","check":"visible / open-snooze","expected":"choosing","passed":true},{"actual":"visible","check":"choosing / cancel-chooser","expected":"visible","passed":true},{"actual":"scheduling","check":"choosing / confirm-future","expected":"scheduling","passed":true},{"actual":"scheduled","check":"scheduling / persisted","expected":"scheduled","passed":true},{"actual":"snooze-error","check":"scheduling / persist-failed","expected":"snooze-error","passed":true},{"actual":"resurfaced","check":"scheduled / wake-time","expected":"resurfaced","passed":true},{"actual":"cancel-pending","check":"scheduled / cancel-snooze","expected":"cancel-pending","passed":true},{"actual":"hidden","check":"cancel-pending / cancel-accepted","expected":"visible","passed":false},{"actual":"resurfaced","check":"resurfaced / wake-replay","expected":"resurfaced","passed":true},{"actual":"choosing","check":"snooze-error / choose-again","expected":"choosing","passed":true},{"actual":"visible","check":"older notification incarnation","expected":"visible","passed":true},{"actual":"visible","check":"future notification incarnation","expected":"visible","passed":true},{"actual":"visible","check":"unknown event is inert","expected":"visible","passed":true},{"actual":"visible","check":"empty delivery batch","expected":"visible","passed":true},{"actual":"choosing","check":"N stale deliveries before current delivery","expected":"choosing","passed":true},{"actual":"visible","check":"trace open-snooze then cancel-chooser","expected":"visible","passed":true},{"actual":"scheduling","check":"trace open-snooze then confirm-future","expected":"scheduling","passed":true},{"actual":"choosing","check":"trace cancel-chooser then open-snooze","expected":"choosing","passed":true},{"actual":"scheduled","check":"trace confirm-future then persisted","expected":"scheduled","passed":true},{"actual":"snooze-error","check":"trace confirm-future then persist-failed","expected":"snooze-error","passed":true},{"actual":"resurfaced","check":"trace persisted then wake-time","expected":"resurfaced","passed":true},{"actual":"cancel-pending","check":"trace persisted then cancel-snooze","expected":"cancel-pending","passed":true},{"actual":"choosing","check":"trace persist-failed then choose-again","expected":"choosing","passed":true},{"actual":"resurfaced","check":"trace wake-time then wake-replay","expected":"resurfaced","passed":true},{"actual":"hidden","check":"trace cancel-snooze then cancel-accepted","expected":"visible","passed":false},{"actual":"hidden","check":"trace cancel-accepted then open-snooze","expected":"choosing","passed":false},{"actual":"resurfaced","check":"trace wake-replay then wake-replay","expected":"resurfaced","passed":true},{"actual":"visible","check":"trace choose-again then cancel-chooser","expected":"visible","passed":true},{"actual":"scheduling","check":"trace choose-again then confirm-future","expected":"scheduling","passed":true},{"actual":{"phase":"choosing","value":30},"check":"domain state regression 1: wake","expected":{"phase":"choosing","value":30},"passed":true},{"actual":{"phase":"scheduling","value":50},"check":"domain state regression 2: wake","expected":{"phase":"scheduling","value":50},"passed":true},{"actual":{"phase":"scheduled","value":true},"check":"domain state regression 3: scheduled","expected":{"phase":"scheduled","value":true},"passed":true},{"actual":{"phase":"resurfaced","value":1},"check":"domain state regression 4: resurfaced","expected":{"phase":"resurfaced","value":1},"passed":true},{"actual":{"phase":"resurfaced","value":1},"check":"domain state regression 5: resurfaced","expected":{"phase":"resurfaced","value":1},"passed":true},{"actual":{"phase":"hidden","value":true},"check":"domain state regression 6: scheduled","expected":{"phase":"visible","value":false},"passed":false},{"actual":{"phase":"resurfaced","value":1},"check":"domain state regression 7: resurfaced","expected":{"phase":"resurfaced","value":1},"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"visible / open-snooze\", \"actual\": \"choosing\", \"expected\": \"choosing\", \"passed\": true}, {\"check\": \"choosing / cancel-chooser\", \"actual\": \"visible\", \"expected\": \"visible\", \"passed\": true}, {\"check\": \"choosing / confirm-future\", \"actual\": \"scheduling\", \"expected\": \"scheduling\", \"passed\": true}, {\"check\": \"scheduling / persisted\", \"actual\": \"scheduled\", \"expected\": \"scheduled\", \"passed\": true}, {\"check\": \"scheduling / persist-failed\", \"actual\": \"snooze-error\", \"expected\": \"snooze-error\", \"passed\": true}, {\"check\": \"scheduled / wake-time\", \"actual\": \"resurfaced\", \"expected\": \"resurfaced\", \"passed\": true}, {\"check\": \"scheduled / cancel-snooze\", \"actual\": \"cancel-pending\", \"expected\": \"cancel-pending\", \"passed\": true}, {\"check\": \"cancel-pending / cancel-accepted\", \"actual\": \"hidden\", \"expected\": \"visible\", \"passed\": false}, {\"check\": \"resurfaced / wake-replay\", \"actual\": \"resurfaced\", \"expected\": \"resurfaced\", \"passed\": true}, {\"check\": \"snooze-error / choose-again\", \"actual\": \"choosing\", \"expected\": \"choosing\", \"passed\": true}, {\"check\": \"older notification incarnation\", \"actual\": \"visible\", \"expected\": \"visible\", \"passed\": true}, {\"check\": \"future notification incarnation\", \"actual\": \"visible\", \"expected\": \"visible\", \"passed\": true}, {\"check\": \"unknown event is inert\", \"actual\": \"visible\", \"expected\": \"visible\", \"passed\": true}, {\"check\": \"empty delivery batch\", \"actual\": \"visible\", \"expected\": \"visible\", \"passed\": true}, {\"check\": \"N stale deliveries before current delivery\", \"actual\": \"choosing\", \"expected\": \"choosing\", \"passed\": true}, {\"check\": \"trace open-snooze then cancel-chooser\", \"actual\": \"visible\", \"expected\": \"visible\", \"passed\": true}, {\"check\": \"trace open-snooze then confirm-future\", \"actual\": \"scheduling\", \"expected\": \"scheduling\", \"passed\": true}, {\"check\": \"trace cancel-chooser then open-snooze\", \"actual\": \"choosing\", \"expected\": \"choosing\", \"passed\": true}, {\"check\": \"trace confirm-future then persisted\", \"actual\": \"scheduled\", \"expected\": \"scheduled\", \"passed\": true}, {\"check\": \"trace confirm-future then persist-failed\", \"actual\": \"snooze-error\", \"expected\": \"snooze-error\", \"passed\": true}, {\"check\": \"trace persisted then wake-time\", \"actual\": \"resurfaced\", \"expected\": \"resurfaced\", \"passed\": true}, {\"check\": \"trace persisted then cancel-snooze\", \"actual\": \"cancel-pending\", \"expected\": \"cancel-pending\", \"passed\": true}, {\"check\": \"trace persist-failed then choose-again\", \"actual\": \"choosing\", \"expected\": \"choosing\", \"passed\": true}, {\"check\": \"trace wake-time then wake-replay\", \"actual\": \"resurfaced\", \"expected\": \"resurfaced\", \"passed\": true}, {\"check\": \"trace cancel-snooze then cancel-accepted\", \"actual\": \"hidden\", \"expected\": \"visible\", \"passed\": false}, {\"check\": \"trace cancel-accepted then open-snooze\", \"actual\": \"hidden\", \"expected\": \"choosing\", \"passed\": false}, {\"check\": \"trace wake-replay then wake-replay\", \"actual\": \"resurfaced\", \"expected\": \"resurfaced\", \"passed\": true}, {\"check\": \"trace choose-again then cancel-chooser\", \"actual\": \"visible\", \"expected\": \"visible\", \"passed\": true}, {\"check\": \"trace choose-again then confirm-future\", \"actual\": \"scheduling\", \"expected\": \"scheduling\", \"passed\": true}, {\"check\": \"domain state regression 1: wake\", \"actual\": {\"phase\": \"choosing\", \"value\": 30}, \"expected\": {\"phase\": \"choosing\", \"value\": 30}, \"passed\": true}, {\"check\": \"domain state regression 2: wake\", \"actual\": {\"phase\": \"scheduling\", \"value\": 50}, \"expected\": {\"phase\": \"scheduling\", \"value\": 50}, \"passed\": true}, {\"check\": \"domain state regression 3: scheduled\", \"actual\": {\"phase\": \"scheduled\", \"value\": true}, \"expected\": {\"phase\": \"scheduled\", \"value\": true}, \"passed\": true}, {\"check\": \"domain state regression 4: resurfaced\", \"actual\": {\"phase\": \"resurfaced\", \"value\": 1}, \"expected\": {\"phase\": \"resurfaced\", \"value\": 1}, \"passed\": true}, {\"check\": \"domain state regression 5: resurfaced\", \"actual\": {\"phase\": \"resurfaced\", \"value\": 1}, \"expected\": {\"phase\": \"resurfaced\", \"value\": 1}, \"passed\": true}, {\"check\": \"domain state regression 6: scheduled\", \"actual\": {\"phase\": \"hidden\", \"value\": true}, \"expected\": {\"phase\": \"visible\", \"value\": false}, \"passed\": false}, {\"check\": \"domain state regression 7: resurfaced\", \"actual\": {\"phase\": \"resurfaced\", \"value\": 1}, \"expected\": {\"phase\": \"resurfaced\", \"value\": 1}, \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":42.492,"exit_code":1,"observations":[{"actual":"choosing","check":"visible / open-snooze","expected":"choosing","passed":true},{"actual":"visible","check":"choosing / cancel-chooser","expected":"visible","passed":true},{"actual":"scheduling","check":"choosing / confirm-future","expected":"scheduling","passed":true},{"actual":"scheduled","check":"scheduling / persisted","expected":"scheduled","passed":true},{"actual":"snooze-error","check":"scheduling / persist-failed","expected":"snooze-error","passed":true},{"actual":"resurfaced","check":"scheduled / wake-time","expected":"resurfaced","passed":true},{"actual":"cancel-pending","check":"scheduled / cancel-snooze","expected":"cancel-pending","passed":true},{"actual":"scheduled","check":"cancel-pending / cancel-accepted","expected":"visible","passed":false},{"actual":"resurfaced","check":"resurfaced / wake-replay","expected":"resurfaced","passed":true},{"actual":"choosing","check":"snooze-error / choose-again","expected":"choosing","passed":true},{"actual":"visible","check":"older notification incarnation","expected":"visible","passed":true},{"actual":"visible","check":"future notification incarnation","expected":"visible","passed":true},{"actual":"visible","check":"unknown event is inert","expected":"visible","passed":true},{"actual":"visible","check":"empty delivery batch","expected":"visible","passed":true},{"actual":"choosing","check":"N stale deliveries before current delivery","expected":"choosing","passed":true},{"actual":"visible","check":"trace open-snooze then cancel-chooser","expected":"visible","passed":true},{"actual":"scheduling","check":"trace open-snooze then confirm-future","expected":"scheduling","passed":true},{"actual":"choosing","check":"trace cancel-chooser then open-snooze","expected":"choosing","passed":true},{"actual":"scheduled","check":"trace confirm-future then persisted","expected":"scheduled","passed":true},{"actual":"snooze-error","check":"trace confirm-future then persist-failed","expected":"snooze-error","passed":true},{"actual":"resurfaced","check":"trace persisted then wake-time","expected":"resurfaced","passed":true},{"actual":"cancel-pending","check":"trace persisted then cancel-snooze","expected":"cancel-pending","passed":true},{"actual":"choosing","check":"trace persist-failed then choose-again","expected":"choosing","passed":true},{"actual":"resurfaced","check":"trace wake-time then wake-replay","expected":"resurfaced","passed":true},{"actual":"scheduled","check":"trace cancel-snooze then cancel-accepted","expected":"visible","passed":false},{"actual":"scheduled","check":"trace cancel-accepted then open-snooze","expected":"choosing","passed":false},{"actual":"resurfaced","check":"trace wake-replay then wake-replay","expected":"resurfaced","passed":true},{"actual":"visible","check":"trace choose-again then cancel-chooser","expected":"visible","passed":true},{"actual":"scheduling","check":"trace choose-again then confirm-future","expected":"scheduling","passed":true},{"actual":{"phase":"choosing","value":30},"check":"domain state regression 1: wake","expected":{"phase":"choosing","value":30},"passed":true},{"actual":{"phase":"scheduling","value":50},"check":"domain state regression 2: wake","expected":{"phase":"scheduling","value":50},"passed":true},{"actual":{"phase":"scheduled","value":true},"check":"domain state regression 3: scheduled","expected":{"phase":"scheduled","value":true},"passed":true},{"actual":{"phase":"resurfaced","value":1},"check":"domain state regression 4: resurfaced","expected":{"phase":"resurfaced","value":1},"passed":true},{"actual":{"phase":"resurfaced","value":1},"check":"domain state regression 5: resurfaced","expected":{"phase":"resurfaced","value":1},"passed":true},{"actual":{"phase":"scheduled","value":true},"check":"domain state regression 6: scheduled","expected":{"phase":"visible","value":false},"passed":false},{"actual":{"phase":"resurfaced","value":1},"check":"domain state regression 7: resurfaced","expected":{"phase":"resurfaced","value":1},"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"visible / open-snooze\", \"actual\": \"choosing\", \"expected\": \"choosing\", \"passed\": true}, {\"check\": \"choosing / cancel-chooser\", \"actual\": \"visible\", \"expected\": \"visible\", \"passed\": true}, {\"check\": \"choosing / confirm-future\", \"actual\": \"scheduling\", \"expected\": \"scheduling\", \"passed\": true}, {\"check\": \"scheduling / persisted\", \"actual\": \"scheduled\", \"expected\": \"scheduled\", \"passed\": true}, {\"check\": \"scheduling / persist-failed\", \"actual\": \"snooze-error\", \"expected\": \"snooze-error\", \"passed\": true}, {\"check\": \"scheduled / wake-time\", \"actual\": \"resurfaced\", \"expected\": \"resurfaced\", \"passed\": true}, {\"check\": \"scheduled / cancel-snooze\", \"actual\": \"cancel-pending\", \"expected\": \"cancel-pending\", \"passed\": true}, {\"check\": \"cancel-pending / cancel-accepted\", \"actual\": \"scheduled\", \"expected\": \"visible\", \"passed\": false}, {\"check\": \"resurfaced / wake-replay\", \"actual\": \"resurfaced\", \"expected\": \"resurfaced\", \"passed\": true}, {\"check\": \"snooze-error / choose-again\", \"actual\": \"choosing\", \"expected\": \"choosing\", \"passed\": true}, {\"check\": \"older notification incarnation\", \"actual\": \"visible\", \"expected\": \"visible\", \"passed\": true}, {\"check\": \"future notification incarnation\", \"actual\": \"visible\", \"expected\": \"visible\", \"passed\": true}, {\"check\": \"unknown event is inert\", \"actual\": \"visible\", \"expected\": \"visible\", \"passed\": true}, {\"check\": \"empty delivery batch\", \"actual\": \"visible\", \"expected\": \"visible\", \"passed\": true}, {\"check\": \"N stale deliveries before current delivery\", \"actual\": \"choosing\", \"expected\": \"choosing\", \"passed\": true}, {\"check\": \"trace open-snooze then cancel-chooser\", \"actual\": \"visible\", \"expected\": \"visible\", \"passed\": true}, {\"check\": \"trace open-snooze then confirm-future\", \"actual\": \"scheduling\", \"expected\": \"scheduling\", \"passed\": true}, {\"check\": \"trace cancel-chooser then open-snooze\", \"actual\": \"choosing\", \"expected\": \"choosing\", \"passed\": true}, {\"check\": \"trace confirm-future then persisted\", \"actual\": \"scheduled\", \"expected\": \"scheduled\", \"passed\": true}, {\"check\": \"trace confirm-future then persist-failed\", \"actual\": \"snooze-error\", \"expected\": \"snooze-error\", \"passed\": true}, {\"check\": \"trace persisted then wake-time\", \"actual\": \"resurfaced\", \"expected\": \"resurfaced\", \"passed\": true}, {\"check\": \"trace persisted then cancel-snooze\", \"actual\": \"cancel-pending\", \"expected\": \"cancel-pending\", \"passed\": true}, {\"check\": \"trace persist-failed then choose-again\", \"actual\": \"choosing\", \"expected\": \"choosing\", \"passed\": true}, {\"check\": \"trace wake-time then wake-replay\", \"actual\": \"resurfaced\", \"expected\": \"resurfaced\", \"passed\": true}, {\"check\": \"trace cancel-snooze then cancel-accepted\", \"actual\": \"scheduled\", \"expected\": \"visible\", \"passed\": false}, {\"check\": \"trace cancel-accepted then open-snooze\", \"actual\": \"scheduled\", \"expected\": \"choosing\", \"passed\": false}, {\"check\": \"trace wake-replay then wake-replay\", \"actual\": \"resurfaced\", \"expected\": \"resurfaced\", \"passed\": true}, {\"check\": \"trace choose-again then cancel-chooser\", \"actual\": \"visible\", \"expected\": \"visible\", \"passed\": true}, {\"check\": \"trace choose-again then confirm-future\", \"actual\": \"scheduling\", \"expected\": \"scheduling\", \"passed\": true}, {\"check\": \"domain state regression 1: wake\", \"actual\": {\"phase\": \"choosing\", \"value\": 30}, \"expected\": {\"phase\": \"choosing\", \"value\": 30}, \"passed\": true}, {\"check\": \"domain state regression 2: wake\", \"actual\": {\"phase\": \"scheduling\", \"value\": 50}, \"expected\": {\"phase\": \"scheduling\", \"value\": 50}, \"passed\": true}, {\"check\": \"domain state regression 3: scheduled\", \"actual\": {\"phase\": \"scheduled\", \"value\": true}, \"expected\": {\"phase\": \"scheduled\", \"value\": true}, \"passed\": true}, {\"check\": \"domain state regression 4: resurfaced\", \"actual\": {\"phase\": \"resurfaced\", \"value\": 1}, \"expected\": {\"phase\": \"resurfaced\", \"value\": 1}, \"passed\": true}, {\"check\": \"domain state regression 5: resurfaced\", \"actual\": {\"phase\": \"resurfaced\", \"value\": 1}, \"expected\": {\"phase\": \"resurfaced\", \"value\": 1}, \"passed\": true}, {\"check\": \"domain state regression 6: scheduled\", \"actual\": {\"phase\": \"scheduled\", \"value\": true}, \"expected\": {\"phase\": \"visible\", \"value\": false}, \"passed\": false}, {\"check\": \"domain state regression 7: resurfaced\", \"actual\": {\"phase\": \"resurfaced\", \"value\": 1}, \"expected\": {\"phase\": \"resurfaced\", \"value\": 1}, \"passed\": true}], \"passed\": false}\n"},"fixed":{"elapsed_ms":44.34,"exit_code":0,"observations":[{"actual":"choosing","check":"visible / open-snooze","expected":"choosing","passed":true},{"actual":"visible","check":"choosing / cancel-chooser","expected":"visible","passed":true},{"actual":"scheduling","check":"choosing / confirm-future","expected":"scheduling","passed":true},{"actual":"scheduled","check":"scheduling / persisted","expected":"scheduled","passed":true},{"actual":"snooze-error","check":"scheduling / persist-failed","expected":"snooze-error","passed":true},{"actual":"resurfaced","check":"scheduled / wake-time","expected":"resurfaced","passed":true},{"actual":"cancel-pending","check":"scheduled / cancel-snooze","expected":"cancel-pending","passed":true},{"actual":"visible","check":"cancel-pending / cancel-accepted","expected":"visible","passed":true},{"actual":"resurfaced","check":"resurfaced / wake-replay","expected":"resurfaced","passed":true},{"actual":"choosing","check":"snooze-error / choose-again","expected":"choosing","passed":true},{"actual":"visible","check":"older notification incarnation","expected":"visible","passed":true},{"actual":"visible","check":"future notification incarnation","expected":"visible","passed":true},{"actual":"visible","check":"unknown event is inert","expected":"visible","passed":true},{"actual":"visible","check":"empty delivery batch","expected":"visible","passed":true},{"actual":"choosing","check":"N stale deliveries before current delivery","expected":"choosing","passed":true},{"actual":"visible","check":"trace open-snooze then cancel-chooser","expected":"visible","passed":true},{"actual":"scheduling","check":"trace open-snooze then confirm-future","expected":"scheduling","passed":true},{"actual":"choosing","check":"trace cancel-chooser then open-snooze","expected":"choosing","passed":true},{"actual":"scheduled","check":"trace confirm-future then persisted","expected":"scheduled","passed":true},{"actual":"snooze-error","check":"trace confirm-future then persist-failed","expected":"snooze-error","passed":true},{"actual":"resurfaced","check":"trace persisted then wake-time","expected":"resurfaced","passed":true},{"actual":"cancel-pending","check":"trace persisted then cancel-snooze","expected":"cancel-pending","passed":true},{"actual":"choosing","check":"trace persist-failed then choose-again","expected":"choosing","passed":true},{"actual":"resurfaced","check":"trace wake-time then wake-replay","expected":"resurfaced","passed":true},{"actual":"visible","check":"trace cancel-snooze then cancel-accepted","expected":"visible","passed":true},{"actual":"choosing","check":"trace cancel-accepted then open-snooze","expected":"choosing","passed":true},{"actual":"resurfaced","check":"trace wake-replay then wake-replay","expected":"resurfaced","passed":true},{"actual":"visible","check":"trace choose-again then cancel-chooser","expected":"visible","passed":true},{"actual":"scheduling","check":"trace choose-again then confirm-future","expected":"scheduling","passed":true},{"actual":{"phase":"choosing","value":30},"check":"domain state regression 1: wake","expected":{"phase":"choosing","value":30},"passed":true},{"actual":{"phase":"scheduling","value":50},"check":"domain state regression 2: wake","expected":{"phase":"scheduling","value":50},"passed":true},{"actual":{"phase":"scheduled","value":true},"check":"domain state regression 3: scheduled","expected":{"phase":"scheduled","value":true},"passed":true},{"actual":{"phase":"resurfaced","value":1},"check":"domain state regression 4: resurfaced","expected":{"phase":"resurfaced","value":1},"passed":true},{"actual":{"phase":"resurfaced","value":1},"check":"domain state regression 5: resurfaced","expected":{"phase":"resurfaced","value":1},"passed":true},{"actual":{"phase":"visible","value":false},"check":"domain state regression 6: scheduled","expected":{"phase":"visible","value":false},"passed":true},{"actual":{"phase":"resurfaced","value":1},"check":"domain state regression 7: resurfaced","expected":{"phase":"resurfaced","value":1},"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"visible / open-snooze\", \"actual\": \"choosing\", \"expected\": \"choosing\", \"passed\": true}, {\"check\": \"choosing / cancel-chooser\", \"actual\": \"visible\", \"expected\": \"visible\", \"passed\": true}, {\"check\": \"choosing / confirm-future\", \"actual\": \"scheduling\", \"expected\": \"scheduling\", \"passed\": true}, {\"check\": \"scheduling / persisted\", \"actual\": \"scheduled\", \"expected\": \"scheduled\", \"passed\": true}, {\"check\": \"scheduling / persist-failed\", \"actual\": \"snooze-error\", \"expected\": \"snooze-error\", \"passed\": true}, {\"check\": \"scheduled / wake-time\", \"actual\": \"resurfaced\", \"expected\": \"resurfaced\", \"passed\": true}, {\"check\": \"scheduled / cancel-snooze\", \"actual\": \"cancel-pending\", \"expected\": \"cancel-pending\", \"passed\": true}, {\"check\": \"cancel-pending / cancel-accepted\", \"actual\": \"visible\", \"expected\": \"visible\", \"passed\": true}, {\"check\": \"resurfaced / wake-replay\", \"actual\": \"resurfaced\", \"expected\": \"resurfaced\", \"passed\": true}, {\"check\": \"snooze-error / choose-again\", \"actual\": \"choosing\", \"expected\": \"choosing\", \"passed\": true}, {\"check\": \"older notification incarnation\", \"actual\": \"visible\", \"expected\": \"visible\", \"passed\": true}, {\"check\": \"future notification incarnation\", \"actual\": \"visible\", \"expected\": \"visible\", \"passed\": true}, {\"check\": \"unknown event is inert\", \"actual\": \"visible\", \"expected\": \"visible\", \"passed\": true}, {\"check\": \"empty delivery batch\", \"actual\": \"visible\", \"expected\": \"visible\", \"passed\": true}, {\"check\": \"N stale deliveries before current delivery\", \"actual\": \"choosing\", \"expected\": \"choosing\", \"passed\": true}, {\"check\": \"trace open-snooze then cancel-chooser\", \"actual\": \"visible\", \"expected\": \"visible\", \"passed\": true}, {\"check\": \"trace open-snooze then confirm-future\", \"actual\": \"scheduling\", \"expected\": \"scheduling\", \"passed\": true}, {\"check\": \"trace cancel-chooser then open-snooze\", \"actual\": \"choosing\", \"expected\": \"choosing\", \"passed\": true}, {\"check\": \"trace confirm-future then persisted\", \"actual\": \"scheduled\", \"expected\": \"scheduled\", \"passed\": true}, {\"check\": \"trace confirm-future then persist-failed\", \"actual\": \"snooze-error\", \"expected\": \"snooze-error\", \"passed\": true}, {\"check\": \"trace persisted then wake-time\", \"actual\": \"resurfaced\", \"expected\": \"resurfaced\", \"passed\": true}, {\"check\": \"trace persisted then cancel-snooze\", \"actual\": \"cancel-pending\", \"expected\": \"cancel-pending\", \"passed\": true}, {\"check\": \"trace persist-failed then choose-again\", \"actual\": \"choosing\", \"expected\": \"choosing\", \"passed\": true}, {\"check\": \"trace wake-time then wake-replay\", \"actual\": \"resurfaced\", \"expected\": \"resurfaced\", \"passed\": true}, {\"check\": \"trace cancel-snooze then cancel-accepted\", \"actual\": \"visible\", \"expected\": \"visible\", \"passed\": true}, {\"check\": \"trace cancel-accepted then open-snooze\", \"actual\": \"choosing\", \"expected\": \"choosing\", \"passed\": true}, {\"check\": \"trace wake-replay then wake-replay\", \"actual\": \"resurfaced\", \"expected\": \"resurfaced\", \"passed\": true}, {\"check\": \"trace choose-again then cancel-chooser\", \"actual\": \"visible\", \"expected\": \"visible\", \"passed\": true}, {\"check\": \"trace choose-again then confirm-future\", \"actual\": \"scheduling\", \"expected\": \"scheduling\", \"passed\": true}, {\"check\": \"domain state regression 1: wake\", \"actual\": {\"phase\": \"choosing\", \"value\": 30}, \"expected\": {\"phase\": \"choosing\", \"value\": 30}, \"passed\": true}, {\"check\": \"domain state regression 2: wake\", \"actual\": {\"phase\": \"scheduling\", \"value\": 50}, \"expected\": {\"phase\": \"scheduling\", \"value\": 50}, \"passed\": true}, {\"check\": \"domain state regression 3: scheduled\", \"actual\": {\"phase\": \"scheduled\", \"value\": true}, \"expected\": {\"phase\": \"scheduled\", \"value\": true}, \"passed\": true}, {\"check\": \"domain state regression 4: resurfaced\", \"actual\": {\"phase\": \"resurfaced\", \"value\": 1}, \"expected\": {\"phase\": \"resurfaced\", \"value\": 1}, \"passed\": true}, {\"check\": \"domain state regression 5: resurfaced\", \"actual\": {\"phase\": \"resurfaced\", \"value\": 1}, \"expected\": {\"phase\": \"resurfaced\", \"value\": 1}, \"passed\": true}, {\"check\": \"domain state regression 6: scheduled\", \"actual\": {\"phase\": \"visible\", \"value\": false}, \"expected\": {\"phase\": \"visible\", \"value\": false}, \"passed\": true}, {\"check\": \"domain state regression 7: resurfaced\", \"actual\": {\"phase\": \"resurfaced\", \"value\": 1}, \"expected\": {\"phase\": \"resurfaced\", \"value\": 1}, \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}