Final Failures
@Serializable
The two sections of a failure breakdown, shared between training (FailureBreakdownMetric) and eval (FailuresSummary) so both sides emit the same JSON. FinalFailures reports the run's final outcomes; TransientEncounters reports transient blips seen across all attempts. Each section's fields default out (@EncodeDefault(NEVER)), so an empty section serializes to {} and an untouched breakdown stays clean.