OnChange monitoring lab, published 14 October 2026 (Asia/Kolkata)
https://onchange.app/change-lab

Controlled demonstrations using authored HTML and JSON. No customer data.
The original results preserve the exact capture timestamp, Chrome version,
platform, viewport dimensions, source/screenshot hashes and measured fields.

Reproduce with Node 20+ and an installed Chrome browser:
1. Extract reproduction-kit.zip into a new directory.
2. Run npm ci --ignore-scripts.
3. Run node scripts/capture-monitoring-lab.mjs.

The harness starts a temporary local server. It does not contact a customer
site or production API. Output appears in public/evidence/monitoring-lab/;
authored HTML appears in public/evidence/fixtures/monitoring/.
Close the server and browser automatically by letting the command finish.
The script asserts twelve groups of observations and exits nonzero on failure.

The 390 px case is a desktop Chrome viewport, not a real mobile-device test.
The form experiment records visible feedback, DOM relationships and focus.
Screen-reader output and full WCAG conformance are not evaluated.
The API check operates on local JSON objects, not HTTP responses from a service.
Banner rotation is represented by separate deterministic states, not a timer.
No alert-reduction percentage, traffic result or search-index outcome is claimed.

Fresh runs have fresh timestamps and may have different hashes or rendering
under another browser, operating system or font environment. The assertions
compare paired states within the same run; do not overwrite the published
record and assume it describes the original run.

Downloads:
- results.json: original observations and assertion results.
- api-cases.json: four fictional response objects.
- monitoring-brief.md and monitoring-brief.csv: blank planning templates.
- monitoring-brief-worked.md: fictional completed planning example.
- form-error-retest.md: blank interaction and reviewer worksheet.
- capture-monitoring-lab.mjs: the exact executable source used for this run.

The templates are planning documents, not product import formats.
Human reviewer fields remain unassigned until someone performs the review.
