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{ active_edge_ids: [String.t()], active_node_ids: [String.t()], anomalies: [map()], blocked_node_ids: [String.t()], 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()], graph_provenance: map(), graph_version: non_neg_integer(), mutation_history: [map()], nodes: [Squidie.Inspection.GraphInspection.Node.t()], partition: String.t() | nil, ready_node_ids: [String.t()], reconciliation_status: :not_required | :required | :completed | :unknown, run_id: String.t(), source: source(), status: atom(), terminal?: boolean(), tombstoned_edge_ids: [String.t()], tombstoned_node_ids: [String.t()], 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.