PROBE T6 sends at min 0 30 60 90 120 gave-up at min 120
PROBE T7 outcomes refused,refused,refused,refused,confirmed sends at min 0 30 60 90 120
PROBE T8 first send at min 90 log lines 0
PROBE T9 sends at min 0 30 60 90 120 gave-up at min 120
✔ R2-T6 crash loop against a permanent 403: restart every 15 s (202.62209ms)
✔ R2-T7 binding fixed at 100 min (110.981781ms)
✔ R2-T8 a refusal line an hour in the future holds the DM (46.05921ms)
✔ R2-T9 a permanent 401 (69.329245ms)
PROBE T1 sends at +0s +1800s +3600s +5400s +7200s
PROBE T1 gave-up at +7200s = 120.0 min
PROBE T2 after 4 h: outcomes refused,refused,confirmed
PROBE T2 sends 3
PROBE T3 sends before restart 1 after one tick post-restart 1 (same clock second)
PROBE T4 dm sends 17 gave-up false
PROBE T5 digest sends in 1 h 7 gave-up false
PROBE A1 tick {"dms":1,"digest":false,"failed":0} line {"at":"2026-10-08T05:00:00.000Z","kind":"dm","decision":"3a28a6d6-e2ca-42a9-8397-f7e316020abb","outcome":"confirmed","messageId":123}
PROBE A1 reopen 3 notify journal line 1 is malformed (messageId): <root>/notify/demo/sent.jsonl
PROBE A2 ok sent d1 days 2026-10-08 refusals [["d2",1]]
✔ F2-T1 time from first refusal to gave-up, polling every POLL_MS (84.865022ms)
✔ F2-T2 binding fixed after 60 min: the DM never lands (109.284341ms)
✔ F2-T3 restart drops the backoff: next attempt is immediate (9.578122ms)
✔ F2-T4 500s for 6 h: no gave-up (155.600387ms)
✔ F2-T5 digest refusals: retried, never gave-up (27.298681ms)
✔ J4-A1 append does not type-check: a numeric messageId bricks the next open (11.168654ms)
✔ J4-A2 a line the row 39 writer produced still opens (7.156027ms)
ℹ tests 11
ℹ suites 0
ℹ pass 11
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 486.030224
