> ## Documentation Index
> Fetch the complete documentation index at: https://docs.ctrlrun.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# run

> Drive every suite through `adapter` and report what each came to (SPEC-v0.5 §5).

`ctrlrun.conformance.run` — function, defined at `src/ctrlrun/conformance/suites.py:1063`

```python theme={null}
def run(adapter: ConformanceAdapter, deployment: Control | None) -> ConformanceReport
```

Drive every suite through `adapter` and report what each came to (SPEC-v0.5 §5).

`deployment` is the operator's `Control`, where the kit is being run inside one. **The
suites do not run against it.** They run against scratch `Control`s the kit builds, for the
reason `v0.4 §3.5` gives about verify: a kit that reserved a real effect key would be a
defect of exactly the class it exists to find. The one thing read from it is the mode, and
an observing one is **refused** -- no suites, no denominator, `ok` is `False` -- because
running the suites in a synthetic enforce mode would report guarantees about a configuration
nobody deployed, and running them as-is would report a wall of failures that are true and
useless (§3.6).

A case that raises out of its own body is reported as a failed case naming the exception,
never as a crashed run: one broken suite must not be able to hide the eight that worked.

## Next

* [Python API index](/reference/api/index).
* [Get started](/get-started/quickstart) · [Why](/why).


## Related topics

- [run](/reference/api/verify-run.md)
- [CTRLRun](/index.md)
- [Run on Postgres](/guides/run-on-postgres.md)
- [CTRLRunError](/reference/api/CTRLRunError.md)
