Owner notices report four conditions; the ask is "any error event on the server" #179
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?
Split out of #178, which reported two things at once: a webhook that stayed silent
while the browser was unreachable (the bug, tracked on #178) and a scope request —
"I want the discord bot to be as informative as they can. Reporting any error event
that are happening in the server." This ticket is only the second half.
The request
Today the outbound path (
internal/notify,latest.FaultsFrom) judges exactly fourconditions —
ConditionStall,ConditionNoBrowserRoute,ConditionSidecarDown,ConditionAdapterBroken— and each fires once per episode. Everything else that goeswrong on the server is a
log.Printfline and nothing more: a failed coveracquisition, a failed store write inside a pass, a refused Site with a browser route,
a 500 from a handler, and — notably — a failed owner-notice POST itself.
Why this is not a straight yes
#137 chose the four conditions with a stated rule, and the rule is the decision, not
the list: a fault reaches the owner only when it is silent on every Reader surface,
wrong, repairable only by the owner, and persisting past twelve hours
(
latest.OwnerWindow). "Any error event" inverts that rule — most server errors areeither visible within one reading session (the web UI dies visibly, the userscript
degrades to its cache), self-healing by the next pass, or so frequent that a channel
full of them trains the owner to ignore the one message that mattered.
So this needs grilling before it can be built. The shape it most plausibly collapses
to, and the part that #178 actually exposes:
suppression row left unwritten (
Poller.ownerNotices); a webhook that is unset,revoked or unreachable produces exactly the same observable as a healthy server with
nothing to say — silence. That is the same silent-fault class the whole feature was
built to kill, and it is the one error event that cannot be delivered by the channel
it concerns.
on the Lanes page beside the poller/browser facts; a startup or manual test ping; a
fifth condition for a class the four miss; a severity split. Or: reject the general
form and keep the rule.
Open questions for triage
misses is what tells us whether this is a fifth condition or a diagnosability gap.
heartbeat, a deploy note, a daily digest? That is a different decision from widening
the fault set, and it is the one that decides whether the four-test rule survives.
a log tail?
Related