Exact-match replay only. No semantic cache. Recorder, not governor. Honesty map · GET /v1/public/honesty

The clock

A signature proves this key signed these bytes. It does not prove when. This page is the anti-time-travel artefact: a Merkle tree of receipt signature hashes, not payloads, not patient data. The root is written somewhere neither a supplier nor Metrecept controls.

It is something a commissioner can demand of a supplier. It is not a receipt a citizen can use against the state. It is not a chain product.

Paste a receipt on /clock. The browser recomputes sha256(Ed25519 signature bytes) and the RFC 6962 root against the published genesis slot.

python scripts/verify_clock.py --genesis site/public/clock/genesis.json

Live map: GET https://api.metrecept.co.uk/v1/public/clock. Honesty: GET https://api.metrecept.co.uk/v1/public/honestyproofs.merkle_clock.

Leaves = sha256(Ed25519 signature bytes). Tree = RFC 6962 SHA-256. Slot = UTC hour. An open slot is still our log; only a committed root is a clock.

Genesis slot 20260827T02Z root f8ce0d45bcf9a34b02e7110797a5f5dc0f2c55a280d610f7bc5463f191e5085d. The OpenTimestamps calendar wrote an aggregate into Bitcoin tx 7849891a… (block 964237). ots verify completes after the calendar releases the Merkle path (typically 6 confirmations).

Spec: the repo's docs/CLOCK.md.