OnChange controlled website-change evidence Published 13 October 2026 Canonical collection: https://onchange.app/change-lab Release report: https://onchange.app/resources/release-evidence-pack Fieldnotes is a fictional demo. No real business, customer, purchase, offer, search-index observation or human accessibility certification is represented. The JSON record contains 28 actual browser captures (14 fixtures, 2 viewports), exact timestamps, file hashes, rendered text, metadata and axe observations. Four additional screenshots preserve the focused button state. The intentionally missing preview is a real local HTTP 404, not a successful page capture. Recorded environment: Chrome 155.0.8059.40, macOS, axe-core 4.12.1, 1440x900 and 390x844 CSS pixels, scale 1, English, UTC, reduced motion. The live release worker currently uses axe-core 4.10.2; this local editorial harness export is not a production API export. Different browsers, fonts or tool versions can change pixels and findings. Do not compare counts blindly. REPRODUCE 1. Download https://onchange.app/evidence/reproduction-kit.zip and extract it. 2. In the extracted folder, install the locked dependencies with npm ci. Requirements: Node.js 20 or newer, npm and Google Chrome installed. 3. Run npm run capture (or node scripts/capture-evidence-lab.mjs). 4. Read public/evidence/lab-results.json and inspect public/evidence/captures/. The script starts a temporary loopback server, captures only authored fixtures, checks seven assertions, writes fresh timestamps, then closes its browser/server. It does not call customer URLs, a production API or any payment service. You can inspect fixtures.zip independently. Extract it and serve the files from a local static web server. The source pages use embedded CSS and no external resources. Buttons have no purchasing behavior. For the focus example, press Tab four times from a fresh page load; the fourth stop is Choose Team. INDEXING On the public OnChange host, all fixture URLs have an extra X-Robots-Tag: noindex, nofollow response header. The noindex experiment compares the HTML meta values, not the fixtures' effective indexing policy on the publishing host. The fictional example.org canonical is not a monitored customer URL. DECISIONS release-decisions.json contains explicitly illustrative decisions. The baseline control compares a capture to itself, not two independent observations. No real reviewer approval is claimed. Use the blank templates for your own decisions. The release-gate.py example never approves a check automatically and only exits successfully for a completed, approved result with gate=passed. PROVENANCE All fixture HTML and capture code were authored for OnChange. Screenshots are unmodified browser output. Source and screenshot SHA-256 hashes are in JSON. Public source: https://onchange.app/evidence/capture-evidence-lab.mjs The reproduction ZIP includes that script and a minimal locked package manifest. Repository access is not required. Package installation uses the npm registry; the subsequent capture run uses only the temporary local fixture server. These downloads contain no customer data or API credentials.