Skip to content

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.md points 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.

Forge is local-first. The docs are part of the product engineering system.