- Add TASK-2026-01-26-OQI-006-ML-UTILITY-PANELS (CAPVED complete) - Update FRONTEND_INVENTORY: ml 12→15, progress 60%→70% - Update MASTER_INVENTORY: frontend 139→142 - Update _INDEX.yml: total 15→16 Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
112 lines
3.7 KiB
Markdown
112 lines
3.7 KiB
Markdown
# 02-ANALISIS.md - OQI-006 ML Utility Panels
|
|
|
|
## Analisis de Comportamiento Esperado
|
|
|
|
### ModelSelector
|
|
**Comportamiento:**
|
|
- Mostrar lista de modelos ML disponibles
|
|
- Permitir selección de modelo activo
|
|
- Mostrar métricas de accuracy por modelo
|
|
- Soportar variantes: dropdown, tabs, cards
|
|
- Indicar estado del modelo (active, training, inactive, deprecated)
|
|
|
|
**Inputs:**
|
|
- `models`: Array de MLModel
|
|
- `selectedModelId`: ID del modelo seleccionado
|
|
- `onModelChange`: Callback de cambio
|
|
- `variant`: 'dropdown' | 'tabs' | 'cards'
|
|
- `showMetrics`: Mostrar accuracy
|
|
|
|
**Outputs:**
|
|
- Componente renderizado según variante
|
|
- Evento de selección de modelo
|
|
|
|
### EnsemblePanel
|
|
**Comportamiento:**
|
|
- Configurar método de votación (weighted, majority, unanimous)
|
|
- Ajustar pesos de cada modelo con sliders
|
|
- Validar que suma de pesos = 100%
|
|
- Permitir bloquear pesos individuales
|
|
- Auto-calcular pesos por accuracy
|
|
|
|
**Inputs:**
|
|
- `config`: EnsembleConfig con weights y thresholds
|
|
- `onConfigChange`: Callback de cambio
|
|
- `onSave/onReset`: Callbacks de acción
|
|
- `readOnly`: Modo lectura
|
|
|
|
**Outputs:**
|
|
- Panel de configuración
|
|
- EnsembleConfig actualizado
|
|
|
|
### ICTAnalysisPanel
|
|
**Comportamiento:**
|
|
- Configurar timeframe de análisis
|
|
- Habilitar/deshabilitar features ICT
|
|
- Ajustar parámetros por sección (Order Blocks, FVG, etc.)
|
|
- Secciones colapsables para organización
|
|
|
|
**Inputs:**
|
|
- `params`: ICTParams con todas las configuraciones
|
|
- `onParamsChange`: Callback de cambio
|
|
- `onSave/onReset`: Callbacks de acción
|
|
|
|
**Outputs:**
|
|
- Panel de configuración con secciones
|
|
- ICTParams actualizado
|
|
|
|
---
|
|
|
|
## Analisis de Capas Impactadas
|
|
|
|
```
|
|
┌─────────────────────────────────────────────┐
|
|
│ FRONTEND │
|
|
├─────────────────────────────────────────────┤
|
|
│ modules/ml/components/ │
|
|
│ ├── ModelSelector.tsx [NUEVO] │
|
|
│ ├── EnsemblePanel.tsx [NUEVO] │
|
|
│ ├── ICTAnalysisPanel.tsx [NUEVO] │
|
|
│ └── index.ts [MODIFICADO] │
|
|
├─────────────────────────────────────────────┤
|
|
│ Dependencias: │
|
|
│ lucide-react │
|
|
│ react (useState, useMemo, useCallback) │
|
|
└─────────────────────────────────────────────┘
|
|
```
|
|
|
|
---
|
|
|
|
## Analisis de Dependencias
|
|
|
|
### Dependencias Externas
|
|
| Paquete | Uso |
|
|
|---------|-----|
|
|
| lucide-react | Iconos (Brain, Sparkles, Settings2, etc.) |
|
|
| react | Framework, hooks |
|
|
|
|
### Componentes Relacionados
|
|
| Componente | Relación |
|
|
|------------|----------|
|
|
| ConfidenceMeter | Muestra confidence del modelo seleccionado |
|
|
| ModelAccuracyDashboard | Comparación de modelos (complementario) |
|
|
| ICTAnalysisCard | Visualización de resultados ICT |
|
|
| EnsembleSignalCard | Muestra señal del ensemble |
|
|
|
|
---
|
|
|
|
## Analisis de Patrones
|
|
|
|
### Patrones Identificados en Módulo ML
|
|
1. **Iconos:** lucide-react (Brain, TrendingUp, etc.)
|
|
2. **Colores:** Dark theme (gray-800, gray-900, border-gray-700)
|
|
3. **Exports:** default export + named type exports
|
|
4. **State:** useState, useMemo, useCallback
|
|
5. **Props:** TypeScript interfaces completas
|
|
|
|
### Patrones Aplicados
|
|
- Consistencia con otros componentes ML
|
|
- Secciones colapsables para paneles complejos
|
|
- Validación de configuración con feedback visual
|
|
- Soporte para modo readOnly
|