Skip to main content

Openshard

Receipts for AI coding agents.

Use Claude Code, Codex, Cursor, OpenCode, Google Antigravity, Hermes Agent, Grok Build or Grok Bot normally. Openshard keeps a clear record of what happened: what ran, what changed, what was verified, what it cost, and what it could not establish.

Agents write code. Openshard keeps the receipt.

License PyPI Python Status

Docs · Changelog · Contributing · Security


See Openshard in action

Getting your first receipt takes a couple of commands:

pip install openshard
cd my-project
openshard setup

Now use your coding agent (Claude Code, Codex, Cursor, OpenCode, Google Antigravity or Grok Build; Hermes Agent and Grok Bot need one extra step, see Supported coding agents) as you normally would. When the agent finishes:

openshard last

Openshard records the available evidence from the run and turns it into a receipt you can inspect locally.

your coding agent
       ↓
does the work
       ↓
Openshard captures the available evidence
       ↓
receipt

You keep your existing coding workflow and Openshard gives that work a record.


What does a receipt tell you?

A receipt is the saved record of an AI coding run.

Depending on what the agent and its integration expose, Openshard can record the task, coding agent, model, inspected files, file changes, checks, estimated token usage and cost, actions taken during the run, capture completeness, result state, and integrity information.

Each new receipt also has a globally unique receipt_id, while the existing shard_id remains available for compatibility with local repo history.

The important part is not simply collecting more fields. It is being clear about what Openshard actually knows.


Why receipts?

AI coding agents have long moved past autocomplete and now carry out significant work in real production workflows. They inspect repositories, edit files, run commands, execute tests, call tools, and increasingly work on tasks that previously belonged entirely to developers.

Git gives us a durable history of code changes, but it does not always tell us what happened during the AI work around those changes. Which agent handled the task? Which model was used? What did the agent report changing? Which checks actually ran? What failed? What did the run cost? Was any evidence missed? Can we still trust the record we are looking at later?

Openshard exists to preserve that context. The coding agent still does the coding and Openshard keeps the receipt.


Openshard doesn't guess

Receipts stop being useful if uncertain information is presented as fact.

Openshard is deliberately conservative about what it claims. If the model is unknown, it says unknown. If cost was not captured, it says not recorded. If part of a session was missed, the receipt records a partial capture.

The same principle applies to code changes. A working tree might already contain human edits, another agent might be active at the same time, or Git might show that a file changed without providing enough evidence to establish who caused it.

Openshard therefore separates files an agent reported changing from changes that were only observed by Git, pre-existing changes, and changes associated with another recorded session. If Openshard cannot establish the actor, it says so.

A finished agent turn is also not automatically treated as proof that the code is correct. An agent can finish successfully while its work remains unverified, so Openshard can report the turn as Turn completed (unverified).

The aim is simple: record the evidence that exists without filling the gaps with guesses.


Receipt identity and integrity

Every new receipt receives a globally unique receipt_id when it is created.

Unlike the existing repo-local shard_id, the receipt ID is designed to remain unique across repositories, machines, developers, and organisations.

Receipts can also carry a content fingerprint. Openshard can use that fingerprint to check whether the stored record still matches the content from which it was produced.

This is an integrity check on the receipt itself. It is not a claim that the underlying code is correct.


Supported coding agents

Openshard currently captures receipts from:

Coding agent Receipt capture
Claude Code Supported
Codex Supported
Cursor Supported
OpenCode Supported
Google Antigravity Supported (hooks; see agent capture)
Grok Build Supported (native hooks; see agent capture)
Hermes Agent Supported (shell hooks, observation only; openshard capture install hermes; see agent capture)
Grok Bot (Cursor) Enterprise: Cursor Action Recording via OpenTelemetry (platform-observed). Other plans: self-report skill (agent-reported only). See Grok Bot

All of them can contribute to the same local Openshard history in a repo. You can move between supported agents without creating separate receipt stores or changing the way you normally use those tools.

Run:

openshard doctor

to see which integrations are configured and what Openshard can currently capture.


Getting around your receipt history

The basic workflow is intentionally small.

See the most recent receipt:

openshard last

See more detail:

openshard last --more
openshard last --full

Browse recent AI coding work in the repo:

openshard history

See repo-level statistics:

openshard stats

Check the installation and agent integrations:

openshard doctor

The main receipt commands also support JSON, which makes them useful in scripts and other tooling:

openshard last --json
openshard history --json
openshard stats --json

How capture works

openshard setup detects whatever supported coding agents are available for the repo and configures their supported integration points.

The implementation differs slightly between agents. Openshard can use hooks, plugins, local configuration, and MCP-based integration depending on what each tool exposes. Those events are normalised into the same receipt history and passed through a local authenticated capture service.

That means every supported agent can leave receipts in the same repo history even though the agents themselves work differently.

For the deeper implementation details, see Agent capture.


Local-first

The open-source receipt layer is local-first. Your receipt history stays with the repo and can be inspected offline.

You do not need a hosted Openshard account to create or inspect local receipts.

Raw developer content is not sent to Openshard by default. Basic privacy-safe product telemetry may be collected after setup, such as versions, counts, timings, and error categories. It does not include code, prompts, file names, or receipt contents.

Telemetry can be disabled at any time:

openshard telemetry off

See Telemetry for the full behaviour.


Optional hosted sync

Receipts stay local by default. If you want them visible beyond your own machine, openshard sync sends copies of this repository's Receipts to an Openshard Platform organisation:

openshard sync connect --endpoint <url> --org <org-id>
openshard sync now
openshard sync status

Sync is off until you run connect, sends only the same bounded fields openshard history --json already prints (no prompts, transcripts, diffs, or file contents), and is retry-safe and idempotent: replaying sync now never duplicates a Receipt. See Platform sync for the full contract.

The hosted dashboard that reads this synced history is still being built; see Project status below.


Installation

The standard installation is:

pip install openshard

Then move into a Git repo and run:

cd your-project
openshard setup

pipx and uv are also supported:

pipx install openshard
uv tool install openshard

To upgrade later:

pip install -U openshard

or:

pipx upgrade openshard

See Installation for additional installation guidance.


Project status

Openshard is currently a working tool available for use, and the core local receipt loop is working across Claude Code, Codex, Cursor, OpenCode, Google Antigravity, Hermes Agent and Grok Build, with Grok Bot captured through Cursor's OpenTelemetry export or a self-report skill.

The project has automated CI, Ruff and mypy checks, a large pytest suite, Linux and Windows validation, authenticated local capture, receipt integrity checks, explicit capture-completeness handling, and real integration testing across supported agent paths.

Sending Receipts to the Openshard Platform is live and retry-safe (openshard sync), and that local-to-hosted path has passed real end-to-end testing. What's still being built on top of it is the hosted web experience: the dashboard, receipt history views, and team controls. They'll build on the same receipt primitive rather than replacing the local workflow.

For now, the focus is straightforward: making the receipt layer reliable, useful, and easy enough to fit naturally into the way developers already work.


Why open source?

We believe that evidence infrastructure should be inspectable.

If Openshard says a coding agent changed a file, a check passed, a session was incomplete, or an actor could not be established, developers should be able to understand how that conclusion was reached.

Keeping the local receipt layer open source makes the capture model, integrations, and integrity behaviour available for inspection and improvement.

Openshard is licensed under Apache-2.0.


Documentation


Contributing

Contributions are welcome across receipt capture, coding-agent integrations, provenance, verification, CLI experience, platform compatibility, security, tests, documentation, and examples.

See CONTRIBUTING.md to get started.


Security

If you find a security issue, please report it privately before opening a public issue.

See SECURITY.md.


License

Apache-2.0

Release files for openshard 0.4.8

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

Source distribution (sdist)

Source distribution for openshard 0.4.8
File Size Uploaded
openshard-0.4.8.tar.gz 1.6 MB Details

Built distribution (wheel)

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

Total release size: 2.5 MB

Release files / openshard-0.4.8.tar.gz

Download URL openshard-0.4.8.tar.gz
Size 1.6 MB
Tags Source
SHA-256 checksum
How to use checksums
f0381a9576ba343e10ab2a795f4dbe0b262246d663c892f65e1a4379cc79109b
BLAKE2b-256 checksum
How to use checksums
46e8d221512d2f1162b663d263e6316798c502b7e69c5e925dd21c5f76b2702e
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 Sep 25, 2026.

Transparency log

Release files / openshard-0.4.8-py3-none-any.whl

Download URL openshard-0.4.8-py3-none-any.whl
Size 906.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
6ddd371df96b5605da5f625ec4137372fe17d1940f42faf7b7e3534f3a9e98a8
BLAKE2b-256 checksum
How to use checksums
fb0c16b00dbf969afb5f93ee905c0084b10a0ce49484a7ae7d1c7020ab4a7c2f
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 Sep 25, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.4.8 This release

2 release files

0.4.7

2 release files

0.4.6

2 release files

0.4.5

2 release files

0.4.4

2 release files

0.4.3

2 release files

0.4.2

2 release files

0.4.1

2 release files

0.4.0

2 release files

0.3.0

2 release files

0.2.0

2 release files

0.1.2

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