Comprehensive analysis of 101 DDL tables across 11 schemas: - Phase 1-2: Schema validation, 37 gaps cataloged (3 resolved) - Phase 3: Integrity audit (80 FKs, 89 CHECKs, 17 issues: 2 CRIT/5 HIGH) - Phase 4: DDL-Backend mapping (84% interfaces, 75% services, 61% controllers) - Phase 5: Documentation purge catalog (201 files analyzed) - Phase 6: Remediation plan (4 sprints, 204h) Key finding: Backend uses raw SQL + pg Pool (NOT TypeORM). 13 deliverables + updated inventories to v2.0.0. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
778 lines
23 KiB
YAML
778 lines
23 KiB
YAML
# ═══════════════════════════════════════════════════════════════
|
|
# PLAN-FASES-DETALLADO.yml
|
|
# Trading Platform - Validacion Integral Modelado BD
|
|
# ═══════════════════════════════════════════════════════════════
|
|
|
|
version: "1.0.0"
|
|
fecha: "2026-02-05"
|
|
tarea: "TASK-2026-02-05-ANALISIS-VALIDACION-MODELADO-BD"
|
|
metodologia: CAPVED
|
|
|
|
# ═══════════════════════════════════════════════════════════════
|
|
# FASE 1: ANALISIS Y PLANIFICACION (COMPLETADA)
|
|
# ═══════════════════════════════════════════════════════════════
|
|
|
|
fase_1:
|
|
id: "FASE-1"
|
|
nombre: "Analisis y Planificacion"
|
|
estado: COMPLETADA
|
|
fecha_inicio: "2026-02-05"
|
|
fecha_fin: "2026-02-05"
|
|
entregables:
|
|
- "ANALISIS-MAESTRO.md"
|
|
- "PLAN-FASES-DETALLADO.yml (este archivo)"
|
|
- "GAPS-CONSOLIDADO.yml"
|
|
resumen:
|
|
schemas_analizados: 11
|
|
tablas_identificadas: 100
|
|
tablas_no_documentadas: 19
|
|
errores_criticos: 1
|
|
conflictos_enum: 3
|
|
relaciones_debiles: 4
|
|
duplicaciones: 1
|
|
|
|
# ═══════════════════════════════════════════════════════════════
|
|
# FASE 2: VALIDACION DE ESQUEMAS Y OBJETOS DDL
|
|
# ═══════════════════════════════════════════════════════════════
|
|
|
|
fase_2:
|
|
id: "FASE-2"
|
|
nombre: "Validacion de Esquemas y Objetos DDL"
|
|
estado: PENDING
|
|
esfuerzo_total: "30h"
|
|
esfuerzo_paralelo: "12h"
|
|
dependencias: ["FASE-1"]
|
|
|
|
subtarea_2_1:
|
|
id: "ST-2.1"
|
|
nombre: "Correccion de Errores Criticos DDL"
|
|
prioridad: P0
|
|
esfuerzo: "1h"
|
|
paralelizable: false
|
|
dependencias: []
|
|
|
|
capved:
|
|
contexto: "price_alerts.sql tiene FK que referencia auth.user_profiles(id) en lugar de auth.users(id)"
|
|
analisis: "Error en linea 15 de 11-price_alerts.sql impide creacion de tabla"
|
|
planificacion: "Modificar referencia FK, recrear BD en WSL para verificar"
|
|
ejecucion: "Editar archivo SQL"
|
|
validacion: "Ejecutar DDL completo, verificar tabla se crea sin errores"
|
|
documentacion: "Registrar correccion en changelog de la tarea"
|
|
|
|
tareas:
|
|
- id: "2.1.1"
|
|
nombre: "Corregir FK price_alerts"
|
|
archivo: "apps/database/ddl/schemas/trading/tables/11-price_alerts.sql"
|
|
accion: "Cambiar auth.user_profiles(id) -> auth.users(id)"
|
|
esfuerzo: "0.5h"
|
|
prioridad: P0
|
|
dependencias: []
|
|
|
|
- id: "2.1.2"
|
|
nombre: "Verificar creacion tabla post-correccion"
|
|
accion: "Ejecutar DDL en WSL, verificar tabla creada"
|
|
esfuerzo: "0.5h"
|
|
prioridad: P0
|
|
dependencias: ["2.1.1"]
|
|
|
|
subtarea_2_2:
|
|
id: "ST-2.2"
|
|
nombre: "Validacion Schema por Schema"
|
|
prioridad: P1
|
|
esfuerzo: "19.5h"
|
|
paralelizable: true
|
|
dependencias: ["ST-2.1"]
|
|
|
|
capved_template:
|
|
contexto: "Schema {name} tiene {ddl_count} tablas DDL, {inv_count} documentadas"
|
|
analisis: "Leer cada SQL, comparar con DATABASE_INVENTORY.yml"
|
|
planificacion: "Crear entradas para tablas faltantes en inventario"
|
|
ejecucion: "Actualizar DATABASE_INVENTORY.yml"
|
|
validacion: "Verificar coherencia post-actualizacion"
|
|
documentacion: "Registrar cambios"
|
|
|
|
tareas:
|
|
- id: "2.2.1"
|
|
nombre: "Validar schema auth"
|
|
schema: auth
|
|
tablas_ddl: 13
|
|
tablas_inventario: 10
|
|
gap: 3
|
|
tablas_faltantes: ["notifications", "user_push_tokens", "rate_limiting_config"]
|
|
esfuerzo: "2h"
|
|
paralelizable: true
|
|
|
|
- id: "2.2.2"
|
|
nombre: "Validar schema trading"
|
|
schema: trading
|
|
tablas_ddl: 13
|
|
tablas_inventario: 11
|
|
gap: 2
|
|
tablas_faltantes: ["drawing_tools", "drawing_templates"]
|
|
esfuerzo: "2h"
|
|
paralelizable: true
|
|
|
|
- id: "2.2.3"
|
|
nombre: "Validar schema education"
|
|
schema: education
|
|
tablas_ddl: 19
|
|
tablas_inventario: 12
|
|
gap: 7
|
|
tablas_faltantes:
|
|
- "instructors"
|
|
- "course_tags"
|
|
- "course_tag_assignments"
|
|
- "review_helpful_votes"
|
|
- "user_activity_log"
|
|
- "course_reviews"
|
|
- "progress"
|
|
esfuerzo: "4h"
|
|
paralelizable: true
|
|
nota: "Schema con peor coherencia (63%)"
|
|
|
|
- id: "2.2.4"
|
|
nombre: "Validar schema financial"
|
|
schema: financial
|
|
tablas_ddl: 11
|
|
tablas_inventario: 9
|
|
gap: 2
|
|
tablas_faltantes: ["refunds", "currency_exchange_rates"]
|
|
esfuerzo: "2h"
|
|
paralelizable: true
|
|
|
|
- id: "2.2.5"
|
|
nombre: "Validar schema investment"
|
|
schema: investment
|
|
tablas_ddl: 10
|
|
tablas_inventario: 8
|
|
gap: 2
|
|
tablas_faltantes: ["agent_executions", "risk_questionnaire"]
|
|
esfuerzo: "2h"
|
|
paralelizable: true
|
|
|
|
- id: "2.2.6"
|
|
nombre: "Validar schema ml"
|
|
schema: ml
|
|
tablas_ddl: 12
|
|
tablas_inventario: 10
|
|
gap: 2
|
|
tablas_faltantes: ["llm_signals", "prediction_overlays"]
|
|
esfuerzo: "2h"
|
|
paralelizable: true
|
|
|
|
- id: "2.2.7"
|
|
nombre: "Validar schema llm"
|
|
schema: llm
|
|
tablas_ddl: 5
|
|
tablas_inventario: 4
|
|
gap: 1
|
|
tablas_faltantes: ["user_preferences"]
|
|
esfuerzo: "1h"
|
|
paralelizable: true
|
|
|
|
- id: "2.2.8"
|
|
nombre: "Validar schema audit"
|
|
schema: audit
|
|
tablas_ddl: 7
|
|
tablas_inventario: 7
|
|
gap: 0
|
|
esfuerzo: "0.5h"
|
|
paralelizable: true
|
|
nota: "Ya 100% documentado, solo verificar"
|
|
|
|
- id: "2.2.9"
|
|
nombre: "Validar schema portfolio"
|
|
schema: portfolio
|
|
tablas_ddl: 5
|
|
tablas_inventario: 4
|
|
gap: 1
|
|
tablas_faltantes: ["portfolio_snapshots"]
|
|
esfuerzo: "1h"
|
|
paralelizable: true
|
|
|
|
- id: "2.2.10"
|
|
nombre: "Validar schema market_data"
|
|
schema: market_data
|
|
tablas_ddl: 4
|
|
tablas_inventario: 3
|
|
gap: 1
|
|
tablas_faltantes: ["staging"]
|
|
esfuerzo: "1h"
|
|
paralelizable: true
|
|
|
|
- id: "2.2.11"
|
|
nombre: "Validar schema feature_flags"
|
|
schema: feature_flags
|
|
tablas_ddl: 1
|
|
tablas_inventario: 0
|
|
gap: 1
|
|
tablas_faltantes: ["flags"]
|
|
esfuerzo: "2h"
|
|
paralelizable: true
|
|
nota: "Schema completo sin documentar - peor caso (0%)"
|
|
|
|
subtarea_2_3:
|
|
id: "ST-2.3"
|
|
nombre: "Resolucion de Conflictos de Enums"
|
|
prioridad: P1
|
|
esfuerzo: "5h"
|
|
paralelizable: false
|
|
dependencias: ["ST-2.2"]
|
|
|
|
tareas:
|
|
- id: "2.3.1"
|
|
nombre: "Resolver CONF-E1: transaction_type duplicado"
|
|
conflicto: "financial.transaction_type vs investment.transaction_type"
|
|
accion: "Verificar migracion existe, crear si falta"
|
|
resolucion: "Renombrar a wallet_transaction_type / investment_transaction_type"
|
|
esfuerzo: "2h"
|
|
dependencias: ["2.2.4", "2.2.5"]
|
|
|
|
- id: "2.3.2"
|
|
nombre: "Resolver CONF-E2: risk_profile duplicado"
|
|
conflicto: "investment.risk_profile vs portfolio.risk_profile"
|
|
accion: "Crear migracion para consolidar"
|
|
resolucion: "Mover a public.risk_profile"
|
|
esfuerzo: "2h"
|
|
dependencias: ["2.2.5", "2.2.9"]
|
|
|
|
- id: "2.3.3"
|
|
nombre: "Resolver CONF-E3: timeframe incompleto"
|
|
conflicto: "market_data.timeframe falta valor '1M'"
|
|
accion: "Agregar '1M' a market_data, completar migracion a public"
|
|
resolucion: "Eliminar enums deprecados trading/market_data"
|
|
esfuerzo: "1h"
|
|
dependencias: ["2.2.10"]
|
|
|
|
subtarea_2_4:
|
|
id: "ST-2.4"
|
|
nombre: "Resolucion de Duplicaciones Funcionales"
|
|
prioridad: P1
|
|
esfuerzo: "4h"
|
|
paralelizable: false
|
|
dependencias: ["ST-2.2"]
|
|
|
|
tareas:
|
|
- id: "2.4.1"
|
|
nombre: "Analizar consolidacion trading.symbols vs market_data.tickers"
|
|
conflicto: "DUP-1: Catalogo de simbolos duplicado"
|
|
accion: "Analizar campos, proponer plan de consolidacion"
|
|
resolucion: "Plan de migracion con FK de market_data -> trading.symbols"
|
|
esfuerzo: "4h"
|
|
dependencias: ["2.2.2", "2.2.10"]
|
|
entregable: "PLAN-CONSOLIDACION-SYMBOLS.md"
|
|
|
|
# ═══════════════════════════════════════════════════════════════
|
|
# FASE 3: AUDITORIA DE INTEGRIDAD Y COHERENCIA
|
|
# ═══════════════════════════════════════════════════════════════
|
|
|
|
fase_3:
|
|
id: "FASE-3"
|
|
nombre: "Auditoria de Integridad y Coherencia"
|
|
estado: PENDING
|
|
esfuerzo_total: "37h"
|
|
esfuerzo_paralelo: "18h"
|
|
dependencias: ["FASE-2"]
|
|
|
|
subtarea_3_1:
|
|
id: "ST-3.1"
|
|
nombre: "Validacion de Foreign Keys"
|
|
prioridad: P1
|
|
esfuerzo: "11h"
|
|
paralelizable: true
|
|
dependencias: ["ST-2.1", "ST-2.2"]
|
|
|
|
tareas:
|
|
- id: "3.1.1"
|
|
nombre: "Validar FKs schema auth"
|
|
scope: "auth -> auth (internal)"
|
|
tablas: 13
|
|
esfuerzo: "1h"
|
|
paralelizable: true
|
|
|
|
- id: "3.1.2"
|
|
nombre: "Validar FKs schema trading"
|
|
scope: "trading -> auth, trading.symbols"
|
|
tablas: 13
|
|
esfuerzo: "1.5h"
|
|
paralelizable: true
|
|
|
|
- id: "3.1.3"
|
|
nombre: "Validar FKs schema education"
|
|
scope: "education -> auth, education (internal)"
|
|
tablas: 19
|
|
esfuerzo: "2h"
|
|
paralelizable: true
|
|
|
|
- id: "3.1.4"
|
|
nombre: "Validar FKs schema financial"
|
|
scope: "financial -> auth, financial (internal)"
|
|
tablas: 11
|
|
esfuerzo: "1.5h"
|
|
paralelizable: true
|
|
|
|
- id: "3.1.5"
|
|
nombre: "Validar FKs schema investment"
|
|
scope: "investment -> auth, investment (internal)"
|
|
tablas: 10
|
|
esfuerzo: "1h"
|
|
paralelizable: true
|
|
|
|
- id: "3.1.6"
|
|
nombre: "Validar FKs schemas menores"
|
|
scope: "ml, llm, portfolio, audit, market_data, feature_flags"
|
|
tablas: 29
|
|
esfuerzo: "2h"
|
|
paralelizable: true
|
|
|
|
- id: "3.1.7"
|
|
nombre: "Documentar relaciones faltantes (WEAK-1 a WEAK-4)"
|
|
scope: "Cross-schema relationships"
|
|
accion: "Proponer nuevas FKs o documentar decision de no vincular"
|
|
esfuerzo: "2h"
|
|
dependencias: ["3.1.1", "3.1.2", "3.1.3", "3.1.4", "3.1.5", "3.1.6"]
|
|
entregable: "FK-VALIDATION-MATRIX.yml"
|
|
|
|
subtarea_3_2:
|
|
id: "ST-3.2"
|
|
nombre: "Validacion de Indices"
|
|
prioridad: P2
|
|
esfuerzo: "6h"
|
|
dependencias: ["ST-3.1"]
|
|
|
|
tareas:
|
|
- id: "3.2.1"
|
|
nombre: "Inventariar todos los indices"
|
|
esfuerzo: "3h"
|
|
entregable: "INDEX-INVENTORY.yml"
|
|
|
|
- id: "3.2.2"
|
|
nombre: "Identificar queries criticas sin indice"
|
|
esfuerzo: "2h"
|
|
|
|
- id: "3.2.3"
|
|
nombre: "Proponer indices faltantes"
|
|
esfuerzo: "1h"
|
|
entregable: "MISSING-INDEXES.yml"
|
|
|
|
subtarea_3_3:
|
|
id: "ST-3.3"
|
|
nombre: "Validacion de Constraints"
|
|
prioridad: P2
|
|
esfuerzo: "6h"
|
|
paralelizable: true
|
|
dependencias: ["ST-2.2"]
|
|
|
|
tareas:
|
|
- id: "3.3.1"
|
|
nombre: "Validar CHECK constraints"
|
|
esfuerzo: "3h"
|
|
|
|
- id: "3.3.2"
|
|
nombre: "Validar UNIQUE constraints"
|
|
esfuerzo: "1h"
|
|
|
|
- id: "3.3.3"
|
|
nombre: "Validar NOT NULL criticos"
|
|
esfuerzo: "1h"
|
|
|
|
- id: "3.3.4"
|
|
nombre: "Validar DEFAULT values"
|
|
esfuerzo: "1h"
|
|
|
|
subtarea_3_4:
|
|
id: "ST-3.4"
|
|
nombre: "Validacion de Funciones y Triggers"
|
|
prioridad: P2
|
|
esfuerzo: "6h"
|
|
dependencias: ["ST-2.2"]
|
|
|
|
tareas:
|
|
- id: "3.4.1"
|
|
nombre: "Inventariar 17+ funciones"
|
|
esfuerzo: "2h"
|
|
entregable: "FUNCTIONS-INVENTORY.yml"
|
|
|
|
- id: "3.4.2"
|
|
nombre: "Validar funciones en triggers"
|
|
esfuerzo: "1h"
|
|
|
|
- id: "3.4.3"
|
|
nombre: "Identificar funciones huerfanas"
|
|
esfuerzo: "1h"
|
|
|
|
- id: "3.4.4"
|
|
nombre: "Validar triggers updated_at"
|
|
esfuerzo: "1h"
|
|
|
|
- id: "3.4.5"
|
|
nombre: "Validar triggers auditoria"
|
|
esfuerzo: "1h"
|
|
|
|
subtarea_3_5:
|
|
id: "ST-3.5"
|
|
nombre: "Validacion de Relaciones Inter-Schema"
|
|
prioridad: P1
|
|
esfuerzo: "8h"
|
|
dependencias: ["ST-3.1"]
|
|
|
|
tareas:
|
|
- id: "3.5.1"
|
|
nombre: "Mapear dependencias auth -> todos"
|
|
esfuerzo: "2h"
|
|
|
|
- id: "3.5.2"
|
|
nombre: "Identificar ciclos de dependencia"
|
|
esfuerzo: "1h"
|
|
|
|
- id: "3.5.3"
|
|
nombre: "Validar ON DELETE behavior"
|
|
esfuerzo: "2h"
|
|
nota: "financial.wallets usa RESTRICT, revisar implicaciones"
|
|
|
|
- id: "3.5.4"
|
|
nombre: "Documentar diagrama ER inter-schema"
|
|
esfuerzo: "3h"
|
|
entregable: "ER-DIAGRAM-INTER-SCHEMA.md"
|
|
|
|
# ═══════════════════════════════════════════════════════════════
|
|
# FASE 4: COHERENCIA DDL-BACKEND
|
|
# ═══════════════════════════════════════════════════════════════
|
|
|
|
fase_4:
|
|
id: "FASE-4"
|
|
nombre: "Coherencia DDL-Backend"
|
|
estado: PENDING
|
|
esfuerzo_total: "45.5h"
|
|
esfuerzo_paralelo: "20h"
|
|
dependencias: ["FASE-2"]
|
|
|
|
subtarea_4_1:
|
|
id: "ST-4.1"
|
|
nombre: "Mapeo Tablas -> Entities"
|
|
prioridad: P1
|
|
esfuerzo: "16.5h"
|
|
paralelizable: true
|
|
|
|
tareas:
|
|
- id: "4.1.1"
|
|
schema: auth
|
|
tablas: 13
|
|
entities_existentes: 10
|
|
gap: 3
|
|
esfuerzo: "2h"
|
|
|
|
- id: "4.1.2"
|
|
schema: trading
|
|
tablas: 13
|
|
entities_existentes: 10
|
|
gap: 3
|
|
esfuerzo: "2h"
|
|
|
|
- id: "4.1.3"
|
|
schema: education
|
|
tablas: 19
|
|
entities_existentes: 12
|
|
gap: 7
|
|
esfuerzo: "3h"
|
|
|
|
- id: "4.1.4"
|
|
schema: financial
|
|
tablas: 11
|
|
entities_existentes: 9
|
|
gap: 2
|
|
esfuerzo: "1.5h"
|
|
|
|
- id: "4.1.5"
|
|
schema: investment
|
|
tablas: 10
|
|
entities_existentes: 7
|
|
gap: 3
|
|
esfuerzo: "1.5h"
|
|
|
|
- id: "4.1.6"
|
|
schema: ml
|
|
tablas: 12
|
|
entities_existentes: 10
|
|
gap: 2
|
|
esfuerzo: "1h"
|
|
|
|
- id: "4.1.7"
|
|
schema: llm
|
|
tablas: 5
|
|
entities_existentes: 4
|
|
gap: 1
|
|
esfuerzo: "0.5h"
|
|
|
|
- id: "4.1.8"
|
|
schema: portfolio
|
|
tablas: 5
|
|
entities_existentes: 3
|
|
gap: 2
|
|
esfuerzo: "1h"
|
|
|
|
- id: "4.1.9"
|
|
schema: market_data
|
|
tablas: 4
|
|
entities_existentes: 1
|
|
gap: 3
|
|
esfuerzo: "1.5h"
|
|
|
|
- id: "4.1.10"
|
|
schema: audit
|
|
tablas: 7
|
|
entities_existentes: 0
|
|
gap: 7
|
|
esfuerzo: "2h"
|
|
|
|
- id: "4.1.11"
|
|
schema: feature_flags
|
|
tablas: 1
|
|
entities_existentes: 0
|
|
gap: 1
|
|
esfuerzo: "0.5h"
|
|
|
|
subtarea_4_2:
|
|
id: "ST-4.2"
|
|
nombre: "Mapeo Entities -> Services"
|
|
prioridad: P1
|
|
esfuerzo: "6h"
|
|
dependencias: ["ST-4.1"]
|
|
|
|
subtarea_4_3:
|
|
id: "ST-4.3"
|
|
nombre: "Mapeo Services -> Controllers"
|
|
prioridad: P1
|
|
esfuerzo: "4h"
|
|
dependencias: ["ST-4.2"]
|
|
|
|
subtarea_4_4:
|
|
id: "ST-4.4"
|
|
nombre: "Consolidacion de Gaps Backend"
|
|
prioridad: P1
|
|
esfuerzo: "7h"
|
|
dependencias: ["ST-4.3"]
|
|
entregable: "BACKEND-GAPS-MATRIX.yml"
|
|
|
|
subtarea_4_5:
|
|
id: "ST-4.5"
|
|
nombre: "Plan de Entities Faltantes"
|
|
prioridad: P2
|
|
esfuerzo: "12h"
|
|
dependencias: ["ST-4.4"]
|
|
entregable: "ENTITIES-CREATION-PLAN.yml"
|
|
|
|
# ═══════════════════════════════════════════════════════════════
|
|
# FASE 5: PURGA Y REORGANIZACION DOCUMENTAL
|
|
# ═══════════════════════════════════════════════════════════════
|
|
|
|
fase_5:
|
|
id: "FASE-5"
|
|
nombre: "Purga y Reorganizacion Documental"
|
|
estado: PENDING
|
|
esfuerzo_total: "38.75h"
|
|
esfuerzo_paralelo: "15h"
|
|
dependencias: ["FASE-2", "FASE-4"]
|
|
|
|
subtarea_5_1:
|
|
id: "ST-5.1"
|
|
nombre: "Purgar Documentacion Obsoleta"
|
|
prioridad: P2
|
|
esfuerzo: "3.25h"
|
|
archivos_a_purgar:
|
|
- path: "docs/_archive/04-fase-backlog/"
|
|
accion: "ELIMINAR"
|
|
razon: "Links rotos, deprecado"
|
|
- path: "docs/_archive/00-notas/NOTA-DISCREPANCIA-PUERTOS-2025-12-08.md"
|
|
accion: "ELIMINAR"
|
|
razon: "Resuelto 2026-01-07"
|
|
- path: "orchestration/analisis/coherencia/COHERENCE-BASELINE-2026-01-28.md"
|
|
accion: "MOVER a _archive"
|
|
razon: "Superseded por version actual"
|
|
- path: "orchestration/tareas/2026-01-25/"
|
|
accion: "VERIFICAR y ARCHIVAR"
|
|
razon: "Carpeta fecha antigua"
|
|
- path: "orchestration/tareas/2026-01-27/"
|
|
accion: "VERIFICAR y ARCHIVAR"
|
|
razon: "Carpeta fecha antigua"
|
|
|
|
subtarea_5_2:
|
|
id: "ST-5.2"
|
|
nombre: "Integrar Definiciones Faltantes"
|
|
prioridad: P1
|
|
esfuerzo: "15h"
|
|
paralelizable: true
|
|
|
|
definiciones:
|
|
- id: "5.2.1"
|
|
tipo: "ET + RF"
|
|
contenido: "feature_flags schema"
|
|
modulo: "Transversal"
|
|
esfuerzo: "3h"
|
|
|
|
- id: "5.2.2"
|
|
tipo: "ET + US"
|
|
contenido: "drawing_tools y drawing_templates"
|
|
modulo: "OQI-003"
|
|
esfuerzo: "2h"
|
|
|
|
- id: "5.2.3"
|
|
tipo: "US + RF"
|
|
contenido: "price_alerts"
|
|
modulo: "OQI-003"
|
|
esfuerzo: "2h"
|
|
|
|
- id: "5.2.4"
|
|
tipo: "ET + US + RF"
|
|
contenido: "refunds y currency_exchange"
|
|
modulo: "OQI-005"
|
|
esfuerzo: "2h"
|
|
|
|
- id: "5.2.5"
|
|
tipo: "ET + US"
|
|
contenido: "course_tags e instructors"
|
|
modulo: "OQI-002"
|
|
esfuerzo: "2h"
|
|
|
|
- id: "5.2.6"
|
|
tipo: "ET + US"
|
|
contenido: "agent_executions"
|
|
modulo: "OQI-004"
|
|
esfuerzo: "2h"
|
|
|
|
- id: "5.2.7"
|
|
tipo: "ET"
|
|
contenido: "prediction_overlays y llm_signals"
|
|
modulo: "OQI-006"
|
|
esfuerzo: "1h"
|
|
|
|
- id: "5.2.8"
|
|
tipo: "ET"
|
|
contenido: "portfolio_snapshots"
|
|
modulo: "OQI-008"
|
|
esfuerzo: "1h"
|
|
|
|
subtarea_5_3:
|
|
id: "ST-5.3"
|
|
nombre: "Actualizar Inventarios"
|
|
prioridad: P1
|
|
esfuerzo: "10h"
|
|
dependencias: ["ST-2.2", "ST-4.4"]
|
|
|
|
inventarios:
|
|
- id: "5.3.1"
|
|
archivo: "DATABASE_INVENTORY.yml"
|
|
accion: "Actualizar 81 -> 100 tablas, agregar feature_flags schema"
|
|
esfuerzo: "3h"
|
|
|
|
- id: "5.3.2"
|
|
archivo: "BACKEND_INVENTORY.yml"
|
|
accion: "Actualizar con gaps de Fase 4"
|
|
esfuerzo: "2h"
|
|
|
|
- id: "5.3.3"
|
|
archivo: "MASTER_INVENTORY.yml"
|
|
accion: "Sincronizar totales"
|
|
esfuerzo: "1h"
|
|
|
|
- id: "5.3.4"
|
|
archivo: "DDL-COMPLETE-MATRIX.yml"
|
|
accion: "Actualizar 93 -> 100 tablas"
|
|
esfuerzo: "2h"
|
|
|
|
- id: "5.3.5"
|
|
archivo: "GAPS-TRACKING.yml"
|
|
accion: "Agregar gaps nuevos identificados"
|
|
esfuerzo: "2h"
|
|
|
|
subtarea_5_4:
|
|
id: "ST-5.4"
|
|
nombre: "Actualizar Documentacion de Modulos OQI"
|
|
prioridad: P2
|
|
esfuerzo: "10.5h"
|
|
paralelizable: true
|
|
dependencias: ["ST-5.2"]
|
|
|
|
# ═══════════════════════════════════════════════════════════════
|
|
# FASE 6: PLAN MAESTRO DE REMEDIACION
|
|
# ═══════════════════════════════════════════════════════════════
|
|
|
|
fase_6:
|
|
id: "FASE-6"
|
|
nombre: "Plan Maestro de Remediacion"
|
|
estado: PENDING
|
|
esfuerzo_total: "22.5h"
|
|
dependencias: ["FASE-3", "FASE-4", "FASE-5"]
|
|
|
|
subtarea_6_1:
|
|
id: "ST-6.1"
|
|
nombre: "Priorizar Acciones por Impacto"
|
|
esfuerzo: "5h"
|
|
|
|
subtarea_6_2:
|
|
id: "ST-6.2"
|
|
nombre: "Definir Orden de Ejecucion con Dependencias"
|
|
esfuerzo: "6h"
|
|
|
|
subtarea_6_3:
|
|
id: "ST-6.3"
|
|
nombre: "Estimar Esfuerzo por Subtarea"
|
|
esfuerzo: "3.5h"
|
|
|
|
subtarea_6_4:
|
|
id: "ST-6.4"
|
|
nombre: "Generar Roadmap Actualizado"
|
|
esfuerzo: "8h"
|
|
entregables:
|
|
- "ROADMAP-MODELADO-ACTUALIZADO.yml"
|
|
- "EXECUTION-PLAN-MODELADO.yml"
|
|
- "REMEDIATION-CHECKLIST.md"
|
|
|
|
# ═══════════════════════════════════════════════════════════════
|
|
# RESUMEN EJECUTIVO
|
|
# ═══════════════════════════════════════════════════════════════
|
|
|
|
resumen:
|
|
total_fases: 6
|
|
total_subtareas: 24
|
|
total_tareas_atomicas: 68
|
|
esfuerzo_secuencial: "173.75h"
|
|
esfuerzo_paralelo_estimado: "87.5h"
|
|
|
|
orden_ejecucion:
|
|
inmediato:
|
|
- "2.1.1: Corregir FK price_alerts (P0)"
|
|
urgente:
|
|
- "2.2.1-2.2.11: Documentar tablas faltantes"
|
|
- "2.3.1-2.3.3: Resolver conflictos enums"
|
|
- "5.3.1: Actualizar DATABASE_INVENTORY.yml"
|
|
importante:
|
|
- "3.1.1-3.1.7: Validar FKs"
|
|
- "4.1.1-4.1.11: Mapeo tablas -> entities"
|
|
- "5.1.1-5.1.5: Purgar docs obsoletas"
|
|
planificado:
|
|
- "3.2-3.5: Indices, constraints, funciones"
|
|
- "4.2-4.5: Mapeo completo backend"
|
|
- "5.2-5.4: Integrar definiciones faltantes"
|
|
- "6.1-6.4: Plan maestro remediacion"
|
|
|
|
subagentes_recomendados:
|
|
- id: "SA-DDL-1"
|
|
rol: "Validador DDL Auth+Trading"
|
|
tareas: ["2.2.1", "2.2.2", "3.1.1", "3.1.2"]
|
|
- id: "SA-DDL-2"
|
|
rol: "Validador DDL Education+Financial"
|
|
tareas: ["2.2.3", "2.2.4", "3.1.3", "3.1.4"]
|
|
- id: "SA-DDL-3"
|
|
rol: "Validador DDL Investment+ML+Rest"
|
|
tareas: ["2.2.5", "2.2.6", "2.2.7", "2.2.8", "2.2.9", "2.2.10", "2.2.11"]
|
|
- id: "SA-BACKEND-1"
|
|
rol: "Mapper Backend Auth+Trading+Education"
|
|
tareas: ["4.1.1", "4.1.2", "4.1.3"]
|
|
- id: "SA-BACKEND-2"
|
|
rol: "Mapper Backend Financial+Investment+Rest"
|
|
tareas: ["4.1.4", "4.1.5", "4.1.6", "4.1.7", "4.1.8", "4.1.9", "4.1.10", "4.1.11"]
|
|
- id: "SA-DOCS-1"
|
|
rol: "Documentador/Purga"
|
|
tareas: ["5.1.1", "5.1.2", "5.1.3", "5.2.1", "5.2.2", "5.2.3", "5.2.4", "5.2.5", "5.2.6", "5.2.7", "5.2.8"]
|