trading-platform/orchestration/tareas/TASK-2026-02-03-ANALISIS-DDL-MODELADO/inventarios/DDL-GAPS-REGISTRY.yml
Adrian Flores Cortes 92b1009fe8 [TASK-2026-02-03-ANALISIS-DDL-MODELADO] docs: Add comprehensive DDL analysis and planning
Phase C (Context) and A (Analysis) complete:
- Analyzed 11 schemas, ~90 tables, 68+ enums
- Identified 15 gaps (4 P0, 4 P1, 7 P2)
- Detected 5 conflicts and 3 duplicities
- Created validation matrix DDL vs requirements

Phase P (Planning) in progress:
- 7-phase execution plan with CAPVED compliance
- Subtask delegation plan for parallel execution
- Estimated effort: 126h (without MT4)

Key findings:
- GAP-002: financial.refunds missing (P0 - Stripe blocker)
- GAP-003: education.instructors missing (P0)
- CONF-001: transaction_type enum conflict
- DUP-001: timeframe enum duplicated

Deliverables created:
- 01-CAPTURA.md, 02-ANALISIS.md, 03-PLANIFICACION.md
- DDL-GAPS-REGISTRY.yml
- DDL-CONFLICTS-REGISTRY.yml
- DDL-VALIDATION-MATRIX.yml
- DELEGATION-PLAN.yml

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-03 23:40:28 -06:00

194 lines
5.0 KiB
YAML

# DDL-GAPS-REGISTRY.yml
# Registro de gaps identificados en el modelado DDL
# Tarea: TASK-2026-02-03-ANALISIS-DDL-MODELADO
metadata:
fecha_creacion: "2026-02-03"
fecha_actualizacion: "2026-02-03"
total_gaps: 15
por_prioridad:
P0: 4
P1: 4
P2: 7
gaps_criticos_P0:
- id: "GAP-001"
schema: "trading"
objeto: "price_alerts"
tipo: "missing_fk"
descripcion: "Tabla price_alerts sin FK a trading.symbols"
impacto: "Integridad referencial comprometida"
epica: "OQI-003"
resolucion:
accion: "Agregar FK symbol_id"
esfuerzo: "2h"
prioridad: "P0"
estado: "pendiente"
- id: "GAP-002"
schema: "financial"
objeto: "refunds"
tipo: "missing_table"
descripcion: "Tabla refunds no existe - requerida para Stripe"
impacto: "Funcionalidad refunds bloqueada"
epica: "OQI-005"
resolucion:
accion: "Crear tabla completa"
esfuerzo: "8h"
prioridad: "P0"
estado: "pendiente"
- id: "GAP-003"
schema: "education"
objeto: "instructors"
tipo: "missing_table"
descripcion: "Tabla instructors no definida"
impacto: "Videos y cursos sin autor"
epica: "OQI-002"
resolucion:
accion: "Crear tabla + FK en courses"
esfuerzo: "10h"
prioridad: "P0"
estado: "pendiente"
- id: "GAP-004"
schema: "ml"
objeto: "overlay_predictions"
tipo: "incomplete_design"
descripcion: "Overlay predicciones incompleto"
impacto: "Señales ML no se muestran en charts"
epica: "OQI-006"
resolucion:
accion: "Completar diseño overlay"
esfuerzo: "8h"
prioridad: "P0"
estado: "pendiente"
gaps_moderados_P1:
- id: "GAP-005"
schema: "education"
objeto: "course_tags"
tipo: "missing_table"
descripcion: "Falta tabla para tags de cursos"
impacto: "Búsqueda y SEO limitados"
epica: "OQI-002"
resolucion:
accion: "Crear tabla + tabla M:N"
esfuerzo: "6h"
prioridad: "P1"
estado: "pendiente"
- id: "GAP-006"
schema: "trading"
objeto: "drawing_tools"
tipo: "missing_tables"
descripcion: "Tablas para herramientas de dibujo no existen"
impacto: "Feature drawing tools huérfana"
epica: "OQI-003"
resolucion:
accion: "Diseñar e implementar tablas"
esfuerzo: "12h"
prioridad: "P1"
estado: "pendiente"
- id: "GAP-007"
schema: "investment"
objeto: "agent_executions"
tipo: "incomplete_table"
descripcion: "Tabla agent_executions incompleta"
impacto: "Tracking agentes limitado"
epica: "OQI-004"
resolucion:
accion: "Agregar columnas faltantes"
esfuerzo: "4h"
prioridad: "P1"
estado: "pendiente"
- id: "GAP-008"
schema: "ml"
objeto: "predictions"
tipo: "missing_index"
descripcion: "Falta índice compuesto symbol+timeframe+created"
impacto: "Performance queries degradada"
epica: "OQI-006"
resolucion:
accion: "Crear índice compuesto"
esfuerzo: "2h"
prioridad: "P1"
estado: "pendiente"
gaps_menores_P2:
- id: "GAP-009"
schema: "auth"
objeto: "users"
tipo: "missing_index"
descripcion: "Falta índice en locked_until"
impacto: "Performance menor"
epica: "OQI-001"
resolucion:
accion: "Agregar índice"
esfuerzo: "1h"
prioridad: "P2"
estado: "pendiente"
- id: "GAP-010"
schema: "education"
objeto: "course_reviews"
tipo: "missing_column"
descripcion: "Sin soft delete (deleted_at)"
impacto: "Gestión datos limitada"
epica: "OQI-002"
resolucion:
accion: "Agregar columna deleted_at"
esfuerzo: "2h"
prioridad: "P2"
estado: "pendiente"
- id: "GAP-011"
schema: "audit"
objeto: "audit_logs"
tipo: "missing_partitioning"
descripcion: "Sin particionamiento por fecha"
impacto: "Escalabilidad futura"
epica: "Transversal"
resolucion:
accion: "Implementar particionamiento"
esfuerzo: "8h"
prioridad: "P2"
estado: "pendiente"
- id: "GAP-012"
schema: "llm"
objeto: "conversations"
tipo: "missing_index"
descripcion: "Falta índice GIN en tags"
impacto: "Búsqueda por tags lenta"
epica: "OQI-007"
resolucion:
accion: "Agregar índice GIN"
esfuerzo: "1h"
prioridad: "P2"
estado: "pendiente"
gaps_documentacion:
- id: "GAP-DOC-001"
ubicacion: "docs/02-definicion-modulos/OQI-003-trading-charts/especificaciones/"
archivo: "ET-TRD-003-database.md"
problema: "Desactualizado vs DDL actual"
accion: "Actualizar con tablas actuales"
prioridad: "P2"
- id: "GAP-DOC-002"
ubicacion: "docs/02-definicion-modulos/OQI-005-pagos-stripe/especificaciones/"
archivo: "ET-PAY-005-refunds.md"
problema: "No existe"
accion: "Crear cuando se implemente tabla"
prioridad: "P0"
- id: "GAP-DOC-003"
ubicacion: "orchestration/inventarios/"
archivo: "DATABASE_INVENTORY.yml"
problema: "Desactualizado"
accion: "Sincronizar con DDL actual"
prioridad: "P1"