Scoria.Runtime.RunSummary is the compact public DTO returned by run
lifecycle and polling APIs.
Use this struct when a host app needs to store or display the current state of
one durable Scoria run without loading every step, event, approval, or handoff
record. It is returned by Scoria.start_run/2, Scoria.resume_run/2,
Scoria.get_run/1, and Scoria.list_runs_for_session/1.
run_id identifies one exact Scoria execution. session_id remains the
host-owned continuity key that can group multiple runs in the same
conversation or workflow thread.
For the first-run lifecycle, see guides/golden-path.md. For the host-owned
boundary around identity, policy, and business records, see
guides/ownership-boundary.md.
Summary
Types
@type t() :: %Scoria.Runtime.RunSummary{ actor_id: String.t() | nil, any_seam_executed_live: boolean(), awaiting_approval: boolean(), completed_at: DateTime.t() | nil, current_step_id: Ecto.UUID.t() | nil, execution_mode: String.t(), inserted_at: DateTime.t() | nil, latest_checkpoint_id: Ecto.UUID.t() | nil, live_tool_allowlist: [String.t()], replay_posture: String.t(), run_id: String.t(), session_id: String.t() | nil, source_checkpoint_id: Ecto.UUID.t() | nil, source_run_id: Ecto.UUID.t() | nil, started_at: DateTime.t() | nil, status: String.t(), tenant_id: String.t() | nil, updated_at: DateTime.t() | nil }