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.

I0903 — Čtení nasazení se deklaruje jednou a projektuje se všude

Deklarovat read-only operace nasazení jako kanonické schopnosti, aby CLI, HTTP API, MCP, OpenAPI i generovaná dokumentace vše odvozovaly z jedné deklarace.

HOTOVO vlna 2 · p0 · profil implementation · bezpečné paralelně

Součást fly-deployment — Image kontejneru je projekcí modelu repozitáře a jeho smoke test je jeho důkazem.

Cíl

Deklarovat read-only operace nasazení jako kanonické schopnosti, aby CLI, HTTP API, MCP, OpenAPI i generovaná dokumentace vše odvozovaly z jedné deklarace.

Proč

Pravidlem repozitáře je, že operace se deklaruje jednou a promítá se; ruční přidání nasazení do registru transportu, souboru OpenAPI nebo tabulky dokumentace je vada, kterou jmenuje ADR 0004.

Aktuální stav

Registr schopností obsahuje modul deploy (apps/majordomus-cli/src/capability/builtin/deploy.rs) vedle ostatních. Tvrzení, které toto pole dříve neslo — že žádný modul nasazení neexistuje — bylo vyvráceno před 2026-09-10 a nikdy nebylo opraveno. Změřeno na master 6042f4286, 2026-09-10.

Cílový stav

Modul schopnosti nasazení deklaruje čtení nasazení a každá projekce je převezme z generate bez druhé registrace kdekoli.

Rozsah

  • apps/majordomus-cli/src/capability/builtin/deploy.rs
  • apps/majordomus-cli/src/capability/builtin/mod.rs

Mimo rozsah

  • Mutující operace přes HTTP nebo MCP; mutace nasazení patří důvěryhodnému CLI a CI
  • Ručně upravené OpenAPI, tabulky tras nebo seznamy dokumentace

Závislosti

Co na tom čeká

Kritéria přijetí

  • Každá operace je jedna deklarace capability! se vstupem, výstupem, stabilitou, vystavením a tagy
  • Operace se objeví v CLI, HTTP API, MCP povrchu, openapi.json a generované referenci, aniž by je jakýkoli soubor uváděl podruhé
  • Žádná schopnost neprovádí mutující akci nasazení
  • generate --check je po regeneraci zelený a selže, když se projekce upraví ručně
  • Projekce pokrytí měřením výkonu zahrnuje nové schopnosti, jak vyžaduje pravidlo pokrytí

Validace

  • cargo test --workspace --all-features
  • majordomus generate --check

Požadované důkazy

  • capability_declared
  • projections_derived
  • generate_check
  • benchmark_coverage

Důkazy

pokrývátypcommandvýsledeku commitu
capability_declaredtestcargo test --locked --manifest-path apps/majordomus-cli/Cargo.toml --lib capability::builtin::deployvýsledek testu: ok. 5 prošlo; 0 selhalo (běh 2026-10-14 mezi 08:59Z a 09:04Z na masteru e28daccd9b)e28dacc
projections_derivedtestmajordomus capabilities validatevalidate: 0 selhání (běh 2026-10-14 mezi 08:59Z a 09:04Z na master e28daccd9b)e28dacc
generate_checktestmajordomus generate --checkgenerate --check: synchronizováno (spuštěno 2026-10-14 mezi 08:59Z a 09:04Z na masteru e28daccd9b)e28dacc
benchmark_coveragetestmajordomus bench coverage --checkexit 0 (běh 2026-10-14 mezi 08:59Z a 09:04Z na masteru e28daccd9b)e28dacc

Riziko

Čtení stavu nasazení chce volat flyctl, což mění levnou schopnost na síťové volání na horké cestě. Živý stav poskytovatele patří za explicitní operaci s vlastní cenou, ne za běžné čtení.

Časová osa

zahájeno
2026-10-14T09:04:28Z
ověřeno
—
dokončeno
2026-10-14T09:04:42Z

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/I0903.yaml. Načtěte ho zpět pomocí majordomus plan show I0903.

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