135. majordomus ui je primární povrch a Cockpit je technická vrstva pod ním
Kontext
Prohlížečové povrchy tohoto repozitáře používají dva druhy čtenářů.
- Jedna otázka se ptá, jak stojí dodávka. Co je ve frontě pull requestů a proč, které milníky jsou blokované, který release je živý, kteří workeři jsou v mesh, jaké důkazy platí a co říká dokumentace. To je otázka na vysoké úrovni, kladená ve slovníku samotného projektu lidmi, kteří nečtou registr.
- Druhý se ptá, co je registr. Které schopnosti, objekty, grafy, trasy a schémata existují a jak je každé promítáno. Cockpit na to dnes odpovídá, jako vykreslený registr (ADR 0012): je to nízkoúrovňový, technický povrch.
Zadání vlastníka se uchovávají doslovně pod campaigns/ (sjednocený balíček se skutečnými daty campaigns/majordomus-ui-unified-real-data-v2-20261011/ a jeho nástupce campaigns/majordomus-ui-complete-opus-fable-v3-20261011/). Dřívější balíčky vlastníka (ui-implementation v1.1, ui-ux-dx) pojmenovaly první povrch majordomus ui, primární řídicí rovinu pro lidi. Prompt I2231 říkal, že volba mezi „přizpůsobeným Cockpitem“ a „samostatným povrchem“ se má zaznamenat, ne udělat v launcheru. Sjednocený balíček vlastníka se skutečnými daty z 2026-10-11 přináší jedenáct konceptů obrazovek (dashboard, odvodnění PR, úkoly a pull requesty, přehled plánu rozvoje a detail, mesh, CI/CD, schopnosti, důkazy, dokumentace). Téhož dne vlastník volbu rozhodl prostými slovy: „it is majordomus ui primary, not cockpit (low level)“.
Rozhodnutí
-
majordomus uije samostatný povrch, a to primární. Má vlastní mount na sdíleném serveru, vlastní shell a vlastní navigaci, psanou slovníkem dodávky (Dashboard, Issues & PRs, PR Drain, Roadmap, Mesh, CI/CD, Capabilities, Evidence, Documentation). Sem člověka posílámajordomus uia domovská stránka serveru jako první. -
Cockpit zůstává technickou vrstvou. Zachovává své oblasti a trasy a nepřestylizuje se na obrazovky vysoké úrovně. Panel UI na něj odkazuje dolů jako na diagnostický pohled na svůj zdroj (schopnost, objekt či graf, které četl) a Cockpit odkazuje nahoru na UI. Žádný nekopíruje stránky druhého.
-
Jeden server, jeden model, žádná druhá aplikace. UI obsluhuje stejný sdílený server a skládá stejné schopnosti přes stejný exekutor (ADR 0004, ADR 0012). Nemá žádné datové úložiště, žádný vlastní slovník stavů a žádný JavaScript, který by rozhodoval doménový fakt. Pravidlo z ADR 0088 platí pro každý panel:
- Jmenuje schopnost, vstup a ukazatel, které přečetlo.
- Zdroj, který nedokáže odpovědět, učiní panel neznámým, nikdy prázdným ani zeleným.
- Fakt bez producenta se čte „Not measured“ a jmenuje úkol, který by jej vytvořil.
-
Sdílená mechanika, oddělené povrchy. UI znovu používá mechaniku, kterou Cockpit už prokázal:
- serverový builder elementů a generované design tokeny;
- CSP připnutá hashem a neměnná aktiva s otiskem;
- přibalené knihovny, načítané líně pro každou obrazovku (Cytoscape pro vztahy, ECharts pro měřené řady, jakmile budou přibaleny, Alpine pro drobné interakce, p5 jen pro odůvodněný dekorativní motiv a nikdy jako důkaz stavu);
- sonda odvozená z tras a audit UI (ADR 0022), které objevují stránky UI tak, jak objevují stránky Cockpitu.
Sdílený kód se přesune do modulu, který importují oba povrchy. Neduplikuje se.
-
První vykreslení je omezené. Obrazovka vykreslí svůj rámec a levné panely hned. Panel s pomalým zdrojem dorazí jako serverem vykreslený fragment vlastní trasy, takže i s vypnutým JavaScriptem stránka odkazuje na každý panel. Zdroje se ptají souběžně (I2460 je první případ).
-
majordomus uipříkaz zajistí sdílený server a otevře dashboard UI (I2231). Nepřidává žádný server ani režim.
Důsledky
- I2231 (plánováno v PR #863,
chore/the-owner-packs-are-planned) říká, žemajordomus ui„opens this checkout's Cockpit“. Jeho název, cíl, požadovaný stav i kritéria přijetí se mění na „opens the UI's dashboard“.ui statusaui stopzůstávajíserve statusaserve stoppod jiným jménem a stále neexistuje druhý server. - Vysokoúrovňové obrazovky jsou nové routes a nová navigace pod mountem UI. Seznam oblastí Cockpitu, jeho stránky a jejich testy se pro jejich hostování nepřetvářejí.
- Shell UI musí fungovat od první obrazovky na každé deklarované šířce. Práce na mobilní navigaci z #858 se znovu použije tam, kde je její mechanika obecná, ne tím, že se z UI udělá sekce Cockpitu.
docs/COCKPIT.mdpopisuje technickou vrstvu. Nová sekcedocs/UI.mdnebo vlastní dokument popisuje primární rozhraní. Web a domovská stránka serveru prezentují nejprve UI.
Stav
Navrženo relací d3 dne 2026-10-11 na slova vlastníka. Přijato vlastníkem 2026-10-12, dotázán v relaci p12 poté, co UI přistálo ve v0.21.0 (#940, #948, #952, #955, #957-#963): „Ano, přijmout obojí“ — toto rozhodnutí a funkci ui jako stabilní.
I2231 žilo jen na uzavřeném PR #863 a na master se nikdy nedostalo. Příkaz majordomus ui, který popisuje první důsledek, je místo toho naplánován jako I2484.