The Puzzle rating rules: a Glicko-2 module, its ADR and the glossary terms #441

Closed
opened 2026-10-16 08:19:34 +00:00 by root · 9 comments
root commented 2026-10-16 08:19:34 +00:00 (Migrated from gitlab.core-project.space)

Parent

#440

What to build

The rules of the Puzzle rating, written down and computable, before anything calls them.

  • A pure Glicko-2 module in the API. One function takes a Puzzle rating (rating, deviation, volatility), a Puzzle's rating and deviation, and a result (1 solved, 0 failed), and returns the new Puzzle rating. The volatility step is the iterative algorithm from Glickman's paper. Each result is its own rating period. A second function says whether a Puzzle rating is provisional (deviation above 110). Defaults for a new Account: 1500 / 350 / 0.06.
  • A new ADR, the Puzzle rating rules: Glicko-2 updated after every result; Puzzle ratings fixed at their imported values; only the Attempt counts; a Hint, the solution or giving up fails it; no deviation growth for inactivity in v1; provisional while deviation > 110; the system constant τ and why. Added to the ADR index.
  • Glossary: Puzzle, Theme (and curated Theme), Puzzle rating, Attempt, Replay, Hint, and a flagged ambiguity "Attempt vs Replay", worded as in #440.

Nothing calls the module yet; #443 does.

Seam: S2 (the Glicko-2 module). Covers stories 14-17 and 19 of #440.

Acceptance criteria

  • The update reproduces the worked example in Glickman's Glicko-2 paper to its published precision.
  • Tests show a new Player (1500 / 350) gains far more than a settled one (1500 / 60) from the same solve, and that a failure lowers the rating.
  • Deviation never grows from a result.
  • The provisional function is true above 110 and false at or below it.
  • The module has no I/O and no framework import.
  • The ADR is written, accepted, and listed in the ADR index (the index check passes).
  • GLOSSARY.md holds the six terms and the flagged ambiguity.
  • The gate is green (CONTRIBUTING.md, "The five commands").
## Parent #440 ## What to build The rules of the Puzzle rating, written down and computable, before anything calls them. - **A pure Glicko-2 module in the API.** One function takes a Puzzle rating (rating, deviation, volatility), a Puzzle's rating and deviation, and a result (1 solved, 0 failed), and returns the new Puzzle rating. The volatility step is the iterative algorithm from Glickman's paper. Each result is its own rating period. A second function says whether a Puzzle rating is provisional (deviation above 110). Defaults for a new Account: 1500 / 350 / 0.06. - **A new ADR, the Puzzle rating rules:** Glicko-2 updated after every result; Puzzle ratings fixed at their imported values; only the Attempt counts; a Hint, the solution or giving up fails it; no deviation growth for inactivity in v1; provisional while deviation > 110; the system constant τ and why. Added to the ADR index. - **Glossary:** Puzzle, Theme (and curated Theme), Puzzle rating, Attempt, Replay, Hint, and a flagged ambiguity "Attempt vs Replay", worded as in #440. Nothing calls the module yet; #443 does. Seam: S2 (the Glicko-2 module). Covers stories 14-17 and 19 of #440. ## Acceptance criteria - [ ] The update reproduces the worked example in Glickman's Glicko-2 paper to its published precision. - [ ] Tests show a new Player (1500 / 350) gains far more than a settled one (1500 / 60) from the same solve, and that a failure lowers the rating. - [ ] Deviation never grows from a result. - [ ] The provisional function is true above 110 and false at or below it. - [ ] The module has no I/O and no framework import. - [ ] The ADR is written, accepted, and listed in the ADR index (the index check passes). - [ ] `GLOSSARY.md` holds the six terms and the flagged ambiguity. - [ ] The gate is green (`CONTRIBUTING.md`, "The five commands").
root commented 2026-10-16 08:20:07 +00:00 (Migrated from gitlab.core-project.space)

mentioned in issue #443

mentioned in issue #443
root commented 2026-10-16 08:20:39 +00:00 (Migrated from gitlab.core-project.space)

mentioned in issue #445

mentioned in issue #445
root commented 2026-10-16 08:21:13 +00:00 (Migrated from gitlab.core-project.space)

changed the description

changed the description
root commented 2026-10-16 08:21:26 +00:00 (Migrated from gitlab.core-project.space)

marked this issue as related to #440

marked this issue as related to #440
root commented 2026-10-16 08:21:40 +00:00 (Migrated from gitlab.core-project.space)

marked this issue as related to #443

marked this issue as related to #443
root commented 2026-10-18 13:01:54 +00:00 (Migrated from gitlab.core-project.space)

mentioned in commit 8f126cdf82

mentioned in commit 8f126cdf82abb760346b98b133a3f854e3e76d9f
root commented 2026-10-18 13:01:54 +00:00 (Migrated from gitlab.core-project.space)

mentioned in commit b9aa4af510

mentioned in commit b9aa4af51090f63c05604570029807c91ef0b9dd
root commented 2026-10-18 13:01:54 +00:00 (Migrated from gitlab.core-project.space)

mentioned in commit b64c8d568c

mentioned in commit b64c8d568cbef6a2ffbd42c6a80044f483d67a55
root commented 2026-10-18 13:02:28 +00:00 (Migrated from gitlab.core-project.space)

mentioned in merge request !554

mentioned in merge request !554
root (Migrated from gitlab.core-project.space) closed this issue 2026-10-19 09:53:34 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Reference
amaurycoudr/chess-project#441
No description provided.