24 lines
2.2 KiB
Markdown
24 lines
2.2 KiB
Markdown
# 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.
|