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
@type source() :: :read_model
@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
@spec from_snapshot( Squidie.ReadModel.Inspection.Snapshot.t(), keyword() ) :: t()
Builds a graph inspection from a projected run snapshot.
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.