FailureBreakdownMetric

@Serializable
@SerialName(value = "failureBreakdown")
data class FailureBreakdownMetric(val key: MetricKey<FailureBreakdownMetric> = KEY, val finalFailures: FinalFailures = FinalFailures(), val transientEncounters: TransientEncounters = TransientEncounters()) : Metric

Failure breakdown for finished substages, split into two sections: finalFailures (the run's final outcomes, bucketed by kind) and transientEncounters (transient blips seen across all attempts — the environment's noise profile). Empty stages — no final failure and no transient encounter below — serialize to {} so the JSON stays clean.

Constructors

Link copied to clipboard
constructor(key: MetricKey<FailureBreakdownMetric> = KEY, finalFailures: FinalFailures = FinalFailures(), transientEncounters: TransientEncounters = TransientEncounters())

Types

Link copied to clipboard
object Companion

Key holder for FailureBreakdownMetric.

Properties

Link copied to clipboard
@EncodeDefault(mode = EncodeDefault.Mode.NEVER)
val finalFailures: FinalFailures

Final failure outcomes of finished substages, bucketed by failure kind.

Link copied to clipboard
@Transient
open override val key: MetricKey<FailureBreakdownMetric>

The key that identifies this metric in a ai.koog.agents.optimization.training.metrics.MetricsMap.

Link copied to clipboard
@EncodeDefault(mode = EncodeDefault.Mode.NEVER)
val transientEncounters: TransientEncounters

Transient failures seen across all attempts below this stage (the environment's noise profile).

Functions

Link copied to clipboard
open override fun recompute(currentStage: StageRecord, substages: List<TrainingRecord>, isStageUpdate: Boolean): FailureBreakdownMetric

Recompute this metric from the full list of substages records.