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.19 audit --hook --nudge" } ] } ] } }

Run uvx assurance@0.1.19 --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 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.19

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.19
File Size Uploaded
assurance-0.1.19.tar.gz 13.5 kB Details

Built distribution (wheel)

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

Total release size: 20.9 kB

Release files / assurance-0.1.19.tar.gz

Download URL assurance-0.1.19.tar.gz
Size 13.5 kB
Tags Source
SHA-256 checksum
How to use checksums
da77fa1344eb7884ccff07ef177492c5a2614a015cc2a5aa89f7aedb04cf9c38
BLAKE2b-256 checksum
How to use checksums
6e8e3cea94b4f7410186c4f07d2dd69c07d94c1577cc89807237d6bcc41726ba
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 1, 2026.

Transparency log

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

Download URL assurance-0.1.19-py3-none-any.whl
Size 7.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
3ea6e8681f1f30112aeb6830f5646abc240299a0709822bc8bb348143d68c86f
BLAKE2b-256 checksum
How to use checksums
50ddfa28f9e0199bc921915c3c510e529bfac820054fb2e3b1b391e80648d9b7
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 1, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.1.19 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