I2476 — An intent opens what serves it: its statement, its criteria and their evidence, and the milestones and issues that serve it
Let a reader of majordomus ui open any intent (/ui/roadmap?intent=<id>) into an inspector that shows what it says, the invariants it holds the work to, each criterion of its satisfaction with its evidence, state and how to reproduce it, and the milestones and issues that serve it, each a link.
DONE wave 4 · p1 · implementation profile · runs alone
Part of development-runtime — The runtime has a development surface.
Objective
Let a reader of majordomus ui open any intent (/ui/roadmap?intent=<id>) into an inspector that shows what it says, the invariants it holds the work to, each criterion of its satisfaction with its evidence, state and how to reproduce it, and the milestones and issues that serve it, each a link.
Why
The owner asked on 2026-10-11 to implement every view of the UI screenshots, maximally interactive (pack v3 M06-02, milestone, issue and intent detail inspector). The roadmap lists intents as rows that open nothing; intents.list already answers each intent's statement, invariants, milestones and satisfaction with state and reproduce command, and plan.issues each issue's serves.
Current state
An intent is a row of the roadmap; the milestone inspector's Serves leads to the roadmap.
Desired state
?intent=<id> opens the inspector above the roadmap, asked with plan.issues only when an intent or a milestone is picked. It shows the intent's stage, verdict and how many criteria are met, its statement, its invariants, the milestones that serve it with their status (each a link to its inspector), the issues that serve it (an issue serves the intent when a serves entry names it or one of its criteria, intent#criterion; each a link to its inspector), and its criteria with their evidence, state, whether met and the command that reproduces them. The roadmap's intent rows and the milestone inspector's Serves lead here. An id the repository does not hold says so; a value that is no id opens nothing.
Scope
- apps/majordomus-cli/src/ui/intent.rs
- apps/majordomus-cli/src/ui/roadmap.rs
- apps/majordomus-cli/src/ui/milestone.rs
- apps/majordomus-cli/src/ui/mod.rs
- .ai/repo/project/issues/I2476.yaml
- docs/MAJORDOMUS_UI.md
- test/cases/1081_an_intent_opens_what_serves_it.sh
Dependencies
Acceptance criteria
- ?intent=<id> opens the inspector with its criteria and the milestones and issues serving it as links
- an issue serving one of its criteria serves the intent
- the roadmap's intent rows and the milestone inspector's Serves lead to it
- an unknown id says so and a value that is no id opens nothing
Validation
- cargo test --lib ui::intent
- test/run.sh 1081_an_intent_opens_what_serves_it
Evidence required
- ui_intent_unit_tests
- ui_intent_case_1081
Evidence
| covers | type | command | result | at commit |
|---|---|---|---|---|
| ui_intent_unit_tests | ci | cargo test --lib ui::intent (validate run 38223440282 on 722228ef3c, the v0.21.0 top) | 3 ui::intent tests ok | 722228e |
| ui_intent_case_1081 | ci | test/run.sh 1081_an_intent_opens_what_serves_it (validate run 38223440282 on 722228ef3c, the v0.21.0 top) | case 1081_an_intent_opens_what_serves_it ok | 722228e |
Timeline
- started
- 2026-10-12T11:04:55Z
- verified
- 2026-10-12T11:05:01Z
- completed
- 2026-10-12T11:05:13Z
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/I2476.yaml. Read it back with majordomus plan show I2476.