async fn synthesize_pending_to_converged(
state: &Arc<AppState>,
clock: &ClockHandle,
event_log_tx: &EventLogTx,
rs: &mut ReducerState,
record: &HostRolloutState,
agent_current: &str,
at: DateTime<Utc>,
)Expand description
Drive a Pending HRR row through the full lifecycle to
Converged when the agent reports current_closure == target.
The chain preserves the event-log audit trail (RFC-0004 §1):
every transition emits its usual RemoteAppendEventLog effect
flagged with the synthesis context via the seq ordering relative
to the pre-synthesis last_event_seq.
LOADBEARING: callers MUST first verify that the dispatch gates
(channel-edges, wave-promotion, quarantine, …) wouldn’t have
blocked dispatch — see evaluate_synth_gates. Without the gate
check, a fleet bump that leaves a host’s closure unchanged
silently fast-forwards the host to Converged on the very first
post-bump heartbeat, bypassing the RFC-0002 §4.3 channel-edges
ordering contract.