| API-201 |
Refactor API |
Dividir routers presupuestos/policiales en paquetes con modelos Pydantic y utilidades compartidas. |
Completado |
Backend |
Nuevos módulos api/routes/budgets/* y api/routes/policiales/*, pruebas manuales de endpoints críticos. |
| OPS-202 |
Tooling |
Enforzar límite de 400 líneas mediante scripts/report_large_files.py en pre-commit/CI. |
Completado |
Backend |
Hook local agregado en .pre-commit-config.yaml, falla si un archivo supera el umbral configurable. |
| ETL-203 |
Refactor ETL |
Modularizar etl/pipelines/dipres_budget (constantes, modelos, IO) y separar pipeline bronze en paquete dedicado. |
Completado |
Datos |
BudgetHierarchyBuilder.process delega en builder_processing.process_dataframe; queda pipeline DipresBudgetBronze con helpers desacoplados. |
| ETL-304 |
Refactor ETL |
Migrar ine_estadisticas_judiciales a paquete modular (settings, workbooks, tidy, pipeline). |
Completado |
Datos |
Nuevo paquete etl/pipelines/ine_estadisticas_judiciales/ con docstrings, helpers reutilizables y QA centralizado. |
| ETL-305 |
Refactor ETL |
Particionar etl/pipelines/enusc.py en paquete (io, modules, reports, pipeline). |
Completado |
Datos |
Nuevo paquete etl/pipelines/enusc/ con componentes settings, catalog, operations, pipeline y escritor DB. |
| ETL-306 |
Refactor ETL |
Dividir etl/pipelines/ine_policiales.py y CLI asociada en servicios reutilizables. |
Completado |
Datos |
Paquete etl/pipelines/ine_policiales/ con módulos settings, sheets, quality; queda pendiente modularizar la CLI. |
| ETL-307 |
Refactor ETL |
Modularizar etl/pipelines/seguridad_fuentes.py por fuente (Carabineros, PDI, Fiscalía). |
Completado |
Datos |
Nuevo paquete seguridad_fuentes/ separa Fiscalía, Gendarmería, DIPRES e INE; pipeline actualizado con QA y escrituras. |
| ETL-308 |
Refactor ETL |
Extraer agregaciones de etl/pipelines/enusc_agg.py a submódulos parametrizables. |
Completado |
Datos |
Nuevo paquete etl/pipelines/enusc_agg/ con settings, specs, transforms, preparation, aggregations, builder, pipeline; wrapper etl/pipelines/enusc_agg.py mantiene compatibilidad y se añadieron pruebas unitarias para transforms/agregaciones clave. |
| ETL-309 |
Refactor ETL |
Reorganizar pipeline de Fiscalía en etapas extract, transform, load. |
Completado |
Datos |
Paquete fiscalia_persecucion_penal/ con manifiestos, periodos, QA y pipeline modular; pendiente agregar pruebas unitarias específicas. |
| OPS-310 |
Tooling |
Reescribir scripts/ingest_ine_policiales.py como paquete CLI con commands, services, validators. |
Completado |
Datos |
CLI con subcomandos (ingest, metadata), filtros región/indicador y logs JSON; módulos ingest_* reutilizables. |
| OPS-311 |
Tooling |
Modularizar scripts/generate_report_previews.py separando renderers y pipelines de datos. |
Completado |
Datos |
Se creó scripts/report_previews/ con módulos por dominio y utilidades reutilizables; script principal orquesta salida. |
| OPS-312 |
Tooling |
Factorizar scripts/build_cofog_series.py en loaders/adaptadores reutilizables. |
Completado |
Datos |
Se creó paquete scripts/cofog_series/ con loaders, mapping y pipeline; script principal invoca build_cofog_series(). |
| ETL-310 |
Refactor ETL |
Completar pruebas e integración del pipeline ENUSC modularizado. |
En progreso |
Datos |
Faltan pruebas integrales con SAV anonimizados, documentación de nuevas clases (PersonHouseholdExporter, ModuleExporter) y automatizar QA (ver docs/enusc_todo.md). |
| OPS-320 |
Tooling |
Unificar CLI/QA para pipelines (preview, ingest, validate, compare). |
Pendiente |
Datos |
Diseñar etl.cli multi-catálogo, move SchemaValidator a módulo común, exponer validación/manifest en CLI & CI. |
| QA-401 |
Observabilidad |
Automatizar dashboards/QA y comparación de manifests multi-catálogo. |
Pendiente |
Datos |
Configurar job CI/cron que ejecute compare-manifests y genere notebooks/dashboards con datos en data/silver/**/reportes/. |
| DB-313 |
Migraciones |
Extraer utilidades comunes de Alembic (202510090002_add_presupuestos, 202510090005_create_rrhh_tables). |
Pendiente |
Datos |
Crear alembic_utils/schema_helpers.py, normalizar downgrades y documentar cambios. |
| FRONT-204 |
Frontend |
Centralizar rutas de assets (/frontend/assets/data/*.json) en frontend/src/utils/constants.ts. |
Completado |
Frontend |
Nuevas constantes CATALOG_SUMMARY_PATH, GRAPHS_CATALOG_PATH, COFOG_FUNCTIONS_PATH consumidas por servicios. |
| UI-201 |
Catálogo gráficos |
Implementar pruebas UI Playwright para la nueva vista de gráficos y la ficha de dataset. |
Completado |
Frontend |
Nuevas suites Playwright (tests/ui/test_graph_catalog_playwright.py, tests/ui/test_dataset_playwright.py). |
| DATA-202 |
Metadatos |
Automatizar la generación incremental de graphs_catalog.json desde los registros del registry y jobs_runs. |
Completado |
Datos |
Nueva utilidad update_graph_catalog (analysis/charts/metadata.py) + pruebas (tests/unit/test_graph_catalog_update.py). |
| DOC-203 |
Documentación |
Actualizar docs/graphs_catalog.md con ejemplos embebidos y guías para uso del nuevo catálogo en dataset específicos. |
Completado |
Docs |
Se añadió sección “Cómo consumir” (TS/Python, links profundos) y se describieron assets auxiliares. |
| ETL-001 |
Ingesta DIPRES |
Descargar Ejecución Total 2022/2024 mensual (marzo, junio, septiembre) y Q4; 2025 mensual (marzo–diciembre) + T3/T4. |
Completado |
Datos |
Fuente: dipres_coverage.pending_downloads |
| ETL-002 |
Ingesta DIPRES |
Obtener Proyecto de Ley de Presupuestos 2026 (CSV/XML + anexos XLSX). |
Completado |
Datos |
Bloquea comparaciones interanuales 2025→2026 |
| ETL-003 |
Ingesta DIPRES |
Incorporar dataset ley_presupuesto (ley vigente) con metadatos completos. |
Completado |
Datos |
Dataset YAML + API de descargas listo; resta completar cobertura histórica |
| ETL-004 |
Scraper |
Automatizar endpoints AJAX para Ejecución Total <= 2023 y secciones Partida/Capítulo/Programa. |
Completado |
Datos |
Identificar API interna w3-multipropertyvalues-* |
| DWH-005 |
Modelado |
Validar que subtítulos 01–35 alimenten correctamente la jerarquía naturaleza (ingreso/gasto). |
Completado |
Datos |
Tests: tests/data/test_dipres_budget_pipeline.py |
| API-006 |
API Testing |
Ampliar pruebas de presupuestos/stats para cubrir naturaleza y unidad. |
Completado |
Backend |
Añadir fixtures multimoneda |
| UI-007 |
UI Dashboard |
Tests de integración (Playwright) para nuevas tarjetas de variaciones/top_changes. |
Completado |
Frontend |
Escenario happy-path y filtros |
| OPS-008 |
Observabilidad |
Exportar métricas de status_codes y dipres_coverage a Prometheus. |
Completado |
Ops |
Depende de decisión de plataforma |
| DOC-009 |
Documentación |
Mantener docs/dipres_catalog.md en sincronía con dipres_coverage (script + status page). |
Completado |
Docs |
Revisar tras cada corrida de ingestión |
| ETL-010 |
Ingesta DIPRES |
Recuperar Proyecto/Ley nacionales 2012 hacia atrás (busqueda en archivo 594/598, PDFs). |
Completado |
Datos |
Portal actual responde 404 (w3-multipropertyvalues-15168-{pvid}) |
| ETL-011 |
Ingesta DIPRES |
Resolver endpoints legacy/AJAX para Ejecución Total 2010–2021 (y 2023). |
Completado |
Datos |
Identificar API JSON usada por DIPRES para tabs dinámicas |
| DATA-103 |
Tasas de cambio |
Incorporar tipo de cambio promedio anual previo a 2019 para convertir ejecuciones históricas en dólares. |
Completado |
Datos |
Fuente sugerida: Banco Central (serie Observatorio F073.TCO.PRE.Z.D) |
| ETL-012 |
Ingesta DIPRES |
Descargar y normalizar Ejecución Total 2023 (mensual, pesos/dólares). |
Completado |
Datos |
Script download_dipres_history.py + DipresBudgetBronze. |
| ETL-013 |
Ingesta DIPRES |
Documentar que 2003-2014 sólo cuentan con informes trimestrales (mar/jun/sep/dic) y ajustar cobertura automática. |
Completado |
Datos |
coverage_summary marca coverage=quarterly; 2003 Q1 sin fuente pública. |
| ETL-014 |
Ingesta DIPRES |
Regenerar jerarquía bronze (totales, nodos) e índice (hierarchy_index.json, COFOG) tras actualización 2023. |
Completado |
Datos |
DipresBudgetBronze, build_hierarchy_index.py, build_cofog_series.py. |
| OBS-009 |
Observabilidad |
Integrar Sentry (DSN configurable) para capturar excepciones en API/frontend y documentar variables SENTRY_*. |
Completado |
Backend |
sentry-sdk, middleware ASGI, docs/operations.md, docs/envs.md. |
| DATA-104 |
Metadatos |
Implementar esquema meta_*, jobs_*, monitor_* en Postgres (lineage, runs, métricas). |
Completado |
Datos |
Alembic 202510090003 + test test_meta_schema_migration.py. |
| DATA-105 |
Metadatos |
Instrumentar ETL para poblar meta/files/lineage y jobs.runs en cada corrida. |
Completado |
Datos |
DipresBudgetBronze actualiza meta/files/lineage y jobs_runs (ver tests). |
| QA-106 |
Calidad de datos |
Configurar checks automáticos (dbt/SQL) y registrar resultados en meta.data_quality. |
Completado |
Datos |
DipresBudgetBronze publica checks de duplicados y consistencia (ver tests/data/test_metadata_instrumentation.py). |
| API-107 |
API Catálogo |
Diseñar endpoints jerárquicos /api/<ver>/data/{schema.table} con paginación, filtros y lineage navegable. |
Completado |
Backend |
Endpoint /api/{version}/data/{schema.table} + pruebas test_data_endpoint.py. |
| UX-108 |
UI Navegación |
Implementar layout persistente + rutas anidadas + breadcrumbs/árbol jerárquico (estado global). |
Completado |
Frontend |
Navegación jerárquica con estado persistente + nuevas vistas /mapa/ y /reportes/. |
| MON-109 |
Monitoreo |
Construir vista /monitoreo (integraciones, precargas, ETL, API, latencias) y enlazar con logs/Sentry. |
Completado |
Ops |
Persistencia en jobs_runs, jobs_integrations, monitor_api_metrics; dashboard muestra p50/p95/p99, RPS y checks ETL. |
| PERF-110 |
Rendimiento |
Promover tablas gold + materialized views para métricas publicadas y diseñar refresco/inval. caché. |
Completado |
Datos |
Pipelines escriben gold presupuesto_*, refrescan MVs y registran loader metrics / cache HTTP interno. |