AnalyzedFailure

@Serializable
data class AnalyzedFailure(val resolvedId: String, val description: String, val kind: FailureKind, val transiency: TransiencyLevel, val originalStackTrace: String)

A failure that has been recognized and classified by the experiment infrastructure.

Carries a stable resolvedId (used to group identical failures across runs), a human-readable description, a FailureKind bucket, and a TransiencyLevel consumed by the retry policy. The recognizers that produce these live in the consuming application — the library only owns the vocabulary.

Constructors

Link copied to clipboard
constructor(resolvedId: String, description: String, kind: FailureKind, transiency: TransiencyLevel, exception: Exception)

Builds an AnalyzedFailure from an exception, capturing its stack trace into originalStackTrace.

constructor(resolvedId: String, description: String, kind: FailureKind, transiency: TransiencyLevel, originalStackTrace: String)

Properties

Link copied to clipboard

Human-readable description of what went wrong.

Link copied to clipboard

High-level FailureKind bucket this failure belongs to.

Link copied to clipboard

Stack trace of the originating exception, captured as a string for record-keeping.

Link copied to clipboard

Stable identifier used to group identical failures across runs.

Link copied to clipboard

Transiency assignment consumed by the retry policy. Recognizers set this honestly based on what the exception alone can reveal — duration variance ("a transient outage can last seconds or hours") is handled by the retry strategy, not by the enum.