# Fixtures Each file below is run by CI (the `verifier` job) in a clean virtual environment where ReserveBeat's own package cannot be imported, and each transcript must match byte for byte. | File | What it is | Expected | |---|---|---| | `demo.zip` | The evidence bundle of the synthetic demo tenant ("Demo Stable Issuance Co. (synthetic)"), exactly as the producer's CLI wrote it: 1,229 records, 19 anchors, 20 carried payloads, one real mainnet USDC storage proof. The timestamp legs come from the offline local TSA, so they are `SELF_SIGNED_LOCAL` (or provenance not recorded, for the oldest anchors) and are **not** third-party evidence. | exit 0, `demo.expected.txt` | | `demo-tampered.zip` | `demo.zip` with ONE byte changed: the last fractional digit of seq 500's `uploaded_at` in `records.json` (`…17.786760Z` → `…17.786761Z`). `manifest.json` is untouched. | exit 1, naming `records.json` (M1) and seq 500 (C1): `demo-tampered.expected.txt` | | `usdc-storage-proof.json` | A STORAGE_PROOF payload (FORMAT.md §7.3) for USDC at Ethereum mainnet block 25498038. The header and `eth_getProof` bytes are real mainnet data, captured 2026-07-09 from two independent providers that answered identically. | exit 0, `usdc-storage-proof.expected.txt` | | `rfc6962-vectors.json` | RFC 6962 §2.1 Merkle Tree Hash vectors: the eight-leaf set used by the Certificate Transparency reference implementations' tests. | every root recomputes | Run them yourself: ``` python3 -m venv .venv && .venv/bin/pip install --require-hashes -r verifier/requirements.txt .venv/bin/python verifier/rb_verify.py bundle verifier/fixtures/demo.zip .venv/bin/python verifier/rb_verify.py bundle verifier/fixtures/demo-tampered.zip # exits 1 .venv/bin/python verifier/rb_verify.py storage-proof verifier/fixtures/usdc-storage-proof.json ``` The demo bundle's bytes depend on the demo database it was built from, so it is committed once and never regenerated. A change to the format that makes it unreadable is a new `format_version` (FORMAT.md §10), with new fixtures beside the old ones.