# Overview

## Test sets

Test set catalog (list, get, versions, publish, unregister) — part of the admin control plane. Full versioned CRUD, mirrors `policies` 1:1. Registry-only: test-run execution + per-kind grader dispatch live on the `test-runs` tag. `evalKind` selects the shape of `spec` — closed enum, extended additively (`accuracy`, `pairwise`, `regression`, `human-review`, `benchmark`, `custom`, `corrections`). The cases of a `corrections` test set are copies of corrected runs, built before an agent’s corrections were its test set (`/v1/agents/{agentId}/test-set`); they’re read at `GET .../versions/{version}/cases` (`FrozenCaseStoreBinding`), and `GET /v1/test-sets` doesn’t list them. Runs against these test sets are started through the `test-runs` tag. Caller-plugged via `TestSetRegistryBinding`.

## Operations

GET

[/v1/test-sets](https://docs.kindgi.com/v0.4.0/reference/api/operations/testsetslist.md)

POST

[/v1/test-sets](https://docs.kindgi.com/v0.4.0/reference/api/operations/testsetspublish.md)

GET

[/v1/test-sets/{testSetId}](https://docs.kindgi.com/v0.4.0/reference/api/operations/testsetsget.md)

GET

[/v1/test-sets/{testSetId}/versions](https://docs.kindgi.com/v0.4.0/reference/api/operations/testsetsversionslist.md)

GET

[/v1/test-sets/{testSetId}/versions/{version}](https://docs.kindgi.com/v0.4.0/reference/api/operations/testsetsversionsget.md)

GET

[/v1/test-sets/{testSetId}/versions/{version}/cases](https://docs.kindgi.com/v0.4.0/reference/api/operations/testsetslistcases.md)

POST

[/v1/test-sets/{testSetId}/versions/{version}/unregister](https://docs.kindgi.com/v0.4.0/reference/api/operations/testsetsversionsunregister.md)

POST

[/v1/test-sets/{testSetId}/versions/{version}/reinstate](https://docs.kindgi.com/v0.4.0/reference/api/operations/testsetsreinstateversion.md)
