CodeIssuesPull RequestsActionsSecurityInsights
✨ AI
More
Settings

feat(paging): test button + weekly drill — paging you can't test is paging you don't have #5537

Merged⚡ AI-generatedXSccantynz wants to mergefeat/paging-drillmainopened 6d ago
ccantynzcommented 6d ago

Mission Control build #3 (agent-built, coordinator-integrated over truth + medic)

The scar this heals: on 2026-08-22 the heartbeat detected three outages perfectly and paged no one.

  • "Send test page now" at /admin/paging — with the honesty boundary held everywhere: the result reads "webhook accepted (HTTP 200) — now confirm it reached your device", never a delivery claim (every webhook provider 200s before your phone buzzes). The webhook URL is presence-only in every render path, pinned by a leak-canary test.
  • Weekly drill (autopilot task): a clearly-labeled synthetic page through the real webhook path, severity alternating weekly so both priority routes get exercised; guard hydrates from audit rows so deploys can't re-fire it. A refused/unconfigured webhook persists a doctor:paging red row through the existing check pipeline — a broken pager can't page about itself, so the news travels by red row + the external dead-man covers total silence (the chain is documented in the file header).
  • docs/ESCALATION-POLICY.md — founder-scale truth (one person, webhook→bell→email order, critical-any-hour), rendered live on the admin page. Persistence via the audit log — zero new tables.

Integration note: a CRLF-blind conflict resolution briefly pushed marker-broken files; caught by typecheck before PR, amended with the CRLF-aware resolution. 24/24 tests + runner invariants green; typecheck clean.

🤖 Generated with Claude Code

ccantynzAI Reviewcommented 6d ago

AI Triage

(no summary)

Priority: medium Risk area: mixed

Suggested labels: (no label suggestions) Suggested reviewers: (no reviewer suggestions)

Suggestions only — nothing has been applied. The PR author stays in control.

gluecron[bot]🤖 botAI Reviewcommented 6d ago

AI review unavailable

The platform's AI balance is exhausted, so AI generation is temporarily unavailable. Nothing was lost. You can queue this as a repair for the internal agent from the repository's Health page, or try again once the balance is restored. The PR is otherwise unchanged.

Cross-repo impact

See what breaks downstream if this PR merges.

Analyze →
⮌ Merged

This pull request was merged into main.

c comment · e edit title · m merge · a approve · r request changes · ? shortcuts