Chapter 8: The brief

Definition of done

The list that must be true before anything counts as finished, on every task: say the code type-checks, the tests pass and the docs are updated. You write it once, and it applies to all the work.

An agent stops when the work looks done to it. A written definition gives it something to run in place of that feeling. It only rejects what it names, though. The bench below shows how far a general list gets you when nobody asked for the behaviour that was missing.

Say it to your agent

“Add to AGENTS.md: "Done means bun run typecheck, bun run lint and bun test all exit 0, with the output pasted in your reply. If one could not run, say inconclusive, not done."”

The workshop

Name a word, or describe what you mean in everyday language.