I3796 — Every command and its output is one shell block, on every surface
Make terminal-run.html's contract the one shell block: the prompt is drawn and never copied, the copy control copies the command alone, an exit status is a word, and long output folds into a disclosure. Render the kit's terminal components and the /ui and Cockpit reproduce commands through it, so a command looks and copies the same wherever it is shown.
BLOKOVÁNO vlna 1 · p1 · profil implementation · bezpečné paralelně
Blocked. This issue cannot start until I3793 is done. The status is derived from that, not declared.
Cíl
Make terminal-run.html's contract the one shell block: the prompt is drawn and never copied, the copy control copies the command alone, an exit status is a word, and long output folds into a disclosure. Render the kit's terminal components and the /ui and Cockpit reproduce commands through it, so a command looks and copies the same wherever it is shown.
Proč
On 2026-10-20 commands were shown three ways on the site (recorded runs, the kit's term_* components, sh/bash fences) and as bare code.mj-ui-mono on /ui (claim.rs, idd.rs), with no prompt and no copy control; a reader copying a reproduce command from /ui got nothing to click.
Aktuální stav
terminal-run.html: prompt not copied, status word, folded output. Kit term_*: a different look. /ui: bare monospace reproduce lines.
Cílový stav
One shell block component, server-rendered on /ui and the Cockpit with the same markup and classes as the site's, using I3793's copy control; the kit's term_* components are that block.
Rozsah
- site/templates/partials/terminal-run.html
- site/templates/kit/code.html
- share/design/kit.css
- apps/majordomus-cli/src/ui/claim.rs
- apps/majordomus-cli/src/ui/idd.rs
- apps/majordomus-cli/src/ui/view.rs
Závislosti
Co na tom čeká
Kritéria přijetí
- The site, /ui and the Cockpit render a command with the same markup and classes, the prompt outside the copied text
- Copying a /ui reproduce command yields the command alone
Validace
- bin/majordomus plan validate
- cargo test --lib ui::
Požadované důkazy
- one_shell_block_case
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/I3796.yaml. Read it back with majordomus plan show I3796.