I0009 — Project the model into the website
Generate the roadmap, every milestone page, every issue page and the DAG page from the canonical model through the existing site data pipeline.
DONE wave 5 · p1 · implementation profile · parallel safe
Part of M000 — Milestone and DAG driven development.
Objective
Generate the roadmap, every milestone page, every issue page and the DAG page from the canonical model through the existing site data pipeline.
Why
The website already derives every capability claim from a canonical file. A hand-written roadmap page beside it would be the one page that can be wrong.
Current state
The site derived project, profiles, policy, claims, doctrines, commands and docs. It had no roadmap.
Desired state
site/data/generated/plan.json exists, and the roadmap, milestone, issue and DAG routes render from it and from nothing else.
Scope
- scripts/generate-site-data
- site/templates
- site/data/generated
Out of scope
- Any hand-written roadmap content
Dependencies
What waits on this
Acceptance criteria
- The generated data contains every milestone and issue with its derived status and wave
- The roadmap, milestone, issue and DAG routes exist and are reachable from navigation
- The pages are mobile-first and the DAG stays readable on a narrow screen
- Stale generated data fails the sync check
Validation
- scripts/generate-site-data --check
- scripts/site-build
- scripts/site-check
Evidence required
- site_test
Evidence
| covers | type | command | result | at commit |
|---|---|---|---|---|
| site_test | build | scripts/generate-site-data --check && scripts/site-build && scripts/site-check | site-check: 0 failure(s); every milestone and issue has a page, every canonical edge appears in the rendered graph, every READY issue is linked from /plan/ | 615c2b2 |
Risk
The site build is the slowest surface; a regression here is found late.
Timeline
- started
- 2026-09-04T03:18:38Z
- verified
- 2026-09-04T03:28:32Z
- completed
- 2026-09-04T03:28:33Z
Those three fields, the evidence above and the state of the dependencies are all the status is made of. There is no status field to disagree with them.
Canonical record: .ai/repo/project/issues/I0009.yaml. Read it back with majordomus plan show I0009.