docs: synchronize multiplayer progress checklist

This commit is contained in:
Josh Creek
2026-08-31 20:50:24 +01:00
parent e702661388
commit b1b4608dd8
2 changed files with 5 additions and 4 deletions
+4 -3
View File
@@ -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;
+1 -1
View File
@@ -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 |