Files

2.2 KiB

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.