I3822 — A deployment that names a provider is observed at its own URL, and is active only while it serves master
served.observe defaults its url to the deployment object's provider.url and its identity to the object's health.liveness route when --deployment names an object with a provider; the publishing workflow observes after every push; the object's status moves from declared to active only on an observation that judged it serving master, and a stale or unreachable observation is a finding. ADR 0219 decision 5.
BLOKOVÁNO vlna 2 · p1 · profil implementation · běží samostatně
Součást fly-deployment — Image kontejneru je projekcí modelu repozitáře a jeho smoke test je jeho důkazem.
Blocked. This issue cannot start until I3821 is done. The status is derived from that, not declared.
Cíl
served.observe defaults its url to the deployment object's provider.url and its identity to the object's health.liveness route when --deployment names an object with a provider; the publishing workflow observes after every push; the object's status moves from declared to active only on an observation that judged it serving master, and a stale or unreachable observation is a finding. ADR 0219 decision 5.
Proč
Today served.observe defaults to the Pages site and build.json; nothing ties an observation to the deployment object, so the hosted application's currency cannot be judged and its status is a hand-set word.
Aktuální stav
served.observe takes --url or falls back to site/config.toml's base_url with identity build.json; /api/v1/live already answers commit and dirty; the object's status is declared.
Cílový stav
majordomus served observe --deployment majordomus reads provider.url and health.liveness, judges the answer against master by containment and records it; case 3822 serves a fixture liveness answer and proves served, stale and unreachable verdicts; the status is set to active by a recorded observation, not by hand.
Rozsah
- apps/majordomus-cli/src/served.rs
- apps/majordomus-cli/src/capability/builtin/served.rs
- .ai/repo/deployments
- test/cases/3822_a_provider_deployment_is_observed_at_its_url.sh
- .ai/repo/project/issues/I3822.yaml
Závislosti
Co na tom čeká
Kritéria přijetí
- An object with a provider is observed at its url and liveness route without --url
- A deployment answering master is served, one answering an older commit is stale, one not answering is unreachable
- The status is active only while the newest observation is served
Validace
- env -u MAJORDOMUS_SHARE -u MAJORDOMUS_HTTP_HOST -u MJ_ROOT bash test/run.sh 3822_a_provider_deployment_is_observed_at_its_url
Požadované důkazy
- observed_at_provider_url
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á.
Č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.
Canonical record: .ai/repo/project/issues/I3822.yaml. Read it back with majordomus plan show I3822.