OWR v0.1.0 — the Open Work Receipt

An append-only, hash-chained receipt for consequential agent work: kind, seq, payload, prev_hash, hash — anchorable to a public timestamp.

Open Work Receipt is a versioned, MIT-licensed specification. Work Receipts are the standard; Keep is the reference implementation. Any sandbox vendor can adopt OWR; auditors can ask for it by name.

The receipt

seq: strictly increasing integer (global insert order; per-chain receipts are a subsequence)
ts: unix seconds (float)
kind: dot-namespaced verb, e.g. sandbox.exec, egress.deny
payload: JSON object; secret VALUES never enter the payload
prev_hash: hash of the previous receipt ("" for genesis)
hash: HMAC-SHA256(key, prev_hash || canonical(kind+payload))

Canonical form

{"kind":"<kind>",**payload} — sort_keys, separators "," ":"

Genesis

hash = HMAC(key, canonical({kind:'genesis', workspace})) with empty prev

Anchoring

the chain head may be committed to a public log (git commit / RFC-3161 timestamp); anyone can then verify the chain existed, unaltered, at anchor time

Verification

public tier: linkage only; keyed tier: full HMAC recompute with the master key

Conformance

tests/test_owr.py — any implementation passes or fails loudly

schema: owr-v0.1.schema.json · reference implementation: Keep · v0.4.0