feat(worker): fix rating recovery default sigma value

The rating recovery CLI mode (-mode=recalc-ratings) was using
glicko2Tau (0.5) instead of glicko2DefaultSigma (0.06) for the
default sigma value when resetting ratings. This caused the reset
sigma to be ~8x higher than the schema-defined default.

Added glicko2DefaultSigma constant (0.06) and updated ResetAllRatings
and recalcRatings to use it correctly.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
jedarden 2026-05-04 00:49:47 -04:00
parent 467b7b67ea
commit 39fe612f6a
4 changed files with 9 additions and 8 deletions

View file

@ -1 +1 @@
2e7eec49516984eb00a641fd03ec7a44fc7212a1
467b7b67ea1a5b2deab9646070fd3096cb487f9f

View file

@ -710,7 +710,7 @@ func (c *DBClient) ResetAllRatings(ctx context.Context) error {
_, err := c.db.ExecContext(ctx, `
UPDATE bots
SET rating_mu = $1, rating_phi = $2, rating_sigma = $3
`, glicko2DefaultMu, glicko2DefaultRD, glicko2Tau)
`, glicko2DefaultMu, glicko2DefaultRD, glicko2DefaultSigma)
if err != nil {
return fmt.Errorf("failed to reset ratings: %w", err)
}

View file

@ -5,11 +5,12 @@ package main
import "math"
const (
glicko2Scale = 173.7178
glicko2Tau = 0.5
glicko2DefaultMu = 1500.0
glicko2DefaultRD = 350.0
glicko2Epsilon = 1e-6
glicko2Scale = 173.7178
glicko2Tau = 0.5 // Volatility parameter (tau)
glicko2DefaultMu = 1500.0
glicko2DefaultRD = 350.0
glicko2DefaultSigma = 0.06 // Default volatility/sigma for new bots
glicko2Epsilon = 1e-6
)
// Glicko2Rating represents a Glicko-2 rating.

View file

@ -635,7 +635,7 @@ func recalcRatings(ctx context.Context, db *DBClient, logger *log.Logger, verbos
currentRatings[p.BotID] = Glicko2Rating{
Mu: glicko2DefaultMu,
Phi: glicko2DefaultRD,
Sigma: glicko2Tau, // default sigma
Sigma: glicko2DefaultSigma, // default sigma
}
}
}