The ask: one link you can open from your phone, any time, and know in two seconds that all of PURE is healthy — with role-based drill-down for staff, messaging from the same screen when something's wrong, and depth one tap away. Designed to the standard of large-scale systems (50,000 active users): the structure below follows the four golden signals discipline (latency · traffic · errors · saturation) used by enterprise SRE teams, the public-status conventions popularized by Statuspage-class products, and on-call escalation patterns from PagerDuty-class incident tooling — implemented on the rails we already run.
THE THREE VIEWS — same link, role-aware (your hat decides)
MIKE · SUPER ADMIN — "the 2-second glance"
PURE STAFF — "my section, full controls"
EMERGENCY MODE — any staff, 2am
WHAT FEEDS IT — every signal already exists in our stack
| TILE | SOURCE (live today) | CADENCE |
|---|---|---|
| Site up/down + response | UptimeRobot (22 ARE monitors; PURE monitor lands with ND-6 key) | 5 min |
| Site speed | GTmetrix per-deploy tests → qa_runs | each release |
| Database health | Supabase ping + table counts (the Atlas already measures this) | 1 min from the page |
| Integrations 9/9 | pure_integrations (the Hub's registry + toggles) | live |
| Releases / deploys | pure_releases + deploy_log — publish/revert buttons already work | live |
| Lanes + QA | lane_sessions · qa_runs · pure_board | live |
| Identity checks | vc_events | live |
| Incidents INC-* | new pure_incidents table — declared/updated/resolved, owner, severity, timeline | live |
| Messaging | team_messages + prompt_queue — already in the schema; status page posts straight into them | live |
At 50K-user scale the same page swaps polling for realtime subscriptions and the golden signals come from the load balancer + Postgres metrics — the VIEW doesn't change, only the feeds. That's the MCP server's job later (APR-2/3).
STRUCTURE & RULES
- One link:
acquisto.live/status→ Netlify site on theacquisto.livedomain (you own it — needs one DNS record + a second Netlify site, or a redirect from the existing account). - Role-aware, one page: super admin = glance; staff = their section with full controls (their queue, their integrations, escalate/act); emergency mode auto-activates when an incident is open. Roles ride the existing hat system (
memberships.role+team_members). - Severity discipline: SEV-1 outage (page on-call, banner everywhere) · SEV-2 degraded (status yellow, owner assigned) · SEV-3 cosmetic (queue ticket). Every incident: declared → investigating → mitigated → resolved → post-mortem row.
- Messaging in place: "Message PURE staff" posts to
team_messages(and Lane Mail when a lane should act); SEV-1 additionally hits UptimeRobot's alert contacts (email + SMS already configured). - Drill-down link: Details → the existing deep pages (Ops Reports, Integrations Hub, Data Atlas, Command Center) — no duplicate dashboards, the status page is the front door.
- Audit + undo: every action from the status page writes board/audit rows; revert uses the release state machine that already works.
ROLLOUT — three small phases
| PHASE | SHIPS | NEEDS FROM YOU |
|---|---|---|
| 1 · Status now | PURE Status.html in the deploy — glance view + staff sections + incidents table + messaging, fed by everything live today; reachable as acquisto.biz/lane-b/PURE Status.html day one | approval only |
| 2 · The link | acquisto.live/status — DNS + Netlify site (or redirect); phone home-screen icon (PWA manifest so it installs like an app) | DNS access · APR-7 |
| 3 · Real signals | UptimeRobot main key (ND-6) · realtime subscriptions · MCP metering · PagerDuty-class escalation if you want paid paging | ND-6 · APR-2/3 |
FOR YOUR APPROVAL — APR-7 (one tap in the Command Center, or say it here)
a) Approve the three-view structure above (glance / staff / emergency) — build Phase 1 now.
b) Approve acquisto.live/status as the address (confirm you control acquisto.live DNS).
c) Name the staff sections to start: MLS Ops (Ana) · Infrastructure (Shattique) · Leads (?) · Money (?) — give me names and I'll wire their views.