# AERE Proof Protocol conformance vectors (AIP-23) Run the reference verifier on each envelope and compare the verdict: ``` npm install node ../verify-proof.mjs 01-proof-of-software.json node ../verify-proof.mjs 06-notarized-28001.json --chain 28001 --rpc https://testnet-rpc.aere.network ``` | envelope | offline (no --rpc) | what it tests | | --- | --- | --- | | 01-proof-of-software.json | VALID | a real Proof of Software attestation: form and integrity | | 02-tampered-statement.json | INVALID (integrity) | one field of the statement changed after hashing | | 03-tampered-hash.json | INVALID (integrity) | one byte of the statementHash changed | | 04-minimal-synthetic.json | VALID | the smallest envelope the protocol accepts | | 05-no-statement-hash.json | INVALID (form) | an envelope without a statementHash | | 06-notarized-28001.json | VALID | form and integrity; with `--chain 28001 --rpc ...` also finality | With `--chain 28001 --rpc https://testnet-rpc.aere.network`, 06 gives finality `post-quantum`: the state of the parent of the most recent anchor, whose certificate verify-anchor.mjs checks, records its statementHash in the testnet notary as first seen at 1790478623 (2026-09-27T03:10:23Z), first in block 3,618,722. Its statement describes the AIP-22 conformance corpus file as it was served at that time (eight of nine kinds); the file has changed since, the statement has not. With `--rpc` on chain 2800, where nothing is notarized yet, 01 gives `not notarized`, proven absent from the certified state.