I3318 — Every decision and curated note is read on /ui, with the records it names and the records that name it
Give /ui one screen for decisions (adr kind) and one for curated knowledge, each list and inspector projected from the index the objects API already serves, with an inspector showing the record's related/relations as links and the reverse edges (which issues, milestones, intents and notes name it) derived from the same index.
PŘIPRAVENO vlna 0 · p2 · profil implementation · bezpečné souběžně
Připraveno. Všechny závislosti jsou hotové, takže majordomus plan start I3318 bude přijato.
Cíl
Give /ui one screen for decisions (adr kind) and one for curated knowledge, each list and inspector projected from the index the objects API already serves, with an inspector showing the record's related/relations as links and the reverse edges (which issues, milestones, intents and notes name it) derived from the same index.
Proč
A follow-up the promotion of the owner's ChatGPT project (Refs: I3100) produced on 2026-10-18, not a message of that project: the promotion added proposed decisions and curated notes, each linked to the plan records it governs or documents, and a reader of /ui/idd cannot follow a criterion to the decision that governs it. The objects are served by /api/v1/objects and over MCP, and the Cockpit shows each one at /cockpit/objects/<kind>, but /ui routes neither kind: no /ui route names adr or decisions, and /ui/knowledge shows the candidate queue, not the curated notes.
Aktuální stav
apps/majordomus-cli/src/ui/ has knowledge.rs (route /ui/knowledge: candidates and status) and no decisions screen. `majordomus entity show` already derives each object's references and backlinks, and `majordomus entity kinds` routes adr and knowledge to /cockpit/objects/adr and /cockpit/objects/knowledge (117 adr and 4 knowledge objects on master at 4a4573690f8, by that command).
Cílový stav
/ui/decisions and /ui/knowledge/curated (names to be settled against the screen list in ui/mod.rs) list every object of the kind from the index, each inspector renders its body through ui::prose and its outgoing and incoming links taken from the entity layer's references and backlinks (not a second derivation), and an object added to the tree appears with no registration.
Rozsah
- apps/majordomus-cli/src/ui/knowledge.rs
- apps/majordomus-cli/src/ui/mod.rs
- docs/MAJORDOMUS_UI.md
- apps/majordomus-cli/tests/ui_links.rs
Mimo rozsah
- Editing a decision or a note from the UI
- Accepting a decision: that stays the owner's commit
Závislosti
Žádné. Tento úkol je kořenem grafu.
Kritéria přijetí
- Every adr object of the index is listed on the decisions screen and its inspector shows its related records as links and the records that cite it
- Every curated knowledge note is listed with its class, epistemics and status, and its relations are links
- A decision added to the tree appears with no edit outside its own file
- The incoming links an inspector shows are the backlinks `majordomus entity show` reports for the same object
- Every link the two screens draw answers 200 under the ui_links walk
Validace
- cargo test -p majordomus-cli --test ui_links
- cargo test -p majordomus-cli --test ui_surface
- majordomus plan validate
Požadované důkazy
- ui_decisions
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/I3318.yaml. Read it back with majordomus plan show I3318.