advance_current_waves

Function advance_current_waves 

Source
async fn advance_current_waves(
    db: &Arc<Db>,
    manifests: &SignedManifestSet,
    fleet_state: &mut FleetState,
)
Expand description

Promote each rollout’s current_wave when every host in the current wave has reached HostState::Converged. The check reads the host list from the verified manifest’s fleet.waves[channel][current_wave] — the same path the wave_promotion gate uses for host_wave, so the bump and the gate stay in lock-step.

Empty waves are NOT auto-promoted. Same invariant as planner::maybe_mark_terminal: an empty wave that produced no host records vacuously satisfies “all converged”; treating that as promotion-eligible would walk the wave pointer past content that later arrives. Pin via the has_any_host guard.