Skip to content

Definition of done

View Markdown

A change is done when all of the following are true. Projects may add items; they may not remove them without an ADR.

  • Lint, format and type checks pass with zero warnings.
  • Unit tests cover the new logic; all tests pass in CI.
  • Integration or end-to-end test for any new user-facing flow.
  • No TODO, stub, mock data or commented-out code left without a tracked follow-up.
  • No new dependency without approval; licence and maintenance checked.
  • No secrets, tokens or personal data in code, tests, logs or fixtures.
  • Meets every acceptance criterion in the spec section.
  • Errors are handled and shown to users in plain words with a next step.
  • Works at small (≈360 px) and large (≈1440 px) widths, light and dark themes, keyboard only, reduced motion (UI work).
  • No new console errors or warnings.
  • Performance budgets hold (see budgets).
  • Accessibility: automated check has no serious or critical issues.
  • Security checklist done for changes touching auth, input, files, payments, headers or LLM tools.
  • Spec, ADRs and AGENTS.md updated if behaviour or conventions changed.
  • Changelog entry.
  • User-facing docs or content updated.
  • The task report lists what was not done and any assumptions. “Done” is never claimed for partial work.