mirror of
https://github.com/MBombeck/HealthLog.git
synced 2026-11-09 13:01:00 +00:00
A wide event carries one action and the last annotation wins, so a hop that failed before the next provider answered, one failed account among six, or a caught error the code carried on past was either a meta key on someone else's info line or nothing at all. `emitSignal` writes one extra line under a stable action and level, joined to the surrounding event by request and trace id; `logCaught` / `caughtAs` are its warn-level shape for a catch that degrades on purpose. Every failed pg-boss run now writes `job.run.failed` at error with the queue and how many runs of it in a row have failed, counted from pg-boss's own rows (`readConsecutiveRunFailures`). `reportJobRun` takes a fan-out pass's whole candidate list: an all-failed run is `job.run.failed`, a partial one `job.run.partial` at warn, and the run reports `all_failed` in its facts so a completed night with nothing done still counts toward the streak. The repeated-failure alert keys on that one action and number. Retention is per queue now. `failureReaderRetention` refuses a queue retention under 96 hours (the 72-hour reader window plus a day), and a guard refuses any `deleteAfterSeconds` that is neither that helper nor a literal at or above the floor. A refusal the request was meant to get (any error carrying a 4xx status) is recorded at warn instead of error. Expired-token 401s were most of the error lines and hid the real failures between them.