poll_failures: the row is the failure state #165
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Parent
Part of #137.
What to build
A Series that used to work and has stopped becomes a durable fact instead of a log line nobody reads. A new per-Series table holds one row per failing Series; the row's existence is the failure state. A correct read deletes it. No success sentinel, no counter, no history — and nothing is added to the Series row.
Two outcomes deliberately write nothing at all, and the silence is load-bearing in both directions: a Site refusing us and our own browser being unreachable are not evidence about any particular Series. Writing a row would mark a whole library as failing when one Site had a bad day; deleting one would claim recovery when nothing was read, resetting the age that makes a three-month failure findable.
Acceptance criteria
refusedandunreachableissue no statement at all — asserted against a pre-seeded row so both directions are covered.Blocked by
Landed on spec-137 (merge
4d67736, then5a32943after #169). poll_failures table: upsert on failure (word updates, failing_since sticky), delete on success, refused/unreachable write nothing (both directions proven), due query untouched, ADR-0016 recorded. Two-axis review: spec pass, standards pass (1 style nit fixed, 1 duplication call declined w/ reason). Full backend suite green post-merge. Commits:417f809,caabdff.