--- id: PROMPT-SA-08 agent_id: SA-08 model: claude-sonnet-4.5 type: General background fase: FASE-2 scope: Rebuild DEPENDENCY-GRAPH.yml v2.0.0 mode: write created: 2026-02-06 --- # PROMPT-SA-08: Rebuild DEPENDENCY-GRAPH.yml v2.0.0 (P1) ## Contexto Eres un agente ejecutor de análisis de dependencias. Se ha identificado un gap P1-ALTO: el archivo `DEPENDENCY-GRAPH.yml` está **obsoleto o inexistente**, y necesita ser reconstruido desde el análisis real del código fuente. **Proyecto:** trading-platform **Stack:** Express.js 5 + TypeScript (backend), React 18 + TypeScript (frontend) **Objetivo:** Generar `orchestration/DEPENDENCY-GRAPH.yml` v2.0.0 con el grafo completo de dependencias entre módulos del proyecto. ## Instrucciones ### PASO 1: Analizar dependencias Backend 1. **Listar todos los servicios backend:** - Ubicación: `apps/backend/src/services/` - Usar Glob para encontrar todos los `*.service.ts` - Contar: ~15 servicios esperados 2. **Para cada servicio, identificar imports:** - Leer cada archivo `.service.ts` - Buscar líneas `import { XXX } from './otro-servicio'` o `from '../otro-modulo'` - Identificar dependencias entre servicios - Identificar dependencias con tipos/interfaces compartidos 3. **Identificar módulos:** - Ubicación: `apps/backend/src/modules/` (si existen) - O inferir módulos desde estructura de carpetas - ~18 módulos esperados (auth, trading, market-data, portfolio, etc.) ### PASO 2: Analizar dependencias Frontend 1. **Listar componentes y páginas principales:** - `apps/frontend/src/pages/` - `apps/frontend/src/components/` 2. **Identificar API clients y su uso:** - `apps/frontend/src/services/` o `src/api/` - Ver qué páginas/componentes consumen qué servicios 3. **Mapear dependencias frontend → backend:** - Qué páginas llaman a qué endpoints/servicios backend ### PASO 3: Identificar dependencias cross-module 1. **Trading → Market Data** (ej: obtener precios para órdenes) 2. **Portfolio → Trading** (ej: calcular posiciones desde órdenes) 3. **Auth → [todos]** (casi todo depende de autenticación) 4. **Payments → Trading** (ej: depósitos para trading) 5. Etc. ### PASO 4: Generar DEPENDENCY-GRAPH.yml Estructura del archivo: ```yaml version: "2.0.0" project: trading-platform updated: "2026-02-06" description: "Grafo de dependencias entre módulos del proyecto" metadata: total_modules: 18 total_services: 15 analysis_date: "2026-02-06" analysis_tool: "Manual source code analysis" # Módulos de negocio modules: - id: auth name: "Authentication & Authorization" layer: backend depends_on: - audit - feature-flags dependents: - trading - portfolio - payments - [casi todos] - id: trading name: "Trading Operations" layer: backend depends_on: - auth - market-data - portfolio - audit dependents: - portfolio - payments # [repetir para 18 módulos] # Servicios backend services: - id: auth-service file: "apps/backend/src/services/auth.service.ts" module: auth depends_on: - user-service - token-service dependents: - trading-service - portfolio-service # [repetir para 15 servicios] # Dependencias frontend → backend frontend_to_backend: - frontend_component: "TradingDashboard" backend_services: - trading-service - market-data-service - portfolio-service # [mapear principales páginas] # Dependencias críticas (ciclos, alto acoplamiento) critical_dependencies: - type: "circular" modules: [trading, portfolio] description: "Trading actualiza portfolio, portfolio consulta trading" severity: medium - type: "high_coupling" module: auth dependents_count: 16 description: "Casi todos los módulos dependen de auth" severity: low ``` ### PASO 5: Validar y escribir archivo 1. Si `DEPENDENCY-GRAPH.yml` existe: leer versión anterior, comparar cambios 2. Si NO existe: crear nuevo archivo 3. Escribir usando herramienta Write 4. Validar YAML con grep o similar ## Restricciones - **MODO WRITE:** Crear/sobrescribir solo `orchestration/DEPENDENCY-GRAPH.yml` - **ANÁLISIS REAL:** Basarse en imports reales del código, NO asumir - **NO EJECUTAR:** No correr builds ni tests, solo análisis estático - Usar Glob + Read para análisis de código - Formato YAML válido obligatorio ## Output Esperado ```markdown ## Resumen del Análisis ### Módulos Identificados: 18 - auth, trading, market-data, portfolio, payments, education, ml, llm, audit, investment, financial, feature-flags, etc. ### Servicios Backend: 15 - auth.service.ts, trading.service.ts, market-data.service.ts, etc. ### Dependencias Críticas: 3 1. Ciclo: trading ↔ portfolio (MEDIUM) 2. Alto acoplamiento: auth → 16 módulos (LOW) 3. [otra si existe] ### Archivo Generado - **Ubicación:** `orchestration/DEPENDENCY-GRAPH.yml` - **Versión:** 2.0.0 - **Tamaño:** ~300 líneas - **Formato:** YAML válido ✅ ## Cambios vs. Versión Anterior [si existía archivo previo, listar diferencias] ## Validación ✅ YAML válido ✅ 18 módulos documentados ✅ 15 servicios mapeados ✅ Dependencias verificadas en código fuente ``` **Compromiso:** Generar DEPENDENCY-GRAPH.yml v2.0.0 completo con análisis real del código.