Skip to content

Milestones

Milestones M0–M9 map onto Phases P0–P6 (with M3 split across P2 and P3, and M9 closing P6’s visualization polish). Each milestone’s acceptance document is republished here; the verification notes (internal harness logs) are intentionally not surfaced — they are ephemeral test artifacts.

Acceptance index

MilestonePhaseAcceptance
M1 (T6)P1Index pipeline trust gates
M2 first halfP1Scraper/parser/patches
M2 second halfP1Validation + release gate
M3 first halfP2 + P3Backend runtime spine + state store
M3 second halfP2 + P3Anonymous lifecycle endpoints
M4 first halfP4Direct evaluator + query envelope
M4 second halfP2 + P4Typed graph view endpoints
M5 / M6P5 + P6Frontend shell + atlas v1
M7 betapost-P6Soft-beta acceptance
M8 solver expansionP8In-process demo adapters
M9 visualization polishP6Atlas polish + shareable views

The acceptance documents themselves live in the repository under docs/qa/m*-acceptance.md. They are not republished on this site by direct link because the M-numbering is internal — readers find the acceptance evidence via the Roadmap page or by following the spec / ADR cross-references.

For the course-count reconciliation between uwwoe’s index and Waterloo’s public Math course-count claims, see Math course count reconciliation.

For the measured Canva performance baseline on the 1,925-course universal projection, see Universal Canva performance baseline.

What constitutes acceptance

A milestone acceptance document records:

  • Each gate the milestone was required to pass.
  • The contract, behavior, or evidence proving the gate.
  • The commit SHA(s) that landed the gate.
  • Any caveat or follow-up tracked into a later milestone.

Verification notes (the per-milestone m*-verification-notes.md files) record the harness state during the gating run — fixture seeds, test outputs, environment specifics. Those are debugging aids; the acceptance documents are the durable record.