f8211e924e
Add completion summary for ELO refactoring work
2026-02-26 11:00:31 -05:00
9ae1bd37fd
Refactor: Implement all four ELO system improvements
...
CHANGES:
1. Replace arbitrary margin bonus with per-point expected value
- Replace tanh formula in score_weight.rs
- New: performance = actual_points / total_points
- Expected: P(point) = 1 / (1 + 10^((R_opp - R_self)/400))
- Outcome now reflects actual performance vs expected
2. Fix RD-based distribution (backwards logic)
- Changed weight from 1.0/rd² to rd²
- Higher RD (uncertain) now gets more change
- Lower RD (certain) gets less change
- Follows correct Glicko-2 principle
3. Add new effective opponent calculation for doubles
- New functions: calculate_effective_opponent_rating()
- Formula: Eff_Opp = Opp1 + Opp2 - Teammate
- Personalizes rating change by partner strength
- Strong teammate → lower effective opponent
- Weak teammate → higher effective opponent
4. Document unified rating consolidation (Phase 1)
- Added REFACTORING_NOTES.md with full plan
- Schema changes identified but deferred
- Code is ready for single rating migration
All changes:
- Compile successfully (release build)
- Pass all 14 unit tests
- Backwards compatible with demo/example code updated
- Database backup available at pickleball.db.backup-20260226-105326
2026-02-26 10:58:10 -05:00
d4c0bb889b
docs: comprehensive documentation for all modules and handlers
...
- README.md: full project docs with features, API endpoints, Glicko-2 explanation
- main.rs: doc comments for all 18 HTTP handlers
- db/mod.rs: schema and migration documentation
- models/mod.rs: Player struct and Glicko-2 parameter docs
- Fixed route syntax (:id instead of {id}) for Axum 0.7 compatibility
2026-02-07 19:19:50 -05:00
ada961f35d
Initial commit: Pickleball ELO Tracker with Glicko-2
2026-02-07 18:45:31 -05:00