# `JSONSchex.Types.ValidationContext`
[🔗](https://github.com/xinz/jsonschex/blob/main/lib/jsonschex/types.ex#L37)

Lightweight runtime context threaded through validation.

Holds a reference to the immutable root `Schema` and carries per-scope
state (scope stack, current source ID, raw schema) that changes as
validation descends through `$id` boundaries.

# `t`

```elixir
@type t() :: %JSONSchex.Types.ValidationContext{
  raw: map() | nil,
  root_schema: JSONSchex.Types.Schema.t(),
  scope_stack: [String.t()],
  source_id: String.t() | nil
}
```

---

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