STRALOstatus — heartbeat + fanout health.
Two live operational signals, fetched per visit from the same database the webhook-delivery and booking-reminderscron jobs write into. The numbers below are NOT marketing copy — they are the real outputs of every recovery and reminder flow that ran in the last twenty-four hours.
Where these numbers come from
The badge reports operationalwhen the most-recent successful processing timestamp — across WebhookDelivery, Booking, or BookingReminder— sits in the last 5 min. That’s the heartbeat cadence of the slower booking-reminders cron (a */5 tick); a stale timestamp older than that is a real signal that a cron leg is wedged.
The 90-day uptime percentage reports a separate delivered / total ratio over WebhookDeliveryrows for the three outbound event types — it’s the same table the webhook-delivery cron mutates, NOT an inbound request log (this stack does not persist one). Until the cron has been ticking long enough to accumulate rows the value reads —.
booking.reminder fanoutCounts delivered, failed, and pending WebhookDelivery rows since now − 24 h. The percentage on the card is delivered / total × 100.
The retry story behind those rows is exponential 2m→4m→8m→16m→32m over six attempts, and the “Drift” callout below covers the same shape the /docs page documents. pending rows are mid-retry and are NOT counted against the success rate.
What this page does and doesn’t claim
The API heartbeat is a freshness proxy, not a true request-successmetric — this stack does not ship a request log and we’re not going to invent one just to render a status page. The 90-day uptime number is the WebhookDeliverysuccess ratio rolled up across all three event types, and the 24h webhook number is the same table’s booking.reminder subset.
The page is rendered by the route at /api/status; the contract lives at src/lib/contracts/status.ts (shared with the <StatusMetrics/>island on the client). When the field shape, the heartbeat cadence, or the 24h subset drifts, edit the route + the contract + this page together — a number that no longer matches the live route is worse than no number.