Add E2E test suite for site notebooks, scrollycode, and page health
Playwright-based tests covering:
- Exam notebooks (focs_2020_q2, focs_2024_q1, focs_2025_q2): injects
correct OCaml solutions and verifies test cells pass
- Foundations notebooks (lectures 1-11): runs all interactive cells,
tolerates known cross-lecture Unbound errors in lectures 5/7/8
- ONNX inference: tensor addition via widget output (sentiment skipped
in CI due to model download size)
- Scrollycode: validates HTML structure of all 3 scrollycode pages
- Page health: 34 pages load without console errors, interactive pages
have x-ocaml meta tags
- SPA navigation: documents known bug where innerHTML breaks custom
element connectedCallback
57 tests pass, 1 skipped (sentiment in CI).
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>