fn record_new_invariant_failures(
failure_metrics: &mut InvariantFailureMetrics,
invariant_contract: &InvariantContract<'_>,
failures: &InvariantFailures,
)Expand description
Bridges newly-recorded invariant breaks from failures.errors into the pulse
failure_metrics so the live progress stream reflects breaks as they happen.
Without this, unique_failures only updates when the campaign is forced to
stop (i.e., can_continue returns false — which only happens once all
invariants are broken under assert_all). Iterates in declaration order so
the emitted “failure” events are deterministic.