# Overview

## Eval runs

Eval-run data plane (start, list, get, cancel, events SSE). Dispatches an eval run against a registered suite. Dispatch is per-`EvalKind`; kinds without a registered dispatcher return `422 dispatcher-not-registered`. `result` is kind-specific opaque JSON on the wire — for `accuracy` it is `{ passCount, totalCount, meanScore, perCase[] }`. SSE events mirror run streaming: per-case progress followed by a terminal frame carrying the aggregate. Caller-plugged via `EvalRunBinding`.

## Operations

POST

[/v1/eval-suites/{suiteId}/runs](https://docs.kindgi.com/v0.1.10/reference/api/operations/evalrunsstart.md)

GET

[/v1/eval-runs](https://docs.kindgi.com/v0.1.10/reference/api/operations/evalrunslist.md)

GET

[/v1/eval-runs/{runId}](https://docs.kindgi.com/v0.1.10/reference/api/operations/evalrunsget.md)

POST

[/v1/eval-runs/{runId}/cancel](https://docs.kindgi.com/v0.1.10/reference/api/operations/evalrunscancel.md)

POST

[/v1/eval-runs/{runId}/rescore](https://docs.kindgi.com/v0.1.10/reference/api/operations/evalrunsrescore.md)

GET

[/v1/eval-runs/{runId}/events](https://docs.kindgi.com/v0.1.10/reference/api/operations/evalrunsevents.md)
