3.2 KiB
3.2 KiB
TASK-055-fix-all-servers-historical-aggregate
Goal
Corregir el agregado histórico all-servers / Totales / Todos para que resumen, tops semanales y partidas recientes reflejen realmente la suma o agregación de los servidores con histórico disponible, en vez de devolver snapshots vacíos.
Context
La situación actual del histórico es esta:
comunidad-hispana-01muestra datos correctoscomunidad-hispana-02muestra datos correctosTotales / Todosaparece vacíocomunidad-hispana-03todavía no debe considerarse error, porque no se ha ejecutado bootstrap para ese servidor
Esto indica un fallo específico en la generación o persistencia del agregado lógico all-servers, no un problema general de la capa histórica.
Steps
- Revisar la implementación actual del agregado lógico
all-serversen:- snapshots
- payloads
- rutas
- generación/prewarm
- Verificar cómo se construyen actualmente:
- resumen global
- weekly leaderboards globales
- recent matches globales
- Corregir la lógica para que
all-serversagregue correctamente los servidores con histórico disponible. - Asegurar que el agregado:
- incluya
comunidad-hispana-01 - incluya
comunidad-hispana-02 - no dependa de que
comunidad-hispana-03ya tenga histórico - no colapse a vacío si uno de los servidores no tiene datos aún
- incluya
- Verificar que los snapshots globales se generen con datos reales y no se sobrescriban con vacíos.
- Regenerar los snapshots necesarios de
all-servers. - Validar que en la UI:
Totales / Todosdeje de mostrar 0 partidas / 0 jugadores- los tops globales ya tengan datos
- recent matches globales ya tengan contenido si existe histórico en #01 y #02
- Documentar brevemente la semántica final del agregado global.
- No tratar todavía
#03como parte obligatoria del agregado si no hay bootstrap para ese servidor. - 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_storage.py
- backend/app/historical_snapshots.py
- backend/app/historical_snapshot_storage.py
- backend/app/payloads.py
- backend/app/routes.py
- frontend/assets/js/historico.js
- frontend/historico.html
Expected Files to Modify
- backend/app/historical_storage.py
- backend/app/historical_snapshots.py
- backend/app/historical_snapshot_storage.py
- backend/app/payloads.py
- backend/app/routes.py
- backend/README.md
- opcionalmente frontend/assets/js/historico.js si hace falta ajustar cómo se interpreta el agregado global
Constraints
- No romper #01 ni #02.
- No exigir histórico de #03 para que
all-serversfuncione. - No crear páginas nuevas.
- No hacer cambios destructivos.
- Mantener el trabajo centrado en arreglar el agregado global.
Validation
Totales / Todosdeja de estar vacío.- El resumen global tiene partidas, jugadores y mapas si #01 y #02 tienen histórico.
- Los tops globales funcionan.
- Las partidas recientes globales funcionan.
- Los cambios quedan committeados y se hace push al remoto si el entorno lo permite.
Change Budget
- Preferir menos de 6 archivos modificados o creados.
- Preferir menos de 240 líneas cambiadas.