pub(super) async fn process_rollout_event(
ctx: &ApplierCtx<'_>,
db: &Arc<Db>,
now: DateTime<Utc>,
event: RolloutEvent,
)Expand description
Step the rollout reducer with the given event and apply its effects.
Reads the current rollouts row, builds a RolloutRecord, steps the
pure reducer (RFC-0008 §3), then appends a rollout_event row to
event_log and writes each emitted RolloutEffect against the
derived-view tables. Matches Phase 9b’s eventual-consistency pattern
(SR-2): the event_log row and the derived-view rows are sequential
writes within the applier task, not a single SQL transaction.
event_log_seq on derived-view rows is NULL under the v0.2.1
baseline (RFC-0008 §6.1 item 3 + v0.2.1-followups #1); the writer
task is fire-and-forget so the applier doesn’t know seq at co-
write time.
Unknown rollout IDs are logged and dropped — the rollout may have been pruned or the event is for a CP-mirror view that hasn’t caught up.