# jev_dsl v0.1.0 - API Reference

## Modules

- Contract DSL
  - [JevDSL](JevDSL.md): Compile-time Elixir macro DSL, two-tier caching layer, and execution runner for
TypeSafe Jev (`SystemOneSDK`) semantic contracts.
  - [JevDSL.CUE](JevDSL.CUE.md): Deterministic CUE schema exporter for compiled `JevDSL.Contract` catalogs.

  - [JevDSL.Contract](JevDSL.Contract.md): Typed representation of a compiled TypeSafe Jev (`SystemOneSDK`) contract,
wrapping the question definitions and the build-time validated `%SystemOneSDK.Prepared{}` struct.

  - [JevDSL.Question](JevDSL.Question.md): Typed representation of a single compiled question (`:noul`, `:choice`, or `:score`)
within a `JevDSL.Contract`.

- Caching &amp; Execution
  - [JevDSL.Cache](JevDSL.Cache.md): Deterministic identity hashing, confidence-aware cacheability rules, and pluggable
two-tier (L1 fast key-value + L2 durable store) caching behaviour for `JevDSL`.
  - [JevDSL.Cache.ETS](JevDSL.Cache.ETS.md): Built-in zero-dependency ETS cache adapter implementing `JevDSL.Cache`.
  - [JevDSL.Error](JevDSL.Error.md): Structured exception raised by `evaluate!/3` and `JevDSL.Runner.evaluate!/4` when a
`JevDSL` contract evaluation fails.
  - [JevDSL.Runner](JevDSL.Runner.md): Runtime evaluation, batch execution, two-tier (L1 + L2) cache orchestration,
and deterministic test stubbing for `JevDSL` contract modules.

## Mix Tasks

- Installers
  - [mix jev_dsl.install](Mix.Tasks.JevDsl.Install.md): Installs JevDSL into a project. Invoke with `mix igniter.install jev_dsl`.

