# `Accrue.Entitlements.Source.Registry`
[🔗](https://github.com/szTheory/accrue/blob/accrue-v1.5.1/lib/accrue/entitlements/source/registry.ex#L1)

Deterministic entitlement-source inspection registry; intentionally processor-free.

# `capabilities`

```elixir
@spec capabilities() :: [Accrue.Entitlements.Source.capability()]
```

# `inspect`

```elixir
@spec inspect(Accrue.Entitlements.Source.source()) ::
  {:ok, [Accrue.Entitlements.Source.Outcome.t()]}
  | {:error, Accrue.Entitlements.Source.CapabilityError.t()}
```

# `outcome`

```elixir
@spec outcome(
  Accrue.Entitlements.Source.source(),
  Accrue.Entitlements.Source.capability()
) ::
  {:ok, Accrue.Entitlements.Source.Outcome.t()}
  | {:error, Accrue.Entitlements.Source.CapabilityError.t()}
```

# `sources`

```elixir
@spec sources() :: [Accrue.Entitlements.Source.source()]
```

# `validate`

```elixir
@spec validate(term()) ::
  {:ok, [Accrue.Entitlements.Source.source()]}
  | {:error, Accrue.Entitlements.Source.CapabilityError.t()}
```

---

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