feat(tournament): add Swiss-system tournament module

Implements the full tournament lifecycle: create, join, withdraw, start,
round progression, and finish with Buchholz tiebreak standings.

- REST resource covering all 11 endpoints from the OpenAPI spec
- Swiss pairing algorithm with bye support
- Per-bot NDJSON stream with targeted gameStart events (color field)
- Game result ingestion via Redis writeback stream
- H2-backed integration tests for resource and pairing service

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
LQ63
2026-05-29 00:46:56 +02:00
parent 3b6c5297f6
commit 35d7e0dc85
27 changed files with 2205 additions and 0 deletions
+1
View File
@@ -26,4 +26,5 @@ include(
"modules:ws",
"modules:store",
"modules:coordinator",
"modules:tournament",
)