Repository navigation
feat: expose local REST match lifecycle - #11
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Expose game discovery, match creation, player/spectator state, legal actions, moves, and replay through a thin Axum adapter. JSON, query, routing, and domain failures use the same recoverable error envelope; expected-turn checks and Idempotency-Key remain service operations.
This implements the PRD's auth-disabled local mode. Requests require a loopback peer, matching Host, and a matching Origin when present. Request bodies are bounded, responses are not cached, and the adapter rejects public listener configuration. Executable server wiring and live WebSocket updates are separate PRs.
Validation: all GitHub Actions checks pass at
abbb81ef0f328b8bf00a447c60fcf2e839140bf3, including 33 Rust tests, fmt, clippy, architecture checks, SQLx schema consistency, cargo-deny, core API compatibility, web checks, and game benchmarks. Five new transport tests cover malformed requests, body limits, retry headers, error mappings, and local access rules.