I2656 — Prohlížeč diagramů obsluhuje Cockpit a majordomus ui a uzel, který je souborem repozitáře, odkazuje na svůj zdroj
Rozšířit to, co postavil I2653, ve dvou směrech, které vynechal: nechat Cockpit a majordomus ui vykreslit diagram Mermaid přes týž prohlížeč místo druhé implementace a uzel, jehož popisek je cesta ke sledovanému souboru, odkázat na tento soubor v commitu, ze kterého byl web sestaven.
PŘIPRAVENO vlna 1 · p3 · profil implementation · bezpečné paralelně
Připraveno. Všechny závislosti jsou hotové, takže majordomus plan start I2656 bude přijato.
Cíl
Rozšířit to, co postavil I2653, ve dvou směrech, které vynechal: nechat Cockpit a majordomus ui vykreslit diagram Mermaid přes týž prohlížeč místo druhé implementace a uzel, jehož popisek je cesta ke sledovanému souboru, odkázat na tento soubor v commitu, ze kterého byl web sestaven.
Proč
ADR 0152 omezilo prohlížeč na publikovaný web. Pravidlo project.a-diagram-is-drawn-not-typed jmenuje čtyři vykreslení jednoho vztahu (web, Cockpit, terminál, API); web má nyní jeden prohlížeč a ostatní prohlížečové povrchy žádný. Diagramy na webu jmenují soubory (.ai/repo/policy.yaml, scripts/generate-site-data), které odvozování ponechává jako text, ačkoli scripts/ci/link-check už blob odkazy rozhoduje proti gitu.
Aktuální stav
share/design/figure.css importuje pouze web; share/cockpit a share/ui nenačítají žádný prohlížeč diagramů; index odkazů drží pouze trasy webu.
Cílový stav
Prohlížeč a jeho stylopis se Cockpitu a UI servírují z jednoho zdroje pod politikou obsahu, kterou tato rozhraní nastavují, přičemž odvození kontrastu návrhu čte figure.css; uzel, jehož celý popisek je sledovaná cesta, odkazuje na její blob v sestaveném commitu a scripts/ci/link-check ho vyřeší.
Rozsah
- site/diagrams.js
- share/design/figure.css
- share/cockpit/src/cockpit.css
- share/ui/src/ui.css
- apps/majordomus-cli/src/design/contrast.rs
- scripts/lib/diagrams.mjs
- scripts/lib/diagrams.test.mjs
- .ai/repo/project/issues/I2656.yaml
Mimo rozsah
- Druhý prohlížeč pro jakýkoli povrch
Závislosti
Kritéria přijetí
- Diagram v Cockpitu kreslí site/diagrams.js pod politikou obsahu Cockpitu
- Uzel označený sledovanou cestou je uveden jako odkaz na ten soubor a link-check jej propustí; nesledovaná cesta se neodkazuje
- majordomus design contrast měří dvojice, které používá figure.css
Validace
- node --test scripts/lib/diagrams.test.mjs
- scripts/rust-check
Požadované důkazy
- cockpit_viewer_case
- file_link_unit_tests
Důkazy
Nic nezaznamenáno. Za každým tokenem výše musí stát příkaz nebo artefakt, než lze tento úkol dokončit; vyprávění se odmítá.
Časová osa
- zahájeno
- —
- ověřeno
- —
- dokončeno
- —
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/I2656.yaml. Načtěte jej zpět pomocí majordomus plan show I2656.