Module rollout

Module rollout 

Source
Expand description

Pure rollout-level reducer (RFC-0008 §3). Parallel to the per-host reducer (crate::step); same functional-core discipline (RFC-0006 §2): no I/O, no clock reads, no shared mutable state, deterministic given (state, event, now).

Phase 10a ships the skeleton (types + dispatch returning RolloutTransitionError::Unimplemented); Phase 10b lands the per-source-state transition bodies and proptest invariants.

Re-exports§

pub use effect::RolloutEffect;
pub use error::RolloutTransitionError;
pub use event::HostId;
pub use event::HostRolloutState;
pub use event::RolloutEvent;
pub use state::ChannelId;
pub use state::ClosureHash;
pub use state::RolloutRecord;
pub use state::RolloutState;

Modules§

effect
Rollout-level effects (RFC-0008 §5). Descriptive data; the CP applier interprets each variant against the rollouts / quarantined_closures derived-view tables (RFC-0008 §6.3 + §6.4).
error
Rollout reducer error path. Parallel to the per-host TransitionError (crate::error). The applier logs + drops or surfaces depending on the variant.
event
Rollout-level event vocabulary (RFC-0008 §4). All CP-internal: the applier synthesizes these from per-host events (RFC-0005 §4.2) and channel-refs poll outcomes — agents never emit RolloutEvents on the wire.
state
Rollout-level state (RFC-0008 §3). Eight states, all CP-internal.
transitions 🔒
Rollout-reducer transition dispatch (RFC-0008 §3 + §7).

Structs§

RolloutId
Content-addressed rollout identifier (RFC-0008 §6.3).

Functions§

step
Pure rollout-level reducer. CP-side only (rollout events are synthesized from inbound agent events; agents never emit RolloutEvents).