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.

I3145 — Continuity is resolved and judged fresh by one function, and the shell's copies are deleted

ADR 0047 steps 5 and 6: continuity.state, lifecycle.*, episodes.* and the Cockpit read the domain's aggregates; mj_resolve_latest and mj_freshness are deleted and their callers ask the executable, so nothing in lib/ holds domain state.

BLOKOVÁNO vlna 4 · p2 · profil implementation · bezpečné paralelně

Part of the-session-domain-is-written-once — The session lifecycle is written by the typed domain, and the shell only parses and renders.

Blocked. This issue cannot start until I3143, I3144 are done. The status is derived from that, not declared.

Cíl

ADR 0047 steps 5 and 6: continuity.state, lifecycle.*, episodes.* and the Cockpit read the domain's aggregates; mj_resolve_latest and mj_freshness are deleted and their callers ask the executable, so nothing in lib/ holds domain state.

Proč

Freshness is implemented twice (lib/common.sh mj_freshness and Freshness in capability/builtin/continuity.rs), both reading session.freshness in .ai/repo/policy.yaml; ADR 0047 names the duplicated resolution for deletion. Sources: chatgpt-majordomus:c116#7.

Aktuální stav

Two resolvers and two freshness functions agree today by construction of the same policy keys.

Cílový stav

One resolver and one freshness function, in Rust; a structural case proves the session libraries carry no lifecycle semantics.

Rozsah

  • lib/common.sh
  • lib/handover.sh
  • lib/context.sh
  • apps/majordomus-cli/src/continuity
  • apps/majordomus-cli/src/capability/builtin/continuity.rs
  • apps/majordomus-cli/src/capability/builtin/lifecycle.rs
  • apps/majordomus-cli/src/capability/builtin/episodes.rs
  • .ai/repo/automation/inventory.jsonl

Mimo rozsah

  • Changing the freshness thresholds

Závislosti

Kritéria přijetí

  • No freshness threshold or resolution order remains in shell
  • cases 127, 131_freshness_has_an_age and 368 pass unchanged
  • The inventory records of lib/session.sh, lib/checkpoint.sh and lib/handover.sh leave disposition A with a reason, as a consequence of the structural case, not as its proof

Validace

  • bash test/run.sh --no-skips 127_briefing_freshness 131_freshness_has_an_age 368_mesh_handover_resolves
  • bin/majordomus-cli shell check

Požadované důkazy

  • case_one_resolver

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/I3145.yaml. Read it back with majordomus plan show I3145.

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