Skip to content

idd-reads-at-a-glance — The intent workspace reads at a glance and leads everywhere it names

The workspace reads in the order a person asks (what the intent is, what is missing, what to do next, the work, the evidence), every id on it is a link, its numbers are the intent's, its texts render through the UI's one prose renderer, it offers one primary action, and audit rules keep bare ids and raw markdown off every /ui page from now on.

ACTIVE 6 of 24 issues done

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

Problem

On 2026-10-18 the owner read the published /ui/idd three times and called it unergonomic: one tall column of panels, a source footer under every one, ids that lead nowhere, headline numbers that count the whole plan rather than the intent on the screen, two badge styles, full panels for empty answers, raw markdown and internal names, no primary action, and a move on the snapshot that looks clickable and is not. Under the surface the screen restates rules the plan owns: the issue id grammar, which status admits which move, the stage names.

Outcome

The workspace reads in the order a person asks (what the intent is, what is missing, what to do next, the work, the evidence), every id on it is a link, its numbers are the intent's, its texts render through the UI's one prose renderer, it offers one primary action, and audit rules keep bare ids and raw markdown off every /ui page from now on.

Current state

/ui/idd composes the plan's capabilities correctly (milestone idd-workspace) but presents them as a stacked list of panels in capability order, with the gaps the owner named.

Desired state

Each gap is closed by its own issue (I2901-I2919, I3000-I3005), each held by case 3220, the ui audit of /ui/idd at every width, or a rule that holds every /ui page.

Scope

  • apps/majordomus-cli/src/ui
  • share/ui
  • scripts/lib
  • test/cases/3220_the_idd_loop_is_walked_in_a_browser.sh
  • .ai/repo/project

Out of scope

  • A second plan engine, status vocabulary or markdown implementation
  • Mutation from the published site

Acceptance criteria

  • scripts/ui audit --only /ui/idd finds nothing at any width, with the bare-issue-id and raw-markdown rules on
  • Case 3220 walks the loop through the new labels, order and primary action

Validation

  • majordomus plan validate
  • majordomus intent validate
  • scripts/ui audit --only /ui/idd

Risks

  • Every issue edits apps/majordomus-cli/src/ui/idd.rs; they land one at a time in the order recorded, each rebased on the last.

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
I2901 READY 0 — One grammar names an issue id, and every surface reads it
I2902 READY 0 — A status names the moves it admits, and every surface reads that
I2903 READY 0 — The workspace prefers stages by IntentStage, not by strings
I2904 READY 0 — An intent whose criteria are met while its milestones hold open issues says so
I2906 READY 5 I2812 Every id and chip on the workspace leads to its record
I2907 DONE 5 I2812 The workspace's headline numbers are the chosen intent's
I2908 READY 0 — Stage and verdict wear the kit's one badge
I2909 READY 0 — A panel with nothing to show is one sentence
I2910 READY 0 — A move on the published workspace reads \"live only\"
I2911 READY 0 — The workspace is a list and its chosen intent side by side
I2912 READY 0 — A screen's sources are one disclosure, not a footer per panel
I2913 READY 0 — Each intent in the list shows its progress
I2914 READY 0 — No /ui page shows an issue id that leads nowhere
I2915 DONE 0 — The workspace speaks in plain words
I2916 DONE 0 — The workspace reads in the order a person asks
I2917 DONE 0 — Each intent has one primary action
I2918 READY 0 — The issue list filters by status
I2919 READY 0 — The graph and the intent list respond to a hand and a keyboard
I3000 DONE 0 — The workspace's record texts are drawn as prose
I3001 DONE 0 — The intent is the page's title, and panels ask questions
I3002 READY 0 — A command to reproduce is a code block a reader can copy
I3003 READY 0 — The workspace's prose is set for reading
I3004 READY 0 — No raw markdown reaches a /ui page
I3005 READY 0 — Code on the UI has one highlighter

The graph

idd-reads-at-a-glance dependency graphfrom .ai/repo/project
flowchart LR
    I2901["I2901<br/>One grammar names an issue id, and every surface reads it"]:::ready
    I2902["I2902<br/>A status names the moves it admits, and every surface reads that"]:::ready
    I2903["I2903<br/>The workspace prefers stages by IntentStage, not by strings"]:::ready
    I2904["I2904<br/>An intent whose criteria are met while its milestones hold open issues says so"]:::ready
    I2906["I2906<br/>Every id and chip on the workspace leads to its record"]:::ready
    I2907["I2907<br/>The workspace's headline numbers are the chosen intent's"]:::done
    I2908["I2908<br/>Stage and verdict wear the kit's one badge"]:::ready
    I2909["I2909<br/>A panel with nothing to show is one sentence"]:::ready
    I2910["I2910<br/>A move on the published workspace reads \&quot;live only\&quot;"]:::ready
    I2911["I2911<br/>The workspace is a list and its chosen intent side by side"]:::ready
    I2912["I2912<br/>A screen's sources are one disclosure, not a footer per panel"]:::ready
    I2913["I2913<br/>Each intent in the list shows its progress"]:::ready
    I2914["I2914<br/>No /ui page shows an issue id that leads nowhere"]:::ready
    I2915["I2915<br/>The workspace speaks in plain words"]:::done
    I2916["I2916<br/>The workspace reads in the order a person asks"]:::done
    I2917["I2917<br/>Each intent has one primary action"]:::done
    I2918["I2918<br/>The issue list filters by status"]:::ready
    I2919["I2919<br/>The graph and the intent list respond to a hand and a keyboard"]:::ready
    I3000["I3000<br/>The workspace's record texts are drawn as prose"]:::done
    I3001["I3001<br/>The intent is the page's title, and panels ask questions"]:::done
    I3002["I3002<br/>A command to reproduce is a code block a reader can copy"]:::ready
    I3003["I3003<br/>The workspace's prose is set for reading"]:::ready
    I3004["I3004<br/>No raw markdown reaches a /ui page"]:::ready
    I3005["I3005<br/>Code on the UI has one highlighter"]:::ready
    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-reads-at-a-glance.yaml. Read it back with majordomus plan show idd-reads-at-a-glance.

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