Skip to content

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

coverstypecommandresultat commit
ui_intent_unit_testscicargo test --lib ui::intent (validate run 38223440282 on 722228ef3c, the v0.21.0 top)3 ui::intent tests ok722228e
ui_intent_case_1081citest/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 ok722228e

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.

Searches the titles and descriptions of every page this site publishes.