Artifact 7b17120ad632114d0c118d8e8925903fae6b03001c38eb6241e8cb30cf277b6e:
- File
internal/api/register.go
-
2026-08-25 19:29:25
— part of check-in
[fc8ef2165b]
on branch ops-budget
— ops: the budget is one number, and it notifies
500ms was a literal in a template and a constant nowhere. The panel coloured a p95 over it and nothing else knew, so the forge could show a route in red and tell no one.
obs.Budget is now the single definition. The panel colours against it — sent on the wire rather than hardcoded, so the page and the threshold cannot disagree — and crossing it triggers a notification.
First crossing only, on errlog's rule and for errlog's reason: the same page is slow on every request until somebody fixes it, and an alert channel that repeats itself gets muted. A muted channel is worse than none, because it reads as healthy. The decision is made under the lock, so two slow requests racing on one route cannot both report it.
This is the difference between an operator watching the forge and the forge watching itself: the ops page has to be looked at; a notification arrives. (user: dmestas, size: 262393) [annotate] [blame] [check-ins using]
- 2026-08-25 21:09:31 — part of check-in [3f238c575b] on branch trunk — Accepted. The forge now tells you, rather than waiting to be asked. (user: dmestas, size: 262393) [annotate] [blame] [check-ins using]
-
2026-08-25 19:29:25
— part of check-in
[fc8ef2165b]
on branch ops-budget
— ops: the budget is one number, and it notifies