Files
comunidadhll/ai/tasks/done/TASK-067-monthly-mvp-ranking-backend-calculation.md
2026-03-24 09:52:12 +01:00

2.9 KiB

TASK-067-monthly-mvp-ranking-backend-calculation

Goal

Implementar en backend el cálculo base de la V1 del ranking mensual MVP usando la fórmula y reglas definidas en docs/monthly-mvp-ranking-scoring-design.md, apoyándose únicamente en métricas ya persistidas y fiables.

Context

La auditoría y el diseño de scoring ya están cerrados. La V1 del ranking mensual MVP debe construirse con:

  • kills
  • support
  • time played
  • KPM derivado
  • KDA derivado
  • umbrales de elegibilidad
  • penalización por teamkills opcional
  • desempates deterministas

Antes de exponerlo en snapshots o UI, hace falta implementar el cálculo mensual real en backend de forma clara, trazable y compatible con servidor individual y all-servers.

Steps

  1. Revisar docs/monthly-player-ranking-data-audit.md y docs/monthly-mvp-ranking-scoring-design.md.
  2. Implementar la lógica de cálculo del ranking mensual MVP según la fórmula aprobada.
  3. Aplicar correctamente:
    • métricas incluidas
    • pesos
    • normalización
    • mínimos de elegibilidad
    • penalización por teamkills si así quedó definida
    • desempates
  4. Soportar cálculo para:
    • un servidor concreto
    • all-servers
  5. Dejar el resultado estructurado para poder serializarlo después en snapshots o payloads.
  6. Mantener clara la separación entre:
    • ranking mensual MVP V1
    • leaderboards mensuales simples por métrica ya existentes
  7. No exponer todavía UI nueva en esta task.
  8. Documentar brevemente la parte backend necesaria.
  9. Al completar la implementación:
    • dejar el repositorio consistente
    • hacer commit
    • hacer push al remoto si el entorno lo permite

Files to Read First

  • AGENTS.md
  • docs/monthly-player-ranking-data-audit.md
  • docs/monthly-mvp-ranking-scoring-design.md
  • backend/README.md
  • backend/app/historical_storage.py
  • backend/app/historical_models.py
  • backend/app/payloads.py
  • backend/app/routes.py
  • backend/app/historical_snapshots.py

Expected Files to Modify

  • backend/app/historical_storage.py
  • backend/app/payloads.py
  • opcionalmente nuevos módulos si mejoran claridad, por ejemplo:
    • backend/app/monthly_mvp.py
    • backend/app/monthly_mvp_scoring.py
  • backend/README.md
  • opcionalmente docs/decisions.md si hace falta fijar una decisión técnica menor

Constraints

  • No incluir métricas no persistidas o no confirmadas.
  • No romper los rankings mensuales ya existentes por kills, muertes, soporte y 100+ kills.
  • No crear todavía UI en esta task.
  • No hacer cambios destructivos.
  • Mantener el trabajo centrado en el cálculo backend del monthly MVP V1.

Validation

  • Existe un cálculo mensual MVP funcional en backend.
  • Soporta servidor individual y all-servers.
  • Respeta la fórmula y elegibilidad definidas en el diseño.
  • No rompe los leaderboards mensuales existentes.
  • Los cambios quedan committeados y se hace push si el entorno lo permite.

Change Budget

  • Preferir menos de 6 archivos modificados o creados.
  • Preferir menos de 260 líneas cambiadas.