# `Arcanum.ModelProfile.Resolver`
[🔗](https://github.com/kakilangit/arcanum/blob/v0.1.0/lib/arcanum/model_profile/resolver.ex#L1)

Resolves a `ModelProfile` for a given provider and model.

Resolution order:
1. Registry (models.dev cache) — the single source of truth
2. Overlay merge — provider/model-specific fields from `priv/overlays.json`
   that models.dev doesn't carry (thinking_param, preserve_reasoning, provider_routing)
3. Provider-level default — weakest fallback for local providers
   not in models.dev (ollama, lmstudio, vllm)
4. Global default — unknown everything

# `resolve`

```elixir
@spec resolve(String.t(), String.t()) :: Arcanum.ModelProfile.t()
```

Returns the profile for a provider kind + model combination.

---

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