Jidoka.Runtime.Review (Jidoka v0.8.0-beta.1)

Copy Markdown View Source

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

apply_response(state, interrupt, response)

@spec apply_response(
  Jidoka.Turn.State.t(),
  Jidoka.Review.Interrupt.t(),
  Jidoka.Review.Response.t()
) ::
  {:ok, Jidoka.Turn.State.t()} | {:error, term()}

approval_response(opts)

@spec approval_response(keyword()) ::
  :missing
  | {:ok, Jidoka.Review.Response.t()}
  | {:error, {:invalid_approval_response, term()}}

approval_ttl_ms(opts)

@spec approval_ttl_ms(keyword()) ::
  {:ok, pos_integer() | nil} | {:error, {:invalid_approval_ttl_ms, term()}}

ensure_responded_at(response, now_ms)

put_pending_interrupt(state, interrupt, now_ms, ttl_ms)

put_pending_metadata(metadata, interrupt)

@spec put_pending_metadata(map(), Jidoka.Review.Interrupt.t() | nil) :: map()

validate_response(interrupt, response)

@spec validate_response(Jidoka.Review.Interrupt.t(), Jidoka.Review.Response.t()) ::
  :ok | {:error, term()}