# EFFORT-ESTIMATES.yml - Trading Platform # Sistema: SIMCO v4.0.0 # Fecha: 2026-01-27 # Fuente: COHERENCE-MASTER-REPORT.md + PROJECT-STATUS.md metadata: proyecto: trading-platform fecha_analisis: 2026-01-27 version: 1.0.0 estado_actual: Desarrollo Activo - Post MVP completitud_global: 60% coherencia_global: 81.25% metodologia: CAPVED fuentes: - orchestration/analisis/coherencia/COHERENCE-MASTER-REPORT.md - orchestration/PROJECT-STATUS.md - orchestration/analisis/coherencia/GAPS-TRACKING.yml # ============================================================ # RESUMEN EJECUTIVO # ============================================================ resumen: total_horas: 208 total_semanas: 5.2 jornada_semanal: 40 total_gaps: 12 distribucion: p0_bloqueantes: 54h p1_criticos: 76h p2_importantes: 78h estado_actual: horas_completadas: 0 horas_pendientes: 208 progreso_porcentaje: 0% target: coherencia_deseada: 95% coherencia_actual: 81.25% gap_coherencia: 13.75% # ============================================================ # ESTIMACIONES POR PRIORIDAD # ============================================================ por_prioridad: P0_BLOQUEANTES: descripcion: "Impiden produccion - CRITICO" horas_totales: 54 items: 3 semanas: 1.35 sla: "Inmediato - Semana 1-2" detalle: - id: GAP-P0-001 descripcion: "Password Recovery sin UI" epica: OQI-001 (Auth) capa: Frontend impacto: "Usuarios no pueden recuperar cuenta" horas: 8 skills: [React, TypeScript, Zustand] componentes: - PasswordRecoveryForm.tsx - ForgotPasswordPage.tsx - Integration con /auth/forgot-password endpoint dependencias: [] - id: GAP-P0-002 descripcion: "User Profile sin servicio" epica: OQI-001 (Auth) capa: Backend + Frontend impacto: "No hay gestion de perfil" horas: 6 skills: [TypeScript, Express.js, React] componentes: - userService.ts (backend) - user.service.ts (frontend) - ProfilePage integration dependencias: [] - id: GAP-P0-003 descripcion: "Trading Agents sin UI" epica: OQI-006 (ML Signals) capa: Frontend impacto: "Feature core Atlas/Orion/Nova sin interfaz" horas: 40 skills: [React, TypeScript, TanStack Query, Charts] componentes: - AgentDashboard.tsx - AgentCard.tsx - AgentPerformance.tsx - Integration con /ml/agents endpoints (port 3086) dependencias: [Backend agents OK] notas: "Tarea grande - considerar partir en 3 subtareas (Atlas, Orion, Nova)" P1_CRITICOS: descripcion: "Afectan funcionalidad core - URGENTE" horas_totales: 76 items: 4 semanas: 1.9 sla: "Semana 3-4" detalle: - id: GAP-P1-001 descripcion: "Market Data OHLCV sin servicio" epica: OQI-003 (Trading) capa: Backend impacto: "Charts afectados - datos historicos incompletos" horas: 16 skills: [TypeScript, Express.js, PostgreSQL] componentes: - marketData.service.ts (backend) - GET /api/market-data/ohlcv/:symbol - Query a market_data.ohlcv table dependencias: [DDL OK] - id: GAP-P1-002 descripcion: "Notifications sin API completa" epica: OQI-001 (Auth) capa: Backend impacto: "Push notifications incompletas" horas: 20 skills: [TypeScript, Express.js, FCM, APNs, WebSocket] componentes: - notifications.service.ts (backend) - POST /api/notifications/send - PUT /api/notifications/:id/read - WebSocket integration (port 3082) dependencias: [] - id: GAP-P1-003 descripcion: "ML Chart Overlays sin UI" epica: OQI-006 (ML Signals) capa: Frontend impacto: "Visualizacion ML no conectada a charts" horas: 24 skills: [React, TypeScript, lightweight-charts, TanStack Query] componentes: - ChartOverlay.tsx - PredictionLayer.tsx - Integration con mlService.ts (port 3083) dependencias: [ML Backend OK] - id: GAP-P1-004 descripcion: "2FA sin flujo completo" epica: OQI-001 (Auth) capa: Backend + Frontend impacto: "Seguridad avanzada no disponible" horas: 16 skills: [TypeScript, React, TOTP, QR Codes] componentes: - TwoFactorSetup.tsx - TwoFactorVerify.tsx - Backend 2FA endpoints - QR generation dependencias: [] P2_IMPORTANTES: descripcion: "Mejoran experiencia - MEDIO PLAZO" horas_totales: 78 items: 5 semanas: 1.95 sla: "Semana 5-6" detalle: - id: GAP-P2-001 descripcion: "Audit system sin servicios" epica: OQI-001 (Auth) capa: Backend impacto: "Sin consultas de auditoria" horas: 32 skills: [TypeScript, Express.js, PostgreSQL] componentes: - audit.service.ts (backend) - GET /api/audit/logs - GET /api/audit/user/:userId - Query optimization (audit.logs puede crecer mucho) dependencias: [DDL OK] - id: GAP-P2-002 descripcion: "Currency Exchange sin servicio" epica: OQI-005 (Payments) capa: Backend impacto: "Multi-moneda incompleto" horas: 16 skills: [TypeScript, Express.js, External API] componentes: - currencyExchange.service.ts (backend) - GET /api/currency/rates - POST /api/currency/convert - Integration con API externa (exchangerate-api) dependencias: [] - id: GAP-P2-003 descripcion: "Risk Assessment sin servicio" epica: OQI-004 (Investment) capa: Backend impacto: "Cuestionario riesgo desconectado" horas: 12 skills: [TypeScript, Express.js, PostgreSQL] componentes: - riskAssessment.service.ts (backend) - POST /api/investment/risk-assessment - GET /api/investment/risk-profile/:userId - Scoring logic dependencias: [DDL OK] - id: GAP-P2-004 descripcion: "Course Reviews sin endpoints" epica: OQI-002 (Education) capa: Backend impacto: "Reviews no disponibles" horas: 6 skills: [TypeScript, Express.js, PostgreSQL] componentes: - courseReviews.service.ts (backend) - POST /api/courses/:id/reviews - GET /api/courses/:id/reviews - Rating aggregation dependencias: [DDL OK] - id: GAP-P2-005 descripcion: "OAuth flows incompletos" epica: OQI-001 (Auth) capa: Frontend impacto: "Login social parcial (solo Google, falta GitHub/Apple)" horas: 12 skills: [React, TypeScript, OAuth 2.0] componentes: - GitHubLoginButton.tsx - AppleLoginButton.tsx - OAuth callback handlers dependencias: [Backend OAuth OK] # ============================================================ # ESTIMACIONES POR TIPO DE TRABAJO # ============================================================ por_tipo: ddl: horas: 0 items: 0 porcentaje: 0% estado: "COMPLETO - 89 tablas, 10 schemas" notas: "DDL al 100% - pgvector agregado 2026-01-27" backend: horas: 108 items: 7 porcentaje: 51.9% detalle: - GAP-P0-002 (User Profile service): 6h - GAP-P1-001 (Market Data OHLCV): 16h - GAP-P1-002 (Notifications API): 20h - GAP-P1-004 (2FA backend): 8h - GAP-P2-001 (Audit system): 32h - GAP-P2-002 (Currency Exchange): 16h - GAP-P2-003 (Risk Assessment): 12h - GAP-P2-004 (Course Reviews): 6h skills_requeridas: - TypeScript: 108h - Express.js: 108h - PostgreSQL: 66h - External APIs: 16h - WebSocket: 20h frontend: horas: 92 items: 6 porcentaje: 44.2% detalle: - GAP-P0-001 (Password Recovery UI): 8h - GAP-P0-003 (Trading Agents UI): 40h - GAP-P1-003 (ML Chart Overlays): 24h - GAP-P1-004 (2FA frontend): 8h - GAP-P2-005 (OAuth flows): 12h skills_requeridas: - React: 92h - TypeScript: 92h - Zustand: 16h - TanStack Query: 64h - lightweight-charts: 24h - OAuth 2.0: 12h tests: horas: 0 items: 0 porcentaje: 0% notas: "No incluido en estimaciones gaps - agregar 20% adicional" recomendacion: "41.6h adicionales para tests (20% de 208h)" docs: horas: 8 items: 1 porcentaje: 3.9% detalle: - Actualizar Swagger con nuevos endpoints: 4h - Actualizar GAPS-TRACKING.yml: 2h - Actualizar inventarios coherencia: 2h # ============================================================ # ESTIMACIONES POR EPICA # ============================================================ por_epica: OQI-001_Auth: horas: 70 items: 5 gaps: [GAP-P0-001, GAP-P0-002, GAP-P1-002, GAP-P1-004, GAP-P2-001, GAP-P2-005] coherencia_actual: 93% coherencia_target: 98% OQI-002_Education: horas: 6 items: 1 gaps: [GAP-P2-004] coherencia_actual: 95% coherencia_target: 98% OQI-003_Trading: horas: 16 items: 1 gaps: [GAP-P1-001] coherencia_actual: 98% coherencia_target: 100% OQI-004_Investment: horas: 12 items: 1 gaps: [GAP-P2-003] coherencia_actual: 97% coherencia_target: 99% OQI-005_Payments: horas: 16 items: 1 gaps: [GAP-P2-002] coherencia_actual: 92% coherencia_target: 98% OQI-006_ML_Signals: horas: 64 items: 2 gaps: [GAP-P0-003, GAP-P1-003] coherencia_actual: 82% coherencia_target: 95% notas: "Mayor gap - UI agents critica" OQI-007_LLM_Agent: horas: 0 items: 0 gaps: [] coherencia_actual: 89% notas: "Gaps no incluidos en P0-P2 - requiere analisis FASE 2" OQI-008_Portfolio: horas: 0 items: 0 gaps: [] coherencia_actual: 97% notas: "Alta coherencia - sin gaps criticos" OQI-009_MT4: horas: 0 items: 0 gaps: [] coherencia_actual: 0% notas: "NO INICIADO - fuera de scope actual" # ============================================================ # RECURSOS NECESARIOS # ============================================================ recursos_necesarios: perfiles: typescript_fullstack_developer: horas: 200 descripcion: "Backend + Frontend TypeScript" skills: [TypeScript, Express.js, React, Zustand, PostgreSQL] asignacion: - GAP-P0-001 (8h) - GAP-P0-002 (6h) - GAP-P0-003 (40h) - GAP-P1-001 (16h) - GAP-P1-002 (20h) - GAP-P1-003 (24h) - GAP-P1-004 (16h) - GAP-P2-001 (32h) - GAP-P2-002 (16h) - GAP-P2-003 (12h) - GAP-P2-004 (6h) - GAP-P2-005 (12h) semanas: 5 qa_engineer: horas: 42 descripcion: "Testing + Validacion" skills: [Jest, Playwright, E2E Testing, API Testing] asignacion: - Tests para todos los gaps: 41.6h - Validacion integracion: 8h semanas: 1 tech_lead: horas: 16 descripcion: "Code review + Arquitectura" skills: [Architecture, Code Review, Performance] asignacion: - Review PRs: 12h - Validacion arquitectural: 4h semanas: 0.4 (distribuido en 5 semanas) total_personas: 1-2 fullstack + 1 QA + 1 tech lead (part-time) # ============================================================ # TIMELINE RECOMENDADO # ============================================================ timeline: semana_1_2: periodo: "2026-01-27 a 2026-02-07" enfoque: "Gaps P0 - Bloqueantes" horas: 54 items: - GAP-P0-001: Password Recovery UI (8h) - GAP-P0-002: User Profile service (6h) - GAP-P0-003: Trading Agents UI - Fase 1 (40h) entregables: - Password recovery funcional - Profile page conectada a backend - AgentDashboard base implementado checkpoint: "CP-01: Gaps P0 = 0" semana_3_4: periodo: "2026-02-10 a 2026-02-21" enfoque: "Gaps P1 - Criticos" horas: 76 items: - GAP-P1-001: Market Data OHLCV service (16h) - GAP-P1-002: Notifications API completa (20h) - GAP-P1-003: ML Chart Overlays (24h) - GAP-P1-004: 2FA flujo completo (16h) entregables: - OHLCV data disponible en charts - Push notifications funcionales - ML predictions visible en charts - 2FA setup completo checkpoint: "CP-02: Cobertura Backend-Frontend >= 90%" semana_5_6: periodo: "2026-02-24 a 2026-03-07" enfoque: "Gaps P2 - Importantes" horas: 78 items: - GAP-P2-001: Audit system servicios (32h) - GAP-P2-002: Currency Exchange (16h) - GAP-P2-003: Risk Assessment (12h) - GAP-P2-004: Course Reviews (6h) - GAP-P2-005: OAuth flows (12h) entregables: - Audit logs consultables - Multi-moneda funcional - Risk profiling disponible - Course reviews activas - GitHub/Apple login checkpoint: "CP-03: Coherencia Global >= 95%" semana_7_8: periodo: "2026-03-10 a 2026-03-21" enfoque: "Consolidacion Arquitectural" horas: 40 items: - Migrar acceso Python via Express gateway (16h) - Migrar servicios a apiClient (12h) - Tests de integracion E2E (12h) entregables: - Todos los servicios via apiClient - Python acceso centralizado - Test coverage >= 70% checkpoint: "CP-04: Servicios apiClient = 100%" # ============================================================ # RIESGOS Y FACTORES DE AJUSTE # ============================================================ riesgos_estimacion: - id: RISK-001 descripcion: "ML integration puede exceder estimado" gaps_afectados: [GAP-P0-003, GAP-P1-003] probabilidad: MEDIA factor_ajuste: 1.3x horas_adicionales: 19.2h mitigacion: "Partir GAP-P0-003 en 3 subtareas (Atlas, Orion, Nova)" - id: RISK-002 descripcion: "External APIs pueden requerir mas tiempo" gaps_afectados: [GAP-P2-002] probabilidad: BAJA factor_ajuste: 1.2x horas_adicionales: 3.2h mitigacion: "Usar mock data si API externa falla" - id: RISK-003 descripcion: "Audit system query optimization compleja" gaps_afectados: [GAP-P2-001] probabilidad: MEDIA factor_ajuste: 1.15x horas_adicionales: 4.8h mitigacion: "Implementar pagination desde inicio" - id: RISK-004 descripcion: "WebSocket integration puede requerir refactor" gaps_afectados: [GAP-P1-002] probabilidad: BAJA factor_ajuste: 1.1x horas_adicionales: 2h mitigacion: "Validar WebSocket existente funciona correctamente" - id: RISK-005 descripcion: "OAuth providers pueden requerir mas configuracion" gaps_afectados: [GAP-P2-005] probabilidad: BAJA factor_ajuste: 1.2x horas_adicionales: 2.4h mitigacion: "Consultar documentacion oficial antes de iniciar" total_horas_riesgo: 31.6h estimacion_conservadora: 239.6h (208h + 31.6h) semanas_conservadoras: 6.0 # ============================================================ # INCONSISTENCIAS ARQUITECTURALES (Adicional) # ============================================================ refactoring_arquitectural: descripcion: "Consolidacion post-gaps" horas: 40 incluido_en_timeline: true semanas: "7-8" items: - id: ARCH-001 descripcion: "Migrar mlService.ts a usar Express gateway" horas: 8 razon: "Actualmente accede directo a Python (3083)" - id: ARCH-002 descripcion: "Migrar llmAgentService.ts a usar Express gateway" horas: 8 razon: "Actualmente accede directo a Python (3085)" - id: ARCH-003 descripcion: "Migrar backtestService.ts a usar Express gateway" horas: 6 razon: "Actualmente accede directo a Python (3083)" - id: ARCH-004 descripcion: "Migrar portfolio.service.ts a apiClient" horas: 4 razon: "No usa apiClient centralizado" - id: ARCH-005 descripcion: "Migrar adminService.ts a apiClient" horas: 4 razon: "No usa apiClient centralizado" - id: ARCH-006 descripcion: "Tests de integracion E2E" horas: 10 razon: "Validar toda la cadena DDL->Backend->Frontend" # ============================================================ # METRICAS DE VALIDACION # ============================================================ metricas_validacion: checkpoints: CP-01: nombre: "Gaps P0 resueltos" criterio: "0 bloqueantes" fecha_target: "2026-02-07" validacion: - Password recovery funcional en produccion - User profile accesible via UI - Trading Agents UI desplegada (minimo viable) CP-02: nombre: "Cobertura Backend-Frontend" criterio: ">= 90%" fecha_target: "2026-02-21" validacion: - 187 endpoints, 168+ consumidos (90%) - ML predictions visible en charts - Notifications push funcionales CP-03: nombre: "Coherencia Global" criterio: ">= 95%" fecha_target: "2026-03-07" validacion: - DDL-Backend >= 95% - Backend-Frontend >= 90% - Promedio >= 95% CP-04: nombre: "Servicios apiClient" criterio: "100%" fecha_target: "2026-03-21" validacion: - Todos los servicios usan apiClient - Ningun acceso directo a Python - Test coverage >= 70% progreso_actual_vs_target: coherencia_global: actual: 81.25% target: 95% gap: -13.75% gaps_p0: actual: 3 target: 0 gap: -3 gaps_p1: actual: 4 target: 0 gap: -4 servicios_apiClient: actual: 64% target: 100% gap: -36% # ============================================================ # RECOMENDACIONES FINALES # ============================================================ recomendaciones: prioridad_inmediata: - "Iniciar GAP-P0-001 (Password Recovery) - Quick win 8h" - "Iniciar GAP-P0-002 (User Profile service) - Quick win 6h" - "Planificar GAP-P0-003 en 3 sprints (Atlas, Orion, Nova)" organizacion: - "Asignar 1 fullstack developer full-time para P0+P1" - "Considerar contratar QA engineer para semana 3" - "Tech lead debe revisar PRs cada 2 dias" riesgos: - "Aplicar factor 1.3x a ML integration (GAP-P0-003, GAP-P1-003)" - "Validar WebSocket funcional antes de GAP-P1-002" - "Partir tareas >20h en subtareas" documentacion: - "Actualizar GAPS-TRACKING.yml cada viernes" - "Documentar decisiones arquitecturales en ADRs" - "Actualizar PROJECT-STATUS.md al completar cada checkpoint" calidad: - "Agregar tests antes de cerrar cada gap" - "Code review obligatorio antes de merge" - "Validar coherencia DDL-Backend-Frontend en cada PR" # ============================================================ # METADATA FINAL # ============================================================ generado_por: Claude Code (Opus 4.5) sistema: SIMCO v4.0.0 fecha_creacion: 2026-01-27 version: 1.0.0 estado: DRAFT proxima_revision: 2026-02-03 notas: - "Estimaciones basadas en COHERENCE-MASTER-REPORT.md" - "No incluye tests (agregar 20% = 41.6h)" - "No incluye OQI-009 MT4 (0% funcional, fuera de scope)" - "Refactoring arquitectural incluido en semanas 7-8" - "Estimacion conservadora: 239.6h (con riesgos)"