2.5 KiB
2.5 KiB
TASK-098-elo-mmr-core-engine-v1-backed-by-real-signals
Goal
Implementar una primera versión operativa del motor de MMR persistente + MonthlyRankScore mensual usando únicamente señales reales o aproximaciones justificadas por la telemetría disponible hoy.
Context
Esta task debe apoyarse en la especificación y capabilities de la task anterior.
La implementación debe seguir el espíritu del PDF:
- validar matches
- factor de calidad Q
- OutcomeScore
- ImpactScore por rol
- DeltaMMR
- MatchScore
- MonthlyRankScore Pero sin fingir precisión donde no existe.
Steps
- Implementar la validación de partida y el factor de calidad Q con las señales disponibles reales.
- Implementar la lógica de bucket mínima viable:
- rol principal
- modo si está disponible
- tramo de duración
- Implementar los subíndices soportables hoy:
- OutcomeScore
- CombatIndex
- UtilityIndex cuando haya señal
- LeadershipIndex cuando haya señal
- DisciplineIndex con teamkills / abandonos / AFK si la fuente real lo permite
- ObjectiveIndex exacto o aproximado solo si está realmente soportado
- Implementar
ImpactScorecon pesos por rol inspirados en el PDF. - Implementar actualización de
MMRpersistente. - Implementar
MatchScoremensual. - Implementar agregación mensual de
MonthlyRankScorecon:- Confidence
- Activity
- Consistency
- StrengthOfSchedule
- PenaltyPoints
- Marcar explícitamente en el resultado de cada cálculo:
- qué partes se calcularon con señal exacta
- qué partes fueron aproximadas
- qué partes quedaron no disponibles
- Exponer una API o endpoints internos/backend claros para consultar:
- rating persistente del jugador
- leaderboard mensual Elo/MMR
- metadata de cálculo/capabilities
- Mantener MVP V1/V2 existentes sin romperse.
Constraints
- No vender esta V1 del motor como “idéntica al PDF” si hay aproximaciones.
- No usar valores mágicos sin documentarlos.
- No romper endpoints históricos actuales.
- No rehacer toda la UI en esta task.
Validation
- Existe cálculo persistente de MMR para jugadores soportados.
- Existe cálculo mensual visible de ranking/score.
- El resultado expone metadata de exactitud/aproximación.
- La repo queda consistente.
- La documentación queda alineada con lo realmente implementado.
Expected Files
- archivos backend nuevos o modificados bajo
backend/app/para engine/storage/routes/payloads Elo backend/README.mddocs/elo-mmr-monthly-ranking-design.md