Files
comunidadhll/ai/tasks/done/TASK-081-player-event-snapshots-and-api.md
2026-03-24 16:40:19 +01:00

2.7 KiB

TASK-081-player-event-snapshots-and-api

Goal

Exponer por snapshots JSON y API propia del backend las nuevas métricas derivadas V2 de eventos de jugador, manteniendo la filosofía de lectura rápida y desacoplada del request path pesado.

Context

La base V2 ya existe:

  • source adapter
  • raw ledger
  • incremental worker
  • derived aggregates

Ahora hace falta convertir esas métricas derivadas en una capa consumible por producto y por futuras fórmulas de MVP V2 sin depender de consultas pesadas on-demand.

Las primeras métricas que deben quedar listas para lectura rápida son:

  • most_killed
  • death_by
  • duel summaries
  • weapon kills
  • teamkills derivados

Steps

  1. Revisar los agregados V2 ya implementados.
  2. Diseñar snapshots JSON adecuados para estas métricas avanzadas por:
    • servidor
    • all-servers cuando aplique
    • periodo mensual si corresponde
  3. Exponer endpoints claros y consistentes para leer esas métricas.
  4. Mantener la misma filosofía que el histórico actual:
    • lectura rápida
    • sin cálculos pesados en el request path
  5. Incluir metadatos claros en los snapshots cuando aplique:
    • generated_at
    • period/month_key
    • source_range_start
    • source_range_end
    • found / is_stale si aplica
  6. Integrar la generación de estos snapshots con la operativa existente o con una vía equivalente razonable.
  7. No implementar todavía la UI V2 final.
  8. No romper el MVP V1 ni los snapshots actuales.
  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
  • backend/README.md
  • backend/app/historical_snapshots.py
  • backend/app/historical_snapshot_storage.py
  • backend/app/routes.py
  • backend/app/payloads.py
  • backend/app/player_event_aggregates.py
  • backend/app/player_event_storage.py
  • docs/player-event-pipeline-v2-design.md

Expected Files to Modify

  • backend/app/routes.py
  • backend/app/payloads.py
  • backend/app/historical_snapshots.py
  • backend/app/historical_snapshot_storage.py
  • backend/README.md
  • opcionalmente nuevos módulos auxiliares si mejoran claridad

Constraints

  • No recalcular estas métricas pesadas en cada request.
  • No romper la API histórica existente.
  • No tocar todavía la UI final del MVP V2.
  • No hacer cambios destructivos.
  • Mantener el trabajo centrado en snapshots/API V2.

Validation

  • Existen snapshots JSON de métricas V2.
  • Existen endpoints backend para leerlas.
  • La lectura es rápida y coherente con la arquitectura actual.
  • No se rompe el MVP V1 ni el histórico actual.
  • 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 240 líneas cambiadas.