Skip to main content

assurance

Your AI agent says it's done. Assurance tells you what it didn't check.

uvx assurance audit          # in a project where you've used Claude Code
uvx assurance audit --demo   # or see a report on a bundled sample session

No uvx? Install uv (brew install uv, or curl -LsSf https://astral.sh/uv/install.sh | sh, or pipx install uv), or use pip install assurance and run assurance audit.

Real output on the bundled sample. The agent was asked to fix a rounding bug in invoice.py "and make sure pytest -q tests/test_invoice.py passes", and ended with "All done — the totals are correct now."

Claude Code session demo-8f2 — 13 min in /home/you/my-app
10 tool calls, 3 failed — Bash 6, Edit 2, Grep 1, Read 1

  Looped: 3 rounds of Bash `pytest -q tests/test_invoice.py` failing the same way, with nothing new read
  After the last edit (14:09): no test or check it recognises; 2 unclassified commands ran after it (make lint-fix, python script)
  Against the last prompt (14:00, "The invoice totals are off by a cent for EUR. Fix it in inv…"):
    invoice.py: changed at 14:04 (src/billing/invoice.py).
    pytest -q tests/test_invoice.py: did not run after the last edit to src/billing/rates.py (14:09); it last failed at 14:08, before that.
    Only what the last prompt names is checked here; whether the work does what it asks is not.
  Not classified: 2 shell commands (make lint-fix, python script), so whether they read, wrote or tested anything is unknown.
  Also in the transcript: 1 assistant turn, 1 user turn, 1 bookkeeping record.
  Not read: 0 lines.

Run it after every session. When Claude finishes without testing its last edit, you're told, and Claude is sent back to run the tests. assurance hook install adds the Stop hook after showing you the change, and assurance hook remove takes it out again. Run that one yourself: in auto mode, Claude Code refuses to let Claude remove the hook, as tampering with an audit.

uvx assurance@latest hook install    # --scope project to share it with everyone on the repository
uvx assurance hook remove

Or as a Claude Code plugin, which also adds /assurance:audit for the whole report in a session:

claude plugin marketplace add i-ops-hq/assurance
claude plugin install assurance@i-ops-hq

Or add it to ~/.claude/settings.json yourself:

{ "hooks": { "Stop": [ { "hooks": [ { "type": "command", "command": "uvx --offline assurance@0.1.22 audit --hook --nudge" } ] } ] } }

Run uvx assurance@0.1.22 --version once first: --offline runs the copy uv already has, so the hook never waits on PyPI.

Every command

command question
assurance audit what did a Claude Code session actually do, and what did it skip?
assurance hook install, remove or check the Stop hook that runs the audit after every turn
assurance serve a local endpoint any agent sends its traces or runs to, and any workflow asks for a run's audit
assurance diff / assurance check did the work cover what it was supposed to, and what did it miss?
assurance pin did an MCP server change a tool definition after you approved it?
assurance deps what will a pip install or npm install execute, read without executing it?
assurance budget where did an agent run's budget go, and where did it loop going nowhere?
assurance authority may this task proceed for the person who asked?
assurance drift did a failure rate actually shift, or was the week noise?

Nothing here consults a model, opens the network, or reports a check it could not run as a pass.

This package contains no code of its own. It installs assurance-cli, assurance-deps, assurance-budget and assurance-authority, each of which also installs on its own. The MCP server is separate: pip install assurance-mcp.

Source, issues and documentation: https://github.com/i-ops-hq/assurance · Apache-2.0.

Metadata

Release files for assurance 0.1.22

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

Source distribution (sdist)

Source distribution for assurance 0.1.22
File Size Uploaded
assurance-0.1.22.tar.gz 13.5 kB Details

Built distribution (wheel)

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

Total release size: 21.0 kB

Release files / assurance-0.1.22.tar.gz

Download URL assurance-0.1.22.tar.gz
Size 13.5 kB
Tags Source
SHA-256 checksum
How to use checksums
c1c5b4caf27be7ae7d16a01a77fc8a89b520ef2d1d06b4bdec219448afe8096b
BLAKE2b-256 checksum
How to use checksums
8fd6891eca109ff2d32b8216e13b6c3237c5e7f9ab522e2db4051ac916ebf271
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 2, 2026.

Transparency log

Release files / assurance-0.1.22-py3-none-any.whl

Download URL assurance-0.1.22-py3-none-any.whl
Size 7.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
c815840717fcb47c8d3c6cc3518461caf1012eb8a3d20e6148b741364a9772dd
BLAKE2b-256 checksum
How to use checksums
edc8b73d1d15a247ebd5b22d08f430f14d213e517c5cd583faf5605eed31b5b2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 2, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.1.22 This release

2 release files

0.1.17

2 release files

0.1.16

2 release files

0.1.15

2 release files

0.1.14

2 release files

0.1.13

2 release files

0.1.12

2 release files

0.1.11

2 release files

0.1.10

2 release files

0.1.9

2 release files

0.1.8

2 release files

0.1.7

2 release files

0.1.6

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

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