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.

I2495 — Cockpit je publikován jako snapshot na /cockpit a odkazy na důkazy v UI vedou na něj

Publikovat Cockpit na veřejném webu jako snímek přečtený při publikovaném commitu, exportérem, který už čte UI, aby /cockpit/ byl ověřeným povrchem produktu a schopnost, kterou UI cituje, byla stránkou, kterou čtenář může otevřít.

HOTOVO vlna 3 · p0 · profil implementation · běží samostatně

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

Cíl

Publikovat Cockpit na veřejném webu jako snímek přečtený při publikovaném commitu, exportérem, který už čte UI, aby /cockpit/ byl ověřeným povrchem produktu a schopnost, kterou UI cituje, byla stránkou, kterou čtenář může otevřít.

Proč

Vlastníkova mise Unified Product Experience (2026-10-12) jmenuje domovskou stránku, /ui a /cockpit jako povrchy produktu a žádá, aby byl ověřen veřejný /cockpit. https://majordomus.dev/cockpit/ odpovídal stránkou webu pro nenalezeno. Každý zdrojový řádek UI odkazuje na stránku schopnosti v Cockpitu (ADR 0135) a v publikovaném snapshotu UI každý z těch odkazů vedl na stránku, která říká jen to, že odpovídá až proces: 187 odkazů na šestnácti obrazovkách tohoto repozitáře. ADR 0147 zaznamenává rozhodnutí.

Aktuální stav

Exportér z ADR 0141 (web/report/snapshot.rs) jmenuje ve svém kódu mount UI, aktiva, obrazovky a skript. Žádný příkaz nezapisuje snapshot Cockpitu, model publikace deklaruje jeden snapshot a žádná sonda se nedotazuje veřejného webu na /cockpit/.

Cílový stav

Exportér bere Subject (identita, producent, obsluhovaný povrch, mount, assety, klíč fragmentu, zda stránky ponechávají skripty, zadržené routes), handler povrchu a stránky ke čtení jako první. `majordomus web report cockpit-snapshot` zapíše target/web/cockpit-snapshot: každou statickou route kromě /cockpit/continuity, poté stránky Cockpitu, na které chtěl snapshot UI odkazovat, poté to, na co odkazují, omezeně; žádná stránka nenese skript; každá stránka je opatřena commitem, časem a executable. Stránku, která čte .ai/local/, zadržuje samotný subject, takže se k ní žádný odkaz nedostane. Odkaz do povrchu jiného snapshotu vede na stránku, když ji záznam onoho snapshotu uvádí, a jinak na živou stránku, a snapshot zapsaný jako druhý opraví soubory prvního. deploy.snapshots deklaruje oba; workflow pages čte Cockpit po UI, nahraje oba, umístí každý na jeho mount z modelu a po nasazení se veřejného webu zeptá na Cockpit; pages-check drží každý deklarovaný snapshot.

Rozsah

  • apps/majordomus-cli/src/web/report/snapshot.rs
  • apps/majordomus-cli/src/commands/web.rs
  • apps/majordomus-cli/src/cli.rs
  • apps/majordomus-cli/src/cockpit/mod.rs
  • apps/majordomus-cli/src/web/discover.rs
  • scripts/pages
  • scripts/ci/pages-check
  • .ai/repo/ci/pages.yaml
  • .github/workflows/pages.yml
  • docs/COCKPIT.md
  • docs/MAJORDOMUS_UI.md
  • docs/GITHUB_PAGES_ARCHITECTURE.md
  • test/cases/2981_the_cockpit_snapshot_holds_its_routes.sh
  • test/cases/2982_two_snapshots_link_what_the_other_holds.sh
  • .ai/repo/adrs/0147-the-cockpit-is-published-as-a-snapshot-by-the-exporter-that-reads-the-ui.md
  • .ai/repo/project/issues/I2495.yaml

Závislosti

Kritéria přijetí

  • `majordomus web report cockpit-snapshot` zapíše přehled a výpis schopností, každý relativní odkaz každé stránky jmenuje soubor, který snapshot drží, a žádná stránka nenechává absolutní odkaz do /cockpit
  • Žádná stránka snímku Cockpitu nenese skript a každá uvádí commit, na kterém byla přečtena
  • /cockpit/continuity není v žádném snapshotu, ať na něj odkazuje cokoli, a odkaz na ni vede na stránku o živém Cockpitu
  • Po zápisu snapshotu Cockpitu každý odkaz ze snapshotu UI do /cockpit jmenuje stránku, kterou snapshot Cockpitu drží, a schopnosti, které UI cituje, jsou mezi jeho stránkami
  • Topologie drží cockpit-snapshot na /cockpit vedle servírovaného Cockpitu bez konfliktu
  • Model publikace deklaruje oba snapshoty a workflow pro pages se po nasazení ptá veřejného webu na Cockpit
  • https://majordomus.dev/cockpit/ odpovídá kódem 200 a stránkou, která uvádí publikovaný commit

Validace

  • bin/majordomus plan validate
  • cargo test --lib web::report::snapshot
  • MJ_TEST_JOBS=2 bash test/run.sh 2981_the_cockpit_snapshot_holds_its_routes 2982_two_snapshots_link_what_the_other_holds
  • scripts/pages verify-ui --surface cockpit

Požadované důkazy

  • cockpit_snapshot_unit_tests
  • cockpit_snapshot_cases_2981_2982
  • public_cockpit_verified

Důkazy

pokrývátypcommandvýsledeku commitu
cockpit_snapshot_unit_teststestcargo test --manifest-path apps/majordomus-cli/Cargo.toml --lib web::report::snapshottest result: ok. 7 passed; 0 failed, on a tree equal to master 3442ce68c5; three of them are the Cockpit subject's3442ce6
cockpit_snapshot_cases_2981_2982testbash test/run.sh 2981_the_cockpit_snapshot_holds_its_routes 2982_two_snapshots_link_what_the_other_holdsok 2981_the_cockpit_snapshot_holds_its_routes, ok 2982_two_snapshots_link_what_the_other_holds, na stromu shodném s masterem 3442ce68c53442ce6
public_cockpit_verifiedručníscripts/pages verify-ui --surface cockpit --url https://majordomus.dev --commit 3442ce68c56cb360117df24da8268006aa9814c7 --timeout 0exit 0 at 2026-10-13T12:26Z, after pages run 38395021350: https://majordomus.dev/cockpit/ serves the Cockpit read at 3442ce68c56c: 256 of 1500 page(s) snapshot.json lists were asked for and 0 did not answer, 1244 not asked (--max-pages 256); the snapshot left out 1628 page(s), stopped by limit. The route answered 404 before that run3442ce6

Časová osa

zahájeno
2026-10-13T12:51:02Z
ověřeno
2026-10-13T12:51:17Z
dokončeno
2026-10-13T12:52:11Z

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

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