- A player's deck for a night is edited in a single form and written to
their match rows and their standings row, so the two can't disagree.
Matches, standings and hand imports all fill blank decks from the decks
already entered, whatever order the files are imported in. The imported
standings table shows decks read-only.
- Admins can rename a league.
- test/e2e.sh runs end-to-end checks against the local podman stack
(fixtures by default, or real exports: test/e2e.sh sampledata).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Parse Melee matches exports (one round per file, byes, null GameWins);
one import form detects matches vs standings exports. Re-importing a
round replaces just that round and keeps entered decks.
- Per-player deck entry for sessions scored from matches.
- node:test suite with anonymised fixtures; lockfile.
- scripts/local.sh runs the compose stack under podman with its own
.env.local, project name and volume.
- README and CLAUDE.md docs.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>