Skip to content

Glicko 2 - #16

Merged
JasonPaff merged 3 commits into
mainfrom
glicko-2
Jul 3, 2026
Merged

JasonPaff merged 3 commits into
mainfrom
glicko-2

Conversation

@JasonPaff

Copy link
Copy Markdown
Owner

No description provided.

JasonPaff added 2 commits July 3, 2026 15:06
Implements the single-rating-period Glicko-2 update verified against
Glickman's published example vectors, Partners 2v2 per-player
apportionment (each player rated against the two opponents on the
pre-match snapshot), and the resolution-reason to rating-treatment
mapping. Pure math with zero runtime dependencies and no persistence.

Wires the new @meldrank/rating package into the workspace path
aliases and lockfile.
Track per-seat participant identity and ranked abandon facts on the
persisted match record, add a rating store (player_ratings,
rating_changes), and wire a match->api post-persist hook so ranked
matches are rated after their durable write confirms.

- match: thread playerId through seat join/roster, record
  match_participants and abandon_events on persist, and carry the
  spawn-supplied variant id and mode onto the room record
- match: fire-and-forget rating-hook client with bounded retry,
  independent of the durable write and result-event publish
- api: internal POST /internal/matches/:matchId/rating route,
  gated by INTERNAL_RATING_SECRET, idempotent via a unique
  (match_id, player_id) constraint on rating_changes
- shared: player_ratings/rating_changes schema + migration, nullable
  match_participants.player_id (bot seats carry no identity), new
  API_INTERNAL_URL/INTERNAL_RATING_SECRET env vars for api and match
- openspec: archive the rating-persistence-and-application change and
  sync the rating-application/rating-store/match-persistence specs
@vercel

vercel Bot commented Jul 3, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

1 Skipped Deployment
Project Deployment Actions Updated (UTC)
meld-rank-web Skipped Skipped Jul 3, 2026 9:11pm

…m test

The room-side attach is observable before the worker session's joinById
promise resolves, so the synchronous registry assertion raced on slow CI
runners (expected 'live', got 'joining').

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@JasonPaff
JasonPaff merged commit 5653231 into main Jul 3, 2026
4 checks passed
@JasonPaff
JasonPaff deleted the glicko-2 branch July 3, 2026 21:14

This branch was previously deployed

1 inactive deployment
Preview — 60241a52 Deployed Jul 3, 2026 by vercel[bot]
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