# HANDOFF.md

> Copy this file into your repo root. Fill it in before handing an AI coding task
> to another developer. Delete the guidance lines in `<!-- -->` before committing.
> Vendor-neutral — works with Claude Code, Codex, Cursor, or a plain chat session.

---

## 1. Outcome

<!-- One sentence. What is true when this is done? Not "work on X" — "X returns Y". -->

**Done means:**

## 2. Acceptance criteria

<!-- The checks the reviewer will actually run. If you can't name them, the task isn't ready to hand off. -->

- [ ]
- [ ]
- [ ]

## 3. Repository and branch

- **Repo:**
- **Branch:**  <!-- the branch the runner should continue on, not main -->
- **Base commit:**  <!-- git rev-parse HEAD -->
- **Uncommitted work?**  <!-- yes/no. If yes, push it first — the runner cannot see your working tree. -->

## 4. Where the work is

<!-- Specific files and functions. "Somewhere in the auth module" wastes the next person's first hour. -->

| File | What's there |
|---|---|
| `path/to/file.ts:120` | |
| | |

## 5. Current state

<!-- What actually works right now, honestly. -->

- **Working:**
- **Not working:**
- **Half-finished:**

## 6. Test state

- **Command to run tests:**
- **Passing:**
- **Failing (and why):**
- **Not yet written:**

## 7. Decisions already made

<!-- The reasoning the next person can't reconstruct from the diff. This is the part that's
     lost when you hand over a chat transcript instead of a document. -->

| Decision | Why | Alternative rejected |
|---|---|---|
| | | |

## 8. Constraints — do not do these

<!-- Scope fences. Be explicit; an agent will happily "improve" things you didn't ask about. -->

- Do not
- Do not
- Do not open a pull request, merge, deploy, or take destructive action unless stated here

## 9. Open questions

<!-- Things you don't know the answer to. Say who owns each one. -->

| Question | Who decides |
|---|---|
| | |

## 10. Next action

<!-- The single next step, concretely. Not a plan — the next command or the next edit. -->

## 11. People

- **Task owner (accountable for the outcome):**
- **Runner (executing this):**
- **Reviewer (accepts or returns it):**

## 12. Access the runner needs

<!-- What the runner must supply from their own accounts. Nothing here should be a credential
     you paste into this file. If a secret is needed, name it and say where it lives. -->

- Runner uses **their own** agent subscription / account
- Required env vars: `` (values from: )
- Services that must be running locally:

---

### Rules for whoever picks this up

1. Read this whole file before starting the agent.
2. Stay inside section 8. If the task leaves scope, stop and ask the owner.
3. Report what actually happened, including failures — a failed run reported accurately is worth more than a vague success.
4. You are responsible for the human checks in section 2. The agent does not sign off on its own work.
5. Do not paste credentials, API keys, or tokens into the agent session.

---

*Template: https://wagglet.com/ai-coding-agent-handoff/ — free to copy and adapt (CC0 / public domain).*
