# Incident dispatch brief — {{incident_id}}

audience: AI coding agents first. You are dispatched on a live incident. This brief is your contract.

- Incident: {{incident_id}} | priority: {{priority}} | type: {{type}}
<!-- section:type -->
- Doctrine: {{doctrine}}
- Type playbook: invoke skill `{{skill}}` BEFORE acting on the situation.
<!-- end:type -->

## Situation (owner's words, verbatim — do not reinterpret)

```
{{situation}}
```

<!-- section:similar -->
## Similar past incidents

{{similar}}
<!-- end:similar -->

## Discipline — non-negotiable

1. **Reproduce before fixing.** No repro → no fix. State the repro (command + observed output) before any change.
2. **Resolved requires a CHECKABLE artifact.** One of: sha reachable on origin/main; named passing test; live-state command + expected output the reviewer can run. Free prose is NOT an artifact. No artifact ⇒ incident stays open.
3. **Worktree isolation + install-before-landing.** Repo CLAUDE.md (`~/Projects/overdeck/CLAUDE.md`) is canonical — obey its Worktree-isolation and Install-before-landing sections. NEVER work in the shared main checkout.
4. **Transcript-only findings do not exist.** Every outcome writes back via `od-incidents resolve`. A finding that lives only in your transcript is lost.

## CLI — exact invocations, never guess syntax

```
od-incidents list [--type T] [--state S]     table: id, state, type, priority, title
od-incidents show <id>                        full record incl. brief + metadata
od-incidents search <query>                   title/description substring match server-side
od-incidents resolve <id> --artifact <ref> [--summary <line>]
```

`resolve` REFUSES without `--artifact` (exit 2).

## Environment map

{{placement_map}}

## Hard prohibitions

{{never_touch}}
