The one bug that killed four dashboards
What broke
The app health matrix went to "unknown". The system summary went dormant, performance intelligence went inactive, engineering alerts stopped, and most of the evolution view emptied out. Four dashboards, all wrong, all at once — and none of them reporting an error.
How it was found
By looking at a write rate rather than at a dashboard. The health-check cron had been writing about ninety-six rows a day and was writing zero. The drop was not a slope, it was a cliff — one minute of one day — and a cliff has a cause you can go and find.
The actual cause
The workers resolved "the owner" by asking the auth admin API for the first user. That call returns users newest-first. For eight months there was only one user, so the query was correct by accident. The moment the first collaborator account was created, six workers began resolving the collaborator as the tenant — an account that owns no monitored apps — and each one did exactly what it was told: found nothing to do, and stopped. Every run returned success.
The fix
One shared owner constant, imported by all six workers — health-check, security-scan, SLA report, digest, client-onboard and the competitor snapshot — so that the identity of the owner is stated once and cannot be re-derived differently in six places. And a subscriber to the queue's own failure event, plus a freshness sweep over the heartbeat tables, so that "this worker has produced nothing for six hours" is itself an alert.
What it cost
A month of blind monitoring, and the discovery that the entire observability layer had been reporting the absence of data as the absence of problems.
// the whole bug
supabase.auth.admin.listUsers({ perPage: 1 })
// → returns users NEWEST-first.
// Correct for eight months. Wrong from 29 June, 14:45 UTC.