Summary
Define what "done" means at each maturity level — from basic (code compiles, tests pass) to comprehensive (tabula rasa agent can replicate, CI verifies behavior matches documentation). The definition of done evolves as the project matures.
Use case and motivation
Problem today:
- "Done" is implicit and varies by contributor — some consider a passing build sufficient, others expect documentation, tests, and deployment verification.
- Agents have no unambiguous checklist to know they've completed work.
- Over-engineering "done" early (requiring everything from day one) blocks velocity.
- Under-defining "done" (just "tests pass") ships incomplete work.
After this ADR:
- Every issue has an explicit done level
- Done criteria are checklistable (yes/no, not subjective)
- The bar rises as the project matures (progressive, not fixed)
- Agents can self-verify completion without human confirmation
Progressive levels
Level 1: Basic (minimum viable)
Level 2: Standard (current project default)
Level 3: Rigorous (for critical paths)
Level 4: Self-verifying (future target)
Assigning levels to issues
| Issue type |
Default level |
| Bug fix |
Level 2 |
| New feature |
Level 2-3 (based on blast radius) |
| Infrastructure/IAM change |
Level 3 |
| Documentation only |
Level 1 |
| Security fix |
Level 3 |
| RFC/ADR implementation |
Level 2 + ADR written |
Issues may override the default by specifying Done: Level N in the body.
Verification responsibility
| Level |
Who verifies |
| 1 |
CI (automated) |
| 2 |
CI + self-check by implementor |
| 3 |
CI + reviewer + implementor |
| 4 |
CI + reviewer + independent agent (tabula rasa run) |
Open questions
- Should level assignment be enforced by labels or trust-based?
- How do we handle disagreements on what level applies?
- When does the project graduate from "Level 2 default" to "Level 3 default"?
- Should there be a Level 0 for spikes/experiments that explicitly skip quality gates?
Alignment
Aligns with Platform maturity and is a prerequisite for Agent swarm (agents must know when they're done without asking).
Dependencies
- RFC PR: (pending approval)
- Approved by: (pending)
- Reviewed by: (pending)
Summary
Define what "done" means at each maturity level — from basic (code compiles, tests pass) to comprehensive (tabula rasa agent can replicate, CI verifies behavior matches documentation). The definition of done evolves as the project matures.
Use case and motivation
Problem today:
After this ADR:
Progressive levels
Level 1: Basic (minimum viable)
Level 2: Standard (current project default)
Level 3: Rigorous (for critical paths)
Level 4: Self-verifying (future target)
Assigning levels to issues
Issues may override the default by specifying
Done: Level Nin the body.Verification responsibility
Open questions
Alignment
Aligns with Platform maturity and is a prerequisite for Agent swarm (agents must know when they're done without asking).
Dependencies