Skip to content

I2462 — The UI has every screen, and its mesh is a graph whose nodes open an inspector

Complete the navigation of majordomus ui against the owner's references with the Command, Capabilities, Deployments and Documentation screens. Make the Mesh screen interactive: a graph of machines, runtimes and sessions, each node selectable into an inspector whose selection is a URL.

DONE wave 1 · p1 · implementation profile · runs alone

Part of development-runtime — The runtime has a development surface.

Objective

Complete the navigation of majordomus ui against the owner's references with the Command, Capabilities, Deployments and Documentation screens. Make the Mesh screen interactive: a graph of machines, runtimes and sessions, each node selectable into an inspector whose selection is a URL.

Why

I2461 (PR #940) delivered the surface and seven screens. The owner asked to 'implement every component and view of the screenshots, maximally interactive and clickable' (2026-10-11). The references (campaigns/majordomus-ui-complete-opus-fable-v3-20261011/references) show Command, Capabilities, Deployments and Documentation screens, and the mesh pack (campaigns/majordomus-mesh-interactive-v5-20261011) asks for every real node to be selectable and deep-linkable. The data exists: commands.list (with its origin filter) and executions.list, capabilities.list by kind and capabilities.describe, deploy.list and delivery.report (13 s, so a panel of its own), objects.list for features and documents, web.surfaces, and mesh.peers with runtimes and sessions.

Current state

The UI shows seven screens; the mesh is a table.

Desired state

Eleven screens in the references' order. Command lists the command catalogue with what each changes; its tabs pass commands.list's own origin filter, and it shows the executions this process runs. Capabilities shows the registry's tallies, catalogues by kind, and the detail of one capability (?id=) with its input fields and every surface it is exposed on. Deployments shows declared deployments and, on its own route, the delivery report: the public site's verification and each feature's stage and what blocks it. Documentation shows the product features, the documents under docs/ and every public surface. Mesh draws machines, runtimes and sessions as a force-directed graph (sessions as small leaves labelled when selected), and ?node= opens the inspector of a machine: its runtimes with liveness and last beat, its sessions with their claims, and its own journal events. An unknown machine is said to be unknown. Issues & PRs opens one pull request (?pr=N) from the queue's own answer: its gates with their verdicts, the evidence behind them, its reasons, next action, authored paths and rank factors; a number the queue did not observe is said to be unobserved. Graphs take a layout and their nodes a kind. Not done here: actions on a node (V5 M04, behind the executor) and the execution control plane (V4).

Scope

  • apps/majordomus-cli/src/ui
  • share/ui
  • .ai/repo/project/issues/I2462.yaml
  • docs/MAJORDOMUS_UI.md
  • .ai/repo/features/ui.md

Dependencies

What waits on this

Acceptance criteria

  • /ui/command, /ui/capabilities, /ui/deployments and /ui/docs answer 200 with a hero and panels whose sources are named; a test renders every screen against a real registry
  • /ui/capabilities?id=plan.status shows that capability's declared input fields and its API, CLI and MCP exposure
  • /ui/mesh draws every machine, runtime and session the mesh runtime knows as a graph over a table fallback, and /ui/mesh?node=<name> opens that machine's inspector; an unknown name says it is unknown
  • The delivery report is a panel route of its own and never holds the Deployments screen back
  • /ui/work?pr=<n> opens that pull request's detail from the integration queue's answer, with every gate and its verdict; a queue row links to it; a number the queue did not observe says so

Validation

  • cargo test --lib ui::
  • cargo test --test ui_surface
  • scripts/ci/cockpit-projection-check --ui-integrity

Evidence required

  • ui_every_screen_renders_test
  • ui_mesh_inspector_screenshot

Evidence

coverstypecommandresultat commit
ui_every_screen_renders_testcicargo test --lib ui::tests (validate run 38223440282 on 722228ef3c, the v0.21.0 top)every_screen_renders_its_hero_and_panels and every_screen_is_answered_and_every_answered_route_is_a_screen_or_a_panel ok; 106 ui:: tests ok722228e
ui_mesh_inspector_screenshotartifactnode scratchpad/shots.mjs (Playwright Chromium, dark) against majordomus serve 0.21.0 built from perf/the-ui-answers-at-once d24107bd88/ui/mesh?node=641bdb94 at 1440x900: the node, its 7 runtimes with liveness, sessions and events; no overflow, no page errors722228e

Timeline

started
2026-10-12T11:00:05Z
verified
2026-10-12T11:00:10Z
completed
2026-10-12T11:00: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/I2462.yaml. Read it back with majordomus plan show I2462.

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