The five step/handle outcomes from the spec §3, with shape validation.
{:next, step, state} # transition, runnable, attempt := 0
{:replay, state, delay_ms} # same step, runnable, attempt += 1, eligible_at += delay
{:await, signal_name, state} # park, awaiting_signal
{:done, result} # terminal, done
{:stop, reason} # terminal, failedStep names and signal names are normalized to strings.
Summary
Functions
The outcome's tag, for telemetry/metadata.