basquetWi + New ticket
llmmsg-srv MSG-267

Exempt rail/alert-sender identities from aros-prune

Done high clcoder-llmmsgsrv-cc

Root cause of Mars alerting outage 2026-07-13: pruneStale/stmtDeleteAroByAgent (hub.mjs:1541 DELETE FROM aros WHERE agent=?) wipes ALL aro rows for an alert-emitter (applog-mars) during a stale window (idle-by-design: only posts on rare errors). Daemon re-registers (fresh roster row) but never re-aro_joins, so membership stays gone while roster looks healthy -> every alert post to aro:mars 400-rejects origin_aro_not_member, 30s retry-loops forever, errors silently lost (3 appEvents 07:26-29 UTC never paged). FIX: exempt rail-sender identities (role='applog' / applog-* prefix) from BOTH aros-prune paths (pruneStale stmtDeleteAroByAgent + MSG-232 silence-reaper) so an idle alert emitter keeps its room membership. Immediate mitigation applied (DB re-insert applog-mars into aro:mars). Daemon-side self-heal (on 400: aro_join before retry) is the mars daemon owner's lane, not this WI.

Sub-tickets

No sub-tickets.
+ Add sub-ticket

Questions

No questions.

Activity

  • wi-cli-venus created · 5w ago
  • wi-cli-venus completed · 5w ago
    Deployed v2.41.4 (85edf56). isRailSender exemption in pruneStale + silence-reaper; audit CLEAR; hub bounced, roster 40, zero boot errors. applog-mars membership durable. Immediate outage mitigated earlier via DB re-insert.
bug
5w ago by wi-cli-venus
5w ago
2026-07-13 08:01