Skip to content

idd-workspace — The UI is where the owner directs the work, from an intent to its next move

One screen of the UI, /ui/idd, starts from an intent and shows its milestones, their issues with status and blockers, the waves the dependencies allow and the dependency graph, each entity a link to its inspector, and every ready issue one click from the move that starts it; delivery and the live channel follow as the capabilities beneath them land.

DONE 6 of 6 issues done

ready
0
blocked
0
active
0
verify
0
done
6
cancelled
0

Problem

On 2026-10-16 the owner asked to stop orchestrating development by pasting prompts into terminals and to direct it from the UI instead: intent, milestones, issues, waves, execution, evidence and delivery, navigable and actionable. Every one of those answers exists as a capability, and the UI draws most of them on separate screens — the Roadmap, Issues, the PR Drain — while the waves have no screen on master and the moves that start an issue exist only on the Cockpit's issue page.

Outcome

One screen of the UI, /ui/idd, starts from an intent and shows its milestones, their issues with status and blockers, the waves the dependencies allow and the dependency graph, each entity a link to its inspector, and every ready issue one click from the move that starts it; delivery and the live channel follow as the capabilities beneath them land.

Current state

No /ui/idd. Intents, milestones and issues are read on the Roadmap and Issues screens; plan.waves is read by no /ui screen; plan.transition is offered on /cockpit/plan/issues/<id> only.

Desired state

/ui/idd composes intents.list, plan.roadmap, plan.issues and plan.waves for a chosen intent, with the selection rule printed (I2780). Each further slice — the moves offered in the workspace itself, the inferred delivery once I2740 lands, the live overlay over /events — is recorded with the criterion it serves and the test that proves it when it starts.

Scope

  • apps/majordomus-cli/src/ui
  • share/ui
  • docs/UI.md
  • .ai/repo/project
  • test/cases

Out of scope

  • A second plan engine, wave allocator or status vocabulary
  • Mutation from the published site
  • Provider-assisted plan authoring

Acceptance criteria

  • /ui/idd renders a chosen intent's milestones, issues, waves and graph from the plan's capabilities alone, with the selection rule shown
  • An issue added to the plan appears in the workspace with no other edit
  • Every ready issue leads to the move that starts it

Validation

  • majordomus plan validate
  • majordomus intent validate
  • cargo test --lib ui::

Risks

  • #1184 (/ui/waves) and #1302 (roadmap reads delivery) touch ui/mod.rs's screen list; each lands as a textual neighbour and needs one merge.

Issues

Each one is an execution contract with its own acceptance criteria, validation command and required evidence. The wave column is the layer of the dependency graph it sits in.

issuestatuswavedepends ontitle
I2780 DONE 0 — The UI has an intent workspace: an intent, its milestones, issues, waves and graph on one screen
I2781 DONE 1 I2780 An issue is started, verified and finished from the intent workspace
I2783 DONE 2 I2781 The intent workspace reads itself again when a move ends on its server
I2789 DONE 3 I2783 The intent workspace shows why an intent stands where it stands and every move made on its issues
I2812 DONE 4 I2789 The IDD loop is accepted end to end in a real browser on one commit
I2900 DONE 5 I2812 Every issue id on the intent workspace is a link, the shared-scope pairs are one folded line, and no missing library is asked for

The graph

idd-workspace dependency graphfrom .ai/repo/project
flowchart LR
    I2780["I2780<br/>The UI has an intent workspace: an intent, its milestones, issues, waves and graph on one screen"]:::done
    I2781["I2781<br/>An issue is started, verified and finished from the intent workspace"]:::done
    I2783["I2783<br/>The intent workspace reads itself again when a move ends on its server"]:::done
    I2789["I2789<br/>The intent workspace shows why an intent stands where it stands and every move made on its issues"]:::done
    I2812["I2812<br/>The IDD loop is accepted end to end in a real browser on one commit"]:::done
    I2900["I2900<br/>Every issue id on the intent workspace is a link, the shared-scope pairs are one folded line, and no missing library is asked for"]:::done
    I2780 --> I2781
    I2781 --> I2783
    I2783 --> I2789
    I2789 --> I2812
    I2812 --> I2900
    classDef done stroke:#16a34a,fill:#dcfce7,color:#14532d,stroke-width:2px
    classDef active stroke:#2563eb,fill:#eff6ff,color:#1e3a8a,stroke-width:2px
    classDef verify stroke:#7c3aed,fill:#f5f3ff,color:#4c1d95,stroke-width:2px
    classDef ready stroke:#0891b2,fill:#ecfeff,color:#164e63,stroke-width:2px
    classDef planned stroke:#0891b2,fill:#ecfeff,color:#164e63,stroke-width:2px
    classDef blocked stroke:#b45309,fill:#fffbeb,color:#78350f,stroke-width:2px
    classDef cancelled stroke:#6b7280,fill:#f9fafb,color:#374151,stroke-width:2px
    classDef superseded stroke:#6b7280,fill:#f9fafb,color:#374151,stroke-width:2px

Canonical record: .ai/repo/project/milestones/idd-workspace.yaml. Read it back with majordomus plan show idd-workspace.

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