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.

I2701 — Časový limit nečinnosti se deklaruje vedle ostatních časování serveru a serve --idle deklaraci přebíjí

Deklarovat časový limit nečinnosti serveru v policy.yaml pod server: vedle časování lease, ověřit ho schématem politiky a docílit, aby se každý spuštěný server po deklarované době zastavil, pokud serve --idle neřekne jinak.

HOTOVO vlna 1 · p2 · profil implementation · běží samostatně

Součást runtime-lifecycle — Jeden použitelný server na checkout se spouští, připojuje, zastavuje a hlásí svůj stav bez souběhů a skrytých zabití.

Cíl

Deklarovat časový limit nečinnosti serveru v policy.yaml pod server: vedle časování lease, ověřit ho schématem politiky a docílit, aby se každý spuštěný server po deklarované době zastavil, pokud serve --idle neřekne jinak.

Proč

Odděleno od I2129 dne 2026-10-14. I2129 učinil deklarované časování lease tím, podle něhož mcp a serve volí, a jeho desired_state říkal „Not done here“ o idle timeoutu jako deklarovaném klíči serveru, zatímco jeho kritéria přijetí ho stále vyžadovala, takže se nikdy nemohl uzavřít. Idle timeout je jediné časování serveru, které repozitář nemůže deklarovat: zkompilovaná konstanta, chybějící v policy.yaml server:. Základní audit z 2026-10-09 na masteru 1fb8d6be44, drift životního cyklu 1.

Aktuální stav

DEFAULT_IDLE_SECONDS (900, apps/majordomus-cli/src/cli.rs) je výchozí hodnota clap u serve --idle a serve ensure --idle a env enter ji předává serveru, který spouští (apps/majordomus-cli/src/commands/env.rs). .ai/repo/policy.yaml server: deklaruje probe_timeout_seconds, bind_grace_seconds, join_timeout_seconds, busy_grace_seconds a read_deadline_seconds (lease::Timings, apps/majordomus-cli/src/lease.rs); schéma politiky (share/schemas/majordomus/policy/policy.v1.schema.json) nezná klíč idle.

Cílový stav

policy.yaml server: může deklarovat časový limit nečinnosti (server.idle_seconds) a schéma politiky ho validuje; server spuštěný přes serve, serve ensure nebo env enter bez --idle se po deklarované době zastaví, chybějící klíč ponechá 900 s a --idle zadané na příkazové řádce deklaraci přepíše. docs/MCP.md uvádí klíč s ostatními časováními serveru.

Rozsah

  • apps/majordomus-cli/src/cli.rs
  • apps/majordomus-cli/src/commands/serve.rs
  • apps/majordomus-cli/src/commands/env.rs
  • apps/majordomus-cli/src/policy.rs
  • .ai/repo/policy.yaml
  • share/schemas/majordomus/policy
  • apps/majordomus-cli/tests/serve_lifecycle.rs
  • test/cases
  • docs/MCP.md

Mimo rozsah

  • Časování leasu, které čtou volby a které dodalo I2129

Závislosti

Kritéria přijetí

  • Idle timeout je deklarovaný klíč politiky validovaný schématem politiky a serve --idle ho přebíjí
  • Server spuštěný bez --idle pod deklarovaným idle timeoutem několika sekund se zastaví po deklarované době, ne po 900 s

Validace

  • bin/majordomus plan validate
  • cargo test --test serve_lifecycle

Požadované důkazy

  • idle_timeout_declared_test

Důkazy

pokrývátypcommandvýsledeku commitu
idle_timeout_declared_testtestcargo test --test serve_lifecycle17 prošlo, 0 selhalo, včetně idle_timeout_declared_test (kód na masteru od 7111f846b83; znovu spuštěno na masteru 01227a0)01227a0

Časová osa

zahájeno
2026-10-17T12:01:46Z
ověřeno
2026-10-17T12:01:59Z
dokončeno
2026-10-17T12:02:08Z

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

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