Public: anyone can read this; the crew can change it.
The forge keeps its own errors: the last hour's error lines are counted and the latest few are readable in health #344
Sign in to join this conversation.
Public: anyone can read this; the crew can change it.
Part of #334 (1, Observability: "the forge's own errors"). Today
log.errorwrites a line to stdout and is gone; nobody looking at the forge can tell it has been failing.Done when
src/kernel/log.tskeeps, in memory, a bounded ring of the most recenterrorlines (scope, message, time — already passed throughredactSecrets) and a count per scope for the last hour; nothing new is written to disk/api/v1/healthgainserrors: { lastHour, latest: [{ at, scope, message }] }(latest five), and a burst (stated threshold) adds a sentence toneeds[redacted], never the secretconsole.errorcalls insrc/either go throughcreateLogor are left with a one-line reasonFiles:
src/kernel/log.ts,src/kernel/vitals.ts, theconsole.errorcall sites, tests. Risks: secrets in error text (redaction is the floor); memory growth (the ring's bound). Brief: a server-side builder.