I1508 — Navigace se odvozuje z dispatcheru, neudržuje se vedle něj
Sladit seznam oblastí Cockpitu s trasami, na které dispatcher skutečně odpovídá, a odvodit nebo zkontrolovat tabulku tras v docs/COCKPIT.md, aby směrovaná stránka nemohla být neviditelná.
HOTOVO vlna 0 · p1 · profil implementation · bezpečné souběžně
Součást development-runtime — The runtime has a development surface.
Cíl
Sladit seznam oblastí Cockpitu s trasami, na které dispatcher skutečně odpovídá, a odvodit nebo zkontrolovat tabulku tras v docs/COCKPIT.md, aby směrovaná stránka nemohla být neviditelná.
Proč
F5 z tabulky selhání auditu, nezávislé na každém dalším úkolu zde, proto je levné a nemělo by čekat. Literální seznam oblastí v nav.rs už za dispečerem zaostává — Executions a Quality jsou deklarovány v enumu Area, vykreslovány stránkami a směrovány, a v seznamu chybí — a tři povrchy čtou zastaralý seznam: postranní panel, validaci oblastí produktového modelu a dataset cockpit-areas webu. V tabulce veřejných tras v docs/COCKPIT.md chybí pět tras, na které dispečer odpovídá. Zhoršující selhání je, že sonda Cockpitu prochází web z navigace, takže stránka chybějící v navigaci je stránka, kterou nic nekontroluje: nové stránky jsou ve výchozím stavu neviditelné a mechanismus, který by si toho všiml, je nevidí.
Aktuální stav
nav.rs::areas() je ručně vedený literál. V tabulce tras docs/COCKPIT.md chybí commands, continuity, directories, artifacts a quality. URL stránek a endpointy API jsou psány jako literály napříč pages.rs, včetně ručně psaného zrcadla navigace na stránce 404.
Cílový stav
Jedna deklarace rozhoduje, které oblasti existují. Boční panel, produktový model, dataset webu a zdokumentovaná tabulka rout jsou její projekce a routovaná stránka, kterou žádná oblast nejmenuje, je hlášené selhání, ne nedosažitelná stránka.
Rozsah
- apps/majordomus-cli/src/cockpit
- docs/COCKPIT.md
- test/cases
Mimo rozsah
- Přidání jakékoli stránky. Tento úkol zpřístupňuje a umožňuje kontrolovat ty stávající.
- Návrh postranního panelu. Nic zde nemění, jak vypadá.
Závislosti
Žádné. Tento úkol je kořenem grafu.
Kritéria přijetí
- Trasa, na kterou dispečer odpovídá a kterou nejmenuje žádná oblast, je hlášené selhání
- Postranní panel, validace oblastí modelu produktu a dataset webu čtou jednu deklaraci
- Tabulka rout v docs/COCKPIT.md se generuje nebo kontroluje proti dispečeru
- Sonda dosáhne každé routované stránky
Validace
- bash test/run.sh
- bin/majordomus-cli product validate
- bin/majordomus-cli generate --check
Požadované důkazy
- no_unlisted_route
- route_table_is_checked
Důkazy
| pokrývá | typ | command | výsledek | u commitu |
|---|---|---|---|---|
| no_unlisted_route | test | cargo test --locked --manifest-path apps/majordomus-cli/Cargo.toml --lib cockpit::tests::every_area_has_a_route_and_every_route_its_area | test result: ok. 1 passed; 0 failed (run 2026-10-14 between 07:40Z and 07:58Z on master ce5959db59) | ce5959d |
| route_table_is_checked | test | cargo test --locked --manifest-path apps/majordomus-cli/Cargo.toml --lib cockpit::tests::the_documented_route_table_is_the_dispatchers | test result: ok. 1 passed; 0 failed (run 2026-10-14 between 07:40Z and 07:58Z on master ce5959db59) | ce5959d |
Riziko
Nízké. Jediná past je, že tabulka rout žije v souboru, který je dnes ručně psaný a veřejný; její odvození mění, kdo ji smí upravovat, a to se musí říct v samotném souboru.
Časová osa
- zahájeno
- 2026-10-14T07:58:39Z
- ověřeno
- —
- dokončeno
- 2026-10-14T07:58:48Z
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/I1508.yaml. Přečtěte ho zpět pomocí majordomus plan show I1508.