---
description: Book a failed chat into Azkaban — open a case file, preserve the evidence
argument-hint: [transcript path, session id, or description of what went wrong]
---

# /azkaban:commit — Intake

A model chat went wrong and the user wants to learn from it. This command does **intake only**: preserve the evidence and book the case. Do not analyze, do not assign blame, do not propose fixes yet, because premature diagnosis contaminates the record.

Target: $ARGUMENTS

## Procedure

1. **Locate the transcript.** If the user gave a path or session id, use it. Otherwise look in the usual places (`~/.claude/projects/*/` session JSONL, terminal scrollback they paste, an export they point you at). If no transcript is recoverable, record the user's account verbatim as the primary evidence and mark the record as testimonial, not documentary.

2. **Open the case file.** Create `.azkaban/cases/<YYYY-MM-DD>-<short-slug>/` in the current repo (or `~/.azkaban/cases/` if not in a repo). Inside it write `CASE.md` with:
   - **Charge** — one sentence: what the chat was supposed to do.
   - **Incident** — one paragraph: what it did instead, stated as observable behavior, not interpretation.
   - **Evidence** — path to the transcript (copy it into the case dir if it's somewhere volatile), plus any artifacts: wrong files it wrote, commands it ran, output it produced.
   - **Custody** — model, harness, date, and any context that shaped the run (system prompts, CLAUDE.md state, tools available), as best you can determine.
   - **Status: AWAITING INTERROGATION**

3. **Preserve before it rots.** Copy volatile evidence (scrollback, tmp files, uncommitted diffs) into the case dir now, because transcripts age out and diffs get committed over.

4. **Read back the booking.** Show the user the charge and incident lines and confirm they match what happened. Correct the record if not.

Then stop. The next step is `/azkaban:interrogate`.
