# Exact-artifact acceptance contract Before test execution freeze the delivered file path and hash, expected slide IDs/titles, expected interactive-node inventory and browser scope. The included test is a six-slide/six-node example contract. When adapting it, change those expectations to the real deck; `DECK_PATH` alone does not make the demo-specific assertions a generic validator. ## Automated checks - Build from source; load that exact `file://` artifact with context offline before navigation. - Collect all HTTP(S) request attempts (failed attempts also fail), page errors and console errors. - Wait for ready and local font loading. Verify computed palette as well as font availability. - Visit every slide, wait for motion to settle, check text bounds and capture each slide separately. - Enumerate all interactive nodes and test click, Enter and Space; verify state and real visible effect. Production decks with 46 nodes must test all 46, not a sample. - Verify arrows, overview, visible fullscreen entry/exit and F entry/exit using actual browser fullscreen state. - Wait for hash publication before reload. Test storage denial if the delivery environment restricts it. - Repeat in reduced motion; settle on runtime preference change, print and early slide departure. - Assert controls disappear in print. For PDF requests, export and inspect every PDF page separately; do not infer pagination quality from this check. ## Visual review Inspect every exact-final screenshot at readable size. Check: clipped text, dense labels, low contrast, ghost transitions, connector endpoints, box-centered labels, visual hierarchy, visible focus, consistent spacing, and narrative continuity. Native text is not proof of legibility. Avoid thumbnail-only review. If requested, deliver each preview separately in order rather than a contact sheet. ## Evidence and limitations `evidence/test-report.json` binds the exact generated hash to two actual Chromium runs. `evidence/slide-*.png` are final normal-motion screenshots. `evidence/visual-review.md` records self-review and fixes. Headless Chromium success is not Safari/Firefox/mobile, screen-reader or projector proof. An independent reviewer was not available in the delegated environment; do not label self-review independent.