Skip to main content

argus-receipts

Evidence receipts for agent work. AI agents claim "done" with no artifacts; 43% of AI code changes need production debugging; agents exceed their permissions and nobody can reconstruct what actually ran. argus-receipts wraps any unit of work in a receipt — command, exit code, artifact hashes, timestamps — hash-chained into an append-only ledger and optionally signed, so claimed results provably trace to real runs.

The company building this runs on it: every material decision Argus (the company) makes carries a receipt in a ledger of exactly this format.

Install

pip install argus-receipts          # stdlib-only core
pip install "argus-receipts[sign]"  # + Ed25519 third-party-verifiable signatures

Use

# wrap a run: records command, exit code, and the hash of what it produced
argus-receipts run --ledger ops.jsonl --actor build-bot \
  --artifact dist/app.tar.gz -- make release

# receipt a decision (the "why" lives in your docs; the receipt makes it tamper-evident)
argus-receipts record --ledger ops.jsonl --actor operator \
  --action "decision: ship v0.2" --artifact DECISIONS.md

# verify everything: ids honest, chain unbroken, artifacts unmodified, signatures valid
argus-receipts verify --ledger ops.jsonl

As a library:

from argus_receipts import Ledger
from argus_receipts.signer import Ed25519Signer

ledger = Ledger("ops.jsonl", signer=Ed25519Signer.from_file("ops.key"))
receipt, proc = ledger.run(["pytest", "-q"], actor="ci", artifacts=["report.xml"])
assert ledger.verify().ok

Guarantees (and honest non-guarantees)

  • A receipt's id is the SHA-256 of its canonical body: edit anything, the id breaks. Each receipt embeds its parent's id: delete or reorder, the chain breaks. Re-hash artifacts at verify time: silent drift is caught.
  • HMAC signatures bind receipts to a shared secret (one trust domain); Ed25519 signatures are verifiable by anyone holding the public key.
  • NOT guaranteed: that the command did the right thing (receipts prove what ran and what it produced, not that it was wise), and a signer who controls the whole ledger file can rewrite history they signed — anchor the ledger tip externally (e.g., commit it) for that.

License

MIT.

Metadata

Release files for argus-receipts 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 argus-receipts 0.1.0
File Size Uploaded
argus_receipts-0.1.0.tar.gz 9.7 kB Details

Built distribution (wheel)

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

Total release size: 19.3 kB

Release files / argus_receipts-0.1.0.tar.gz

Download URL argus_receipts-0.1.0.tar.gz
Size 9.7 kB
Tags Source
SHA-256 checksum
How to use checksums
02ecdc5053e616c76c441028347f40e1b12d62a4da78739fa4925f68798723c1
BLAKE2b-256 checksum
How to use checksums
3316e137a53183fb063bc434597b5987e33ad4dd804914574bff126b50dfb320
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 Jun 11, 2026.

Transparency log

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

Download URL argus_receipts-0.1.0-py3-none-any.whl
Size 9.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
04b3c28a17bdf9e3f3efdc3e386963435b9f86fc3e6d9ad1b91006c05fb088b7
BLAKE2b-256 checksum
How to use checksums
62e2c477d3b7da4cf1f5995631172068f8bb42a90f37a80d5de2a39504791439
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 Jun 11, 2026.

Transparency log

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