I0914 — Jedno jádro nasazení, jeden příkaz a nanečisto, které nic nemění
Implementovat operace nasazení — validate, plan, generate, build, status, deploy, smoke — jednou v typovaném jádru, zpřístupnit je přes tenké adaptéry a poskytnout jeden pohodlný příkaz, který celou posloupnost provede bezpečně a lze mu zadat, aby nic neměnil.
ZRUŠENO vlna 4 · 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.
Cíl
Implementovat operace nasazení — validate, plan, generate, build, status, deploy, smoke — jednou v typovaném jádru, zpřístupnit je přes tenké adaptéry a poskytnout jeden pohodlný příkaz, který celou posloupnost provede bezpečně a lze mu zadat, aby nic neměnil.
Proč
Logika nasazení rozptýlená mezi skript, workflow, cíl Makefile a entrypoint znamená čtyři místa, z nichž každé zná půlku pravdy. Jedno jádro s tenkými adaptéry je totéž pravidlo, které registr schopností už vynucuje pro všechno ostatní.
Aktuální stav
Nic neprovádí žádný krok nasazení. Každá zde jmenovaná operace neexistuje.
Cílový stav
Jádro vlastní sémantiku, CLI je adaptér, CI volá totéž jádro a dry run hlásí přesně to, co by udělal skutečný běh, bez doteku providera.
Rozsah
- apps/majordomus-cli/src/deploy/core.rs
- apps/majordomus-cli/src/commands/deploy.rs
Mimo rozsah
- Logika nasazení v shell skriptu nad rámec tenké adaptace
- Interaktivní prompty v neinteraktivní cestě
- Vytvoření nové aplikace při každém volání
Závislosti
- I0903HOTOVO Čtení nasazení se deklaruje jednou a promítá se všude
- I0909ZABLOKOVÁNO Produkční image je vygenerovaná projekce specifikace buildu
- I0913ZRUŠENO Konfigurace providera se generuje a levný profil je deklarován
Co na tom čeká
- I0915ZRUŠENO Nasazení se připojí k diagnostice, která už existuje
- I0916BLOKOVÁNO Smoke sada se odvozuje z registru cest a nikdy se nepíše dvakrát
- I0917ZRUŠENO Chybné nasazení lze deterministicky vrátit zpět
- I0931ZRUŠENO Aplikace existuje, běží na jednom stroji a URL odpovídá
Kritéria přijetí
- Postup je: validace, ověření projekcí, předběžná kontrola přihlašovacích údajů a konfigurace, sestavení, nasazení, čekání na stav zdraví, kontrola inventáře strojů, spuštění smoke sady, zveřejnění souhrnu — a selhání kteréhokoli kroku zastaví všechny další
- Dry run neprovede žádnou mutaci a hlásí tentýž plán, který by provedl skutečný běh
- Plan a doctor jsou jen pro čtení a opakované běhy bez změny zdroje konvergují, místo aby vytvářely nové zdroje
- Selhání jmenují zdroj pravdy, pozorovaný stav a příkaz, který to opraví, místo oznámení, že nasazení selhalo
- Žádná hodnota tokenu se nesmí objevit v žádném výstupu, včetně podrobného a chybových cest
Validace
- cargo test --workspace --all-features
- majordomus deploy --dry-run
Požadované důkazy
- core_operations
- dry_run
- one_command
- actionable_failures
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
Jediný příkaz, který dělá všechno, je také jediným příkazem, který udělá něco nezamýšleného. Dry run a operace jen pro čtení jsou to, co umožňuje spustit jej bez předchozího čtení jeho zdroje.
Zpráva o dokončení
Zrušeno 2026-10-14 na master e28daccd9b: jeho kroky jsou nasadit, počkat na zdraví a ověřit inventář Machine na Fly; část neutrální vůči providerovi je deploy.check a generate --check, které existují. Vlastník odpojil Fly.io 2026-10-12; tento repozitář nasazuje binárky releasů, image GHCR a GitHub Pages (commit 9af3fa65a4 odstranil fly.toml).
Č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/I0914.yaml. Načtěte ho zpět pomocí majordomus plan show I0914.