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.

I3912 — A seat whose holder stopped beating is reported vacant and offered to live sessions by capability

A claim on a seat scope (the landing seat, the release seat) whose stream stopped beating is reported as a vacant seat by mesh.state and by majordomus monitor within one expiry, with the evidence I3182 classifies it on: a missing heartbeat is reported as such and is not declared a dead worker. The vacancy is offered by capability to live sessions through I3198's fenced offer; a session that accepts holds the seat under a new fencing epoch (I3174) and consumes the newest handover published for that seat. A runtime never takes a seat by itself: only a session that can do the seat's work accepts it.

BLOKOVÁNO vlna 2 · p1 · profil implementation · běží samostatně

Part of landing-survives-any-session — Landing green work survives any session, any restart and any machine.

Blocked. This issue cannot start until I3174, I3182, I3198 are done. The status is derived from that, not declared.

Cíl

A claim on a seat scope (the landing seat, the release seat) whose stream stopped beating is reported as a vacant seat by mesh.state and by majordomus monitor within one expiry, with the evidence I3182 classifies it on: a missing heartbeat is reported as such and is not declared a dead worker. The vacancy is offered by capability to live sessions through I3198's fenced offer; a session that accepts holds the seat under a new fencing epoch (I3174) and consumes the newest handover published for that seat. A runtime never takes a seat by itself: only a session that can do the seat's work accepts it.

Proč

On 2026-10-22 the restart of machine 641bdb94 expired the a3 and 9c seat claims; nothing reported the vacancy (the monitor folds claim_acquired and claim_released only) and nothing offered the seats until a person started a new session hours later. A review of this plan noted that a runtime claiming a seat would hold it as a phantom, since the mesh executes no work (I3198 non_scope).

Aktuální stav

mesh/state.rs marks claims of a silent stream Expired by liveness, never as an event (state.rs:735-745); ui/mesh.rs draws a seat as vacant; no code reports or offers a seat.

Cílový stav

Stopping the runtime that holds the landing seat makes mesh.state and the monitor report it vacant within one expiry and offers it to live sessions that declare the capability; the one that accepts holds it under a new epoch and has consumed the seat's handover.

Rozsah

  • apps/majordomus-cli/src/mesh/cooperation.rs
  • apps/majordomus-cli/src/mesh/state.rs
  • apps/majordomus-cli/src/monitor
  • apps/majordomus-cli/tests/mesh_cooperation.rs
  • docs/MESH.md
  • docs/MONITOR.md
  • .ai/repo/project/issues/I3912.yaml

Závislosti

Kritéria přijetí

  • A seat claim whose stream stopped beating is reported vacant in mesh.state and the monitor within one expiry, naming the evidence (case a_vacant_seat_is_reported_and_offered)
  • The vacancy is offered only to sessions that declare the seat's capability, and exactly one acceptance holds it under a new epoch
  • A holder returning under the old epoch is refused

Validace

  • bin/majordomus plan validate
  • env -u MAJORDOMUS_SHARE cargo test --manifest-path apps/majordomus-cli/Cargo.toml --lib -- mesh::
  • env -u MAJORDOMUS_SHARE cargo test --manifest-path apps/majordomus-cli/Cargo.toml --test mesh_cooperation

Požadované důkazy

  • vacant_seat_is_taken

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

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