Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ Product release notes: [docs.proofable.me/changelog](https://docs.proofable.me/c
- **Two checks you can run on the published records.** `public/evidence/checks/tamper-check.mjs` forges each signed record ten ways and confirms every copy is rejected offline; `reuse-check.mjs` times reading and verifying a finished result with no account.
- **A fresh run of the eight authority cases on the live service.** All eight passed on the revision production was serving, with 17 signed records. Requests that should not have been allowed were refused before any job ran; the case that needs approval waited for it and then ran; and a valid request ran alongside the refusals to show the check can pass. The records need no account to read or verify, and the run lives at `public/evidence/aaif/authority-at-dispatch/2026-10-24-served/`.
- **Jobs run on credits on every plan.** [Jobs](/jobs) says what a run costs and lists the job tools a connection carries, and the team-agents and reproduce guides no longer say jobs need Pro.
- **The receipt signer is bound on-chain.** `public/evidence/registry` shows how to read the signing account for agent 1135859 from the ERC-8004 registry (`getMetadata`, key `x_proofable.receiptSigner`).
- **The evidence kits install `@proofable/sdk` 0.1.10.** The reproduction kit, the forged-record checks and the October 8 packet verify CAIP-380 envelopes that omit `walletAddress`, and `aad.mjs verify --expect-signer` requires the receipt signer you read out of band. Each authority-at-dispatch packet says what it establishes and what it does not.
- **Agent id format is in the schemas.** `agentId` in `agent-identity` and `agent-delegation` is 1 to 128 letters, digits, hyphens or underscores, the same id the agent page uses.

Expand Down
21 changes: 18 additions & 3 deletions public/evidence/registry/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -42,12 +42,27 @@ not a URL quoted in prose.
Both records in the published authority evidence are signed by the account named in
`x_proofable.receiptSigner`: `0xa41494e1e5f9e5eaf786961e6ef84cd1a3071eec`, EIP-191 over the CAIP-380
verification message. Recovering that account from a record's bytes shows the record was signed by it.
Attribution of that account to Proofable is what the binding above records.

The registry binds that account to the agent on-chain. The agent's owner (the Safe above) wrote it with
`setMetadata` in tx `0xe3c783072848a66c247f0f6a6b6bb4c84afded3f9453758c8e3df116f6054a24`, Base block
`53386669` (2026-11-01). Read it from chain state:

```js
const reg = new ethers.Contract('0x8004A169FB4a3325136EB29fA0ceB6D2e539a432',
['function getMetadata(uint256,string) view returns (bytes)'],
new ethers.JsonRpcProvider('https://mainnet.base.org'));
ethers.toUtf8String(await reg.getMetadata(1135859n, 'x_proofable.receiptSigner'));
// {"schema":"proofable.service-key/v1",...,"receiptSigner":"0xa41494e1e5f9e5eaf786961e6ef84cd1a3071eec",
// "scheme":"eip191-caip380","validFrom":"2026-11-01","registrationSha256":"f297f8fb…"}
```

`ownerOf` gives the Safe, `getMetadata` gives the key, and the signature recovers to that key.
`registrationSha256` is the SHA-256 of `agent-registration.json` in this folder.

## What this does not cover

- No key validity window or rotation history is published. The account named above is the signing
account, and this document carries no expiry or rotation record.
- The binding carries a `validFrom` and no expiry. A rotation writes the same key again, so the
registry's `MetadataSet` events are the rotation log.
- This snapshot is a point in time. The live document at the URL is authoritative and can change; hash
the bytes you actually read before quoting them.
- A valid signature shows which account signed a statement. It does not show that the statement is
Expand Down
2 changes: 1 addition & 1 deletion public/evidence/registry/SHA256SUMS
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
bfa35912750b7102a873440a082b985d62a94b638e3a3aa7984c0741cd4e6690 *README.md
02a3ffc0e72bba3497bba381ce37edb5a722498041755fe204dd3118d2be8cc7 *README.md
f297f8fbff06de768fe1a2ee3ecb0a00518ecbb34c4517d607d598c04f3b45c7 *agent-registration.json
Loading