Run receipts

Verify run receipts offline

Verify run receipts offline for cluster operators and plugin authors.

For: cluster operators and plugin authors.

Checking them offline

oz0 evidence export puts every block the period's entries name in the bundle (envelopes/blocks.jsonl), with their parents back to block 0. oz0 evidence verify then checks, without the cluster:

  • each block's hash and its link to the block before it;
  • that each hop only narrows its parent: a widening is a finding, and the bundle fails;
  • that each audited model call, tool call, child job and harness session of a version 3 entry names an envelope the bundle holds, with a complete chain to the subject it ran for, and that the envelope is the entry's job's or one of its job tree's (envelope_mismatch otherwise);
  • that each model call, tool call and harness session names a call binding of the right form.

It reports the share of audited actions with a complete chain (the target is 100 %), how many of those chains end at a person or a team, and how many bound actions name a binding. A job that started before envelopes, and a call without a binding (an operator's, or a node's older runtime under when-present), count in the report and are no finding.

The verifier cannot check the blocks' MACs (only edges hold their key, and they check them every time they read a block), and it does not recompute the bindings' digests; the entries' hashes cover them, and the bundle's signed manifest covers the blocks it carries.

What a complete chain proves about who is accountable for an action is a question for your counsel, not something the platform decides.

Further reading

  • Delegation and identity: how this maps to the requirements of a delegation framework, and what is still planned.
  • The envelope's fields, their encoding and the decisions behind them.
  • Reservations, settlement, retirement and the overshoot bound.
Copyright © 2026