# 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
