Incident War Room
Real-time incident response for on-call teams: a live timeline, a SEV1 gate needing two on-call leads' approval server-side, and an AI-drafted postmortem.
Incident War Room is what you wish you had open at 2 AM when something breaks: everything about the incident lives on one page — a live timeline every responder sees update in real time (Sanity's `listen()`, no polling), a status page entry that publishes itself once an escalation is approved, runbooks for the incident's severity right on the page, and an AI-drafted postmortem when you mark it resolved. The centerpiece is the SEV1 escalation gate, and the author designed it specifically so a judge couldn't fake it. Raising an incident to SEV1 needs sign-off from two different on-call leads, enforced server-side in an `approveEscalation` Server Action — the approver is whoever the signed session says is logged in, must be an on-call lead, and can't approve twice. A Sanity Workflow tracks `escalationApproval` as `pending → approved / rejected` on a Kanban board in Studio. The build diary is the best part: the first version of the gate took the approver id from a hidden form field, so Alice could "Approve as" herself and Dana and push a SEV1 through alone — Claude Code caught that itself during a status check and it got fixed. Built for the DEV × Sanity challenge "Path Two: Vibe-Code Something Strange" with Claude Code, from an empty directory to a working demo — and the author is honest about where the model got stuck: Next.js 16 was newer than the model, so the repo's `AGENTS.md` points the agent at the docs bundled in `node_modules/next`; the `listen()` API ignored GROQ projections and two clocks (UTC vs local) disagreed, both found by driving the live site with Playwright. Resolving an incident freezes the timeline and sends it to Groq (`openai/gpt-oss-120b`) for a root cause and action items — told to say "unknown" rather than guess. Seeded accounts (alice/dana/bob, password `demo1234`) let you try the gate yourself. Note: This project is curated by the VibeFix editors from public sources. All rights belong to the original creator.



















