feat: atomically create matchmaking proposals

This commit is contained in:
Josh Creek
2026-08-31 21:40:21 +01:00
parent 229ded8613
commit bf4da9fd39
4 changed files with 56 additions and 4 deletions
+4 -1
View File
@@ -88,7 +88,10 @@ product policy are in [`docs/MATCHMAKING.md`](docs/MATCHMAKING.md).
and ranked identity/arena metadata before creating proposal state; durable
queue precedence and allocation integration remain.
- [ ] **IN PROGRESS:** Fence proposals/participants in a PostgreSQL serializable transaction;
prove loss of an acknowledged Redis write cannot split players.
prove loss of an acknowledged Redis write cannot split players. The Go store
adapter now performs proposal insertion, participant insertion, and every
queue-ticket promotion in one rollback-safe SERIALIZABLE callback; live DB/
Redis failover testing remains.
- [ ] Casual: target 3v3 humans, after 60 s allow >=2 humans (one/team) plus
bots, kickoff-only human backfill and no backfill loss/decline penalty.
- [ ] **IN PROGRESS:** Ranked: exactly six humans, solo-only, no bots/backfill,