Problem
The verify-this-review walkthrough is five manual steps across two hosts. That is fine as documentation, but too much friction for a skeptical outsider — and unusable as a CI primitive.
Scope
A single command (packaged script, no repo checkout required beyond npx) that, as an anonymous client:
- fetches
/v1/public/eval-scores and recomputes every recordDigest from canonical JSON (per src/review/decision-record.ts semantics)
- exports the corpus snapshot behind each record, recomputes its
corpusChecksum, and rejects empty-corpus commitments where the record claims decided > 0
- fetches the public anchor listing and verifies at least one recent checkpoint offline
- cross-checks published stats against the fairness endpoints
- prints a per-claim PASS/FAIL table, exits non-zero on any FAIL
Acceptance
- Runs with zero credentials from a clean machine
- Each check maps 1:1 to a sentence on the docs walkthrough page
- Used as the engine for the nightly CI job (sibling sub-issue)
Out of scope
Attestation-envelope verification (covered by scripts/verify-attested-run once real envelopes exist, #8537).
Problem
The verify-this-review walkthrough is five manual steps across two hosts. That is fine as documentation, but too much friction for a skeptical outsider — and unusable as a CI primitive.
Scope
A single command (packaged script, no repo checkout required beyond
npx) that, as an anonymous client:/v1/public/eval-scoresand recomputes everyrecordDigestfrom canonical JSON (persrc/review/decision-record.tssemantics)corpusChecksum, and rejects empty-corpus commitments where the record claims decided > 0Acceptance
Out of scope
Attestation-envelope verification (covered by scripts/verify-attested-run once real envelopes exist, #8537).