Execution context passed to Belay.Worker.run/1. Carries the job and
everything the step/signal/budget APIs need. replay?: true marks a
Belay.Replay dry run: memoized reads succeed, side effects are inert,
and anything unrecorded halts with a precise report.
Summary
Types
@type t() :: %Belay.Ctx{ belay: term(), config: term(), job: Belay.Job.t(), replay?: term() }