Files
comunidadhll/docs/historical-coverage-report.md
2026-06-04 09:26:38 +02:00

4.1 KiB

Historical Coverage Report

Validation Date

  • 2026-03-21
  • 2026-03-23

Scope

Estado real de la cobertura historica persistida localmente en backend/data/hll_vietnam_dev.sqlite3 tras ejecutar el bootstrap CRCON con el flujo reforzado de backend/app/historical_ingestion.py.

Commands Used

Desde backend/:

python -m app.historical_ingestion bootstrap --max-pages 3 --detail-workers 16

Bootstrap acotado y reanudable para comunidad-hispana-03:

python -m app.historical_ingestion bootstrap --server comunidad-hispana-03 --page-size 10 --max-pages 1 --detail-workers 8

Verificacion puntual previa de idempotencia sobre la primera pagina ya importada:

python -m app.historical_ingestion bootstrap --max-pages 1 --detail-workers 8

Esa reejecucion devolvio matches_inserted: 0 y solo matches_updated para los matches ya persistidos, confirmando el comportamiento idempotente en el tramo reimportado.

Source Depth Discovered

La propia API CRCON reporto en pagina 1:

  • comunidad-hispana-01: 23029 matches historicos disponibles
  • comunidad-hispana-02: 18221 matches historicos disponibles

Esto confirma que la fuente publica tiene un archivo mucho mas profundo que la semana movil usada por la UI y que un bootstrap completo real es una operacion larga incluso con paralelismo.

Persisted Coverage After Bootstrap Validation

comunidad-hispana-01

  • matches importados: 150
  • jugadores unicos: 3986
  • filas de estadisticas por jugador: 12650
  • primera partida persistida: 2026-03-04T22:11:18Z
  • ultima partida persistida: 2026-03-20T21:41:18Z
  • rango cubierto: 15.98 dias

comunidad-hispana-02

  • matches importados: 150
  • jugadores unicos: 4468
  • filas de estadisticas por jugador: 12665
  • primera partida persistida: 2026-03-01T16:59:10Z
  • ultima partida persistida: 2026-03-20T21:14:21Z
  • rango cubierto: 19.18 dias

comunidad-hispana-03

  • matches importados: 33
  • jugadores unicos: 1161
  • filas de estadisticas por jugador: 2547
  • primera partida persistida: 2026-02-24T18:16:11Z
  • ultima partida persistida: 2026-03-08T18:11:52Z
  • rango cubierto: 12.0 dias
  • total descubierto en la fuente publica: 11652 matches
  • checkpoint actual de bootstrap: next_page = 2, last_completed_page = 1

Interpretation

  • La base persistida ya supera claramente la ventana semanal en ambos servidores, por lo que la UI historica ya puede distinguir entre "ranking de ultimos 7 dias" y "cobertura total importada" sin fingir que ambos conceptos son lo mismo.
  • comunidad-hispana-03 ya no esta vacio: existe historico real persistido, snapshots de resumen y partidas recientes, y un checkpoint reanudable para seguir ampliando cobertura sin repetir desde cero.
  • El historico local sigue siendo parcial respecto al total reportado por la fuente. Lo importado hoy es suficiente para seguir con semantica y revisiones de UI, pero no representa aun el archivo completo disponible en CRCON.

Source Limits Observed

  • Bajo replays repetidos del mismo bootstrap, la fuente CRCON devolvio errores 502 Bad Gateway intermitentes en get_public_info y get_map_scoreboard.
  • Con --detail-workers 16 la carga validada fue estable para 3 paginas por servidor. Con concurrencia mas alta se observaron payloads no validos con mas frecuencia.

Operational Conclusion

  • El bootstrap queda reanudable por checkpoint persistido en historical_backfill_progress; si no se pasa --start-page, una nueva sesion continua desde next_page.
  • Cada pagina completada actualiza por servidor:
    • last_completed_page
    • next_page
    • discovered_total_matches
    • discovered_total_pages
    • last_run
  • La estrategia operativa razonable para completar todo el archivo es ejecutar varias sesiones consecutivas con el mismo comando hasta que archive_exhausted pase a true.
  • --start-page se conserva solo como override manual cuando haga falta reprocesar un tramo concreto.
  • Mientras no se complete todo el archivo, cualquier UI o API debe mostrar la cobertura importada como cobertura real disponible y no como historico total del servidor.