Skip to main content

Engineering Definition of Done

One page, embedded in every agent task brief and enforced (the automatable parts) by the merge gate. A change is done when all of these are true:

  • Acceptance criteria demonstrably met — the ACs from the PFD pass, shown by tests, not assertion.
  • Tests honest and covering — assertions test behaviour; coverage and mutation thresholds met on changed code (see Test pyramid & coverage).
  • Docs updated in the same PR (Docs with build); stale-docs check green.
  • Merge gate green — lint, SAST, secrets, SCA all pass; no unapproved new dependencies.
  • Accessibility checks pass for any UI change (WCAG 2.2 AA — automated + the required manual charter).
  • Agent context updated — if the change taught us anything (a gotcha, a convention, an architecture fact), CLAUDE.md or memory/ records it (Repo context & memory).
  • Deployed to preview and verified — the change ran in an ephemeral environment, not just on a laptop.
  • ADR present if the change is of a type that requires one (Decision records).

How it's used

  • The DoD is pasted into every agent task brief so the agent builds to it rather than being audited against it afterwards.
  • CI enforces every automatable line; the human reviewer confirms the rest at the merge gate.
  • The DoD scales with the work (see scaled variants) — a bugfix still meets every line; each line just has less to check.