trading-platform/orchestration/reportes/ANALISIS-DEPENDENCIAS-2026-01-07.md
rckrdmrd f8252d471e [SIMCO-V38] docs: Actualizar a SIMCO v3.8.0 + documentacion
- HERENCIA-SIMCO.md actualizado con directivas v3.7 y v3.8
- Agregados documentos de arquitectura y planes

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-10 08:53:32 -06:00

320 lines
8.8 KiB
Markdown

# Analisis de Dependencias
## Trading Platform - Fase 4 del Proceso de Planeacion
**Fecha:** 2026-01-07
**Objetivo:** Mapear dependencias entre archivos a modificar
---
## 1. MAPA DE DEPENDENCIAS POR SPRINT
### Sprint 1: ML Engine
```
src/models/range_predictor.py
|-- DEPENDE DE -->
| src/data/features.py (Feature engineering)
| src/data/targets.py (Target calculation)
| src/training/sample_weighting.py (Weights)
|
|-- IMPACTA A -->
src/pipelines/phase2_pipeline.py
src/services/prediction_service.py
src/api/main.py (endpoints)
src/api/main.py
|-- DEPENDE DE -->
| src/services/prediction_service.py
| src/models/*.py (todos los modelos)
|
|-- IMPACTA A -->
apps/backend/src/shared/clients/ml-engine.client.ts
apps/llm-agent/src/tools/ml_tools.py
```
### Sprint 2: Backend
```
src/modules/ml/services/ml-integration.service.ts
|-- DEPENDE DE -->
| src/shared/clients/ml-engine.client.ts (HTTP client)
| src/config/index.ts (ML_ENGINE_URL)
|
|-- IMPACTA A -->
src/modules/ml/controllers/ml.controller.ts
src/modules/trading/services/indicators.service.ts
src/modules/trading/trading.routes.ts
|-- DEPENDE DE -->
| src/core/guards/auth.guard.ts
| src/core/middleware/auth.middleware.ts
|
|-- IMPACTA A -->
apps/frontend/src/services/trading.service.ts
src/modules/users/
|-- DEPENDE DE -->
| src/shared/database/ (PostgreSQL connection)
| src/modules/auth/services/ (User validation)
|
|-- IMPACTA A -->
apps/frontend/src/modules/settings/
```
### Sprint 3: LLM Agent + Trading Agents
```
apps/llm-agent/src/services/mcp_orchestrator.py
|-- DEPENDE DE -->
| apps/mcp-mt4-connector/ (MCP Server)
| apps/mcp-binance-connector/ (MCP Server)
| src/config.py (URLs)
|
|-- IMPACTA A -->
src/tools/trading.py
src/tools/portfolio.py
src/api/routes.py
apps/llm-agent/src/tools/trading.py
|-- DEPENDE DE -->
| src/services/mcp_orchestrator.py
| src/services/risk_manager.py
|
|-- IMPACTA A -->
src/api/auto_trade_routes.py
apps/trading-agents/src/strategies/scalping.py (NUEVO)
|-- DEPENDE DE -->
| src/strategies/base.py
| src/agents/nova.py (consumidor)
|
|-- IMPACTA A -->
config/strategies.yaml
config/agents.yaml
apps/trading-agents/src/persistence/db_manager.py (NUEVO)
|-- DEPENDE DE -->
| PostgreSQL (schema: trading)
| src/agents/base.py (Trade dataclass)
|
|-- IMPACTA A -->
src/agents/atlas.py
src/agents/orion.py
src/agents/nova.py
src/api/main.py
```
### Sprint 4: Frontend
```
src/services/websocket.service.ts
|-- DEPENDE DE -->
| apps/backend/src/core/websocket/websocket.server.ts
| src/stores/tradingStore.ts
|
|-- IMPACTA A -->
src/modules/trading/pages/Trading.tsx
src/modules/trading/components/CandlestickChartWithML.tsx
src/modules/assistant/pages/Assistant.tsx
|-- DEPENDE DE -->
| src/services/chat.service.ts
| apps/llm-agent/src/api/routes.py (SSE streaming)
|
|-- IMPACTA A -->
src/stores/chatStore.ts
src/modules/education/services/certificate.service.ts (NUEVO)
|-- DEPENDE DE -->
| apps/backend/src/modules/education/services/course.service.ts
| PDF generation library (pdfkit o similar)
|
|-- IMPACTA A -->
src/modules/education/pages/CourseDetail.tsx
```
### Sprint 5: Security & Testing
```
apps/database/ddl/rls/*.sql (NUEVO)
|-- DEPENDE DE -->
| apps/database/ddl/schemas/*/tables/*.sql
| PostgreSQL current_setting('app.user_id')
|
|-- IMPACTA A -->
apps/backend/ (debe pasar user_id en conexiones)
apps/backend/src/middleware/rate-limiter.ts
|-- DEPENDE DE -->
| express-rate-limit package
| Redis (opcional, para distributed)
|
|-- IMPACTA A -->
src/index.ts (middleware chain)
e2e/cypress/integration/*.spec.ts (NUEVO)
|-- DEPENDE DE -->
| Todos los endpoints backend
| Todos los componentes frontend
|
|-- IMPACTA A -->
CI/CD pipeline
```
---
## 2. GRAFO DE DEPENDENCIAS CRITICAS
```
PostgreSQL
|
+------------+------------+
| | |
Backend ML Engine Trading Agents
| | |
+------+-----+------------+
|
LLM Agent
|
+---------+---------+
| |
MCP MT4 Connector MCP Binance
|
MT4 Gateway
|
EA Bridge (EXTERNO)
|
MT4 Terminal
```
---
## 3. ARCHIVOS DE ALTO IMPACTO
### Archivos que impactan muchos otros (modificar con cuidado)
| Archivo | Dependientes | Riesgo |
|---------|-------------|--------|
| `apps/ml-engine/src/api/main.py` | Backend, LLM Agent, Frontend | ALTO |
| `apps/backend/src/shared/clients/ml-engine.client.ts` | 5+ servicios | ALTO |
| `apps/llm-agent/src/services/mcp_orchestrator.py` | Tools, API | ALTO |
| `apps/trading-agents/src/agents/base.py` | 3 agentes | ALTO |
| `apps/backend/src/config/index.ts` | Todo el backend | ALTO |
| `apps/frontend/src/stores/tradingStore.ts` | Trading pages | MEDIO |
### Archivos aislados (bajo riesgo de impacto)
| Archivo | Dependientes | Riesgo |
|---------|-------------|--------|
| `apps/trading-agents/src/strategies/scalping.py` | Solo Nova | BAJO |
| `apps/frontend/src/modules/education/services/certificate.service.ts` | Solo CourseDetail | BAJO |
| `e2e/cypress/integration/*.spec.ts` | Ninguno (tests) | BAJO |
---
## 4. ORDEN DE MODIFICACION RECOMENDADO
### Sprint 1 - Orden sugerido
1. `src/data/features.py` - Primero (base de todo)
2. `src/data/targets.py` - Segundo
3. `src/models/range_predictor.py` - Tercero (usa 1 y 2)
4. `src/training/*.py` - Cuarto (reentrenar)
5. `src/api/main.py` - Quinto (exponer)
6. Tests - Ultimo
### Sprint 2 - Orden sugerido
1. `src/shared/clients/ml-engine.client.ts` - Primero (si hay cambios)
2. `src/modules/ml/services/ml-integration.service.ts` - Segundo
3. `src/modules/trading/trading.routes.ts` - Tercero (auth)
4. `src/modules/investment/investment.routes.ts` - Cuarto (auth)
5. `src/modules/users/*` - Quinto (nuevo modulo)
6. Tests - Ultimo
### Sprint 3 - Orden sugerido
1. `src/services/mcp_orchestrator.py` - Primero (fundacion)
2. `src/tools/trading.py` - Segundo (usa orchestrator)
3. `src/strategies/scalping.py` - Tercero (independiente)
4. `src/persistence/db_manager.py` - Cuarto (independiente)
5. Agentes (atlas, orion, nova) - Quinto (integran persistencia)
6. API updates - Ultimo
### Sprint 4 - Orden sugerido
1. Backend WebSocket fixes (si necesario) - Primero
2. `src/services/websocket.service.ts` - Segundo
3. Components (Trading, Chat) - Tercero
4. `src/services/certificate.service.ts` - Cuarto
5. Investment module - Quinto
### Sprint 5 - Orden sugerido
1. DDL RLS scripts - Primero (DB nivel)
2. Backend rate limiter - Segundo
3. MCP auth - Tercero
4. E2E tests - Ultimo (requiere todo funcional)
---
## 5. CONFLICTOS POTENCIALES
### 5.1 Archivos con multiples modificadores
| Archivo | Sprints | Conflicto |
|---------|---------|-----------|
| `apps/backend/src/index.ts` | 2, 5 | Middleware chain |
| `apps/trading-agents/config/agents.yaml` | 3 | Scalping config |
**Mitigacion:** Coordinar commits, usar feature branches
### 5.2 Interfaces compartidas
| Interface | Componentes | Riesgo |
|-----------|-------------|--------|
| ML Signal format | ML Engine, Backend, LLM Agent | Si cambia, rompe 3 componentes |
| Trade execution | LLM Agent, Trading Agents, MCP | Si cambia, rompe integracion |
**Mitigacion:** Versionar interfaces, backward compatibility
---
## 6. DEPENDENCIAS EXTERNAS
| Dependencia | Componente | Criticidad | Alternativa |
|-------------|------------|------------|-------------|
| EA Bridge | MCP MT4 | CRITICA | Mock service |
| Binance API | MCP Binance | ALTA | Testnet |
| Ollama | LLM Agent | ALTA | Claude API |
| PostgreSQL | Todos | CRITICA | Ninguna |
| Redis | Backend | MEDIA | In-memory |
---
## 7. VALIDACION DE INTEGRACION
### Tests de integracion requeridos entre componentes
| Desde | Hacia | Test Requerido |
|-------|-------|----------------|
| Backend | ML Engine | `/api/v1/ml/health` responde |
| LLM Agent | MCP MT4 | Tool execution funciona |
| Frontend | Backend WS | Conexion WebSocket estable |
| Trading Agents | PostgreSQL | Trades persisten |
---
## 8. RECOMENDACIONES
1. **Crear interfaces versionadas** antes de modificar componentes
2. **Feature flags** para cambios grandes (ej: live trading)
3. **Contract tests** entre servicios
4. **Rollback plan** documentado por sprint
5. **Ambiente staging** para integracion
---
**Analisis completado:** 2026-01-07
**Siguiente paso:** Fase 5 - Refinamiento del Plan