I0916 — Smoke sada se odvozuje z registru tras, nikdy se nepíše dvakrát
Generovat smoke testy nasazení z autoritativního registru tras, rozšiřovat metadata tras jen tam, kde to smoke testování skutečně potřebuje, a pokrýt povrchy, které prostý stavový kód ověřit nedokáže.
BLOKOVÁNO vlna 5 · p0 · profil deep-work · bezpečné paralelně
Součást fly-deployment — Image kontejneru je projekcí modelu repozitáře a jeho smoke test je jeho důkazem.
Blokováno. Tento úkol nemůže začít, dokud nejsou I0905, I0914 hotovy. Stav je z toho odvozen, ne deklarován.
Cíl
Generovat smoke testy nasazení z autoritativního registru tras, rozšiřovat metadata tras jen tam, kde to smoke testování skutečně potřebuje, a pokrýt povrchy, které prostý stavový kód ověřit nedokáže.
Proč
Ručně psaný seznam endpointů ke kontrole je táž vada jako ručně psaný soubor OpenAPI: v den napsání je úplný a potom špatně. Registr už zná každou trasu a objevování webových povrchů podle ADR 0013 ví, které z nich se servírují.
Aktuální stav
Registr drží trasy schopností a router je servíruje. Nic z žádného z nich neodvozuje ověření a servírovaná topologie se na jiných branchích přetváří.
Cílový stav
Smoke sada vyjmenuje, co registr a vyřešená topologie povrchů říkají, že se poskytuje, každé ověří podle jeho druhu a nová trasa se do ní po registraci přidá sama.
Rozsah
- apps/majordomus-cli/src/deploy/smoke.rs
- test/cases
Mimo rozsah
- Druhý seznam endpointů ve skriptu, workflow nebo fixture testu
- Aliasy tras vytvořené jen proto, aby test prošel
- Vyžadování placeného externího poskytovatele pro smoke běh nasazení
Závislosti
- I0905PŘIPRAVENO Liveness a readiness jsou registrované schopnosti, ne hacky routeru
- I0914ZRUŠENO Jedno jádro nasazení, jeden příkaz a nanečisto, které nic nemění
Co na tom čeká
Kritéria přijetí
- Každá kontrolovaná routa pochází z registru nebo z rozlišené topologie povrchů a přidání routy přidá její kontrolu bez druhé úpravy
- Metadata rout získají jen pole, která smoke testování skutečně potřebuje, a žádné pole, které existuje kvůli pohodlí jednoho testu
- Websocketová routa se ověřuje skutečným upgradem, výměnou zpráv a čistým uzavřením, nikoli stavovým kódem
- Transport MCP se ověřuje handshakem platným podle protokolu, ne odpovědí 200 na jeho cestě
- Povrch kompatibilní s OpenAI, kde je servírován, se ověřuje na přítomnost tras, správnost schématu, záměrné chování autentizace a správné odmítnutí zkomolených vstupů, bez nutnosti placeného completion
- Dokument OpenAPI se stáhne a naparsuje a ověří se jeho soulad s registrem
- Dostupnost nasazení a dostupnost externího providera zůstávají samostatné verdikty
Validace
- bash test/run.sh
- cargo test --workspace --all-features
Požadované důkazy
- smoke_derived
- ws_upgrade
- mcp_handshake
- openapi_parsed
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á.
Riziko
Obsluhovaná topologie je rozpracována na jiných větvích. Připnutí sady k dnešním cestám by ji učinilo zastaralou při příchodu; musí se ptát topologie, ne jmenovat větve.
Č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/I0916.yaml. Přečtěte ho zpět pomocí majordomus plan show I0916.