An incident resolved automatically overnight, written up from the timeline rather than from memory.
## 2026-04-29, worker crash loop
**Detected** 04:12, by the systemd start limit
**Resolved** 04:12, by the same mechanism
**Noticed** 08:20
**Impact** ~90 seconds of queue processing paused
**What happened** A deploy at 03:58 shipped a worker
with a missing environment variable. The unit hit its
start limit after five restarts and entered failed.
The deploy's health check does not cover workers, so
the rollback did not trigger.
Writing it up from logs rather than from experience produced a better note than most, because everything in it is sourced. The finding — the health check covers the web tier and not the workers — had been true since 2023 and only became visible when something failed in a way the web tier did not notice.