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.

I0901 — Popis nasazení je druh vrstvy, ne soubor poskytovatele

Zaregistrovat `deployment` jako druh vrstvy AI — povolené klíče, schéma, smlouva adresáře — a popsat vlastní nasazení tohoto repozitáře jako jeden objekt pod .ai/repo/deployments/, aby každá další projekce četla jeden soubor a žádný soubor poskytovatele nebyl nikdy autoritativní.

HOTOVO vlna 0 · 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

Zaregistrovat `deployment` jako druh vrstvy AI — povolené klíče, schéma, smlouva adresáře — a popsat vlastní nasazení tohoto repozitáře jako jeden objekt pod .ai/repo/deployments/, aby každá další projekce četla jeden soubor a žádný soubor poskytovatele nebyl nikdy autoritativní.

Proč

Ručně psaný Dockerfile a fly.toml by opakovaly port, trasy, zdroje a vstupy sestavení, které repozitář už zná. Vrstva už má mechanismus pro kanonická fakta: druh, jeho povolené klíče, jeho schéma a jeho smlouvu o adresáři. Nasazení je druh a vše za ním je projekce.

Aktuální stav

Druh na trunku existuje: share/kinds.yaml deklaruje deployment proti schématu majordomus.deployment/v1, share/allow/deployment.txt uzavírá jeho klíče a je z toho schématu generován a .ai/repo/deployments/majordomus.yaml popisuje nasazení tohoto repozitáře vedle README adresáře. Práce se dostala na master s feature/deployment-core a k tomuto úkolu nebylo nikdy nic zaznamenáno, takže milník čte PLANNED 0/32, ačkoli jeho první artefakty jsou na trunku. Změřeno na masteru 6042f4286, 2026-09-10; zde není označeno jako dokončené, protože validace tohoto úkolu (bash test/run.sh, bin/majordomus doctor) nebyla proti tomu stromu znovu spuštěna.

Cílový stav

Objekt nasazení je indexován, čitelný stejnou plochou objektů jako každý jiný druh, uzavřený souborem allow, popsaný schématem a žije v adresáři, který nese vlastní kontextový dokument.

Rozsah

  • .ai/repo/deployments
  • share/kinds.yaml
  • share/allow/deployment.txt
  • share/schemas

Mimo rozsah

  • Jakýkoli artefakt poskytovatele; tento úkol nezapisuje žádný Dockerfile ani fly.toml
  • Jakýkoli Rust; typovaný model je I0902
  • Jakákoli tajná hodnota, název přihlašovacího údaje nebo token

Závislosti

Žádné. Tento úkol je kořenem grafu.

Co na tom čeká

Kritéria přijetí

  • Objekt uvádí obecná fakta o nasazení — identitu aplikace, balíček a binárku, port naslouchání, routes zdraví a readiness, zdroje, počet strojů, region, autostart a autostop, vstupy buildu, rozpočty — a fakta specifická pro providera drží v pojmenovaném bloku providera, ne promíchaná s obecnými
  • Klíče jsou uzavřeny souborem share/allow/deployment.txt a neznámý klíč je odmítnut
  • Adresář nese kontextové README, které říká, co je autoritativní, co generované a jak to přegenerovat, podle ADR 0011
  • Objekt se vypisuje a čte přes stávající povrch objektů, bez kódu, který by pro něj dělal výjimku
  • V objektu se neobjeví žádná tajná hodnota ani název přihlašovacího údaje

Validace

  • bash test/run.sh
  • bin/majordomus doctor

Požadované důkazy

  • kind_registered
  • keys_closed
  • directory_contract
  • object_indexed

Důkazy

pokrývátypcommandvýsledeku commitu
kind_registeredartifactgrep -n -A3 '^ deployment:' share/kinds.yamlshare/kinds.yaml deklaruje druh deployment proti schématu majordomus.deployment/v1; share/allow/deployment.txt (41 klíčů) se generuje z tohoto schématuf075170
object_indexedtestbin/majordomus-cli run objects.list --input '{\"kind\":\"deployment\"}' --format json; bin/majordomus-cli run objects.get --input '{\"uri\":\"majordomus://deployment/majordomus\"}'objects.list vrací jeden objekt majordomus://deployment/majordomus v .ai/repo/deployments/majordomus.yaml; objects.get ho čte (stav succeeded); generický povrch objektů, žádný kód výpisu specifický pro nasazeníf075170
keys_closedtestbash test/run.sh 84_deployment_contractok 84_deployment_contract: doctor odmítá neznámý klíč jménem (key(s) the contract does not have: fly_api_token), cizí schéma, chybějící region, přihlašovací údaj, duplicitní identitu; obnovený objekt je přijatf075170
directory_contractartifactgrep -nE 'uthoritative|enerated|egenerat' .ai/repo/deployments/README.md; bin/majordomus doctor | grep deploymentthe context/v1 README ai.repo.deployments has sections 'What is authoritative and what is generated' and 'Regenerate' (ADR 0011); doctor: OK deployment .ai/repo/deployments/ — 1 deployment(s), no credential, one identity eachf075170

Riziko

Schéma napsané pro jedno nasazení se stane buď abstrakcí na úrovni Kubernetes, kterou nikdo nepotřebuje, nebo souborem Fly s jinou příponou. Musí být generické tam, kde by ho druhý poskytovatel věrohodně znovu použil, a konkrétní všude jinde.

Časová osa

zahájeno
2026-10-04T09:55:21Z
ověřeno
2026-10-04T09:59:52Z
dokončeno
2026-10-04T10:00:11Z

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/I0901.yaml. Přečtěte jej zpět pomocí majordomus plan show I0901.

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