I2780 — The UI has an intent workspace: an intent, its milestones, issues, waves and graph on one screen
Add /ui/idd to the UI's screens: the intents as a choice with stage and verdict, the chosen one's criteria, its milestones in the roadmap's order with status, its issues with status, wave, priority and what blocks them, the waves those issues occupy, and the dependency graph between them with a table beneath it, every entity a link to its existing inspector and every ready issue a link to the move that starts it.
DONE wave 0 · p0 · implementation profile · runs alone
Part of idd-workspace — The UI is where the owner directs the work, from an intent to its next move.
Objective
Add /ui/idd to the UI's screens: the intents as a choice with stage and verdict, the chosen one's criteria, its milestones in the roadmap's order with status, its issues with status, wave, priority and what blocks them, the waves those issues occupy, and the dependency graph between them with a table beneath it, every entity a link to its existing inspector and every ready issue a link to the move that starts it.
Why
On 2026-10-16 the owner asked to direct the work from the UI rather than from pasted prompts. Every answer the workspace needs is already a capability; what is missing is the one screen that starts from what the work is for.
Current state
No /ui/idd; the plan is read on four screens, the waves on none.
Desired state
/ui/idd answers with a hero, the intent choice, the criteria, milestones, issues, waves and graph panels, each naming its sources, and refuses an unknown intent by name.
Scope
- apps/majordomus-cli/src/ui
- apps/majordomus-cli/tests/ui_idd.rs
- docs/MAJORDOMUS_UI.md
- .ai/repo/project
Dependencies
None. This issue is a root of the graph.
What waits on this
Acceptance criteria
- The intent the query names, or the first executing then planned one in intents.list's order, is shown, and the rule is printed
- Milestones, issues and waves come from plan.roadmap, plan.issues and plan.waves and no list of the screen's own
- An issue added to the plan appears with no other edit
- An intent that is not recorded is refused by name, and a capability that cannot answer says so in its panel
Validation
- majordomus plan validate
- majordomus intent validate
- cargo test --lib ui::
- cargo test --test ui_idd
Evidence required
- ui_idd_tests
Evidence
| covers | type | command | result | at commit |
|---|---|---|---|---|
| ui_idd_tests | test | cargo test --test ui_idd | pass | d116266 |
| ui_idd_tests | test | cargo test --manifest-path apps/majordomus-cli/Cargo.toml --test ui_idd | 4 passed, 0 failed on master 707a04c7ce8 (2026-10-17) | 707a04c |
Timeline
- started
- 2026-10-16T21:12:37Z
- verified
- 2026-10-16T21:13:23Z
- completed
- 2026-10-17T21:36:20Z
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/I2780.yaml. Read it back with majordomus plan show I2780.