# Plan de Ejecución Jerárquico

**Subtarea:** 2.2
**Fecha:** 2026-01-30
**Agente:** Claude Code (Opus 4.5)
**Modo:** @ANALYSIS → @FULL (para ejecución)

---

## 1. ESTRUCTURA JERÁRQUICA COMPLETA

```
TAREA PRINCIPAL: Integración Trading-Platform + Template-SaaS + Workspace
├── FASE 1: ANÁLISIS (C+A) ████████████████████ 100% COMPLETADA
│   ├── 1.1 Coherencia inventarios ✓
│   ├── 1.2 Integración template-saas ✓
│   ├── 1.3 Gaps documentación ✓
│   └── 1.4 Análisis purga ✓
│
├── FASE 2: PLANEACIÓN (P+V) █████████████░░░░░░░ 67% EN PROGRESO
│   ├── 2.1 Matriz de gaps ✓
│   ├── 2.2 Plan jerárquico (ESTE DOCUMENTO) ← EN PROGRESO
│   └── 2.3 Validación CAPVED (Gate V)
│
├── FASE 3: EJECUCIÓN (E) ░░░░░░░░░░░░░░░░░░░░ 0% PENDIENTE
│   ├── SPRINT 1: Coherencia Base (P0 + P1 parcial)
│   │   ├── 3.1.1 Actualizar BACKEND_INVENTORY.yml (workspace)
│   │   ├── 3.1.2 Actualizar FRONTEND_INVENTORY.yml (workspace)
│   │   ├── 3.1.3 Actualizar DATABASE_INVENTORY.yml (workspace)
│   │   ├── 3.1.4 Crear PROYECTO-TRADING-PLATFORM.md
│   │   └── 3.1.5 Actualizar PROYECTOS-PRIORITARIOS.md
│   │
│   ├── SPRINT 2: Integración Template-SaaS (P1)
│   │   ├── 3.2.1 Integrar SAAS-008 Audit Logs
│   │   ├── 3.2.2 Integrar SAAS-009 Feature Flags
│   │   └── 3.2.3 Evaluar/Integrar MFA (SAAS-001)
│   │
│   ├── SPRINT 3: Purga y Mejoras (P2)
│   │   ├── 3.3.1 Archivar análisis obsoletos
│   │   ├── 3.3.2 Cerrar tareas estancadas
│   │   ├── 3.3.3 Consolidar documentación arquitectura
│   │   └── 3.3.4 Completar movimiento _archive/
│   │
│   └── SPRINT 4: Webhooks y Documentación (P2-P3)
│       ├── 3.4.1 Integrar SAAS-010 Webhooks
│       ├── 3.4.2 Crear DATABASE-SCHEMA.md
│       └── 3.4.3 Crear TESTING-STRATEGY.md
│
└── FASE 4: DOCUMENTACIÓN Y CIERRE (D) ░░░░░░░░░░░░░░░░░░░░ 0% PENDIENTE
    ├── 4.1 Actualizar PROJECT-STATUS.md
    ├── 4.2 Actualizar _INDEX.yml de tareas
    ├── 4.3 Cerrar tarea principal
    └── 4.4 Commit + Push
```

---

## 2. SPRINT 1: COHERENCIA BASE

### 2.1 Detalle de Tareas

#### TASK-3.1.1: Actualizar BACKEND_INVENTORY.yml

| Campo | Valor |
|-------|-------|
| **ID** | TASK-3.1.1 |
| **Tipo** | SYNC |
| **Prioridad** | P0 |
| **Dependencias** | Ninguna |
| **Bloquea** | TASK-3.1.4 |
| **Ubicación** | workspace-v2/orchestration/inventarios/BACKEND_INVENTORY.yml |

**Acciones:**
1. Leer líneas 216-253
2. Agregar módulos faltantes: users, education, notifications, payments, admin, llm, agents, portfolio, shared
3. Incluir métricas: total_controllers: 25, total_services: 38, total_endpoints: 79
4. Actualizar fecha: 2026-01-30

**Criterios de Aceptación:**
- [ ] 13 módulos listados (no 4)
- [ ] Métricas de controllers/services incluidas
- [ ] Fecha actualizada

---

#### TASK-3.1.2: Actualizar FRONTEND_INVENTORY.yml

| Campo | Valor |
|-------|-------|
| **ID** | TASK-3.1.2 |
| **Tipo** | SYNC |
| **Prioridad** | P1 |
| **Dependencias** | Ninguna (paralelo con 3.1.1) |
| **Bloquea** | Ninguna |
| **Ubicación** | workspace-v2/orchestration/inventarios/FRONTEND_INVENTORY.yml |

**Acciones:**
1. Leer líneas 218-252
2. Actualizar progress: "30%" → "38%"
3. Agregar métricas: total_componentes: 146, total_stores: 9, total_services: 16
4. Actualizar fecha

**Criterios de Aceptación:**
- [ ] Progress actualizado a 38%
- [ ] Métricas de componentes incluidas

---

#### TASK-3.1.3: Actualizar DATABASE_INVENTORY.yml

| Campo | Valor |
|-------|-------|
| **ID** | TASK-3.1.3 |
| **Tipo** | SYNC |
| **Prioridad** | P1 |
| **Dependencias** | Ninguna (paralelo) |
| **Bloquea** | Ninguna |
| **Ubicación** | workspace-v2/orchestration/inventarios/DATABASE_INVENTORY.yml |

**Acciones:**
1. Leer líneas 59-76
2. Agregar schemas faltantes: portfolio, market_data, notifications (si aplican)
3. Agregar total_tablas: 78
4. Actualizar fecha

**Criterios de Aceptación:**
- [ ] 11 schemas listados
- [ ] Total tablas incluido

---

#### TASK-3.1.4: Crear PROYECTO-TRADING-PLATFORM.md

| Campo | Valor |
|-------|-------|
| **ID** | TASK-3.1.4 |
| **Tipo** | CREATE |
| **Prioridad** | P0 |
| **Dependencias** | 3.1.1 (para métricas correctas) |
| **Bloquea** | 3.1.5 |
| **Ubicación** | workspace-v2/docs/60-proyectos/PROYECTO-TRADING-PLATFORM.md |

**Contenido mínimo:**
```markdown
# Trading Platform

## Descripción
Plataforma integral de trading con Money Manager IA, educación,
charts TradingView-style, y cuentas de inversión PAMM.

## Stack Tecnológico
| Capa | Tecnología |
|------|------------|
| Backend | Express.js 5.0.1 |
| Frontend | React 18.2.0 + Vite |
| ML Engine | FastAPI + PyTorch |
| Database | PostgreSQL 16+ |

## Módulos (9 OQIs)
[Tabla con 9 OQIs y progreso]

## Servicios y Puertos
[Tabla con 11 servicios]

## Credenciales
- DB: trading_platform / trading_user / trading_dev_2026

## Referencias
- Documentación: /projects/trading-platform/docs/
- Inventarios: /projects/trading-platform/orchestration/inventarios/
```

**Criterios de Aceptación:**
- [ ] Archivo existe
- [ ] >100 líneas
- [ ] Incluye stack, módulos, puertos, credenciales

---

#### TASK-3.1.5: Actualizar PROYECTOS-PRIORITARIOS.md

| Campo | Valor |
|-------|-------|
| **ID** | TASK-3.1.5 |
| **Tipo** | UPDATE |
| **Prioridad** | P1 |
| **Dependencias** | 3.1.4 |
| **Bloquea** | Ninguna |
| **Ubicación** | workspace-v2/docs/60-proyectos/PROYECTOS-PRIORITARIOS.md |

**Acciones:**
1. Agregar sección para trading-platform
2. Clasificar como P2 o P3 según criterio actual

---

## 3. SPRINT 2: INTEGRACIÓN TEMPLATE-SAAS

### 3.1 Detalle de Tareas

#### TASK-3.2.1: Integrar SAAS-008 Audit Logs

| Campo | Valor |
|-------|-------|
| **ID** | TASK-3.2.1 |
| **Tipo** | FEATURE |
| **Prioridad** | P1 |
| **Dependencias** | Sprint 1 completado |
| **Bloquea** | Ninguna |

**Acciones:**
1. Revisar template-saas/backend/src/modules/audit/
2. Crear trading-platform/apps/backend/src/modules/audit/
3. Adaptar: audit.module.ts, audit.service.ts, audit.controller.ts
4. Adaptar entities para Express (no NestJS)
5. Agregar rutas en audit.routes.ts
6. Actualizar inventarios

**Criterios de Aceptación:**
- [ ] audit.service.ts existe y compila
- [ ] Endpoint GET /api/v1/audit/logs funciona
- [ ] Inventario actualizado

---

#### TASK-3.2.2: Integrar SAAS-009 Feature Flags

| Campo | Valor |
|-------|-------|
| **ID** | TASK-3.2.2 |
| **Tipo** | FEATURE |
| **Prioridad** | P1 |
| **Dependencias** | Sprint 1 completado |
| **Bloquea** | 3.4.1 (parcialmente) |

**Acciones:**
1. Revisar template-saas/backend/src/modules/feature-flags/
2. Crear módulo equivalente en trading-platform
3. Adaptar para Express
4. Crear tabla en DDL (feature_flags, user_flags)
5. Actualizar inventarios

**Criterios de Aceptación:**
- [ ] feature-flags.service.ts existe
- [ ] DDL con tablas creada
- [ ] Endpoint de evaluación funciona

---

#### TASK-3.2.3: Evaluar/Integrar MFA

| Campo | Valor |
|-------|-------|
| **ID** | TASK-3.2.3 |
| **Tipo** | EVALUATE + FEATURE |
| **Prioridad** | P1 |
| **Dependencias** | Sprint 1 completado |
| **Bloquea** | Ninguna |

**Fase 1 - Evaluación:**
1. Revisar estado actual de OQI-001 (twofa.service.ts existe?)
2. Comparar con template-saas MFA
3. Documentar gaps
4. Decidir: implementar completo vs mejorar existente

**Fase 2 - Implementación (si se decide):**
1. Copiar/adaptar MFA de template-saas
2. Integrar con auth existente
3. Actualizar DDL si necesario
4. Actualizar frontend

**Criterios de Aceptación:**
- [ ] Evaluación documentada
- [ ] Decisión tomada (implementar/no implementar)
- [ ] Si implementar: MFA funcional

---

## 4. SPRINT 3: PURGA Y MEJORAS

### 4.1 Detalle de Tareas

#### TASK-3.3.1: Archivar análisis obsoletos

| Campo | Valor |
|-------|-------|
| **ID** | TASK-3.3.1 |
| **Tipo** | CLEANUP |
| **Prioridad** | P2 |
| **Dependencias** | Ninguna |

**Archivos a mover a orchestration/analisis/_archive/:**
- OQI-001-ANALISIS-COMPONENTES.md
- OQI-001-CONTRATOS-API.md
- OQI-001-MULTIMEDIA.md
- OQI-001-GAPS.md
- OQI-001-INDEX.md

---

#### TASK-3.3.2: Cerrar tareas estancadas

| Campo | Valor |
|-------|-------|
| **ID** | TASK-3.3.2 |
| **Tipo** | CLEANUP |
| **Prioridad** | P2 |
| **Dependencias** | Ninguna |

**Tareas a evaluar:**
| Tarea | Acción Propuesta |
|-------|-----------------|
| BLOCKER-001-TOKEN-REFRESH | Evaluar → Cancelar si no hay progreso |
| MASTER-ANALYSIS-PLAN | Integrar hallazgos → Cerrar |
| FRONTEND-COMPREHENSIVE-AUDIT | Evaluar → Cerrar/Continuar |
| FRONTEND-MODULE-DOCS | Evaluar → Cerrar/Continuar |

---

#### TASK-3.3.3: Consolidar documentación arquitectura

| Campo | Valor |
|-------|-------|
| **ID** | TASK-3.3.3 |
| **Tipo** | REFACTOR |
| **Prioridad** | P2 |
| **Dependencias** | Ninguna |

**Acciones:**
1. Comparar ARQUITECTURA-GENERAL.md y ARQUITECTURA-UNIFICADA.md
2. Merge contenido en ARQUITECTURA-GENERAL.md
3. Archivar ARQUITECTURA-UNIFICADA.md

---

#### TASK-3.3.4: Completar movimiento _archive/

| Campo | Valor |
|-------|-------|
| **ID** | TASK-3.3.4 |
| **Tipo** | CLEANUP |
| **Prioridad** | P2 |
| **Dependencias** | Ninguna |

**Acciones:**
1. Verificar que 20 tareas archivadas están físicamente en _archive/2026-01/
2. Si no, mover archivos
3. Actualizar ARCHIVE-METADATA.yml: status: COMPLETED

---

## 5. SPRINT 4: WEBHOOKS Y DOCUMENTACIÓN

### 5.1 Detalle de Tareas (Backlog - P2/P3)

#### TASK-3.4.1: Integrar SAAS-010 Webhooks

| Campo | Valor |
|-------|-------|
| **ID** | TASK-3.4.1 |
| **Tipo** | FEATURE |
| **Prioridad** | P2 |
| **Dependencias** | 3.2.2 (Feature Flags) |

---

#### TASK-3.4.2: Crear DATABASE-SCHEMA.md

| Campo | Valor |
|-------|-------|
| **ID** | TASK-3.4.2 |
| **Tipo** | DOCUMENTATION |
| **Prioridad** | P3 |
| **Dependencias** | Ninguna |

---

#### TASK-3.4.3: Crear TESTING-STRATEGY.md

| Campo | Valor |
|-------|-------|
| **ID** | TASK-3.4.3 |
| **Tipo** | DOCUMENTATION |
| **Prioridad** | P3 |
| **Dependencias** | Ninguna |

---

## 6. DIAGRAMA DE DEPENDENCIAS

```
SPRINT 1 (Paralelo)
┌─────────┐ ┌─────────┐ ┌─────────┐
│ 3.1.1   │ │ 3.1.2   │ │ 3.1.3   │
│ Backend │ │ Frontend│ │ Database│
│ Inv.    │ │ Inv.    │ │ Inv.    │
└────┬────┘ └─────────┘ └─────────┘
     │
     ▼
┌─────────┐
│ 3.1.4   │
│ PROYECTO│
│ DOC     │
└────┬────┘
     │
     ▼
┌─────────┐
│ 3.1.5   │
│ PRIORIT.│
└─────────┘

SPRINT 2 (Secuencial tras Sprint 1)
┌─────────┐ ┌─────────┐ ┌─────────┐
│ 3.2.1   │ │ 3.2.2   │ │ 3.2.3   │
│ Audit   │ │ Feature │ │ MFA     │
│ Logs    │ │ Flags   │ │ Eval    │
└─────────┘ └────┬────┘ └─────────┘
                 │
                 ▼
SPRINT 3 (Paralelo, puede empezar durante Sprint 2)
┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐
│ 3.3.1   │ │ 3.3.2   │ │ 3.3.3   │ │ 3.3.4   │
│ Archive │ │ Close   │ │ Consol. │ │ Move    │
│ Analysis│ │ Tasks   │ │ Docs    │ │ Archive │
└─────────┘ └─────────┘ └─────────┘ └─────────┘

SPRINT 4 (Depende de Sprint 2 para Webhooks)
┌─────────┐ ┌─────────┐ ┌─────────┐
│ 3.4.1   │ │ 3.4.2   │ │ 3.4.3   │
│ Webhooks│ │ DB Doc  │ │ Test Doc│
└─────────┘ └─────────┘ └─────────┘
```

---

## 7. ASIGNACIÓN DE AGENTES

| Sprint | Tareas | Agente Sugerido | Modo |
|--------|--------|-----------------|------|
| 1 | 3.1.1 - 3.1.5 | Claude Code | @QUICK |
| 2 | 3.2.1 - 3.2.3 | Claude Code + Windsurf | @FULL |
| 3 | 3.3.1 - 3.3.4 | Claude Code | @QUICK |
| 4 | 3.4.1 - 3.4.3 | Claude Code + Windsurf | @FULL |

---

## 8. RESUMEN

| Fase | Tareas | Estado | Bloqueadores |
|------|--------|--------|--------------|
| FASE 1 | 4/4 | ✅ COMPLETADA | - |
| FASE 2 | 2/3 | 🔄 EN PROGRESO | Ninguno |
| FASE 3 Sprint 1 | 0/5 | ⏳ PENDIENTE | Gate V |
| FASE 3 Sprint 2 | 0/3 | ⏳ PENDIENTE | Sprint 1 |
| FASE 3 Sprint 3 | 0/4 | ⏳ PENDIENTE | Ninguno |
| FASE 3 Sprint 4 | 0/3 | ⏳ PENDIENTE | Sprint 2 |
| FASE 4 | 0/4 | ⏳ PENDIENTE | Sprint 3 |

**Total tareas de ejecución:** 15
**Tareas P0:** 2 (3.1.1, 3.1.4)
**Tareas P1:** 7
**Tareas P2-P3:** 6

---

**Subtarea completada:** 2.2 Definir plan de ejecución jerárquico con dependencias
**Estado:** COMPLETADA
**Siguiente:** 2.3 Validar plan (Gate V de CAPVED)
