--- # PLAN DE FASES DETALLADO # TASK-2026-02-06-ANALISIS-INTEGRAL-DOCUMENTACION version: "1.0.0" created: "2026-02-06" methodology: "CAPVED por subtarea" total_phases: 6 total_subtasks: 38 estimated_effort_hours: "27-39h total, 15-22h parallelizable" # ============================================================ # FASE 0: DIAGNOSTICO (COMPLETADA) # ============================================================ fase_0: id: "FASE-0" name: "Diagnostico" status: "COMPLETED" effort: "4h" subagents_used: 4 deliverables: - "ANALISIS-DIAGNOSTICO-COMPLETO.md" - "PLAN-FASES-DETALLADO.yml (este archivo)" findings: p0_critical: 7 p1_high: 8 p2_medium: 12 p3_low: 6 # ============================================================ # FASE 1: RESOLUCION DE CONFLICTOS CRITICOS (P0) # ============================================================ fase_1: id: "FASE-1" name: "Resolucion de Conflictos Criticos (P0)" status: "PENDING" effort: "4-6h total, 3-4h parallel" description: > Resolver los 7 problemas criticos que bloquean la coherencia de la documentacion. Cada subtarea sigue CAPVED. dependencies: ["FASE-0"] parallelizable_groups: - group: "A (independientes)" tasks: ["F1.1", "F1.2", "F1.3", "F1.4"] - group: "B (depende de A)" tasks: ["F1.5", "F1.6", "F1.7"] subtasks: - id: "F1.1" title: "Resolver Conflicto de Puertos" hallazgo_ref: "P0-001" priority: "P0" effort: "1.5h" dependencies: [] capved: contexto: "3 esquemas de puertos diferentes en 5+ documentos" analisis: > Leer docker-compose.yml, docker-compose.services.yml y .env.example para determinar puertos REALES de cada servicio. Comparar con CLAUDE.md, PUERTOS-SERVICIOS.md, ARQUITECTURA-UNIFICADA.md. planeacion: > 1. Determinar puertos correctos de docker-compose 2. Actualizar CLAUDE.md 3. Actualizar PUERTOS-SERVICIOS.md 4. Actualizar ARQUITECTURA-UNIFICADA.md 5. Actualizar DIAGRAMA-INTEGRACIONES.md 6. Actualizar ARQUITECTURA-GENERAL.md ejecucion: "Editar los 5 archivos con puertos correctos" validacion: "Grep todos los docs por puertos antiguos" documentacion: "Log en traza de cambios" files_to_modify: - "CLAUDE.md" - "docs/95-guias-desarrollo/PUERTOS-SERVICIOS.md" - "docs/01-arquitectura/ARQUITECTURA-UNIFICADA.md" - "docs/01-arquitectura/DIAGRAMA-INTEGRACIONES.md" - "docs/00-vision-general/ARQUITECTURA-GENERAL.md" files_to_read: - "docker-compose.yml" - "docker-compose.services.yml" - "apps/backend/.env.example" - id: "F1.2" title: "Corregir Paths en CONTEXT-MAP.yml" hallazgo_ref: "P0-002" priority: "P0" effort: "0.5h" dependencies: [] capved: contexto: "CONTEXT-MAP.yml usa paths Linux /home/isem/workspace-v1" analisis: "Identificar todas las referencias a paths Linux en orchestration/" planeacion: > 1. Actualizar CONTEXT-MAP.yml paths a C:/Empresas/ISEM/workspace-v2 2. Actualizar CONTEXTO-PROYECTO.md paths 3. Actualizar README.md paths ejecucion: "Replace all Linux paths con Windows paths" validacion: "Grep por /home/isem para verificar que no queden" documentacion: "Registrar cambio" files_to_modify: - "orchestration/CONTEXT-MAP.yml" - "orchestration/00-guidelines/CONTEXTO-PROYECTO.md" - "README.md" - id: "F1.3" title: "Reescribir PROJECT-STATUS.md" hallazgo_ref: "P0-003" priority: "P0" effort: "1h" dependencies: [] capved: contexto: "PROJECT-STATUS.md ultima actualizacion 2026-01-04, completamente obsoleto" analisis: > Fuentes de verdad para metricas: - DATABASE_INVENTORY.yml v2.0.0 (101 tablas, 11 schemas) - BACKEND_INVENTORY.yml v1.5.0 (19 modulos, 35 controllers, 54 services) - FRONTEND_INVENTORY.yml v2.3.0 (14 modulos, 58 paginas, 225 componentes) - MEMORY.md (coherencia: 84% types, 75% services, 61% controllers) planeacion: > Reescribir completamente con: 1. Metricas actuales de cada capa 2. Estado de cada OQI 3. Historial de tareas completadas 4. Proximos pasos ejecucion: "Reescribir archivo completo" validacion: "Verificar que todas las metricas coinciden con inventarios" documentacion: "N/A" files_to_modify: - "orchestration/00-guidelines/PROJECT-STATUS.md" - id: "F1.4" title: "Sincronizar MASTER_INVENTORY.yml" hallazgo_ref: "P0-004" priority: "P0" effort: "0.5h" dependencies: [] capved: contexto: "MASTER_INVENTORY muestra 81 tablas, real es 101" analisis: "Comparar MASTER vs DATABASE_INVENTORY v2.0.0" planeacion: "Actualizar total_tablas y metricas derivadas" ejecucion: "Editar MASTER_INVENTORY.yml seccion resumen" validacion: "Verificar que total coincide con DATABASE_INVENTORY" documentacion: "Bump version en MASTER" files_to_modify: - "orchestration/inventarios/MASTER_INVENTORY.yml" - id: "F1.5" title: "Resolver Duplicacion OQI-010" hallazgo_ref: "P0-005" priority: "P0" effort: "0.5h" dependencies: ["F1.3"] capved: contexto: "2 carpetas OQI-010: llm-trading-integration y mt4-gateway" analisis: > Determinar cual mantiene OQI-010 y cual se renumera. OQI-010-llm-trading tiene P0 y 89 SP (mayor prioridad). OQI-010-mt4-gateway tiene P2 y 15% (menor prioridad, no funcional). planeacion: > 1. Renombrar mt4-gateway a OQI-011-mt4-gateway 2. Actualizar README de OQI-010-llm-trading como OQI-010 oficial 3. Actualizar _MAP.md y referencias ejecucion: "Renombrar carpeta y actualizar refs" validacion: "Verificar que no haya OQI-010 duplicado" documentacion: "Actualizar indice de modulos" files_to_modify: - "docs/02-definicion-modulos/ (rename folder)" - id: "F1.6" title: "Resolver Duplicacion ADR-002" hallazgo_ref: "P0-006" priority: "P0" effort: "0.5h" dependencies: [] capved: contexto: "2 archivos ADR-002: monorepo y MVP-OPERATIVO" analisis: "ADR-002-monorepo es el original. MVP-OPERATIVO deberia ser ADR-010" planeacion: > 1. Renombrar ADR-002-MVP-OPERATIVO-TRADING.md a ADR-010-MVP-OPERATIVO-TRADING.md 2. Actualizar ID interno del archivo 3. Actualizar _MAP.md en 97-adr/ ejecucion: "Renombrar y actualizar" validacion: "Verificar _MAP.md coherente" documentacion: "N/A" files_to_modify: - "docs/97-adr/ADR-002-MVP-OPERATIVO-TRADING.md (rename to ADR-010)" - "docs/97-adr/_MAP.md" - id: "F1.7" title: "Asignar Owners a Schemas Huerfanos" hallazgo_ref: "P0-007" priority: "P0" effort: "1h" dependencies: ["F1.5"] capved: contexto: "audit (7 tablas), feature_flags (3), market_data (4) sin OQI owner" analisis: > - audit: Cross-cutting concern, puede ser OQI transversal o parte de OQI-001 - feature_flags: Infraestructura, puede ser parte de admin/settings - market_data: Logicamente parte de OQI-003 (Trading Charts) planeacion: > Opcion recomendada: 1. market_data -> Asignar explicitamente a OQI-003 2. audit -> Crear seccion transversal en OQI-001 o OQI-CROSS 3. feature_flags -> Documentar como infraestructura en OQI-INFRA o admin Actualizar READMEs de modulos afectados. ejecucion: "Actualizar READMEs con schemas asignados" validacion: "Verificar que todas las 101 tablas tienen OQI owner" documentacion: "Actualizar TRACEABILITY.yml de modulos afectados" files_to_modify: - "docs/02-definicion-modulos/OQI-003-trading-charts/README.md" - "docs/02-definicion-modulos/OQI-001-fundamentos-auth/README.md" # ============================================================ # FASE 2: ACTUALIZACION DE METRICAS Y DATOS (P1) # ============================================================ fase_2: id: "FASE-2" name: "Actualizacion de Metricas y Datos (P1)" status: "PENDING" effort: "6-8h total, 3-4h parallel" dependencies: ["FASE-1"] parallelizable_groups: - group: "A" tasks: ["F2.1", "F2.2", "F2.3", "F2.4"] - group: "B" tasks: ["F2.5", "F2.6", "F2.7", "F2.8"] subtasks: - id: "F2.1" title: "Actualizar 3 Trazas de Ejecucion" hallazgo_ref: "P1-001" priority: "P1" effort: "1.5h" dependencies: [] capved: contexto: "3 trazas desactualizadas (ultima: Dic 8 - Ene 7)" analisis: > Recopilar todas las tareas ejecutadas desde ultima actualizacion: - Database: TASK-2026-02-05 (analisis + remediacion), DDL validation - Backend: Sprint 3 (market-data, bots, audit modules) - Frontend: TASK-002 audit, Sprint 3 additions planeacion: "Agregar entradas faltantes a cada traza" ejecucion: "Editar 3 archivos con nuevas entradas" validacion: "Verificar que todas las tareas completadas estan registradas" documentacion: "N/A" files_to_modify: - "orchestration/trazas/TRAZA-TAREAS-DATABASE.md" - "orchestration/trazas/TRAZA-TAREAS-BACKEND.md" - "orchestration/trazas/TRAZA-TAREAS-FRONTEND.md" - id: "F2.2" title: "Actualizar README.md" hallazgo_ref: "P1-002" priority: "P1" effort: "1h" dependencies: [] capved: contexto: "README dice 8 schemas, ~68 tablas, paths Linux" analisis: "Datos correctos: 11 schemas, 101 tablas, Windows paths" planeacion: > 1. Actualizar schema count y breakdown 2. Actualizar tabla count 3. Corregir paths 4. Actualizar estado MVP % 5. Agregar seccion de metricas actuales ejecucion: "Editar README.md" validacion: "Verificar coherencia con inventarios" documentacion: "N/A" files_to_modify: - "README.md" - id: "F2.3" title: "Completar CLAUDE.md con Metricas" hallazgo_ref: "P1-003" priority: "P1" effort: "0.5h" dependencies: [] capved: contexto: "CLAUDE.md no menciona DDL count, schema erroneo (10 vs 11)" analisis: "Agregar seccion de metricas y corregir schema count" planeacion: > 1. Agregar total DDL tables: 101 2. Corregir schemas: 10 -> 11 (agregar feature_flags) 3. Agregar backend module count: 18-19 4. Referencia a MASTER_INVENTORY.yml ejecucion: "Editar CLAUDE.md" validacion: "Verificar coherencia" documentacion: "N/A" files_to_modify: - "CLAUDE.md" - id: "F2.4" title: "Reconstruir DEPENDENCY-GRAPH.yml" hallazgo_ref: "P1-004" priority: "P1" effort: "1.5h" dependencies: [] capved: contexto: "DEPENDENCY-GRAPH.yml solo lista 6 modulos, real son 18" analisis: > Fuente: BACKEND_INVENTORY.yml tiene los 19 modulos con sus dependencias. Necesario mapear dependencias inter-modulo, schema->modulo, modulo->API. planeacion: > 1. Listar todos los 18+ modulos 2. Mapear dependencias inter-modulo 3. Mapear dependencias a APIs externas 4. Mapear dependencias de schemas ejecucion: "Reescribir DEPENDENCY-GRAPH.yml" validacion: "Verificar que todos los modulos estan representados" documentacion: "Bump version" files_to_modify: - "orchestration/DEPENDENCY-GRAPH.yml" - id: "F2.5" title: "Corregir Progreso OQI-009" hallazgo_ref: "P1-005" priority: "P1" effort: "0.5h" dependencies: [] capved: contexto: "OQI-009 dice 70% pero implementacion es 0%" analisis: "Separar documentacion % de implementacion %" planeacion: > 1. Actualizar README de OQI-009 con metricas separadas 2. Actualizar CLAUDE.md y cualquier inventario que lo referencie ejecucion: "Editar READMEs y inventarios" validacion: "Verificar coherencia" documentacion: "N/A" files_to_modify: - "docs/02-definicion-modulos/OQI-009-marketplace/README.md" - id: "F2.6" title: "Documentar DDL Drift en Modulos" hallazgo_ref: "P1-006" priority: "P1" effort: "2h" dependencies: [] capved: contexto: > DDL drift significativo: - Education: +46% (13 doc vs 19 real) - Financial: +120% (wallet system no documentado) - Trading: +18% (drawing tools) - Investment: +25% analisis: > Para cada modulo con drift: 1. Identificar tablas no documentadas 2. Determinar si necesitan US/RF o son tablas auxiliares planeacion: > 1. Actualizar README de OQI-002 con 19 tablas 2. Actualizar README de OQI-005 con sistema wallet 3. Actualizar README de OQI-003 con drawing tools 4. Actualizar README de OQI-004 con tablas faltantes 5. Crear US/RF faltantes para funcionalidades no documentadas ejecucion: "Actualizar READMEs y crear docs faltantes" validacion: "Verificar DDL match 100% por modulo" documentacion: "Actualizar TRACEABILITY.yml por modulo" files_to_modify: - "docs/02-definicion-modulos/OQI-002-education/README.md" - "docs/02-definicion-modulos/OQI-005-payments-stripe/README.md" - "docs/02-definicion-modulos/OQI-003-trading-charts/README.md" - "docs/02-definicion-modulos/OQI-004-investment-accounts/README.md" - id: "F2.7" title: "Actualizar Stack Tecnologico" hallazgo_ref: "P1-007" priority: "P1" effort: "0.5h" dependencies: [] capved: contexto: "Express.js 4.18.2 en docs vs 5.0.1 real, Vite no mencionado" analisis: "Leer package.json de backend y frontend para versiones exactas" planeacion: "Actualizar STACK-TECNOLOGICO.md y ARQUITECTURA-GENERAL.md" ejecucion: "Editar archivos con versiones correctas" validacion: "Comparar con package.json" documentacion: "N/A" files_to_modify: - "docs/00-vision-general/STACK-TECNOLOGICO.md" - "docs/00-vision-general/ARQUITECTURA-GENERAL.md" - id: "F2.8" title: "Completar DoR/DoD para OQI-007/008/009" hallazgo_ref: "P1-008" priority: "P1" effort: "1h" dependencies: [] capved: contexto: "DoR y DoD solo cubren OQI-001 a OQI-006" analisis: "Leer READMEs de OQI-007, 008, 009 para criterios especificos" planeacion: "Agregar secciones para cada OQI faltante" ejecucion: "Editar DEFINITION-OF-DONE.md y DEFINITION-OF-READY.md" validacion: "Verificar que todos los OQI tienen criterios" documentacion: "N/A" files_to_modify: - "docs/04-fase-backlog/DEFINITION-OF-DONE.md" - "docs/04-fase-backlog/DEFINITION-OF-READY.md" # ============================================================ # FASE 3: INTEGRACION Y CONSOLIDACION DOCUMENTAL (P2) # ============================================================ fase_3: id: "FASE-3" name: "Integracion y Consolidacion Documental (P2)" status: "PENDING" effort: "8-12h total, 4-6h parallel" dependencies: ["FASE-2"] parallelizable_groups: - group: "A (independientes)" tasks: ["F3.1", "F3.2", "F3.3", "F3.4", "F3.5"] - group: "B (depende de A)" tasks: ["F3.6", "F3.7", "F3.8", "F3.9", "F3.10"] subtasks: - id: "F3.1" title: "Revisar Tareas Archivadas y Extraer Definiciones" hallazgo_ref: "P2-001" priority: "P2" effort: "2h" dependencies: [] capved: contexto: "22 tareas archivadas pueden contener US/specs valiosas" analisis: > Leer deliverables de cada tarea archivada. Clasificar en: INTEGRAR (contiene definiciones), PRESERVAR (referencia), PURGAR (obsoleto sin valor). planeacion: > Para cada tarea archivada: 1. Leer METADATA.yml o README 2. Verificar si tiene entregables con US/RF/ET 3. Si tiene definiciones -> extraer a docs/02-definicion-modulos/ 4. Si solo tiene logs -> mantener en archivo ejecucion: "Subagente por grupo de tareas" validacion: "Verificar que no se pierda informacion valiosa" documentacion: "Crear INDICE-TAREAS-ARCHIVADAS.md" - id: "F3.2" title: "Integrar Deliverables de TASK-002 Frontend Audit" hallazgo_ref: "P2-010" priority: "P2" effort: "1h" dependencies: [] capved: contexto: "7 entregables del audit no integrados a docs/" analisis: > Entregables: - COMPONENTS-MASTER-MATRIX.md -> docs/90-transversal/ - API-CONTRACTS-MASTER-MATRIX.md -> docs/90-transversal/ - PURGE-PLAN.md -> orchestration/analisis/ - INTEGRATION-PLAN.md -> orchestration/analisis/ planeacion: "Copiar/mover entregables a ubicaciones apropiadas" ejecucion: "Mover archivos y actualizar referencias" validacion: "Verificar que refs no se rompan" documentacion: "Actualizar _MAP.md afectados" - id: "F3.3" title: "Integrar Deliverables de TASK-2026-02-05 BD Analysis" hallazgo_ref: "P2-011" priority: "P2" effort: "1h" dependencies: [] capved: contexto: "13 entregables del analisis BD no integrados" analisis: > Entregables clave: - PLAN-MAESTRO-REMEDIACION.yml -> orchestration/analisis/ - RECOMENDACIONES-MODELADO.md -> docs/99-analisis/ - FASE3-INTEGRIDAD-AUDITORIA.yml -> orchestration/analisis/coherencia/ planeacion: "Referenciar desde ubicaciones apropiadas sin duplicar" ejecucion: "Crear referencias o symlinks" validacion: "Verificar accesibilidad" documentacion: "Actualizar indices" - id: "F3.4" title: "Reubicar Curso_Basico.md" hallazgo_ref: "P2-002" priority: "P2" effort: "0.5h" dependencies: [] capved: contexto: "Contenido educativo (415 lineas) en docs/00-vision-general/" analisis: "Es contenido de curso, no documentacion de proyecto" planeacion: "Mover a apps/database/seeds/education/ o docs/_archive/" ejecucion: "Mover archivo" validacion: "Verificar que no haya refs rotas" documentacion: "N/A" - id: "F3.5" title: "Estandarizar Versiones YAML vs Headers" hallazgo_ref: "P2-003" priority: "P2" effort: "1h" dependencies: [] capved: contexto: "Multiples docs con fechas discrepantes YAML vs header" analisis: "YAML front-matter debe ser SSOT para metadatos" planeacion: > 1. Listar todos los docs con discrepancia 2. Tomar fecha mas reciente como correcta 3. Sincronizar header con YAML ejecucion: "Editar archivos afectados" validacion: "Grep para verificar consistencia" documentacion: "N/A" - id: "F3.6" title: "Actualizar Timelines 2025 -> 2026" hallazgo_ref: "P2-004" priority: "P2" effort: "0.5h" dependencies: [] capved: contexto: "VISION-PRODUCTO.md y otros tienen timelines de 2025" analisis: "Actualizar todas las referencias temporales" planeacion: "Grep por '2025 Q' y actualizar a 2026" ejecucion: "Editar archivos afectados" validacion: "Verificar coherencia temporal" documentacion: "N/A" - id: "F3.7" title: "Archivar Analisis Obsoletos" hallazgo_ref: "P2-005" priority: "P2" effort: "1h" dependencies: [] capved: contexto: "27 docs en docs/99-analisis/ sin estrategia de archivo" analisis: > Clasificar por: - ACTIVO (referenciado, datos vigentes) - HISTORICO (valioso pero superado) - OBSOLETO (datos incorrectos, superado completamente) planeacion: > 1. Revisar cada documento 2. Mover OBSOLETO a _archive/ 3. Marcar HISTORICO en _MAP.md 4. Mantener ACTIVO ejecucion: "Mover archivos y actualizar indice" validacion: "Verificar que nada activo se archive" documentacion: "Actualizar _MAP.md" - id: "F3.8" title: "Documentar RNF para Modulos Criticos" hallazgo_ref: "P2-006" priority: "P2" effort: "2h" dependencies: ["F2.6"] capved: contexto: "Ningun modulo tiene RNF documentados" analisis: > Modulos prioritarios para RNF: - OQI-001 Auth (seguridad, latencia, rate limiting) - OQI-003 Trading (tiempo real, throughput, latencia) - OQI-005 Payments (seguridad, compliance, idempotencia) - OQI-006 ML (precision, latencia, throughput) planeacion: "Crear RNF-*.md para los 4 modulos criticos" ejecucion: "Escribir RNF basados en specs existentes" validacion: "Verificar que cubran performance, seguridad, escalabilidad" documentacion: "Actualizar READMEs con links a RNF" - id: "F3.9" title: "Crear US/RF/ET para OQI-010-llm" hallazgo_ref: "P2-007" priority: "P2" effort: "1.5h" dependencies: ["F1.5"] capved: contexto: "OQI-010-llm-trading-integration tiene 0 US, 0 RF, 0 ET" analisis: "Leer README de alto nivel y derivar US/RF" planeacion: > 1. Extraer funcionalidades del README 2. Crear 4-6 US basicas 3. Crear 3-4 RF 4. Crear 2-3 ET para arquitectura ejecucion: "Escribir archivos US/RF/ET" validacion: "Verificar coherencia con OQI-006 y OQI-007 (evitar overlap)" documentacion: "Actualizar README e implementacion/TRACEABILITY.yml" - id: "F3.10" title: "Actualizar AGENTS.md" hallazgo_ref: "P2-008" priority: "P2" effort: "0.5h" dependencies: ["F1.3"] capved: contexto: "AGENTS.md obsoleto desde 2026-01-04" analisis: "Necesita metricas actuales y ref a estructura SIMCO" planeacion: "Actualizar con metricas de inventarios actuales" ejecucion: "Editar AGENTS.md" validacion: "Verificar coherencia con PROJECT-STATUS.md actualizado" documentacion: "N/A" # ============================================================ # FASE 4: PURGA DOCUMENTAL # ============================================================ fase_4: id: "FASE-4" name: "Purga Documental" status: "PENDING" effort: "3-4h total, 2-3h parallel" dependencies: ["FASE-3"] description: > Purga segura: ANTES de eliminar, validar si la documentacion vieja era correcta vs la nueva. Integrar lo mejor de ambas versiones. subtasks: - id: "F4.1" title: "Identificar Documentos Duplicados/Obsoletos" priority: "P2" effort: "1h" dependencies: [] capved: contexto: "Multiples versiones de misma informacion en distintas ubicaciones" analisis: > Candidatos a purga: 1. OQI-006-INDICE.md en orchestration/analisis/ (huerfano) 2. Analisis pre-2026 en docs/99-analisis/ 3. Docs duplicados entre orchestration/analisis/ y docs/99-analisis/ 4. MODELO-NEGOCIO.md referenciado pero inexistente (limpiar ref) planeacion: > 1. Crear lista de candidatos con razon de purga 2. Para cada candidato, verificar si version vieja tiene info no presente en nueva 3. Extraer info valiosa antes de purgar ejecucion: "Generar PURGA-CANDIDATOS.yml" validacion: "Revisionar manual antes de ejecutar" documentacion: "Log de decisiones de purga" - id: "F4.2" title: "Validar Viejo vs Nuevo y Merge" priority: "P2" effort: "1h" dependencies: ["F4.1"] capved: contexto: "Para cada candidato a purga, comparar versiones" analisis: > Para cada documento candidato: - Si viejo tiene info que nuevo NO tiene -> MERGE info al nuevo - Si nuevo supera completamente al viejo -> PURGAR viejo - Si ambos tienen valor complementario -> CONSOLIDAR en uno planeacion: "Ejecutar comparacion archivo por archivo" ejecucion: "Merge/purge segun analisis" validacion: "Verificar que no se pierda informacion" documentacion: "Registrar decisiones en PURGA-LOG.md" - id: "F4.3" title: "Ejecutar Purga (Mover a _archive)" priority: "P2" effort: "0.5h" dependencies: ["F4.2"] capved: contexto: "Purga segura: mover a _archive, NO eliminar" analisis: "Lista aprobada de candidatos" planeacion: > 1. Crear _archive/2026-02/ en ubicaciones necesarias 2. Mover archivos obsoletos 3. NO eliminar - mantener en archive ejecucion: "Mover archivos" validacion: "Verificar que no haya refs rotas" documentacion: "Actualizar ARCHIVE-INDEX.md" - id: "F4.4" title: "Actualizar Referencias Cruzadas" priority: "P2" effort: "0.5h" dependencies: ["F4.3"] capved: contexto: "Despues de purga, verificar que no haya refs rotas" analisis: "Grep por nombres de archivos purgados" planeacion: "Actualizar o eliminar refs a archivos purgados" ejecucion: "Editar archivos con refs rotas" validacion: "Grep final para verificar 0 refs rotas" documentacion: "N/A" # ============================================================ # FASE 5: VALIDACION DE COHERENCIA # ============================================================ fase_5: id: "FASE-5" name: "Validacion de Coherencia" status: "PENDING" effort: "4-6h total, 2-3h parallel" dependencies: ["FASE-4"] parallelizable_groups: - group: "A" tasks: ["F5.1", "F5.2", "F5.3"] - group: "B" tasks: ["F5.4", "F5.5"] subtasks: - id: "F5.1" title: "Validar Coherencia DDL -> OQI Definitions" priority: "P1" effort: "1.5h" dependencies: [] capved: contexto: "Verificar que TODAS las 101 tablas estan documentadas en OQI" analisis: > Crear matriz: tabla DDL -> OQI module -> US que la define -> RF Verificar que no haya tablas sin US asociada. planeacion: "Generar matriz automaticamente y reportar gaps" ejecucion: "Subagente para cross-validacion" validacion: "Cobertura DDL->OQI debe ser 100%" documentacion: "Generar DDL-OQI-COVERAGE-MATRIX.yml" - id: "F5.2" title: "Validar Coherencia OQI -> Backend" priority: "P1" effort: "1h" dependencies: [] capved: contexto: "Verificar que cada US tiene endpoint backend correspondiente" analisis: "Cruzar US con BACKEND_INVENTORY endpoints" planeacion: "Generar matriz US->endpoint y reportar gaps" ejecucion: "Subagente para cross-validacion" validacion: "Reportar % de cobertura" documentacion: "Generar OQI-BACKEND-COVERAGE.yml" - id: "F5.3" title: "Validar Coherencia Backend -> Frontend" priority: "P1" effort: "1h" dependencies: [] capved: contexto: "Verificar que endpoints tienen componentes frontend" analisis: "Cruzar BACKEND endpoints con FRONTEND_INVENTORY" planeacion: "Generar matriz y reportar gaps" ejecucion: "Subagente para cross-validacion" validacion: "Reportar % de cobertura" documentacion: "Generar BACKEND-FRONTEND-COVERAGE.yml" - id: "F5.4" title: "Validar Trazabilidad Completa" priority: "P1" effort: "1.5h" dependencies: ["F5.1", "F5.2", "F5.3"] capved: contexto: "Verificar cadena completa: Requerimiento -> Definicion -> Implementacion" analisis: > Para cada RF-*.md: 1. Tiene US asociadas? 2. US tiene ET (spec) asociada? 3. ET tiene tablas DDL? 4. Tablas tienen entities/services/controllers? 5. Controllers tienen endpoints? 6. Endpoints tienen componentes frontend? planeacion: "Generar reporte de trazabilidad end-to-end" ejecucion: "Consolidar matrices de F5.1-F5.3" validacion: "Identificar cadenas rotas" documentacion: "Generar TRACEABILITY-REPORT.md" - id: "F5.5" title: "Validar Dependencias y Orden de Ejecucion" priority: "P1" effort: "1h" dependencies: ["F5.4"] capved: contexto: "Verificar que orden de desarrollo es logicamente correcto" analisis: > Verificar que: - Modulos dependientes no se planean antes de sus dependencias - Schemas con FKs cross-schema estan en orden correcto - Frontend no referencia APIs que no existen planeacion: "Generar grafo de dependencias actualizado" ejecucion: "Analizar DEPENDENCY-GRAPH actualizado (de F2.4)" validacion: "Verificar que no hay dependencias circulares" documentacion: "Actualizar DEPENDENCY-GRAPH.yml si necesario" # ============================================================ # FASE 6: DOCUMENTACION Y CIERRE # ============================================================ fase_6: id: "FASE-6" name: "Documentacion y Cierre" status: "PENDING" effort: "2-3h total, 1-2h parallel" dependencies: ["FASE-5"] subtasks: - id: "F6.1" title: "Actualizar Inventarios Finales" priority: "P1" effort: "1h" dependencies: [] capved: contexto: "Todos los inventarios necesitan version bump post-remediacion" analisis: > Bump versions: - MASTER_INVENTORY.yml (bump a v3.0.0 post-analisis documental) - MASTER-INVENTORY-SUMMARY.yml (actualizar metricas) planeacion: "Actualizar ambos inventarios con metricas finales" ejecucion: "Editar archivos" validacion: "Verificar coherencia interna" documentacion: "N/A" - id: "F6.2" title: "Generar Informe Final Ejecutivo" priority: "P1" effort: "1h" dependencies: ["F6.1"] capved: contexto: "Documentar todo el trabajo realizado en esta tarea" analisis: "Compilar metricas antes/despues" planeacion: > Crear INFORME-FINAL.md con: 1. Resumen de hallazgos 2. Acciones ejecutadas 3. Metricas antes vs despues 4. Issues pendientes 5. Recomendaciones ejecucion: "Escribir informe" validacion: "Revisar completitud" documentacion: "Es el propio entregable" - id: "F6.3" title: "Actualizar METADATA.yml de Tarea" priority: "P0" effort: "0.25h" dependencies: ["F6.2"] capved: contexto: "Actualizar METADATA con status COMPLETED y metricas finales" analisis: "N/A" planeacion: "Editar METADATA.yml" ejecucion: "Actualizar status, metricas, deliverables" validacion: "Verificar que todo este cerrado" documentacion: "N/A" - id: "F6.4" title: "Commit + Push" priority: "P0" effort: "0.25h" dependencies: ["F6.3"] capved: contexto: "RC2: Commit + Push obligatorio" analisis: "N/A" planeacion: "git add, commit con ID tarea, push" ejecucion: "git add . && git commit && git push" validacion: "git status = clean, git log origin/main..HEAD = vacio" documentacion: "N/A" # ============================================================ # RESUMEN DE EJECUCION # ============================================================ execution_summary: total_subtasks: 38 by_phase: FASE-0: 0 # ya completada FASE-1: 7 FASE-2: 8 FASE-3: 10 FASE-4: 4 FASE-5: 5 FASE-6: 4 effort_by_phase: FASE-0: "4h (completada)" FASE-1: "4-6h" FASE-2: "6-8h" FASE-3: "8-12h" FASE-4: "3-4h" FASE-5: "4-6h" FASE-6: "2-3h" total: "27-39h" parallel: "15-22h" subagent_strategy: FASE-1: "4 parallel (F1.1-F1.4), then 3 sequential (F1.5-F1.7)" FASE-2: "4+4 parallel groups" FASE-3: "5+5 parallel groups" FASE-4: "Sequential (F4.1->F4.2->F4.3->F4.4)" FASE-5: "3 parallel, then 2 sequential" FASE-6: "Sequential" critical_path: > FASE-0 -> FASE-1 (P0) -> FASE-2 (P1) -> FASE-3 (P2) -> FASE-4 (Purga) -> FASE-5 (Validacion) -> FASE-6 (Cierre) risk_mitigation: - risk: "Purga elimina info valiosa" mitigation: "Siempre mover a _archive, nunca eliminar" - risk: "Metricas divergen durante ejecucion" mitigation: "DATABASE_INVENTORY v2.0.0 es SSOT, siempre verificar contra el" - risk: "Conflicto de puertos no resuelto" mitigation: "docker-compose.yml es fuente de verdad, validar primero"