- 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>
320 lines
8.8 KiB
Markdown
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
|