Skip to content

feat: add match metadata and paginated history - #21

Merged
nosam1998 merged 2 commits into
mainfrom
feat/match-history
Sep 30, 2026
Merged

nosam1998 merged 2 commits into
mainfrom
feat/match-history

Conversation

@nosam1998

@nosam1998 nosam1998 commented Sep 30, 2026 •

Copy link
Copy Markdown
Member

Expose public match metadata at GET /v1/matches/{id} and bounded, cursor-based local history at GET /v1/matches, filtered by game and lifecycle status. Both derive current status from the durable event log and omit private state, RNG seeds, and reasoning.

Add a storage listing port and a parameterized, compile-time-checked SQLite query. Limits bound records scanned before filtering; clients follow next even if a filtered page is empty. This also supplies the durable history index needed for opponent scheduling and restart recovery.

Tests cover pagination order, SQL parameterization, completion status, filters, malformed query parameters, restart recovery, and generated OpenAPI response schemas. Rust CI, Web CI, and game benchmarks pass. SQLite query metadata has been generated against the migrated schema and committed; runtime and offline query checks agree.

@nosam1998
nosam1998 marked this pull request as ready for review September 30, 2026 19:42
@nosam1998
nosam1998 merged commit a68eba6 into main Sep 30, 2026
6 checks passed
@nosam1998
nosam1998 deleted the feat/match-history branch October 2, 2026 06:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant