Co to znamená
majordomus ui, primární povrch na /ui (ADR 0135), ukazuje člověku, jak stojí dodávka. Každý zdroj, který dashboard čte, je na stránce citován, každý s odkazem na stránku této schopnosti v Cockpitu, kde je její schéma, trasy a provenience. Čtenář, který o čísle pochybuje, ho může sledovat k schopnosti, která odpověděla, a odtud tuto schopnost zavolat přes API, příkazový řádek nebo MCP a dostat stejnou odpověď.
Dashboard se servíruje pod stejnou content-security politikou jako Cockpit, takže UI nepřidává žádný volnější povrch. Fronta pull requestů je nejpomalejší zdroj, který delivery má. První vykreslení na ni nečeká: je to panel na vlastní trase, který odpovídá jak jako celá stránka, tak jako fragment, který si obrazovka natáhne po vykreslení.
Princip
Dashboard (apps/majordomus-cli/src/ui/dashboard.rs) deklaruje zdroje, které čte. Ptá se jich přes jediný executor, který obsluhuje MCP i HTTP, všech najednou, a každou odpověď vykreslí se zdrojovým řádkem jmenujícím schopnost a odkazujícím na /cockpit/capabilities/<id>. Zdroj, který selže, se čte jako „bez odpovědi“, nikdy nula (project.ui-derived-state). Fronta je z prvního vykreslení vynechána. Její místo drží zástupný znak data-panel-src jmenující trasu panelu, /ui/panels/pull-requests, který naplní jediný skript UI, a čtenář bez JavaScriptu ho dostane jako odkaz.
apps/majordomus-cli/tests/ui_surface.rs dokazuje tvrzení přes skutečný socket proti jednorázovému repozitáři. the_dashboard_is_served_at_ui_under_the_cockpits_policy požádá o /ui a ověří:
- stránka je HTML pod vlastním
content-security-policyCockpitu, snosniff; - odkazuje na Cockpit;
- cituje
health.report,release.version,distribution.releases,plan.status,plan.roadmapamesh.peerspřes jejich stránky v Cockpitu; - na frontu se odkazuje jen jako na
/ui/panels/pull-requests, nikdy jako naintegration.queue.
the_queue_panel_is_a_page_and_a_fragment se ptá na routu toho panelu, jednou jako stránka a jednou s ?fragment.
Jak to vidět
majordomus serve # logs the URL of the shared server
# open <url>/ui and follow any "source" line under a tile or panel
cd apps/majordomus-cli && cargo test --test ui_surfaceCo nepokrývá
Dokazuje dashboard, ne každou obrazovku. Že každá obrazovka vykreslí svůj hero a panely s řádkem zdroje, drží ui::tests::every_screen_renders_its_hero_and_panels v crate, a že žádná obrazovka neukazuje hodnotu, na kterou schopnost neodpověděla, drží kontrola ui-integrity (případ 547). Ani jedno není test tohoto tvrzení.
Nedokazuje, že odpověď citované schopnosti je správná. To dokládají vlastní testy schopnosti. Nedokazuje ani rozložení při každé šířce, které drží kontrola ui-audit a pravidla designu.
Proč existuje
UI je povrch, kam je člověk poslán jako první, takže je tím, čemu se nejspíš uvěří bez ověření. Dashboard, který by ukazoval čísla bez uvedení, odkud jsou, by byl druhou autoritou nad dodávkou, což ADR 0012 a ADR 0088 zakazují. Tvrzení dělá citaci součástí kontraktu, na který se čtenář spoléhá, a test ji drží nad skutečným serverem, ne nad vykreslenou šablonou.