Squidie.Inspection.GraphInspection (squidie v0.3.4)

Copy Markdown View Source

Graph-oriented inspection output for one workflow run.

This projection is read-only and backend-neutral. It is built from the journal inspection data returned by Squidie.inspect_run/2, then overlays the declared workflow graph when the workflow module can still be loaded.

Summary

Functions

Builds a graph inspection from a projected run snapshot.

Converts graph inspection data into a stable map for host UI serializers.

Types

source()

@type source() :: :read_model

t()

@type t() :: %Squidie.Inspection.GraphInspection{
  anomalies: [map()],
  child_links: [map()],
  child_runs: [map()],
  current_node_id: String.t() | nil,
  current_node_ids: [String.t()],
  definition_version: String.t() | nil,
  dynamic_work: [map()],
  dynamic_work_overlays: [map()],
  edges: [Squidie.Inspection.GraphInspection.Edge.t()],
  nodes: [Squidie.Inspection.GraphInspection.Node.t()],
  run_id: String.t(),
  source: source(),
  status: atom(),
  terminal?: boolean(),
  workflow: module() | String.t() | nil
}

Functions

from_snapshot(snapshot, opts)

@spec from_snapshot(
  Squidie.ReadModel.Inspection.Snapshot.t(),
  keyword()
) :: t()

Builds a graph inspection from a projected run snapshot.

to_map(graph)

@spec to_map(t()) :: map()

Converts graph inspection data into a stable map for host UI serializers.

inspect_run_graph/2 continues to return the graph structs for existing callers. Host apps that need a JSON-ready dashboard payload can call this function at their HTTP or LiveView boundary after applying their own authorization and redaction policy.