pub fn check_trust_rotations(
trust: &TrustConfig,
now: DateTime<Utc>,
) -> Vec<RotateTrustRoot>Expand description
One Action::RotateTrustRoot per slot with retire_at <= now AND
successor.is_some(). Idempotent: re-emitted every tick until the operator
rotates the slot (after which successor clears and the predicate stops).
Pure arithmetic - safe in the reconcile hot path.