Package-level declarations

Types

Link copied to clipboard
@Serializable
@SerialName(value = "agentRunStats")
data class AgentRunStatsMetric(val key: MetricKey<AgentRunStatsMetric> = KEY, val totalRuns: Int = 0, val completedRuns: Int = 0, val failedRuns: Int = 0, val solvedRuns: Int = 0, val completionRatio: Ratio = Ratio.ZERO, val solvedRatio: Ratio = Ratio.ZERO) : Metric

Aggregated statistics for all agent runs within a stage recursively through substages.

Link copied to clipboard
@SerialName(value = "consumption")
data class ConsumptionMetric(val key: MetricKey<ConsumptionMetric> = KEY, val totalConsumption: LLMConsumptionOrNA = LLMConsumptionOrNA.NA, val minPerSubstage: Double? = null, val maxPerSubstage: Double? = null, val avgPerSubstage: Double? = null, val withRetries: ConsumptionWithRetries? = null) : Metric

Total / min / max / avg LLM consumption across substages. Canonical totals are final-attempt only; withRetries, when non-null, exposes the retries-aware counterparts.

Link copied to clipboard
@Serializable
@SerialName(value = "datasetSolvedRate")
data class DatasetSolvedRateMetric(val key: MetricKey<DatasetSolvedRateMetric> = KEY, val itemsFinished: Int = 0, val itemsSolved: Int = 0, val itemsNotSolved: Int = 0, val itemsFailed: Int = 0, val solvedRatio: Ratio = Ratio.ZERO, val notSolvedRatio: Ratio = Ratio.ZERO, val failedRatio: Ratio = Ratio.ZERO) : Metric

Dataset-specific metric: tracks solved / not-solved / failed dataset items.

Link copied to clipboard
@Serializable
@SerialName(value = "elapsedTime")
data class ElapsedTimeMetric(val key: MetricKey<ElapsedTimeMetric> = KEY, val avgPerFinishedSubstage: Duration? = null, val maxPerFinishedSubstage: Duration? = null, val etc: Duration? = null, val withRetries: ElapsedWithRetries? = null) : Metric

Derived timing aggregates for a stage.

Link copied to clipboard
@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.

Link copied to clipboard
@Serializable
@SerialName(value = "maxFailureRate")
data class MaxFailureRateMetric(val key: MetricKey<MaxFailureRateMetric> = KEY, val maxFailureRate: Double? = null) : Metric

Tracks the maximum failure rate across substages.

Link copied to clipboard
interface Metric

A metric that can be computed from substage records.

Link copied to clipboard
@Serializable
@SerialName(value = "minSolvedRate")
data class MinSolvedRateMetric(val key: MetricKey<MinSolvedRateMetric> = KEY, val minSolvedRate: Double? = null) : Metric

Tracks the minimum solved rate across substages that have a DatasetSolvedRateMetric.

Link copied to clipboard
@Serializable
@SerialName(value = "retryStats")
data class RetryStatsMetric(val key: MetricKey<RetryStatsMetric> = KEY, val totalRetriesPerformed: Int = 0, val leavesWithRetries: Int = 0, val leavesWithRetriesRatioOfFinished: Ratio = Ratio.ZERO, val leavesResolvedAfterRetries: Int = 0, val leavesResolvedAfterRetriesRatioOfLeavesWithRetries: Ratio = Ratio.ZERO, val avgRetriesPerLeafWithRetries: Double? = null, val completedLeavesByRetryCount: Map<Int, Int> = emptyMap(), val leavesUnresolvedAfterRetries: Int = 0) : Metric

Counts retries performed below this stage and how often they resolve a failure.

Link copied to clipboard
@SerialName(value = "solvedAwareConsumption")
data class SolvedAwareConsumptionMetric(val key: MetricKey<SolvedAwareConsumptionMetric> = KEY, val totalSolvedConsumption: LLMConsumptionOrNA = LLMConsumptionOrNA.NA, val avgPerSolved: Double? = null, val minPerSolved: Double? = null, val maxPerSolved: Double? = null, val averageSolvedCost: Double? = null, val withRetries: ConsumptionWithRetries? = null) : Metric

Solved-aware consumption metric for dataset iterations.

Link copied to clipboard
@Serializable
@SerialName(value = "substageCount")
data class SubstageCountMetric(val key: MetricKey<SubstageCountMetric> = KEY, val finished: Int = 0, val completed: Int = 0, val failed: Int = 0, val completedRatio: Ratio = Ratio.ZERO, val failedRatio: Ratio = Ratio.ZERO, val currentSubstageName: String? = null) : Metric

Tracks processed / completed / failed substage counts and ratios, and the currently running substage name.