I2528 — The UI shows the derivation graph and its last plan, and one documentation page explains the model
Show the derivation graph, the state of each node and the reason for it on one screen of majordomus ui, reading the capabilities of I2522 and I2524 and nothing else, and complete the documentation of the model in docs/DERIVE.md so that the published site carries it.
BLOKOVÁNO vlna 4 · p2 · profil implementation · bezpečné paralelně
Blocked. This issue cannot start until I2524 is done. The status is derived from that, not declared.
Cíl
Show the derivation graph, the state of each node and the reason for it on one screen of majordomus ui, reading the capabilities of I2522 and I2524 and nothing else, and complete the documentation of the model in docs/DERIVE.md so that the published site carries it.
Proč
campaigns/majordomus-incremental-derive-prompt-pack/11_11_UI_DOCS_PAGES.md asks for the graph, node states, affected outputs, the last run and the invalidation explanations in the existing interface without a second scheduler in the front end, and for documentation generated from the same registry with no manual node inventory. The brief names the Cockpit; ADR 0135 has since made majordomus ui the primary surface, and ADR 0142 requires that a screen reads and never executes.
Aktuální stav
No screen under apps/majordomus-cli/src/ui shows derivation. docs/GITHUB_PAGES_ARCHITECTURE.md draws the stages A to C by hand in a diagram. The session brief reports the derive queue and nothing reports a node.
Cílový stav
A screen at /ui/derive lists the nodes in graph order with state, reason, outputs and the time of the last run, links each node to its outputs, and says unknown where no run is recorded. It issues no command. docs/DERIVE.md describes the graph model, the key, the plan states, the full mode and how to add a node, and takes its list of nodes from the generated reference rather than repeating it; the hand-drawn stage diagram points at the generated graph.
Rozsah
- apps/majordomus-cli/src/ui/derive.rs
- apps/majordomus-cli/src/ui/mod.rs
- apps/majordomus-cli/src/ui/shell.rs
- apps/majordomus-cli/tests/ui_surface.rs
- apps/majordomus-cli/tests/ui_links.rs
- docs/DERIVE.md
- docs/GITHUB_PAGES_ARCHITECTURE.md
- docs/MAJORDOMUS_UI.md
- README.md
- .ai/repo/project/issues/I2528.yaml
Mimo rozsah
- A control that starts a derive from the browser
- A page in the superseded Cockpit
- A list of nodes written by hand in any document
- Publishing to GitHub Pages by any route other than the existing workflow
Závislosti
Kritéria přijetí
- The screen renders every node the derive.graph capability answers, and a node added to the graph appears with no edit to the screen
- A node with no recorded run is shown as unknown, never as current
- The screen answers while a derive holds the machine lock, within the bound the other screens are held to
- Every node and output the screen names is a link that resolves
- docs/DERIVE.md contains no enumerated list of nodes, and the documentation gates pass
Validace
- bin/majordomus plan validate
- cargo test --manifest-path apps/majordomus-cli/Cargo.toml --test ui_surface --test ui_links
- majordomus generate --check
- MJ_TEST_JOBS=2 bash test/run.sh 547_the_ui_says_only_what_is_derived
Požadované důkazy
- ui_derive_screen
- unknown_is_not_current
Důkazy
Nic nezaznamenáno. Za každým tokenem výše musí stát příkaz nebo artefakt, než lze tento úkol dokončit; vyprávění se odmítá.
Časová osa
- zahájeno
- —
- ověřeno
- —
- dokončeno
- —
Tato tři pole, důkazy výše a stav závislostí jsou vše, z čeho se stav skládá. Neexistuje žádné pole stavu, které by s nimi mohlo být v rozporu.
Canonical record: .ai/repo/project/issues/I2528.yaml. Read it back with majordomus plan show I2528.