From b1b4608dd8e00c09be8b5afbea6e3b07f3d8d6f0 Mon Sep 17 00:00:00 2001 From: Josh Creek <8179928+jcreek@users.noreply.github.com> Date: Mon, 31 Aug 2026 20:50:24 +0100 Subject: [PATCH] docs: synchronize multiplayer progress checklist --- multiplayer-next.md | 7 ++++--- multiplayer-todo.md | 2 +- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/multiplayer-next.md b/multiplayer-next.md index 31d827cd..3a476a2c 100644 --- a/multiplayer-next.md +++ b/multiplayer-next.md @@ -45,9 +45,10 @@ product policy are in [`docs/MATCHMAKING.md`](docs/MATCHMAKING.md). ## Phase 8 — identity and security -- [ ] Validate Steam Web API tickets only in the secure backend; issue - revocable sessions and reconnect-safe match/identity/slot authorisations - with server-owned connection-generation fencing. +- [ ] **IN PROGRESS:** Validate Steam Web API tickets only in the secure backend; + issue revocable sessions and reconnect-safe match/identity/slot authorisations + with server-owned connection-generation fencing. Pure Go ticket/session and + reconnect policies exist; production Steam/backend adapters remain. - [ ] **IN PROGRESS:** Authenticate results with pod/GameServer-bound workload identity; make identical duplicates idempotent and conflicting results inert/alerting. Pure Go binding, hashing, reconciliation, and SQL boundaries exist; diff --git a/multiplayer-todo.md b/multiplayer-todo.md index 3a9ce611..3a7c4d25 100644 --- a/multiplayer-todo.md +++ b/multiplayer-todo.md @@ -1168,7 +1168,7 @@ the local/CI/community transport, not a silent production fallback. | # | Task | Acceptance | |---|---|---| -| 8.1 | Add an ADR locking **Go + PostgreSQL + Redis**, provider-portable Kubernetes, Agones, ticketed Hosted Dedicated Server SDR, EU/NA fleets and independently runnable API, matcher, allocator and maintenance roles; keep `README.md`/`docs/TECH_STACK.md` consistent | The ADR names boundaries/rejected alternatives; current docs name the locked stack and replaceable provider; no application code calls a provider allocation API | +| 8.1 | **DONE.** Add an ADR locking **Go + PostgreSQL + Redis**, provider-portable Kubernetes, Agones, ticketed Hosted Dedicated Server SDR, EU/NA fleets and independently runnable API, matcher, allocator and maintenance roles; keep `README.md`/`docs/TECH_STACK.md` consistent | [`docs/ADR-001-matchmaking-platform.md`](docs/ADR-001-matchmaking-platform.md) names boundaries/rejected alternatives; current docs name the locked stack and replaceable provider; no application code calls a provider allocation API | | 8.2 `[D:8.1]` | **DONE.** Encode the launch SLOs from `docs/MATCHMAKING.md`: RTT, allocation/connect latency, 99.9% allocation/result success, API latency and tick health | [`docs/MATCHMAKING-SLOs.md`](docs/MATCHMAKING-SLOs.md) defines each metric, denominator, percentile/window, owner, alert threshold and release evidence | | 8.3 `[D:8.1]` | **DONE.** Publish versioned OpenAPI + WebSocket contracts for Steam login/session, profile/rating, queue create/heartbeat/cancel/resume, proposal accept/decline, assignment/status, server registration/roster/result/shutdown | [`server/contracts/v1/`](server/contracts/v1/) contains machine-readable REST/events contracts and dependency-free structural tests; REST resync is specified by the contract | | 8.4 `[D:8.3]` | **DONE.** Define opaque IDs, legal queue/match state transitions, revisions and idempotency keys | [`server/contracts/v1/state-transitions.json`](server/contracts/v1/state-transitions.json) locks terminal states, legal edges, stale-revision handling and same-key replay/conflict behavior; contract tests cover the invariants |