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.

I2157 — Připraveno znamená připraveno: ztracený lease, degradovaná vrstva nebo selhávající mesh se nehlásí jako připraveno

Zahrnout ztrátu lease a zhoršený index do readiness s pojmenovaným důvodem, přidat kontrolu meshe do health.report a zařídit, aby majordomus doctor hlásil runtime nebo řekl, že ne.

HOTOVO vlna 0 · p1 · profil implementation · běží samostatně

Součást failure-is-visible — Každé selhání, které může runtime potkat, je omezené, testované nebo uvedené a mění zdraví, které hlásí.

Cíl

Zahrnout ztrátu lease a zhoršený index do readiness s pojmenovaným důvodem, přidat kontrolu meshe do health.report a zařídit, aby majordomus doctor hlásil runtime nebo řekl, že ne.

Proč

Readiness (apps/majordomus-cli/src/capability/builtin/health.rs:214, GET /api/v1/ready) kontroluje neprázdný registr a to, že kód nebyl nahrazen; degradovaný index zůstává ready:true s layer: warn a stav mesh a ztráta lease chybí: was_lost() dosáhne jen na GET / přes LEASEHOLDER_KEY (apps/majordomus-cli/src/http/router.rs:710). health.report (apps/majordomus-cli/src/capability/builtin/health.rs:299) nemá dimenzi mesh ani dimenzi povolenou politikou; zdraví mesh žije jen v mesh.status, mesh doctor a mesh verify. Běžící, připravený, zdravý v mesh a degradovaný jsou rozděleny mezi /live, /ready, server.standing_at (apps/majordomus-cli/src/capability/builtin/server.rs:403), MeshStatus, index::State::Degraded (apps/majordomus-cli/src/index.rs:34) a LinkState::Degraded (apps/majordomus-cli/src/mesh/cooperation.rs:265). Nejvyšší majordomus doctor je governance doctor (lib/doctor.sh:53-77), který nekontroluje nic o serveru, lease ani mesh, ačkoli to jeho název naznačuje. Audit základní linie ze dne 2026-10-09 na masteru 1fb8d6be44, mezera selhání 10 a předpoklad 4.

Aktuální stav

Server, který ztratil lease nebo servíruje degradovaný index, odpovídá na /api/v1/ready s ready true.

Cílový stav

GET /api/v1/ready odpoví ready false po ztrátě lease, s důvody jmenujícími lease_lost (a stale, jako dříve); degradovaná vrstva je uvedena jako layer_degraded a zůstává ready, což docs/MCP.md říká; health.report nese kontrolu meshe, která aplikuje runtime verdikt mesh doctor (doctor::runtime_verdict) v procesu, jehož server o meshi rozhodl, a jinde hlásí unknown. Odložená část, majordomus doctor hlásící runtime nebo říkající, že kontroluje jen governance, je I2707.

Rozsah

  • apps/majordomus-cli/src/capability/builtin/health.rs
  • apps/majordomus-cli/src/http/router.rs
  • apps/majordomus-cli/src/lease.rs
  • apps/majordomus-cli/src/mesh/doctor.rs
  • lib/doctor.sh
  • apps/majordomus-cli/tests/health_server.rs
  • docs/MCP.md

Závislosti

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

Co na tom čeká

Kritéria přijetí

  • Server, který ztratil lease, odpovídá na /api/v1/ready s ready false a důvodem lease_lost
  • Degradovaný index je hlášen na /api/v1/ready se svým důvodem a docs/MCP.md říká, zda to je ready
  • health.report nese kontrolu mesh, jejíž stav následuje verdikt mesh doctor, když je mesh zapnutý

Validace

  • bin/majordomus plan validate
  • cargo test --test health_server --test lease_lost

Požadované důkazy

  • ready_false_on_lease_loss_test
  • health_mesh_check_test

Důkazy

pokrývátypcommandvýsledeku commitu
ready_false_on_lease_loss_testtestcargo test --locked --manifest-path apps/majordomus-cli/Cargo.toml --test lease_losttest result: ok. 1 passed; 0 failed (běh 2026-10-14 12:00-12:15Z na masteru 2ca25bb9cf plus tato změna)2ca25bb
health_mesh_check_testtestcargo test --locked --manifest-path apps/majordomus-cli/Cargo.toml --test health_server && cargo test --locked --manifest-path apps/majordomus-cli/Cargo.toml --lib capability::builtin::health::tests::readiness_names_a_degraded_layer_and_is_still_readytest result: ok. 7 passed; ok. 1 passed; docs/MCP.md říká, že layer_degraded nečiní server nepřipraveným (běh 2026-10-14 12:00-12:15Z na master 2ca25bb9cf plus tato změna)2ca25bb

Časová osa

zahájeno
2026-10-14T12:15:59Z
ověřeno
—
dokončeno
2026-10-14T12:16:39Z

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/I2157.yaml. Přečtěte jej zpět přes majordomus plan show I2157.

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