66 lines
2.3 KiB
Markdown
66 lines
2.3 KiB
Markdown
# TASK-097-elo-mmr-capabilities-and-data-contract
|
|
|
|
## Goal
|
|
Definir e implementar la base de contrato de datos, capabilities y storage para un sistema de MMR persistente + MonthlyRankScore mensual inspirado en `sistema_elo_mensual_hll.pdf`, adaptado a la telemetría real disponible hoy.
|
|
|
|
## Context
|
|
El PDF define una arquitectura con:
|
|
- MMR persistente
|
|
- ranking mensual visible
|
|
- calidad de match
|
|
- subíndices por rol
|
|
- ImpactScore
|
|
- MatchScore
|
|
- MonthlyRankScore
|
|
Pero la repo actual no dispone de todas las métricas del documento con precisión total.
|
|
|
|
Hace falta una base sólida que no mezcle:
|
|
- lo que el PDF ideal propone
|
|
- lo que hoy se puede calcular de verdad
|
|
|
|
## Steps
|
|
1. Leer el PDF `sistema_elo_mensual_hll.pdf` y descomponerlo en:
|
|
- inputs obligatorios
|
|
- inputs opcionales
|
|
- inputs no disponibles todavía
|
|
2. Auditar las fuentes reales actuales:
|
|
- live RCON
|
|
- read model histórico RCON
|
|
- player-event V2
|
|
- histórico clásico CRCON/public-scoreboard
|
|
3. Crear una especificación operativa dentro del repo para el sistema Elo/MMR:
|
|
- qué campos existen
|
|
- cuáles son exactos
|
|
- cuáles son aproximados
|
|
- cuáles no están disponibles
|
|
4. Diseñar e implementar storage mínimo para:
|
|
- snapshots o checkpoints mensuales de rating
|
|
- MMR persistente por jugador
|
|
- MatchScore / impacto por match cuando proceda
|
|
- metadata de capabilities por cálculo
|
|
5. Dejar una capa de contrato o modelos Python claros para:
|
|
- match validity
|
|
- quality factor Q
|
|
- role bucket
|
|
- subindices
|
|
- monthly eligibility
|
|
- penalties
|
|
6. No cerrar todavía las fórmulas finales si falta señal; primero dejar bien cerrada la base de datos y contrato semántico.
|
|
|
|
## Constraints
|
|
- No inventar métricas inexistentes.
|
|
- No mezclar cálculo final con datos no soportados.
|
|
- No romper MVP V1/V2 actuales.
|
|
- La documentación debe dejar cristalino qué parte del PDF está soportada hoy y cuál no.
|
|
|
|
## Validation
|
|
- Existe documentación técnica concreta de capabilities del sistema Elo/MMR.
|
|
- Existen modelos/contratos/backend storage listos para cálculo incremental.
|
|
- La repo deja clara la diferencia entre exacto, aproximado y no disponible.
|
|
- La repo queda consistente.
|
|
|
|
## Expected Files
|
|
- `docs/elo-mmr-monthly-ranking-design.md`
|
|
- uno o varios archivos nuevos bajo `backend/app/` para modelos/contratos/storage Elo
|
|
- `backend/README.md`
|