diff --git a/docs/2025-11-01-plan-refactor-tecnico.md b/docs/2025-11-01-plan-refactor-tecnico.md index 2a9311d..ddc26fe 100644 --- a/docs/2025-11-01-plan-refactor-tecnico.md +++ b/docs/2025-11-01-plan-refactor-tecnico.md @@ -91,6 +91,7 @@ Resultados esperados después del refactor: disminución drástica de duplicados - Lote 5.5-c completado: TaskService extraído (display_code, reacción al completar, mapeadores); sin cambios funcionales; LOC actual en src/tasks/service.ts ≈ 621; commits: e3ec820, a72184f. - Lote 5.5-b completado: GroupSyncService modularizado (api.ts, repo.ts, cache.ts, reconcile.ts) y desacople de Onboarding A3 (publishGroupCoveragePrompt); umbral aplicado; tests y typecheck limpios; commits: 1b0d2ec, 0ce3ecb, 2f24806. - Lote 5.5-d completado: WebhookServer modularizado (/metrics, /health y bootstrap a src/http; handleMessageUpsert extraído a src/http/webhook-handler.ts); sin cambios funcionales; tests verdes; commits: 46bec52, 7189756, e430fc1. + - Lote 6.0-6.2 completados: DB Locator mínimo, conexión en bootstrap con setDb y ruta única de DB (centralización y reexport en web); sin cambios funcionales; tests y typecheck limpios; commits: 9222242, 6196dba, 2669d42. ## Estado actual (2025-11-10) @@ -103,7 +104,7 @@ Resultados esperados después del refactor: disminución drástica de duplicados - Lote 4 — ICS central y rutas homogéneas: Completado. - Lote 5 — Svelte: dividir componentes grandes: Completado. - Lote 5.5 — Refactor de servicios grandes (god classes): Completado. - - Lote 6 — DB Locator / DI ligera: Pendiente. + - Lote 6 — DB Locator / DI ligera: En curso (PRs 6.0, 6.1 y 6.2 completados). - Lote 7 — Cobertura en módulos flojos: Pendiente. ## Fase 2 — Plan de refactor por lotes (PRs pequeñas y seguras) @@ -316,20 +317,20 @@ Cada lote incluye objetivo, cambios, métricas y comprobaciones. Mantener tests - PRs propuestos y archivos a tocar: - PR 6.0 — Locator mínimo (infraestructura, sin usos en servicios) + PR 6.0 — Locator mínimo (infraestructura, sin usos en servicios) — Completado - Nuevos archivos: - src/db/locator.ts — export { setDb, getDb, withDb }. - tests/unit/db/locator.test.ts — pruebas básicas del locator. - Cambios en docs: - Este documento (apartado de Lote 6). - PR 6.1 — Conexión en bootstrap (setDb al arrancar) + PR 6.1 — Conexión en bootstrap (setDb al arrancar) — Completado - Archivos a modificar: - src/http/bootstrap.ts — importar setDb desde src/db/locator y llamarlo en el arranque (cuando se abra la DB). - src/server.ts — si es quien abre la DB, llamar setDb(db) justo después de crearla (o delegar en bootstrap). - Servicios: sin cambios (compatibilidad total con dbInstance estático). - PR 6.2 — Ruta única de DB (centralizar resolveDbAbsolutePath) + PR 6.2 — Ruta única de DB (centralizar resolveDbAbsolutePath) — Completado - Nuevos archivos: - src/env/db-path.ts — export function resolveDbAbsolutePath(filename = 'tasks.db'): string. - Archivos a modificar: