Not-started specs¶
Specs with nothing built. These are proposals and plans: the reasoning is worth keeping, but none of it describes code that exists.
Read them for design intent, not as documentation. Every cell reference, file path and function name in here is a proposal — do not go looking for it in the repos.
Index and status-change procedure: ../README.md.
| Spec | Proposes | Blocked on |
|---|---|---|
| Site test suite | _tests/ in the site repo (never published): consistency checks on page text (the LIVE CHANNEL and ATTENDANCE CLIENT blocks, shared constants, leftover tokens), parity tests that run every copy of a hand-copied rule (played/BYE, team-event rules, team rosters, pair labels, go-live) in its own page and compare answers, and Playwright page tests of Control Center, the current event pages, the attendance desk pages and the templates on fixture data, with the live Worker and clock faked. No page changes. Owns the runbook checks the dry run reuses |
A revision against the site engine's _tests/, which built the runner, fixtures and unit tests this suite shares. Its page tests are not built |
| Calculator team format | A third Format option in the Tournament Calculator: one competition (no categories) planned in matchups: teams, groups, matches per matchup, how many play at once, how many reach the playoffs, an optional break. Counts matchups and matches, slots and the finish time (reproducing PickleDrive's published 4:05 PM), with its own CSV format value and .xlsx layout. Calculator only |
Nothing; the generator handoff waits for the Team Tournament Master |
| Team Tournament Master | The workbook generator for team events, like the dual-meet and standard generators: a master workbook carrying the named functions, and a SAGE -> Generate event tabs that builds Teams, MatchUps, SCHEDULE, CSV, STANDINGSCSV and the rest. Phased; a proposal with its open decisions listed |
Nothing. Team workbook recalculation is applied; the master is built from that workbook |
| Automated dry run | Idea only. A verify-event-dry-run.mjs script: preflight checks, rendering checks against a generated fixture, and a Puppeteer rehearsal that edits the real facility sheet |
The spikes in its §4, starting with Google sign-in from an automated browser |
| Court Control from Control Center | Outline only. A Set match action per court in Live Matches: the API writes that court's one match-number cell in Court Control, checked against what the console showed, then publishes the day. Later, the score dialog offers to put the next match on a court it frees |
Score entry's real-Google checks (C1–C8) |
| Hub player experience | Eight independent proposals for the engine Hub, each to keep or drop: a search scrolls to its results, a shorter banner on phones, a "Your next match" card, names without codes on the Hub's tickets, the tabs along the bottom on phones, a provisional-standings line, a rules link, following more than one pair. No new sections, no new data but one optional setting | The owner's keep/drop marks (§3) and decisions D1–D7 (§14) |