Create comprehensive TypeScript type definitions for Trading Agents (Atlas, Orion, Nova) in the frontend. - Align with backend trading-agents.client.ts interfaces - Export AgentType, AgentStatus, BotStatus types - Define TradingBot, AgentMetrics, AgentPosition, AgentTrade interfaces - Include utility functions for status mapping and display names - Full JSDoc documentation for all types - Export from main types/index.ts Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
646 lines
22 KiB
YAML
646 lines
22 KiB
YAML
# EXECUTION-ORDER.yml - Trading Platform
|
|
# Orden de ejecución optimizado considerando dependencias, prioridad y paralelización
|
|
|
|
metadata:
|
|
fecha: 2026-01-27
|
|
proyecto: trading-platform
|
|
version: 1.0.0
|
|
sistema: SIMCO v4.0.0
|
|
metodologia: "Topological sort by dependencies + priority-driven scheduling"
|
|
fuentes:
|
|
- orchestration/analisis/coherencia/COHERENCE-MASTER-REPORT.md
|
|
- orchestration/PROXIMA-ACCION.md
|
|
|
|
metricas_globales:
|
|
total_gaps: 18
|
|
gaps_p0: 3
|
|
gaps_p1: 4
|
|
gaps_p2: 5
|
|
inconsistencias_arquitecturales: 2
|
|
esfuerzo_total_horas: 208
|
|
duracion_estimada_semanas: 8
|
|
|
|
# =============================================================================
|
|
# SPRINTS DE EJECUCION
|
|
# =============================================================================
|
|
|
|
sprints:
|
|
# ---------------------------------------------------------------------------
|
|
# SPRINT 1: Bloqueantes P0 - Impiden producción
|
|
# ---------------------------------------------------------------------------
|
|
- sprint: 1
|
|
nombre: "Gaps P0 - Bloqueantes"
|
|
duracion: "2 semanas"
|
|
esfuerzo_total: 54h
|
|
objetivo: "Eliminar todos los bloqueantes que impiden lanzar a producción"
|
|
|
|
tareas:
|
|
- id: GAP-P0-001
|
|
nombre: "Password Recovery UI"
|
|
descripcion: "Implementar interfaz de recuperación de contraseña en frontend"
|
|
capa: Frontend
|
|
modulo: OQI-001-Auth
|
|
esfuerzo: 8h
|
|
prioridad: P0
|
|
impacto: "Usuarios no pueden recuperar acceso a sus cuentas"
|
|
dependencias: []
|
|
entregables:
|
|
- components/auth/PasswordRecovery.tsx
|
|
- components/auth/ResetPassword.tsx
|
|
- Integración con /auth/forgot-password endpoint
|
|
paralelo_con: [GAP-P0-002]
|
|
|
|
- id: GAP-P0-002
|
|
nombre: "User Profile Service + Endpoints"
|
|
descripcion: "Crear userService.ts backend y endpoints CRUD para user_profiles"
|
|
capa: Backend
|
|
modulo: OQI-001-Auth
|
|
esfuerzo: 6h
|
|
prioridad: P0
|
|
impacto: "No existe gestión de perfiles de usuario"
|
|
dependencias: []
|
|
entregables:
|
|
- apps/backend/src/services/userService.ts
|
|
- GET/PUT /api/users/profile
|
|
- GET /api/users/:id/profile
|
|
paralelo_con: [GAP-P0-001]
|
|
|
|
- id: GAP-P0-003-FASE1
|
|
nombre: "Trading Agents UI - Fase 1 (Lista + Detalle)"
|
|
descripcion: "Implementar componentes base para gestión de bots Atlas/Orion/Nova"
|
|
capa: Frontend
|
|
modulo: OQI-003-Trading
|
|
esfuerzo: 20h
|
|
prioridad: P0
|
|
impacto: "Feature core de trading agents sin interfaz - 40h total dividido en 2 fases"
|
|
dependencias: []
|
|
entregables:
|
|
- components/trading/agents/AgentsList.tsx
|
|
- components/trading/agents/AgentDetail.tsx
|
|
- stores/agentsStore.ts (zustand)
|
|
paralelo_con: []
|
|
notas: "Primera mitad de GAP-P0-003. Segunda mitad en Sprint 2."
|
|
|
|
- id: GAP-P0-003-FASE2
|
|
nombre: "Trading Agents UI - Fase 2 (Config + Monitor)"
|
|
descripcion: "Completar UI con configuración y monitoreo en tiempo real"
|
|
capa: Frontend
|
|
modulo: OQI-003-Trading
|
|
esfuerzo: 20h
|
|
prioridad: P0
|
|
impacto: "Completar UI de trading agents"
|
|
dependencias: [GAP-P0-003-FASE1]
|
|
entregables:
|
|
- components/trading/agents/AgentConfig.tsx
|
|
- components/trading/agents/AgentMonitor.tsx
|
|
- Real-time updates via WebSocket
|
|
paralelo_con: []
|
|
notas: "Segunda mitad de GAP-P0-003. Depende de fase 1."
|
|
|
|
# ---------------------------------------------------------------------------
|
|
# SPRINT 2: Críticos P1 - Afectan funcionalidad core
|
|
# ---------------------------------------------------------------------------
|
|
- sprint: 2
|
|
nombre: "Gaps P1 - Críticos"
|
|
duracion: "2 semanas"
|
|
esfuerzo_total: 76h
|
|
objetivo: "Resolver gaps que afectan funcionalidad crítica de la plataforma"
|
|
|
|
tareas:
|
|
- id: GAP-P1-001
|
|
nombre: "Market Data OHLCV Service"
|
|
descripcion: "Crear servicio backend para consultar datos OHLCV de market_data schema"
|
|
capa: Backend
|
|
modulo: OQI-003-Trading
|
|
esfuerzo: 16h
|
|
prioridad: P1
|
|
impacto: "Charts de trading no tienen fuente de datos históricos"
|
|
dependencias: []
|
|
entregables:
|
|
- apps/backend/src/services/marketDataService.ts
|
|
- GET /api/market-data/ohlcv/:symbol
|
|
- Queries optimizadas con índices temporales
|
|
paralelo_con: [GAP-P1-004]
|
|
notas: "Crítico para charts en OQI-003"
|
|
|
|
- id: GAP-P1-002
|
|
nombre: "Notifications API Completa"
|
|
descripcion: "Completar endpoints de notificaciones (mark read, delete, preferences)"
|
|
capa: Backend
|
|
modulo: OQI-001-Auth
|
|
esfuerzo: 20h
|
|
prioridad: P1
|
|
impacto: "Push notifications funcionan parcialmente"
|
|
dependencias: []
|
|
entregables:
|
|
- POST /api/notifications/mark-read
|
|
- DELETE /api/notifications/:id
|
|
- GET/PUT /api/notifications/preferences
|
|
- Integración FCM/APNs
|
|
paralelo_con: [GAP-P1-004]
|
|
|
|
- id: GAP-P1-003
|
|
nombre: "ML Chart Overlays UI"
|
|
descripcion: "Conectar overlays de predicciones ML en componentes de charts"
|
|
capa: Frontend
|
|
modulo: OQI-006-ML
|
|
esfuerzo: 24h
|
|
prioridad: P1
|
|
impacto: "Visualización de predicciones ML no está conectada a charts"
|
|
dependencias: [GAP-P1-001]
|
|
entregables:
|
|
- components/charts/MLOverlay.tsx
|
|
- Integración con mlService.ts
|
|
- Visualización de signals en lightweight-charts
|
|
paralelo_con: []
|
|
notas: "Depende de Market Data Service"
|
|
|
|
- id: GAP-P1-004
|
|
nombre: "2FA Flow Completo"
|
|
descripcion: "Implementar flujo completo de autenticación de dos factores (setup + verify)"
|
|
capa: Fullstack
|
|
modulo: OQI-001-Auth
|
|
esfuerzo: 16h
|
|
prioridad: P1
|
|
impacto: "Seguridad avanzada no disponible para usuarios"
|
|
dependencias: []
|
|
entregables:
|
|
- Backend: POST /api/auth/2fa/setup, POST /api/auth/2fa/verify
|
|
- Frontend: components/auth/TwoFactorSetup.tsx
|
|
- QR code generation + TOTP validation
|
|
paralelo_con: [GAP-P1-001, GAP-P1-002]
|
|
|
|
# ---------------------------------------------------------------------------
|
|
# SPRINT 3: Importantes P2 - Mejoran experiencia
|
|
# ---------------------------------------------------------------------------
|
|
- sprint: 3
|
|
nombre: "Gaps P2 - Importantes"
|
|
duracion: "2 semanas"
|
|
esfuerzo_total: 78h
|
|
objetivo: "Implementar funcionalidades que mejoran significativamente la experiencia"
|
|
|
|
tareas:
|
|
- id: GAP-P2-001
|
|
nombre: "Audit System Services"
|
|
descripcion: "Crear servicios backend para consultar logs de auditoría"
|
|
capa: Backend
|
|
modulo: Audit
|
|
esfuerzo: 32h
|
|
prioridad: P2
|
|
impacto: "No hay endpoints para consultar auditoría"
|
|
dependencias: []
|
|
entregables:
|
|
- apps/backend/src/services/auditService.ts
|
|
- GET /api/audit/logs (paginado + filtros)
|
|
- GET /api/audit/user/:userId
|
|
- GET /api/audit/entity/:entityType/:entityId
|
|
paralelo_con: [GAP-P2-002, GAP-P2-003]
|
|
|
|
- id: GAP-P2-002
|
|
nombre: "Currency Exchange Service"
|
|
descripcion: "Implementar servicio de conversión de monedas y consulta de tasas"
|
|
capa: Backend
|
|
modulo: Financial
|
|
esfuerzo: 16h
|
|
prioridad: P2
|
|
impacto: "Multi-moneda incompleto en la plataforma"
|
|
dependencias: []
|
|
entregables:
|
|
- apps/backend/src/services/currencyService.ts
|
|
- GET /api/currency/rates
|
|
- POST /api/currency/convert
|
|
- Integración con API externa (e.g., exchangerate-api)
|
|
paralelo_con: [GAP-P2-001, GAP-P2-003]
|
|
|
|
- id: GAP-P2-003
|
|
nombre: "Risk Assessment Service"
|
|
descripcion: "Conectar cuestionario de evaluación de riesgo con backend"
|
|
capa: Backend
|
|
modulo: OQI-004-Investment
|
|
esfuerzo: 12h
|
|
prioridad: P2
|
|
impacto: "Cuestionario de riesgo existe en DB pero no tiene lógica"
|
|
dependencias: []
|
|
entregables:
|
|
- apps/backend/src/services/riskService.ts
|
|
- GET /api/risk/questionnaire
|
|
- POST /api/risk/assessment (calcular score)
|
|
- PUT /api/users/:id/risk-profile
|
|
paralelo_con: [GAP-P2-001, GAP-P2-002]
|
|
|
|
- id: GAP-P2-004
|
|
nombre: "Course Reviews Endpoints"
|
|
descripcion: "Crear endpoints para gestionar reviews de cursos educativos"
|
|
capa: Backend
|
|
modulo: OQI-002-Education
|
|
esfuerzo: 6h
|
|
prioridad: P2
|
|
impacto: "Sistema de reviews no disponible"
|
|
dependencias: []
|
|
entregables:
|
|
- POST /api/education/courses/:id/reviews
|
|
- GET /api/education/courses/:id/reviews
|
|
- PUT /api/education/reviews/:id
|
|
paralelo_con: [GAP-P2-005]
|
|
|
|
- id: GAP-P2-005
|
|
nombre: "OAuth Flows Completos"
|
|
descripcion: "Completar flujos de OAuth para Google/Facebook/Apple"
|
|
capa: Frontend
|
|
modulo: OQI-001-Auth
|
|
esfuerzo: 12h
|
|
prioridad: P2
|
|
impacto: "Login social está parcialmente implementado"
|
|
dependencias: []
|
|
entregables:
|
|
- components/auth/OAuthButtons.tsx
|
|
- Callback handlers para cada provider
|
|
- Error handling + fallback flows
|
|
paralelo_con: [GAP-P2-004]
|
|
|
|
# ---------------------------------------------------------------------------
|
|
# SPRINT 4: Consolidación Arquitectural
|
|
# ---------------------------------------------------------------------------
|
|
- sprint: 4
|
|
nombre: "Consolidación Arquitectural"
|
|
duracion: "2 semanas"
|
|
esfuerzo_total: "No estimado (refactor)"
|
|
objetivo: "Resolver inconsistencias arquitecturales y mejorar mantenibilidad"
|
|
|
|
tareas:
|
|
- id: ARCH-001
|
|
nombre: "Centralizar Acceso Python via Express Gateway"
|
|
descripcion: "Migrar acceso directo Python (3083, 3085) para pasar por Express"
|
|
capa: Backend
|
|
modulo: Architecture
|
|
esfuerzo: "TBD"
|
|
prioridad: P1
|
|
impacto: "Sin auth centralizada, CORS issues, sin rate limiting"
|
|
dependencias: []
|
|
entregables:
|
|
- apps/backend/src/routes/ml.routes.ts (proxy a 3083)
|
|
- apps/backend/src/routes/llm.routes.ts (proxy a 3085)
|
|
- Middleware: auth, rate limiting, logging
|
|
archivos_afectados:
|
|
- apps/frontend/src/services/mlService.ts
|
|
- apps/frontend/src/services/llmAgentService.ts
|
|
- apps/frontend/src/services/backtestService.ts
|
|
paralelo_con: []
|
|
|
|
- id: ARCH-002
|
|
nombre: "Migrar Services a apiClient Centralizado"
|
|
descripcion: "Migrar 5 services que no usan apiClient para auto-refresh y retry logic"
|
|
capa: Frontend
|
|
modulo: Architecture
|
|
esfuerzo: "TBD"
|
|
prioridad: P1
|
|
impacto: "Sin auto-refresh tokens, sin retry logic, errores inconsistentes"
|
|
dependencias: [ARCH-001]
|
|
entregables:
|
|
- Refactor portfolio.service.ts
|
|
- Refactor adminService.ts
|
|
- Refactor mlService.ts
|
|
- Refactor llmAgentService.ts
|
|
- Refactor backtestService.ts
|
|
archivos_afectados: 5 archivos en apps/frontend/src/services/
|
|
paralelo_con: []
|
|
notas: "Ejecutar DESPUÉS de ARCH-001 para evitar doble refactor"
|
|
|
|
- id: TEST-001
|
|
nombre: "Tests de Integración E2E"
|
|
descripcion: "Crear suite de tests end-to-end para validar flujos críticos"
|
|
capa: Testing
|
|
modulo: QA
|
|
esfuerzo: "TBD"
|
|
prioridad: P2
|
|
impacto: "Validar coherencia completa de la plataforma"
|
|
dependencias: [ARCH-001, ARCH-002]
|
|
entregables:
|
|
- tests/e2e/auth-flow.spec.ts
|
|
- tests/e2e/trading-flow.spec.ts
|
|
- tests/e2e/investment-flow.spec.ts
|
|
paralelo_con: []
|
|
notas: "Ejecutar al final para validar todo"
|
|
|
|
# =============================================================================
|
|
# GRAFO DE DEPENDENCIAS
|
|
# =============================================================================
|
|
|
|
grafo_dependencias:
|
|
# Sprint 1 - P0
|
|
GAP-P0-001: [] # Independiente - puede ejecutarse en paralelo
|
|
GAP-P0-002: [] # Independiente - puede ejecutarse en paralelo
|
|
GAP-P0-003-FASE1: [] # Independiente
|
|
GAP-P0-003-FASE2: [GAP-P0-003-FASE1] # Depende de fase 1
|
|
|
|
# Sprint 2 - P1
|
|
GAP-P1-001: [] # Independiente
|
|
GAP-P1-002: [] # Independiente
|
|
GAP-P1-003: [GAP-P1-001] # Necesita Market Data Service
|
|
GAP-P1-004: [] # Independiente
|
|
|
|
# Sprint 3 - P2
|
|
GAP-P2-001: [] # Independiente
|
|
GAP-P2-002: [] # Independiente
|
|
GAP-P2-003: [] # Independiente
|
|
GAP-P2-004: [] # Independiente
|
|
GAP-P2-005: [] # Independiente
|
|
|
|
# Sprint 4 - Arquitectura
|
|
ARCH-001: [] # Debe ejecutarse primero
|
|
ARCH-002: [ARCH-001] # Depende de proxy gateway
|
|
TEST-001: [ARCH-001, ARCH-002] # Depende de refactors completos
|
|
|
|
# =============================================================================
|
|
# RUTAS CRITICAS (Critical Paths)
|
|
# =============================================================================
|
|
|
|
rutas_criticas:
|
|
- id: RUTA-001
|
|
nombre: "Auth Flow Completo"
|
|
descripcion: "Flujo de autenticación desde registro hasta 2FA"
|
|
path: [GAP-P0-001, GAP-P0-002, GAP-P1-004]
|
|
duracion_total: 30h
|
|
impacto: "Alta - Seguridad y acceso de usuarios"
|
|
|
|
- id: RUTA-002
|
|
nombre: "Trading Core"
|
|
descripcion: "Trading agents con datos de mercado y visualización"
|
|
path: [GAP-P0-003-FASE1, GAP-P0-003-FASE2, GAP-P1-001, GAP-P1-003]
|
|
duracion_total: 80h
|
|
impacto: "Crítica - Feature principal de la plataforma"
|
|
|
|
- id: RUTA-003
|
|
nombre: "Consolidación Arquitectural"
|
|
descripcion: "Refactor para centralizar acceso y mejorar mantenibilidad"
|
|
path: [ARCH-001, ARCH-002, TEST-001]
|
|
duracion_total: "TBD"
|
|
impacto: "Media - Mejora técnica sin impacto funcional inmediato"
|
|
|
|
# =============================================================================
|
|
# CADENAS DE DEPENDENCIA POR CAPA (DDL -> Backend -> Frontend)
|
|
# =============================================================================
|
|
|
|
cadenas_capas:
|
|
- cadena: CADENA-001
|
|
nombre: "Trading Bots"
|
|
flujo: "DDL(trading.bots) -> Backend(bots.service) -> Frontend(BotManager)"
|
|
estado_actual:
|
|
ddl: "COMPLETO"
|
|
backend: "PARCIAL"
|
|
frontend: "BLOQUEADO (GAP-P0-003)"
|
|
gap_bloqueante: GAP-P0-003-FASE1
|
|
|
|
- cadena: CADENA-002
|
|
nombre: "ML Predictions"
|
|
flujo: "DDL(ml.predictions) -> Backend(ml.service) -> Frontend(mlService) -> Charts(overlays)"
|
|
estado_actual:
|
|
ddl: "COMPLETO"
|
|
backend: "COMPLETO"
|
|
frontend: "PARCIAL (GAP-P1-003)"
|
|
gap_bloqueante: GAP-P1-003
|
|
|
|
- cadena: CADENA-003
|
|
nombre: "Notifications"
|
|
flujo: "DDL(auth.notifications) -> Backend(notifications) -> Frontend(notification.service) -> Push(FCM)"
|
|
estado_actual:
|
|
ddl: "COMPLETO"
|
|
backend: "PARCIAL (GAP-P1-002)"
|
|
frontend: "COMPLETO"
|
|
gap_bloqueante: GAP-P1-002
|
|
|
|
- cadena: CADENA-004
|
|
nombre: "User Profiles"
|
|
flujo: "DDL(auth.user_profiles) -> Backend(userService) -> Frontend(ProfilePage)"
|
|
estado_actual:
|
|
ddl: "COMPLETO"
|
|
backend: "BLOQUEADO (GAP-P0-002)"
|
|
frontend: "COMPLETO"
|
|
gap_bloqueante: GAP-P0-002
|
|
|
|
# =============================================================================
|
|
# ESTRATEGIA DE PARALELIZACION
|
|
# =============================================================================
|
|
|
|
estrategia_paralelizacion:
|
|
descripcion: "Maximizar eficiencia ejecutando tareas independientes en paralelo"
|
|
|
|
sprint_1_paralelo:
|
|
grupo_1:
|
|
tareas: [GAP-P0-001, GAP-P0-002]
|
|
razon: "Frontend y Backend independientes"
|
|
recursos: "2 desarrolladores"
|
|
grupo_2:
|
|
tareas: [GAP-P0-003-FASE1]
|
|
razon: "Después de grupo 1, tarea larga (20h)"
|
|
recursos: "1 desarrollador"
|
|
|
|
sprint_2_paralelo:
|
|
grupo_1:
|
|
tareas: [GAP-P1-001, GAP-P1-002, GAP-P1-004]
|
|
razon: "3 tareas backend independientes"
|
|
recursos: "3 desarrolladores"
|
|
grupo_2:
|
|
tareas: [GAP-P1-003]
|
|
razon: "Espera a GAP-P1-001 completarse"
|
|
recursos: "1 desarrollador"
|
|
dependencia_bloqueante: GAP-P1-001
|
|
|
|
sprint_3_paralelo:
|
|
grupo_1:
|
|
tareas: [GAP-P2-001, GAP-P2-002, GAP-P2-003]
|
|
razon: "3 tareas backend independientes"
|
|
recursos: "3 desarrolladores"
|
|
grupo_2:
|
|
tareas: [GAP-P2-004, GAP-P2-005]
|
|
razon: "2 tareas independientes (backend + frontend)"
|
|
recursos: "2 desarrolladores"
|
|
|
|
sprint_4_secuencial:
|
|
razon: "Refactors arquitecturales deben ser secuenciales para evitar conflictos"
|
|
orden: [ARCH-001, ARCH-002, TEST-001]
|
|
|
|
# =============================================================================
|
|
# CHECKPOINTS DE VALIDACION
|
|
# =============================================================================
|
|
|
|
checkpoints:
|
|
- id: CP-01
|
|
nombre: "Sprint 1 Completado"
|
|
criterios:
|
|
- "GAP-P0-001, GAP-P0-002, GAP-P0-003 resueltos"
|
|
- "0 gaps bloqueantes (P0)"
|
|
- "Build exitoso en backend + frontend"
|
|
- "Tests unitarios pasan"
|
|
salida_esperada: "Plataforma lista para producción mínima viable"
|
|
|
|
- id: CP-02
|
|
nombre: "Sprint 2 Completado"
|
|
criterios:
|
|
- "GAP-P1-001 a GAP-P1-004 resueltos"
|
|
- "Cobertura DDL-Backend >= 95%"
|
|
- "Market data service funcional"
|
|
- "2FA operativo"
|
|
salida_esperada: "Funcionalidad crítica completa"
|
|
|
|
- id: CP-03
|
|
nombre: "Sprint 3 Completado"
|
|
criterios:
|
|
- "GAP-P2-001 a GAP-P2-005 resueltos"
|
|
- "Audit system operativo"
|
|
- "Multi-moneda funcional"
|
|
- "OAuth completo"
|
|
salida_esperada: "Experiencia de usuario mejorada"
|
|
|
|
- id: CP-04
|
|
nombre: "Sprint 4 Completado"
|
|
criterios:
|
|
- "Todos los servicios usan apiClient"
|
|
- "Acceso Python centralizado via Express"
|
|
- "Tests E2E pasan al 100%"
|
|
- "Coherencia global >= 95%"
|
|
salida_esperada: "Arquitectura consolidada y mantenible"
|
|
|
|
# =============================================================================
|
|
# METRICAS DE PROGRESO
|
|
# =============================================================================
|
|
|
|
metricas_progreso:
|
|
estado_inicial:
|
|
fecha: "2026-01-27"
|
|
coherencia_global: 81.25%
|
|
gaps_p0: 3
|
|
gaps_p1: 4
|
|
gaps_p2: 5
|
|
servicios_apiClient: 64%
|
|
|
|
targets:
|
|
cp01:
|
|
coherencia_global: 87%
|
|
gaps_p0: 0
|
|
gaps_p1: 4
|
|
gaps_p2: 5
|
|
|
|
cp02:
|
|
coherencia_global: 92%
|
|
gaps_p0: 0
|
|
gaps_p1: 0
|
|
gaps_p2: 5
|
|
|
|
cp03:
|
|
coherencia_global: 97%
|
|
gaps_p0: 0
|
|
gaps_p1: 0
|
|
gaps_p2: 0
|
|
|
|
cp04:
|
|
coherencia_global: 98%
|
|
gaps_p0: 0
|
|
gaps_p1: 0
|
|
gaps_p2: 0
|
|
servicios_apiClient: 100%
|
|
acceso_python_centralizado: 100%
|
|
|
|
# =============================================================================
|
|
# RIESGOS Y MITIGACIONES
|
|
# =============================================================================
|
|
|
|
riesgos:
|
|
- id: RISK-001
|
|
descripcion: "GAP-P0-003 es muy grande (40h) - riesgo de bloquear sprint 1"
|
|
probabilidad: Media
|
|
impacto: Alto
|
|
mitigacion: "Dividido en 2 fases (20h cada una) - fase 2 puede ir a sprint 2 si es necesario"
|
|
|
|
- id: RISK-002
|
|
descripcion: "ARCH-001 puede generar regresiones en frontend"
|
|
probabilidad: Media
|
|
impacto: Medio
|
|
mitigacion: "Ejecutar después de todos los gaps funcionales - sprint 4 dedicado"
|
|
|
|
- id: RISK-003
|
|
descripcion: "Dependencia de GAP-P1-001 bloquea GAP-P1-003"
|
|
probabilidad: Baja
|
|
impacto: Medio
|
|
mitigacion: "GAP-P1-001 tiene prioridad en sprint 2 - ejecutar primero"
|
|
|
|
- id: RISK-004
|
|
descripcion: "Falta estimación en tareas de refactor (ARCH-001, ARCH-002)"
|
|
probabilidad: Alta
|
|
impacto: Bajo
|
|
mitigacion: "Sprint 4 es flexible - puede extenderse si es necesario"
|
|
|
|
# =============================================================================
|
|
# RECURSOS RECOMENDADOS
|
|
# =============================================================================
|
|
|
|
recursos_recomendados:
|
|
equipo_minimo:
|
|
- rol: "Backend Developer"
|
|
cantidad: 2
|
|
skills: "TypeScript, Express.js, PostgreSQL"
|
|
|
|
- rol: "Frontend Developer"
|
|
cantidad: 2
|
|
skills: "React, TypeScript, Zustand, TanStack Query"
|
|
|
|
- rol: "QA Engineer"
|
|
cantidad: 1
|
|
skills: "E2E testing, Playwright/Cypress"
|
|
|
|
equipo_optimo:
|
|
- rol: "Backend Developer"
|
|
cantidad: 3
|
|
razon: "Permite paralelizar tareas backend en sprint 2 y 3"
|
|
|
|
- rol: "Frontend Developer"
|
|
cantidad: 2
|
|
razon: "Suficiente para tareas frontend en paralelo"
|
|
|
|
- rol: "QA Engineer"
|
|
cantidad: 1
|
|
razon: "Validación continua durante sprints"
|
|
|
|
- rol: "DevOps/Architect"
|
|
cantidad: 1
|
|
razon: "Para sprint 4 (consolidación arquitectural)"
|
|
|
|
# =============================================================================
|
|
# NOTAS FINALES
|
|
# =============================================================================
|
|
|
|
notas_finales:
|
|
- "Este plan es DINAMICO - debe ajustarse según descubrimientos durante ejecución"
|
|
- "Priorizar SIEMPRE gaps P0 antes de avanzar a P1"
|
|
- "Validar build + tests después de CADA tarea completada"
|
|
- "Documentar cambios arquitecturales en ADR (Architecture Decision Records)"
|
|
- "Mantener COHERENCE-MASTER-REPORT.md actualizado con progreso"
|
|
- "Los refactors arquitecturales (Sprint 4) NO deben bloquear lanzamiento si P0/P1/P2 están resueltos"
|
|
- "Considerar lanzamiento gradual: MVP con P0 -> Feature complete con P1 -> Polish con P2"
|
|
|
|
# =============================================================================
|
|
# REFERENCIAS
|
|
# =============================================================================
|
|
|
|
referencias:
|
|
- archivo: orchestration/analisis/coherencia/COHERENCE-MASTER-REPORT.md
|
|
descripcion: "Reporte maestro de coherencia con todos los gaps identificados"
|
|
|
|
- archivo: orchestration/analisis/coherencia/GAPS-TRACKING.yml
|
|
descripcion: "Tracking detallado de cada gap"
|
|
|
|
- archivo: orchestration/PROXIMA-ACCION.md
|
|
descripcion: "Estado actual y próxima acción inmediata"
|
|
|
|
- archivo: orchestration/analisis/coherencia/DDL-BACKEND-COHERENCE.yml
|
|
descripcion: "Mapeo DDL -> Backend con gaps identificados"
|
|
|
|
- archivo: orchestration/analisis/coherencia/BACKEND-FRONTEND-COHERENCE.yml
|
|
descripcion: "Mapeo Backend -> Frontend con gaps identificados"
|
|
|
|
---
|
|
# Generado por: Claude Code (Opus 4.5)
|
|
# Sistema: SIMCO v4.0.0
|
|
# Fecha: 2026-01-27
|
|
# Version: 1.0.0
|