Přeskočit na obsah

Tato stránka byla automaticky přeložena z angličtiny, jediného jazyka, ve kterém se tento web píše. Číst originál.

I2484 — majordomus ui zajistí sdílený server a otevře dashboard UI

Dát primárnímu povrchu jeho příkaz: `majordomus ui` zajistí sdílený server tohoto checkoutu stejně jako `serve ensure`, vypíše adresu /ui a otevře ji v prohlížeči, takže se člověk k UI dostane jedním krokem a nepotřebuje lease, port ani Cockpit, aby je našel.

PŘIPRAVENO vlna 1 · p1 · profil implementation · bezpečné paralelně

Součást development-runtime — The runtime has a development surface.

Připraveno. Všechny závislosti jsou hotové, takže majordomus plan start I2484 bude přijato.

Cíl

Dát primárnímu povrchu jeho příkaz: `majordomus ui` zajistí sdílený server tohoto checkoutu stejně jako `serve ensure`, vypíše adresu /ui a otevře ji v prohlížeči, takže se člověk k UI dostane jedním krokem a nepotřebuje lease, port ani Cockpit, aby je našel.

Proč

ADR 0135, přijaté vlastníkem 2026-10-12, jmenuje `majordomus ui` primárním povrchem a jeho první důsledek říká, že příkaz otevře dashboard UI. Úkol, který to měl nést, I2231, žil jen na PR #863, který byl zavřen, takže master žádný příkaz nemá, docs/MAJORDOMUS_UI.md říká číst adresu ze `serve status` a `just open ui` je recept, ne příkaz executable.

Aktuální stav

`majordomus ui` je neznámý příkaz. Člověk otevře /ui na adrese, kterou vypíše `majordomus serve status`, nebo pomocí `just open ui`.

Cílový stav

`majordomus ui` je jedna položka kanonického grafu příkazů, projekce `server.status` a `serve ensure` bez vlastního serveru (ADR 0135: žádný druhý server, žádný režim): zajistí sdílený server tohoto checkoutu, počká, až je připraven, vypíše URL /ui (nebo /ui/<screen>, je-li jedna jmenována a SCREENS ji drží) a otevře ji, pokud není dáno --no-open nebo nelze spustit prohlížeč, v takovém případě to řekne a URL přesto vypíše. `ui status` a `ui stop` se nepřidávají: `serve status` a `serve stop` už odpovídají. Text nápovědy, generovaná reference příkazů a most just se odvozují z deklarace a docs/MAJORDOMUS_UI.md upouští od svého obejití.

Rozsah

  • apps/majordomus-cli/src/commands
  • apps/majordomus-cli/src/cli.rs
  • apps/majordomus-cli/src/ui
  • docs/MAJORDOMUS_UI.md
  • test/cases
  • .ai/repo/project/issues/I2484.yaml

Mimo rozsah

  • Druhý server nebo režim serveru jen pro UI
  • Jakákoli změna samotných obrazovek

Závislosti

Kritéria přijetí

  • `majordomus ui --no-open` na checkoutu bez běžícího serveru jeden spustí, vypíše URL končící /ui a to URL odpoví 200
  • `majordomus ui --no-open` při již běžícím serveru vypíše URL /ui toho serveru a nespustí druhý server
  • `majordomus ui --no-open <screen>` vypíše /ui/<screen> pro obrazovku, kterou SCREENS drží, a neznámou obrazovku odmítne jménem a vypíše ty známé
  • Příkaz se objeví ve vygenerované referenci příkazů a v mostu just bez ručně psané položky

Validace

  • bin/majordomus plan validate
  • cargo test --lib commands::
  • majordomus generate --check

Požadované důkazy

  • ui_command_case
  • ui_command_unit_tests

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.

Kanonický záznam: .ai/repo/project/issues/I2484.yaml. Přečtěte ho zpět pomocí majordomus plan show I2484.

Prohledává názvy a popisy všech stránek, které tento web publikuje.