Aggregated metrics across all invocations (backward compatible).
The explicit chart decision, after reconciliation; never rewrites a physical call's outcome.
Context passed to NarrativeFormatter.renderAttempt — one attempt of a stage
with a declared retry policy (10.1), whatever its outcome.
Context passed to renderBreak.
Context passed to renderDecision.
Context passed to NarrativeFormatter.renderEmit — fires for every
consumer-emitted event (scope.$emit(name, payload)). Carries the full
EmitEvent shape so formatters can render name + payload with full
context.
Context passed to renderError.
Context passed to renderFork.
Context passed to renderLoop.
Options for MetricRecorder.
Context passed to renderOp. Return null to exclude the entry.
Context passed to renderSelected.
Aggregated per-stageName (backward compatible with pre-runtimeStageId API).
Context passed to renderStage.
Context passed to renderSubflow.
ScopeRecorder factory for combined flow+data narrative.
Recorder factories.
Prefer these factory functions over constructing recorder classes directly. Each factory returns the recorder instance enriched with short convenience methods.