Roadmap
From intent to impact, in the order the plan's dependencies allow.
Every milestone of the plan with the issues it holds, and the intents the work serves.
- NowM002plan.roadmap /now
- NextM003plan.roadmap /next
- Milestones41plan.roadmap /milestones
- Intents5intents.list /intents
What it is for
The milestone's own record: why it exists, what it promises, and what would prove it.
The problem
Work in this repository was planned in conversation and in task records that describe one session at a time. There was no executable specification of an outcome, no dependency graph between pieces of work, and no way for a fresh worker to ask the repository what to do next. The tool supervises a task; nothing supervised the plan the task belonged to.
The outcome
Every non-trivial change in this repository belongs to a milestone specification and to one dependency-linked issue execution contract, validated as a DAG, with status derived rather than asserted, and projected to GitHub and to the website from that one canonical model.
Where it stands
The canonical model, its engine, its CLI, its projections, its doctrines and its tests exist and are exercised by this milestone's own issues. GitHub carried no issues and no milestones before this work.
Where it should stand
A fresh worker with no conversation history runs majordomus plan next, receives one issue, executes it inside its declared scope, attaches evidence, and the graph recomputes what is ready without anybody editing a status field.
In scope
- .majordomus/project
- lib/project.sh
- lib/project.awk
- lib/plan.sh
- share/allow
- share/doctrines.yaml
- scripts/github-sync
- scripts/generate-site-data
- site
- test/cases
- docs
Out of scope
- A hosted planning backend or database
- A second project-management vocabulary; milestones and issues are the only new nouns
- Bidirectional GitHub write-back into the canonical files
- Estimation, burndown, velocity or any scheduling model
Proven when
- The canonical model parses, rejects unknown keys, and refuses a duplicate id
- A dependency cycle, a self-dependency and an unknown dependency are each rejected with a named finding
- READY, BLOCKED, ACTIVE, VERIFY, DONE and CANCELLED are derived from recorded facts and stored nowhere
- Execution waves are computed from the graph, and overlapping scope inside one wave is reported
- The Mermaid DAG is generated from the same graph the CLI reads
- GitHub milestones and issues are created and updated from the canonical model, and drift between them is reported
- The website renders the roadmap, every milestone, every issue and the DAG from generated data
- Every surface agrees: the CLI, the site data and the GitHub projection report the same issue set and the same READY set
- Changing one dependency changes every surface
- CI refuses a push whose canonical model is invalid or whose generated artifacts are stale
objects.get0 msAPI/api/v1/objectMCPmajordomus_gettechnical view
Milestone
One milestone of the plan: what it holds, what can start, and what it waits for.
- Done
- 15 of 15
- Ready now
- none
- Blocked
- 0
- Waits for
- none
- Blocked by
- none
- Unblocks
- none
- Serves
- none
Critical path
No issue of it is open.
Issues
| Issue | Status | Priority | Wave | Blocked by |
|---|---|---|---|---|
| I0001Audit what actually plans work in this repository | done | p0 | 0 | none |
| I0002Define the canonical milestone and issue schema | done | p0 | 1 | none |
| I0003Implement the model loader and the status derivation engine | done | p0 | 2 | none |
| I0004Implement DAG validation and execution waves | done | p0 | 3 | none |
| I0005Implement the plan command surface | done | p0 | 4 | none |
| I0006Generate the Mermaid DAG from the graph | done | p1 | 4 | none |
| I0007Enforce the canonical model as doctrine | done | p1 | 5 | none |
| I0008Project the model to GitHub milestones and issues | done | p1 | 5 | none |
| I0009Project the model into the website | done | p1 | 5 | none |
| I0010Behavioural tests for schema, status, graph and command | done | p0 | 4 | none |
| I0011Cross-surface consistency and mutation tests | done | p0 | 6 | none |
| I0012Make CI refuse an invalid model or a stale projection | done | p1 | 7 | none |
| I0013Document the semantics and the dogfooding rule | done | p1 | 5 | none |
| I0014Make the worker instructions require the model | done | p0 | 6 | none |
| I0015Open the first real milestone and execute one issue through it | done | p0 | 8 | none |
plan.roadmap0 msAPI/api/v1/plan/roadmapMCPmajordomus_plan_roadmaptechnical view
plan.issues0 msAPI/api/v1/plan/issuesMCPmajordomus_plan_issuestechnical view
Milestones
Every milestone, in the plan's order; the plan declares no dates, so none are drawn.
plan.roadmap0 msAPI/api/v1/plan/roadmapMCPmajordomus_plan_roadmaptechnical view
Intents
What the work is for, and whether the evidence says it is met.
intents.list274 msAPI/api/v1/intentsCLImajordomus intent listMCPmajordomus_intentstechnical view
Issues by status
Every issue of the plan, counted by the plan.
- active1
- blocked159
- cancelled10
- done161
- ready86
- verify7
plan.status0 msAPI/api/v1/plan/statusMCPmajordomus_plan_statustechnical view
Dependencies
Which milestone waits for which, as the plan records it.
| Milestone | Depends on | Blocked by |
|---|---|---|
| runtime-adapters | foundation | |
| intent-planning | intent-lifecycle | intent-lifecycle |
| execution-telemetry | runtime-adapters | runtime-adapters |
| intent-bound-work | intent-planning | intent-planning |
| cost-per-accepted-outcome | execution-telemetry | execution-telemetry |
| routing-recommendations | cost-per-accepted-outcome | cost-per-accepted-outcome |
| shared-policy | routing-recommendations | routing-recommendations |
plan.roadmap0 msAPI/api/v1/plan/roadmapMCPmajordomus_plan_roadmaptechnical view