I3283 — The UI opens the message a record cites, and the published snapshot shows only the reference
Draw every workspace: reference in a record's provenance as a link in /ui (through ui::prose) to a served, local-only message view, list on a conversation's view the records promoted from it, and render the reference as plain text in the published snapshot.
BLOKOVÁNO vlna 5 · p2 · profil implementation · bezpečné paralelně
Blocked. This issue cannot start until I3282, I1309 are done. The status is derived from that, not declared.
Cíl
Draw every workspace: reference in a record's provenance as a link in /ui (through ui::prose) to a served, local-only message view, list on a conversation's view the records promoted from it, and render the reference as plain text in the published snapshot.
Proč
The owner's demand is that every promoted record drills back to conversation#message from the UI; ADR 0032 allows served, never published, so the asymmetry must be a tested property of the snapshot. Critique 2026-10-18: CI holds no store, so a leak check that never holds one proves nothing; and the owner asked for the drill-back across UI, cockpit, docs and a deployed release. Proposed in ADR 0211 (A record promoted from a workspace cites the message it came from by a typed reference that validates in every checkout and resolves only where the store is held) (proposed; it carries no authority until the owner accepts it). Sources: chatgpt-majordomus:c239#0.
Aktuální stav
apps/majordomus-cli/src/ui/prose.rs links known record ids; no workspace view exists.
Cílový stav
An intent, ADR or issue inspector shows its sources; one click opens the message; the snapshot build contains no message text.
Rozsah
- docs/MAJORDOMUS_UI.md
- apps/majordomus-cli/src/ui/prose.rs
- apps/majordomus-cli/src/ui/mod.rs
- apps/majordomus-cli/src/ui/intent.rs
- apps/majordomus-cli/src/ui/issues.rs
- apps/majordomus-cli/src/ui/source.rs
- apps/majordomus-cli/src/cockpit/intents.rs
- apps/majordomus-cli/src/cockpit/plan.rs
- apps/majordomus-cli/tests/ui_links.rs
- site/templates/issue.html
Mimo rozsah
- Showing message text on the published site
Závislosti
- I3282BLOCKED A workspace reference resolves to its message where the store holds it, and says 'not held here' where it does not
- I1309BLOKOVÁNO Hranice, které tento milník tvrdí, jsou kontroly, ne věty
Co na tom čeká
Kritéria přijetí
- A record's workspace source is a link on /ui that opens the message
- A conversation view lists the records citing it, derived from the records alone
- The published snapshot of the same record contains the reference and no message text
- A test case builds the UI snapshot and the site inside a fixture checkout whose .ai/local/workspaces store holds a canary message and title, and fails when either canary appears in the output
- After a deploy, majordomus.dev shows a promoted record's workspace reference as text with no message content
- /cockpit draws a record's workspace reference the way /ui does
- A site docs page explains workspace references and ships in a released version
Validace
- cargo test --manifest-path apps/majordomus-cli/Cargo.toml --test ui_links
- majordomus generate --check
Požadované důkazy
- test_ui_workspace_reference
- case_nothing_synced_is_published
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/I3283.yaml. Read it back with majordomus plan show I3283.