Module manifest

Module manifest 

Source
Expand description

Pure projection: fleet.resolved + channel context -> RolloutManifest. Producer (nixfleet-release) and CP (re-derivation) share this fn.

Functions§

compute_rollout_id_for_channel
CP-side rolloutId for a host on channel. Ok(None) when the channel has no host with a declared closure. The id is the canonical RFC-0008 §6.3 composite "{channel}@{channel_ref}", deterministic from the projection inputs; producer and CP derive the same string for the same inputs.
current_rollout_ids
RolloutIds the current fleet snapshot expects across all channels. Filters host_dispatch_state snapshots to “this rev’s rollouts only” so stale Converged rollouts from a previous rev don’t poison gate evaluation. Consumed by polling, the deferrals route, and the per-checkin dispatch pipeline; centralising it keeps the filter consistent. Errored channels are silently dropped (callers log at their site, this fn stays pure).
project_manifest
Project one channel out of fleet.resolved. Ok(None) when no host on the channel has a closureHash. host_set sorted for canonical-byte stability.