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.

Dashboard UI na /ui odkazuje každou schopnost, kterou načetl, na stránku této schopnosti, servíruje se pod bezpečnostní politikou Cockpitu a nikdy nečeká na frontu pull requestů, která je vlastní stránkou a fragmentem

majordomus ui, primární povrch na /ui (ADR 0135), ukazuje člověku, jak doručení

deklarovaný stavdeklarovaný stav: zaručeno Deklarováno jako deterministické a blokující, implementováno a s uvedeným behaviorálním testem, který to má dokázat. Zda to zaznamenaný běh podporuje, říká verdikt důkazů zobrazený vedle.

zaznamenané důkazyzaznamenané důkazy: nespuštěno Deklarováno jako zaručené, ale nepodložené zaznamenaným během: test je pojmenován, ale žádný úspěšný běh nad současnými vstupy zaznamenán není. jak se zaznamenávají důkazy

the_dashboard_is_served_at_ui_under_the_cockpits_policy spustí skutečný server nad fixture repozitářem a ověří, že stránka odkazuje na /cockpit/capabilities/<id> pro každou ze schopností health.report, release.version, distribution.releases, plan.status, plan.roadmap a mesh.peers, nese content-security politiku Cockpitu a frontu tahá z /ui/panels/pull-requests, místo aby citovala integration.queue; the_queue_panel_is_a_page_and_a_fragment dokazuje vlastní route fronty.

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-policy Cockpitu, s nosniff;
  • odkazuje na Cockpit;
  • cituje health.report, release.version, distribution.releases, plan.status, plan.roadmap a mesh.peers přes jejich stránky v Cockpitu;
  • na frontu se odkazuje jen jako na /ui/panels/pull-requests, nikdy jako na integration.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_surface

Co 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.

Detail vykreslený z docs/claims/ui-dashboard-cites-its-sources.md.

Od tvrzení k důkazu

  1. 1 · veřejné tvrzení

    Dashboard UI na /ui odkazuje každou schopnost, kterou načetl, na stránku této schopnosti, servíruje se pod bezpečnostní politikou Cockpitu a nikdy nečeká na frontu pull requestů, která je vlastní stránkou a fragmentem

    Učiněno v UI.

  2. 2 · kanonické tvrzení

    ui-dashboard-cites-its-sourcesdeklarovaný stav: zaručeno v docs/CLAIMS.yaml

    Definováno v přečtěte si to na tomto webu · docs/MAJORDOMUS_UI.md

  3. 3 · implementace

    apps/majordomus-cli/src/ui/dashboard.rs

  4. 4 · test a scénáře

    Test: apps/majordomus-cli/tests/ui_surface.rs

  5. 5 · zaznamenané běhy

    zaznamenané důkazy: nespuštěno jak se zaznamenávají důkazy

Ověřte si to sami

Test běží v jednorázovém dočasném repozitáři a ověřuje chování, ne řetězec ve zdrojovém kódu.

z klonu repozitáře
bash test/run.sh apps/majordomus-cli/tests/ui_surface.rs

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