Skip to main content

Conformance

Verify what your AI agent did — not what it said.

Conformance injects deliberate faults at your agent's effect boundary (a redelivered queue event, a crash mid-write, a withheld approval, a raced turn), records what actually happened, and evaluates nine deterministic invariants over that record. No language model judges anything. Every finding comes with a content-addressed witness a sceptic can re-derive offline, without you.

$ conformance verify --scenario shipbot --seed 17

seed 17 · spec conformance-1.0 · 8 schedule(s) run

✕ 1 custody                  VIOLATED    wit_05b69e04ec177d5209056ab82d
⚠ 2 one-advance              inconclusive (no attachment point for staged_race…)
⚠ 3 no-scarce-hold           inconclusive (no pool acquisitions in record…)
✕ 4 quarantine               VIOLATED    wit_5fde8bf97de2a976d8a57fbd21
✕ 5 exactly-once-effect      VIOLATED    wit_d223f1f2cfec1b7eca4e89552a
⚠ 6 plan-identity            inconclusive (needs its own recording…)
⚠ 7 timeout-equals-cancel    inconclusive (no attachment point for delay_response…)
⚠ 8 structural-authority     inconclusive (no attachment point for withhold_approvals…)
⚠ 9 state-separation         inconclusive (no database schema discoverable…)

Result
  Level Achieved: —
  Target:         L1 (DURABLE)
  Depth:          V2 (DETERMINISTIC)
  Gate:           FAIL

Every invariant returns hold, violated, or inconclusive. inconclusive is never styled as a pass and never counts toward a level: unmeasured is not passed. That is the whole design.

Install

pip install conformance          # or: uv tool install conformance

Python 3.12+. No account, no API key for verification, nothing uploaded.

Start where you are

conformance init                      # detect the stack, find effect sites, run static checks
conformance doctor --explain-depth    # what each invariant needs to be decidable
conformance verify --path .           # V0 verdicts, no instrumentation required

init needs no SDK, no credentials, and no network. It reports what it found and — for anything it cannot decide at this depth — exactly what would decide it.

Going deeper: record once, verify forever

Declare a scenario naming an entrypoint that runs one bounded episode of your agent, then:

conformance record --scenario myagent --seed 1   # your key, your machine, once
conformance verify --scenario myagent --seed 1   # sealed, offline, byte-deterministic

Your credentials are used exactly once. Everything after that runs against the captured cassette: CI needs no model key and no network. A cassette miss is a loud failure (exit 3) — never a live call, never a guess.

Same commit, same seed, same cassette produces identical verdict bytes and identical witness ids: 1,000 out of 1,000 runs on the crash schedules, Wilson 95% CI ≤ 0.38% flake.

Checking a finding

A violation produces a witness. Export it and it becomes a file anybody can check, offline, without trusting this tool:

conformance export <witness-id>
conformance replay <witness-id>       # re-derives the verdict from the evidence

Editing the evidence breaks its content address and replay refuses.

In CI

- run: pip install conformance
- run: conformance ci --scenario myagent --seed 1 --level-target L1

A violation of an invariant your target level requires fails the check. Exit codes: 0 pass, 1 gate fail, 2 cannot execute, 3 fail-closed breach.

Depth, honestly

Depth What it needs What it decides
V0 nothing discovery, configuration, invariant 9
V2 SDK attached + a recorded cassette all nine, under fault

Most systems start and stay useful at V0. Moving to V2 means instrumenting the effect boundary — usually a single keyword argument if your effects are HTTP. conformance doctor --scenario <name> --explain-depth lists the exact step per invariant.

Documentation

Apache-2.0.

Metadata

Release files for conformance 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for conformance 0.1.0
File Size Uploaded
conformance-0.1.0.tar.gz 82.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for conformance 0.1.0
File Interpreter ABI Platform
conformance-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 181.7 kB

Release files / conformance-0.1.0.tar.gz

Download URL conformance-0.1.0.tar.gz
Size 82.0 kB
Tags Source
SHA-256 checksum
How to use checksums
02ea1409cdf0372824c5e4ff818c519e766959c4ee627ba6d100e0658c6187d7
BLAKE2b-256 checksum
How to use checksums
87f9c91ac21635c449b356d66f082b181973131ec66b9e26e028b7f1dff7db58
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.9.25 {"installer":{"name":"uv","version":"0.9.25","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / conformance-0.1.0-py3-none-any.whl

Download URL conformance-0.1.0-py3-none-any.whl
Size 99.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
753a9eeff09982bc5b020d96b28814ffad0b36c549f03e16ee2d27e390f425a1
BLAKE2b-256 checksum
How to use checksums
38e3d5975ef7d3ef1c1da5cd1334332318a9dd45ed0b610913fae1b1f0ade839
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.9.25 {"installer":{"name":"uv","version":"0.9.25","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page