---
description: Agent-registered incident with an atomic claim — invoke instead of silently fixing an infra failure solo, so a second lane that hits the same failure gets told "already claimed by X" instead of duplicating the repair. Use when a build/deploy/gate command dies with a reproducible failure signature (not for owner-facing product bugs, and never as a substitute for /od-emergency).
allowed-tools: Bash
---

# /fire

Register (and atomically claim) an infra-failure incident on the Overdeck requests board, by
SIGNATURE — never by prose. `/fire` is registration + claim only; it never decides HOW to fix
anything. A live owner-facing failure still goes through `/od-emergency` first — `/fire` does not
replace it, and never blocks it.

## Steps

1. Build a SIGNATURE string from the failing unit + error class + path, e.g.
   `deploy-local:actions-gateway-config-missing`. Same shape of failure MUST always produce the
   IDENTICAL string — this is exact-key dedup, not similarity matching. Do not include timestamps,
   PIDs, or anything else that varies run to run.
2. Run:
   ```bash
   bun /home/user/.claude/bin/od-requests fire --project <project> "<signature>" \
     [--title "<short human summary>"] [--detail "<what you observed>"]
   ```
   Omit `--project` to let the CLI derive it from the current repository.
3. Read the CLI's output:
   - `claimed #<id> (...)` (exit 0) → no other lane owns this failure. Proceed to fix it yourself,
     through the normal runtime-first path (`/od-emergency` for an owner-facing fire).
   - `already claimed: #<id> — asked <date>, state <state>, worker <worker>` (exit 1) → another lane
     already owns this exact failure. Do NOT fix it in parallel. Tell whoever you're reporting to
     that lane `<worker>` already has it, and either wait or work around the failure instead of
     repairing it a second time.
   - `fire registration unavailable (...) — proceeding unclaimed` (exit 0) → the collector itself is
     unreachable. FAIL OPEN: proceed with your own recovery exactly as if `/fire` did not exist. A
     dedup mechanism that can halt repair during an outage is worse than a duplicate repair.
4. When you resolve the incident, update its state via the normal requests flow (state → `shipped`,
   `proof_url` set) so a later recurrence of the same signature reopens cleanly instead of finding a
   stale "claimed" row.

Never fabricate a claim result. If the CLI's output does not match one of the three shapes above,
say so plainly and proceed with your own recovery rather than guessing.
