Agent work now has a receipt

Agent Work Receipt v0.1 is an open, account-free contract for portable evidence, deterministic integrity, and independent verification across agent runtimes.

Published by .

Canonical URL:

Six fragments of agent work resolve into one canonical receipt beside separate structure, content hash, signature, and trust-policy states.
Six fragments of agent work resolve into one canonical receipt beside separate structure, content hash, signature, and trust-policy states.

An agent can finish a task and still leave the next person with nothing they can independently defend.

The terminal transcript belongs to one runtime. The approval lives in another tool. The pull request proves that code changed, but not what authority the agent had or whether the claimed outcome was checked. A green status is easy to carry forward. The evidence behind it usually is not.

Today we are releasing Agent Work Receipt v0.1, an Apache-2.0 interchange contract for that missing record.

It is not an OrgX-only object. It does not require an OrgX account, workspace, database row, or proprietary identifier. Codex, Claude Code, OpenClaw, an MCP tool, a CI runner, or a runtime that does not exist yet can emit the same contract with identifiers owned by the producer.

What the receipt records

A receipt binds the work's story into one portable object:

  • the original intent;
  • the actor and its declared authority;
  • the actions it took;
  • the artifacts it changed or produced;
  • the evidence used to support the result;
  • the claimed outcome and its verification;
  • the cost, lineage, human interventions, and timestamps.

That structure matters because “the agent said it finished” and “the work can be audited” are different statements. A receipt makes the boundary inspectable without forcing every runtime into OrgX's internal IDs.

The public JSON Schema uses JSON Schema Draft 2020-12. The repository includes valid fixtures shaped by Codex, Claude Code, and OpenClaw, plus negative fixtures for missing authority and unresolved evidence.

Integrity is a set of states, not one green badge

Portable proof fails when two implementations hash different bytes or when a signature is treated as automatic trust.

Agent Work Receipt v0.1 computes its content digest over RFC 8785 canonical JSON, with the root integrity member omitted, then records a SHA-256 hash. The signature profile uses Ed25519 over a domain-separated canonical payload that binds the digest, algorithm, encoding, key identifier, and optional signer and signing time.

The verifier deliberately reports three separate answers:

  1. Does the receipt content match its declared hash?
  2. Is the cryptographic signature valid for the supplied key resolver?
  3. Does the consumer's policy trust that signer?

A valid signature does not make a signer trusted. A trusted identity does not repair changed content. The SDK exposes those states independently and does not collapse them into a convenient aggregate valid boolean.

The versioned conformance vectors publish the canonical strings, number cases, digests, signature payload, and tamper cases another implementation needs to reproduce the result.

Account-free first, hosted only by choice

The contract, validator, schema, and fixtures work without an OrgX account. You can paste a receipt into the public validator, validate it through the stateless API, or run the TypeScript package from the repository.

One release boundary is important: the TypeScript package is a repository preview in v0.1 and is not published to npm yet. The @useorgx/agent-work-receipt name is reserved for a future registry release; today, builders should inspect and build [packages/agent-work-receipt](https://github.com/hopeatina/orgx/tree/main/orgx/packages/agent-work-receipt) from source.

Hosted import is optional. A team that wants a shared ledger can authenticate to OrgX and import the full semantic receipt with its producer-owned identifiers intact. Importing does not promote producer claims into verified facts: hosted verification and human review remain separate steps.

Try the contract

Start with the artifact, not the announcement:

  1. Open the Agent Work Receipt validator.
  2. Load one of the Codex, Claude Code, or OpenClaw fixtures.
  3. Change an outcome, cost, or signature field and inspect which integrity state fails.
  4. Read the package source and conformance suite.

The goal of v0.1 is narrow: make agent work portable enough to inspect, deterministic enough to compare, and explicit enough that verification never has to masquerade as trust.

Agents can keep moving between runtimes. Their proof should be able to move with them.

Back to Blog
7/22/20264 min read

Agent work now has a receipt

Agent Work Receipt v0.1 is an open, account-free contract for portable evidence, deterministic integrity, and independent verification across agent runtimes.

agentsreceiptsverificationopen sourcegovernance
Markdown + URL, ready to paste
Six fragments of agent work resolve into one canonical receipt beside separate structure, content hash, signature, and trust-policy states.
Six fragments of agent work resolve into one canonical receipt beside separate structure, content hash, signature, and trust-policy states.

An agent can finish a task and still leave the next person with nothing they can independently defend.

The terminal transcript belongs to one runtime. The approval lives in another tool. The pull request proves that code changed, but not what authority the agent had or whether the claimed outcome was checked. A green status is easy to carry forward. The evidence behind it usually is not.

Today we are releasing Agent Work Receipt v0.1, an Apache-2.0 interchange contract for that missing record.

It is not an OrgX-only object. It does not require an OrgX account, workspace, database row, or proprietary identifier. Codex, Claude Code, OpenClaw, an MCP tool, a CI runner, or a runtime that does not exist yet can emit the same contract with identifiers owned by the producer.

What the receipt records

A receipt binds the work's story into one portable object:

  • the original intent;
  • the actor and its declared authority;
  • the actions it took;
  • the artifacts it changed or produced;
  • the evidence used to support the result;
  • the claimed outcome and its verification;
  • the cost, lineage, human interventions, and timestamps.

That structure matters because “the agent said it finished” and “the work can be audited” are different statements. A receipt makes the boundary inspectable without forcing every runtime into OrgX's internal IDs.

The public JSON Schema uses JSON Schema Draft 2020-12. The repository includes valid fixtures shaped by Codex, Claude Code, and OpenClaw, plus negative fixtures for missing authority and unresolved evidence.

Integrity is a set of states, not one green badge

Portable proof fails when two implementations hash different bytes or when a signature is treated as automatic trust.

Agent Work Receipt v0.1 computes its content digest over RFC 8785 canonical JSON, with the root integrity member omitted, then records a SHA-256 hash. The signature profile uses Ed25519 over a domain-separated canonical payload that binds the digest, algorithm, encoding, key identifier, and optional signer and signing time.

The verifier deliberately reports three separate answers:

  1. Does the receipt content match its declared hash?
  2. Is the cryptographic signature valid for the supplied key resolver?
  3. Does the consumer's policy trust that signer?

A valid signature does not make a signer trusted. A trusted identity does not repair changed content. The SDK exposes those states independently and does not collapse them into a convenient aggregate valid boolean.

The versioned conformance vectors publish the canonical strings, number cases, digests, signature payload, and tamper cases another implementation needs to reproduce the result.

Account-free first, hosted only by choice

The contract, validator, schema, and fixtures work without an OrgX account. You can paste a receipt into the public validator, validate it through the stateless API, or run the TypeScript package from the repository.

One release boundary is important: the TypeScript package is a repository preview in v0.1 and is not published to npm yet. The @useorgx/agent-work-receipt name is reserved for a future registry release; today, builders should inspect and build [packages/agent-work-receipt](https://github.com/hopeatina/orgx/tree/main/orgx/packages/agent-work-receipt) from source.

Hosted import is optional. A team that wants a shared ledger can authenticate to OrgX and import the full semantic receipt with its producer-owned identifiers intact. Importing does not promote producer claims into verified facts: hosted verification and human review remain separate steps.

Try the contract

Start with the artifact, not the announcement:

  1. Open the Agent Work Receipt validator.
  2. Load one of the Codex, Claude Code, or OpenClaw fixtures.
  3. Change an outcome, cost, or signature field and inspect which integrity state fails.
  4. Read the package source and conformance suite.

The goal of v0.1 is narrow: make agent work portable enough to inspect, deterministic enough to compare, and explicit enough that verification never has to masquerade as trust.

Agents can keep moving between runtimes. Their proof should be able to move with them.