/how · Math Pentathlon
How Math Pentathlon is built
Math Pentathlon is a browser Practice Edition of educational strategy math games at https://math.pappas.work. Source of truth is the public ISC repo https://github.com/fuzzywigg/math-pentathlon (Vite + TypeScript; Cloudflare Pages deploy from alpha). Twenty registered games come from src/core/game-registry.ts — there is no Math Relay.
Pipeline verified 2026-09-16
Pipeline
Public app is a hash-routed Vite SPA on Cloudflare Pages, deployed from the alpha branch (see .github/workflows/deploy.yml). Unit tests are Vitest; e2e is Playwright — both run in public CI. Product-facing docs live as an in-repo wiki under docs/wiki/ on GitHub, not as a separate hosted MkDocs site.
Allowed captures
Two honest live crops only — Practice Edition home hero (trophy title, 20 / 4 / K-6 stats, division tabs) and the Hex game surface (#/game/hex: title, New Game / Tutorial / How to Play, empty board). No login, no family data, no kids' names, no invented /docs UI.


Host and cache
- Host: Cloudflare Pages project math-pentathlon → https://math.pappas.work (custom domain). Deploy workflow builds with Vite and publishes dist from branch alpha (trunk); do not treat main as the deploy trunk.
- Public repo: https://github.com/fuzzywigg/math-pentathlon — license ISC. Stack stated on README: TypeScript + Vite; Vitest (unit) + Playwright (e2e); public CI + Deploy badges on alpha.
- Registry: src/core/game-registry.ts lists 20 games across four divisions (K–1 through 6–7). Live home hero shows “20 GAMES / 4 DIVISIONS / K-6 GRADES.” There is no Math Relay in this tree.
- Router is hash-based (#/, #/game/:id, #/stats, #/demo/*). Verified 2026-09-16: bare path /docs and /tutorials return the SPA shell and render the home Practice Edition — not standalone docs. Hash #/docs and #/tutorials hit the not-found path (Ollie bubble only). Prefer GitHub docs/wiki/ for learning-game docs.
- In-repo wiki (docs/wiki/README.md): Overview, Games, Big Toads, Development, Accessibility, Roadmap. Wiki states this is not a private school/family ops surface.
- Do not invent TOKENMAXX / private claw-mcp harness details, coverage floors, or private CHANGELOG dumps. Public CI posture is what the README and workflows show.
What is live vs static
| Source | Live or static | Card |
|---|---|---|
| math.pappas.work (Cloudflare Pages) | Live Practice Edition SPA | Home + #/game/:id boards |
| src/core/game-registry.ts | Source of truth in public repo | 20 games · 4 divisions |
| docs/wiki/* on GitHub | In-repo markdown wiki | Product docs door (not /docs SPA) |
| Path /docs · /tutorials | Empty shells (home SPA / not-found) | Do not invent hosted docs routes |
| Vitest + Playwright CI | Public GitHub Actions on alpha | Unit + e2e — no coverage floor claimed here |
| Math Relay / private school ops | Not in tree / out of scope | Do not invent |
Public links
- Live Math Pentathlon
Practice Edition SPA — Cloudflare Pages from alpha
- Public GitHub repo
ISC source — Vitest + Playwright; wiki under docs/wiki/
- In-repo wiki README
Product-first docs outline — prefer over empty /docs SPA
- Wiki · Overview
What the product is / is not
- Wiki · Games
20 registered games by division
- Wiki · Development
Install, test, branch, and deploy posture
- Game registry (source)
Names and divisions — no Math Relay
- Live Hex board
Public hash route used for the board capture
Not copied onto this hub page
- No Math Relay — not in the public tree.
- No invented math.pappas.work /docs or /tutorials content pages — those paths are empty shells; wiki is on GitHub.
- No private GitHub fuzzywigg/fuzzywigg-ai door.
- No TOKENMAXX / private claw-mcp harness details.
- No coverage floors or private CHANGELOG dumps.
- No Workwife product story.
- No Skylight.
- No Geryon Pics.
- No Aesop journal mill.
- No fake metrics / Ads.
- No Protocol 4.1 / Spark / ChefGPT / nft2 mint.
- No family data, login, or kids' names in captures.
- No claim this is a private school or family ops surface.