flybrain/docs
dev 6655a1b1c6 session: coherent all-participant checkpoint and recovery
STATE-01 over the FLYSESS1 envelope CONTRACT-01 specified.

fly-session gains a `state` module: the durable store with its generations, its
rotation and the commit order of checkpoint-envelope-v1 section 5, where the store
manifest rename is the durable commit point; a compatibility block whose comparison
names the identity that differs rather than one opaque digest; and a bounded writer
that owns its payload handles until the bytes are committed or the job fails.

The writer's queue slot is taken before the first State.Capture, so a saturated
writer refuses a capture rather than queueing it without bound, and the refusal is a
BUSY the stepping session survives. Capture and durability are two events: a capture
completes when an immutable capture exists, and only the store manifest rename moves
the durable mark. A lost save reply is an outcome, and the resolution asks the store
about the same checkpoint instead of saving again.

Both worker roles implement State.Capture, State.StageRestore and
State.ActivateRestore, with once-only restore tokens bound to checkpoint, scope,
payload and incarnation. A restore selects a complete compatible generation, imports
every payload as a fresh artifact, stages the group, validates the coordinator's own
ledgers, and only then activates; a failure anywhere leaves the fence closed and
records every participant that staged as one that must be replaced. The fence lifts
at Failed -> Restoring(k) -> Paused(k) and nowhere else.

The task and the action executor gain the capture/validate_restore/install_restore
interfaces workers-v1 section 4 lists, and the ledger can re-derive the event
identities it issued under another epoch, which is what lets a resumed run's
behaviour trace be compared with an uninterrupted one.

media: check_required_audio now takes the observation's provenance instead of
exempting boundary 0. A chunk is the audio of an interval, and the observation
ActivateRestore installs covers none.

checkpoint-envelope-v1 section 3 gains a dated amendment adding `environment` to the
manifest, the holder of the world's own payload, which the table named for every
other participant; `helperState`, which that table already listed, joins the
required-field set in Rust and TypeScript. The fixture was regenerated by the
existing example; the schema set and contractDigest are unchanged.

state-media-v1 section 5 gains a dated amendment for three readings this slice
enforces: the State RPCs' compatibilityDigest is the participant's, not the
manifest's composition-level block; a restored observation carries no audio chunk;
and a participant that staged into an abandoned install must be replaced.
2026-09-22 17:43:43 +00:00
..
design session: coherent all-participant checkpoint and recovery 2026-09-22 17:43:43 +00:00
publish flybrain v0.4.0: public tree (history retained privately) 2026-09-21 15:09:46 +00:00
architecture-tour.md flybrain v0.4.0: public tree (history retained privately) 2026-09-21 15:09:46 +00:00
control-api.md flybrain v0.4.0: public tree (history retained privately) 2026-09-21 15:09:46 +00:00
dataset-format.md flybrain v0.4.0: public tree (history retained privately) 2026-09-21 15:09:46 +00:00
feed-protocol.md flybrain v0.4.0: public tree (history retained privately) 2026-09-21 15:09:46 +00:00
integration.md flybrain v0.4.0: public tree (history retained privately) 2026-09-21 15:09:46 +00:00
limitations.md flybrain v0.4.0: public tree (history retained privately) 2026-09-21 15:09:46 +00:00
loop-review.md flybrain v0.4.0: public tree (history retained privately) 2026-09-21 15:09:46 +00:00
model.md flybrain v0.4.0: public tree (history retained privately) 2026-09-21 15:09:46 +00:00
overview.md flybrain v0.4.0: public tree (history retained privately) 2026-09-21 15:09:46 +00:00
plasticity.md flybrain v0.4.0: public tree (history retained privately) 2026-09-21 15:09:46 +00:00
readout.md flybrain v0.4.0: public tree (history retained privately) 2026-09-21 15:09:46 +00:00
rewards-learning.md flybrain v0.4.0: public tree (history retained privately) 2026-09-21 15:09:46 +00:00
stream-mvp-plan.md docs: record the session framework wave 2 2026-09-22 16:42:17 +00:00
streaming-plan.md flybrain v0.4.0: public tree (history retained privately) 2026-09-21 15:09:46 +00:00
verification.md flybrain v0.4.0: public tree (history retained privately) 2026-09-21 15:09:46 +00:00