# `Squidie.Runs.GraphInspection`
[🔗](https://github.com/dark-trench/squidie/blob/main/lib/squidie/runs/graph_inspection.ex#L1)

Compatibility graph inspection struct for workflow runs.

`Squidie.Inspection.GraphInspection` is the canonical inspection namespace.
This module preserves the original `Squidie.Runs.*` return shape for existing
callers while delegating projection logic to the canonical implementation.

# `source`

```elixir
@type source() :: :read_model
```

# `t`

```elixir
@type t() :: %Squidie.Runs.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.Runs.GraphInspection.Edge.t()],
  nodes: [Squidie.Runs.GraphInspection.Node.t()],
  run_id: String.t(),
  source: source(),
  status: atom(),
  terminal?: boolean(),
  workflow: module() | String.t() | nil
}
```

# `from_inspection_graph`

```elixir
@spec from_inspection_graph(Squidie.Inspection.GraphInspection.t()) :: t()
```

Converts a canonical inspection graph into the compatibility struct.

# `from_snapshot`

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

Builds compatibility graph inspection data from a run snapshot.

# `to_inspection_graph`

```elixir
@spec to_inspection_graph(t()) :: Squidie.Inspection.GraphInspection.t()
```

Converts a compatibility graph into the canonical inspection struct.

# `to_map`

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

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

---

*Consult [api-reference.md](api-reference.md) for complete listing*
