# `Nous.Eval.Runner`
[🔗](https://github.com/nyo16/nous/blob/v0.17.1/lib/nous/eval/runner.ex#L1)

Executes evaluation suites against agents.

The runner handles:
- Running individual test cases
- Parallel execution
- Metrics collection
- A/B testing
- Error handling and retries

# `run`

```elixir
@spec run(
  Nous.Eval.Suite.t(),
  keyword()
) :: {:ok, Nous.Eval.SuiteResult.t()} | {:error, term()}
```

Run an evaluation suite.

# `run_ab`

```elixir
@spec run_ab(
  Nous.Eval.Suite.t(),
  keyword()
) :: {:ok, map()} | {:error, term()}
```

Run A/B comparison between two configurations.

# `run_case`

```elixir
@spec run_case(
  Nous.Eval.TestCase.t(),
  keyword()
) :: {:ok, Nous.Eval.Result.t()} | {:error, term()}
```

Run a single test case.

---

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