SquidMesh.RunExplanation (squid_mesh v0.1.0-alpha.7)

Copy Markdown View Source

Structured diagnostic explanation for one workflow run.

Explanations are transport-friendly data. They point back to persisted runtime facts so host apps can render their own operator messages without scraping logs or interpreting telemetry.

Summary

Types

next_action()

@type next_action() ::
  :wait_for_step
  | :wait_for_dependencies
  | :wait_for_retry
  | :wait_for_cancellation
  | :unblock_run
  | :approve_run
  | :reject_run
  | :cancel_run
  | :replay_run

reason()

@type reason() ::
  :pending_dispatch
  | :step_scheduled
  | :step_running
  | :waiting_for_dependencies
  | :waiting_for_retry
  | :retry_exhausted
  | :step_failed
  | :paused_for_manual_action
  | :paused_for_approval
  | :paused_with_missing_resume_metadata
  | :paused_with_invalid_resume_target
  | :paused_with_unavailable_workflow
  | :cancelling
  | :cancelled
  | :completed

t()

@type t() :: %SquidMesh.RunExplanation{
  details: map(),
  evidence: map(),
  next_actions: [next_action()],
  reason: reason(),
  status: SquidMesh.Run.status(),
  step: atom() | String.t() | nil
}