Runbook

How this site is operated. Detailed steps with account access live in the private repo docs.

SLO policy

Board stale

SEV1 When /api/health returns 503, probe or daily rollup metadata is too old. Static pages still load; live JSON may be stale.

  1. Check status and /api/health JSON.
  2. Look for cron or Worker errors in Cloudflare observability.
  3. Wait one probe interval (2 min) after upstream recovery.

Endpoint permanently dead

SEV2 One public RPC stays down after provider outage.

  1. Verify the URL off-site (manual JSON-RPC).
  2. Disable or replace the endpoint in upstream config, re-verify, redeploy.
  3. Board updates on the next successful probe.

D1 or request quota pressure

SEV3 Free-tier D1 and Worker request limits are modeled in code and tested in CI.

Cron never runs

Two schedules only: every 2 minutes and 00:07 UTC daily. If metadata never updates, cron triggers or deployment is wrong — redeploy after fixing config.

Budget at a glance

8 keyless RPC probes · 720 probe runs/day · 2 cron slots · $0 Cloudflare free tier target.

Live board Postmortem template