# 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