# `Selecto.Domain.Examples.Compatibility`

Compatibility artifacts and expectations for canonical domain examples.

The examples themselves live in `Selecto.Domain.Examples`. This module adds a
stable, package-neutral matrix that downstream packages can assert against
without copying large JSON blobs into each repository.

# `check`

```elixir
@spec check() :: :ok | {:error, [map()]}
```

Checks core query artifacts against the compatibility matrix.

# `domains`

```elixir
@spec domains() :: %{required(atom()) =&gt; map()}
```

Returns the canonical example domains keyed by stable domain id.

# `expectations`

```elixir
@spec expectations() :: %{required(atom()) =&gt; map()}
```

Returns the stable semantic expectations for each canonical domain.

# `query_contract_artifact`

```elixir
@spec query_contract_artifact(atom(), map(), keyword()) ::
  {:ok, map()} | {:error, Selecto.Domain.Diagnostics.t()}
```

Builds a JSON-safe core query-contract artifact for one canonical domain.

# `query_contract_artifacts`

```elixir
@spec query_contract_artifacts(keyword()) :: {:ok, map()} | {:error, map()}
```

Builds JSON-safe core query-contract artifacts for all canonical domains.

# `query_summary`

```elixir
@spec query_summary(map()) :: map()
```

Summarizes a JSON-safe query artifact into stable semantic ids.

---

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