Skip to content
Cockpit0.29.0
A snapshot: read at commit 707a04c7ce8 on 2026-10-18T00:06:01Z by majordomus 0.29.0. Nothing on this page is read again. See it live

I2471

The roadmap opens a milestone: what it holds, what can start, its critical path, and what it waits for

Where it stands

devtask.issue
Readiness
complete completion is recorded and every required evidence token is present
Status
DONE
Can start
not now
Milestone
Milestone status
ACTIVE
Wave
3
Waiting on
none
Holds back
Behind it in all
3
Evidence
2 of 2
A move writes the repository: it stamps one field of this issue's record and appends one event to the ledger, and a commit will carry both.
The same moves from a terminal

majordomus plan start I2471

majordomus plan verify I2471

majordomus plan done I2471

What it is

Objective
Let a reader of majordomus ui open any milestone of the plan (/ui/roadmap?milestone=M004) into an inspector that shows its issues and where each stands, the issues that can start now, the longest chain of open work through it, the intents its issues serve, and the milestones it waits for, is blocked by and unblocks, every one of them a link.
Why
The owner asked on 2026-10-11 to implement every view of the UI screenshots, maximally interactive and clickable (reference campaigns/majordomus-ui-unified-real-data-v2-20261011/reference/10-roadmap-detail.png; pack v3 M06-02 and M06-03, assigned to f9 by d3). I2462 draws the milestones as a sequence and a dependency graph whose nodes lead to an anchor of the same page and no further. plan.roadmap already answers each milestone's status, order, priority, depends_on, blocked_by, dependents, counts by status and its issues, and plan.issues answers every issue with its dependencies and the intents it serves.
Now
A milestone is a row and a graph node; neither opens anything.
Wanted
?milestone=ID opens the inspector above the roadmap, asked from plan.roadmap and plan.issues in the same first paint (plan.issues only when a milestone is picked). It shows the milestone's order, priority and status, how many of its issues are done as a meter, the issues ready now, how many are blocked, the milestones it waits for, is blocked by and unblocks, the intents its issues serve, its critical path (the longest chain of open issues by depends_on within it; a cycle ends a chain), and its issues with status, priority, wave and what blocks each. Every issue leads to its inspector on the PR Drain and every milestone to its own. The roadmap's graph nodes and the milestone rows of the Roadmap and the Dashboard lead to the inspector. An id the plan does not hold is said to be unknown; a value that is not a milestone id is dropped.
Done when
unknown: the record declares no `completion`
Risk
unknown: the record declares no `risk`

Acceptance

  • /ui/roadmap?milestone=<id> answers 200 with the milestone's inspector, its issues each a link to /ui/prs?issue=<id>, and its neighbouring milestones each a link to their own inspector
  • the critical path is the longest chain of open issues within the milestone, in dependency order
  • an id the plan does not hold says so, and a value that is not a milestone id opens nothing
  • the roadmap's graph nodes and milestone rows lead to the inspector
Validation
cargo test --lib ui::test/run.sh 1076_the_roadmap_opens_a_milestone
Evidence required
ui_milestone_unit_testsui_milestone_case_1076
Evidence present
ui_milestone_unit_testsui_milestone_case_1076

Scope

Touches
apps/majordomus-cli/src/ui/milestone.rsapps/majordomus-cli/src/ui/roadmap.rsapps/majordomus-cli/src/ui/dashboard.rsapps/majordomus-cli/src/ui/mod.rs.ai/repo/project/issues/I2471.yamldocs/MAJORDOMUS_UI.mdtest/cases/1076_the_roadmap_opens_a_milestone.sh
Not
unknown: the record declares no `non_scope`
Depends on
Priority
p1
Profile
implementation
Parallel safe
false
Owner
unknown: the record declares no `owner`

The work so far

Branches
none
Merged
none
Commits
0
Trunk
master
Sessions
none
Created
2026-10-11
Updated
2026-10-12T11:02:16Z
Started
2026-10-12T11:01:59Z
Verified
2026-10-12T11:02:03Z
Completed
2026-10-12T11:02:16Z

Synchronisation

Adapter
scripts/github-sync
Repository
unknown: the derived plan's header carries no repository
External issue
unknown: a live GitHub state; this executable makes no network call, so only `scripts/github-sync --check` can answer it
State there
unknown: a live GitHub state; this executable makes no network call, so only `scripts/github-sync --check` can answer it

Findings

Nothing is wrong with these records.