# `Snodo.Schema.Validator`
[🔗](https://github.com/joshrotenberg/snodo/blob/v0.2.0/lib/snodo/schema/validator.ex#L1)

Pluggable JSON Schema validation boundary.

Validators receive the untouched schema map registered by the application.
Returning `{:error, reason}` marks an instance invalid; validators must not
mutate either the instance or schema.

`Snodo.Schema.Validator.Basic` is the dependency-free common-subset
implementation. `Snodo.Schema.Validator.Passthrough` remains the runtime
default so selecting validation is an explicit application policy.

# `validate`

```elixir
@callback validate(instance :: term(), schema :: map()) :: :ok | {:error, term()}
```

---

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