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.

I2461 — majordomus ui se servíruje na /ui jako samostatný produkt s obrazovkami složenými ze schopností

Servírovat UI, primární lidský povrch, který vlastník nazývá `majordomus ui`, jako vlastní nativní povrch na sdíleném serveru: s vlastním mountem, shellem, navigací ve slovníku doručení a assety a s prvním Dashboardem složeným výhradně ze schopností, kde každá hodnota cituje schopnost a ukazatel, odkud byla přečtena.

HOTOVO vlna 0 · p1 · profil implementation · běží samostatně

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

Cíl

Servírovat UI, primární lidský povrch, který vlastník nazývá `majordomus ui`, jako vlastní nativní povrch na sdíleném serveru: s vlastním mountem, shellem, navigací ve slovníku doručení a assety a s prvním Dashboardem složeným výhradně ze schopností, kde každá hodnota cituje schopnost a ukazatel, odkud byla přečtena.

Proč

Sjednocený balíček UI se skutečnými daty od vlastníka (campaigns/majordomus-ui-unified-real-data-v2-20261011) žádá jedenáct obrazovek. 2026-10-11 vlastník rozhodl, kde žijí: „je to majordomus ui primární, ne cockpit (nízká úroveň)“. ADR 0135 rozhodnutí zaznamenává. Audit M00 (tmp/owner-packs/majordomus-ui-unified-real-data-v2-20261011/AUDIT-M00.md) zjistil, že data pro většinu panelů existují, ale přehled Cockpitu potřeboval 13-18 s k vykreslení a že samotné integration.queue trvá 50 s, takže první obrazovka se musí ptát jen rychlých zdrojů a frontu kreslit jako vlastní panel. Před touto změnou byl `majordomus ui` neznámý příkaz a žádná plocha serveru nebyla ta na vysoké úrovni.

Aktuální stav

Sdílený server obsluhuje Cockpit (/cockpit), API, Swagger, MCP a domovskou stránku. Žádný vysokoúrovňový povrch neexistuje.

Cílový stav

Nativní povrch `ui` je připojen na /ui (topologie, vazba, router; Feature::Ui) a obsluhuje ho sdílený server vedle Cockpitu, na který odkazuje jen jako na technický pohled na zdroj. Jeho rámec sleduje předlohy vlastníka: boční panel obrazovek s ikonami sady (zkompilovanými z site/data/kit/icons.toml příkazem majordomus generate) a karta verze čtená z distribution.releases, horní lišta s vyhledáváním, časem načtení obrazovky a dalšími povrchy a menu, které se otevře bez JavaScriptu. Sedm obrazovek — Dashboard, Roadmap, Issues & PRs, Mesh, CI/CD & Releases, Evidence, Governance — každá s úvodním pásem s KPI dlaždicemi a mřížkou panelů, skládá jen odpovědi schopností zjištěné najednou. Každý panel uvádí své zdroje s trasou API, příkazem CLI a nástrojem MCP, které deklaruje capabilities.describe. Dlaždice, panely a řádky vedou na obrazovku, která drží celek. Závislosti milníků se kreslí jako graf přibalenou knihovnou Cytoscape nad náhradní tabulkou. Prstencové grafy, měřidla a časové osy se kreslí na straně serveru z počtů, které vypisují, a chybějící hodnota se čte jako none, unknown nebo not answered, nikdy jako nula. Fronta pull requestů je panel /ui/panels/pull-requests, dotažený po vykreslení. Viditelná obrazovka se čte znovu každou minutu a říká kdy. ui-integrity a kontrola indexu ADR 0012 pokrývají src/ui (případy 389 a 547) a třída CI ui vybere kontrolu assetů vždy, když se změní share/ui nebo src/ui. Zde nehotovo: příkaz majordomus ui (I2231, k doplnění) a obrazovky Command, Capabilities, Deployments, Documentation a Settings.

Rozsah

  • apps/majordomus-cli/src/ui
  • apps/majordomus-cli/src/generate.rs
  • scripts/ci/cockpit-projection-check
  • .ai/repo/ci/gates.yaml
  • .ai/repo/features/ui.md
  • test/cases/389_cockpit_projection.sh
  • test/cases/547_the_ui_says_only_what_is_derived.sh
  • docs/MAJORDOMUS_UI.md
  • docs/README.md
  • .gitignore
  • apps/majordomus-cli/src/cockpit/assets.rs
  • apps/majordomus-cli/src/lib.rs
  • apps/majordomus-cli/src/http/router.rs
  • apps/majordomus-cli/src/http/surfaces.rs
  • apps/majordomus-cli/src/shared.rs
  • apps/majordomus-cli/src/web/discover.rs
  • apps/majordomus-cli/src/web/model.rs
  • share/ui
  • scripts/cockpit-assets
  • .ai/repo/adrs/0135-majordomus-ui-is-the-primary-surface.md
  • .ai/repo/project/issues/I2461.yaml

Závislosti

Žádné. Tento úkol je kořenem grafu.

Co na tom čeká

Kritéria přijetí

  • GET /ui na sdíleném serveru odpovídá 200 text/html s CSP Cockpitu a s vypnutým JavaScriptem ukazuje šest dlaždic a každý panel nebo jeho odkaz
  • Každá dlaždice a panel Dashboardu cituje schopnost, kterou četl, a zdroj, který selže, činí z dlaždice „neodpovězeno“, nikdy 0
  • První vykreslení Dashboardu se nikdy neptá integration.queue; /ui/panels/pull-requests odpovídá frontou jako stránkou a s ?fragment samotným panelem
  • Lišta uvádí přesně ty obrazovky, na které dispatcher odpovídá, a test selže, když se obojí liší
  • scripts/cockpit-assets --check selže, když je share/ui/ui.css zastaralé
  • scripts/ci/cockpit-projection-check --ui-integrity selže při čtení registru nebo výchozí nulové hodnotě počtu v src/ui (případ 547)
  • Každý panel jmenuje své zdroje s trasou API, příkazem CLI a nástrojem MCP, které deklaruje capabilities.describe, a Cockpit jen jako jejich technický pohled

Validace

  • bin/majordomus plan validate
  • cargo test --lib ui::
  • cargo test --lib cockpit::assets
  • scripts/cockpit-assets --check

Požadované důkazy

  • ui_surface_served_test
  • ui_dashboard_cites_sources_test
  • ui_screenshots_1440_768_375

Důkazy

pokrývátypcommandvýsledeku commitu
ui_surface_served_testcicargo test --test ui_surface (běh validate 38223440282 na 722228ef3c, top v0.21.0, job rust)the_dashboard_is_served_at_ui_under_the_cockpits_policy, the_queue_panel_is_a_page_and_a_fragment, the_ui_is_a_public_surface_and_answers_only_reads: ok722228e
ui_dashboard_cites_sources_testcicargo test --lib ui::dashboard; cargo test --test ui_surface (validate run 38223440282 on 722228ef3c, the v0.21.0 top)9 testů ui::dashboard ok, včetně every_source_is_named_and_the_queue_waits_for_its_own_route; obsluhovaný přehled cituje šest schopností jejich stránkami v Cockpitu722228e
ui_screenshots_1440_768_375artifactnode scratchpad/shots.mjs (Playwright Chromium, tmavý) proti majordomus serve 0.21.0 sestavenému z perf/the-ui-answers-at-once d24107bd88/ui při 1440x900, 768x1024 a 375x812: žádné vodorovné přetečení, žádné chyby stránky722228e

Časová osa

zahájeno
2026-10-12T10:58:53Z
ověřeno
2026-10-12T10:59:05Z
dokončeno
2026-10-12T10:59:30Z

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/I2461.yaml. Přečtěte jej zpět pomocí majordomus plan show I2461.

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