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.