Runtime helpers for durable human review pauses.
The public review structs live under Jidoka.Review.*. This module keeps the
turn runner focused on orchestration by owning approval validation,
approval-application, and review snapshot metadata.
Summary
Functions
@spec apply_response( Jidoka.Turn.State.t(), Jidoka.Review.Interrupt.t(), Jidoka.Review.Response.t() ) :: {:ok, Jidoka.Turn.State.t()} | {:error, term()}
@spec approval_response(keyword()) :: :missing | {:ok, Jidoka.Review.Response.t()} | {:error, {:invalid_approval_response, term()}}
@spec approval_ttl_ms(keyword()) :: {:ok, pos_integer() | nil} | {:error, {:invalid_approval_ttl_ms, term()}}
@spec ensure_responded_at(Jidoka.Review.Response.t(), non_neg_integer()) :: Jidoka.Review.Response.t()
@spec put_pending_interrupt( Jidoka.Turn.State.t(), Jidoka.Review.Interrupt.t(), non_neg_integer(), pos_integer() | nil ) :: {:ok, Jidoka.Turn.State.t(), Jidoka.Review.Interrupt.t()}
@spec put_pending_metadata(map(), Jidoka.Review.Interrupt.t() | nil) :: map()
@spec validate_response(Jidoka.Review.Interrupt.t(), Jidoka.Review.Response.t()) :: :ok | {:error, term()}