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_closuresderived-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§
- Rollout
Id - 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).