FASE 0 - Preparación y Purga: - Archived 21 completed tasks to _archive/2026-01/ - Marked 4 docs as DEPRECATED - Created 3 baseline coherence reports FASE 1 - DDL-Backend Coherence: - audit.types.ts: +4 types (SystemEvent, TradingAudit, ApiRequestLog, DataAccessLog) - investment.types.ts: +4 types (RiskQuestionnaire, WithdrawalRequest, DailyPerformance, DistributionHistory) - entity.types.ts: +5 types (Symbol, TradingBot, TradingSignal, TradingMetrics, PaperBalance) FASE 2 - Backend-Frontend Coherence: - investmentStore.ts: New Zustand store with 20+ actions - mlStore.ts: New Zustand store with signal caching - alerts.service.ts: New service with 15 functions FASE 3 - Documentation: - OQI-009: Updated to 100% coverage, added ET-MKT-004-productos.md - OQI-010: Created full structure (STATUS.md, ROADMAP-MT4.md, ET-MT4-001-gateway.md) Coherence Baseline Established: - DDL-Backend: 31% (target 95%) - Backend-Frontend: 72% (target 85%) - Global: 39.6% (target 90%) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2.9 KiB
2.9 KiB
05-EJECUCION.md - OQI-006 ML Utility Panels
Resumen de Ejecución
Fecha: 2026-01-26 Agente: Claude Code (claude-opus-4-5-20251101) Epic: OQI-006 Señales ML Estado: COMPLETADA
Análisis Previo
Exploración del Módulo
- Ubicación:
apps/frontend/src/modules/ml/components/ - Componentes existentes: 11 implementados + 1 página
- Gaps identificados: 3 componentes listados en inventario pero no encontrados
Gaps Cerrados
- ModelSelector - Listado pero no existía
- EnsemblePanel - Listado pero no existía
- ICTAnalysisPanel - Listado pero no existía
Componentes Creados
1. ModelSelector.tsx (280 LOC)
Propósito: Selector de modelos ML
Características:
- 3 variantes: dropdown, tabs, cards
- Muestra accuracy y status por modelo
- Soporte para modelos deprecated
- Dropdown con click-outside para cerrar
- Loading state
Types Exportados:
MLModel- Definición de modelo MLModelSelectorProps- Props del componente
2. EnsemblePanel.tsx (320 LOC)
Propósito: Configuración de ensemble
Características:
- 3 métodos de votación: weighted, majority, unanimous
- Sliders de peso con lock individual
- Normalización automática a 100%
- Auto-weight por accuracy
- Validación visual (verde/rojo)
- Umbrales de agreement y confidence
Types Exportados:
ModelWeight- Peso de modeloEnsembleConfig- Configuración completaEnsemblePanelProps- Props del componente
3. ICTAnalysisPanel.tsx (350 LOC)
Propósito: Parámetros de análisis ICT
Características:
- Secciones colapsables:
- Timeframe (analysis + HTF bias)
- Order Blocks (lookback, imbalance, mitigated)
- Fair Value Gaps (size, filled, trend filter)
- Market Structure (swing, BOS, CHOCH)
- Liquidity (BSL, SSL, equal highs/lows)
- Toggle enable/disable por sección
- Save/Reset con tracking de cambios
Types Exportados:
ICTParams- Parámetros ICT completosICTAnalysisPanelProps- Props del componente
Actualizaciones
index.ts
// Model Selection & Configuration Components (OQI-006)
export { default as ModelSelector } from './ModelSelector';
export type { MLModel, ModelSelectorProps } from './ModelSelector';
export { default as EnsemblePanel } from './EnsemblePanel';
export type { ModelWeight, EnsembleConfig, EnsemblePanelProps } from './EnsemblePanel';
export { default as ICTAnalysisPanel } from './ICTAnalysisPanel';
export type { ICTParams, ICTAnalysisPanelProps } from './ICTAnalysisPanel';
Inventarios
- FRONTEND_INVENTORY: ml 12→15, progress 60%→70%
- MASTER_INVENTORY: frontend 139→142
Patrones Utilizados
| Aspecto | Patrón |
|---|---|
| Iconos | lucide-react (Brain, Sparkles, Settings2) |
| Colores | Dark theme (gray-800/900) |
| Exports | default + named types |
| State | useState, useMemo, useCallback |
| Secciones | Colapsables con ChevronDown/Up |