Gandalf only comments on tickets, so a ticket can stay open long after its
alert cleared (pbs's ticket sat open for a month), and an alert can stay
active for days once nobody is looking.
- The monitor reads Tinker's open ticket list (tickets_api.php, read scope)
every 15 minutes and saves it. A failed read keeps the previous list.
- Active alerts get a stale badge after monitor.stale_alert_days (3), and a
"ticket closed" badge when their ticket was closed while still active.
- A Needs Follow-up panel lists open tickets whose every alert cleared at
least monitor.stale_ticket_hours (24) ago.
- A "TO FOLLOW UP" status chip counts both. If the open ticket list is over
2 hours old, the ticket flags are left off rather than guessed.
- Replaced an — in the alert count notice.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>