Theme
Definition of Done
A course lesson is done when
- its stated product/code outcome exists;
- its completion-gate tests pass;
- you can explain the main concept in simple language;
- relevant current docs match the implementation;
docs/status/CURRENT.mdpoints at the next lesson;- no hidden unfinished work is being called complete.
A milestone is done when
- all required lessons are complete;
- the milestone acceptance scenario works manually/deterministically;
- full relevant test suite is green;
- important error paths are visible/actionable;
- Learning Log/open decisions are updated from evidence;
- architecture remains simpler than the problem requires, not more complex.
A substantial AI-generated change is done when
- you reviewed the diff;
- you understand new abstractions/dependencies;
- tests were run;
- agent did not silently broaden scope;
- architecture/docs were updated if behavior changed.
“Works on happy path” is not enough for lifecycle code
For Operations, Git/worktrees, provider Runs, sync, and migrations, Done also includes at least one meaningful failure/restart/edge-case test appropriate to the lesson.