# End-of-session checklist (my /wrap, made generic)

AI sessions forget everything when they end. So before one ends, it writes down what happened in the
places the next session will actually read. I run this as a command called `/wrap`. This is the
checklist behind it, with my project names taken out.

## 1. State (do all of these, every time)

- [ ] **The pass file.** Tick the DoD items that are really done, with how each was checked. Set the
      status: `done` (move it to `PASSES/_archive/`) or `parked` (say why, and what unparks it).
- [ ] **The changelog.** One dated entry for anything that changed: code shipped, a setting changed,
      something sent, a decision made. Write it at the moment it happens if you can. At wrap, check
      nothing is missing.
- [ ] **The gotchas file.** Any new fact about how a tool or system actually behaves goes in as one
      dated bullet (see `gotchas-pattern.md`).
- [ ] **New to-dos.** Anything that came up but isn't part of this pass goes into the task list as its
      own task, with an owner and a priority. Not into a note, not into the chat.
- [ ] **Answers from a human.** If somebody answered a question this session, write the answer where
      the next session will find it (the pass file's forks, the gotchas file, or the project index)
      and quote their words.
- [ ] **Commit and push.** Nothing lives only on one machine or only in the chat.
- [ ] **Release anything you claimed**, so another session can pick the work up.

## 2. Learnings

- [ ] Did something go wrong that a rule or a skill should prevent next time? Write the fix into the
      skill itself, not just the notes. Have a different agent review that change first.
- [ ] Did the same mistake happen again after a rule already existed? Then the fix is code (a check, a
      script, a template), not another rule.

## 3. The last thing it says

Every session ends with two lines:

- **Done:** what changed, in plain words, and how it was checked.
- **Next:** the one next action, or the one question, with a recommended answer.

## Things I check for

- A build passing is not the same as it working. What was actually run, and what did it return?
- "Nothing needed doing" is a fine result. Don't invent work to have something to report.
- If a result is surprising, check your own test first. Most of the time the surprise is the test.
