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

Fetches and caches model capabilities from models.dev.

Stores data in ETS for fast concurrent reads. Refreshes hourly.
Falls back gracefully — if fetch fails, the Resolver uses provider defaults.

All provider kinds use models.dev IDs directly. Local-only providers
(ollama, vllm) are not in models.dev and rely on Resolver defaults.

# `cached_providers`

```elixir
@spec cached_providers() :: [String.t()]
```

Returns all cached provider IDs.

# `child_spec`

Returns a specification to start this module under a supervisor.

See `Supervisor`.

# `lookup`

```elixir
@spec lookup(String.t(), String.t()) :: Arcanum.ModelProfile.t() | nil
```

Looks up a model profile from the registry cache.

Returns `nil` if the model is not cached (caller should fall back).

# `start_link`

---

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