trading-platform/docs/90-transversal/gaps/ANALISIS-GAPS-DOCUMENTACION.md
Adrian Flores Cortes df43dd90cb [F0-F2] feat: Coherence analysis baseline + entity types + frontend stores
FASE 0 - Preparación y Purga:
- Archived 21 completed tasks to _archive/2026-01/
- Marked 4 docs as DEPRECATED
- Created 3 baseline coherence reports

FASE 1 - DDL-Backend Coherence:
- audit.types.ts: +4 types (SystemEvent, TradingAudit, ApiRequestLog, DataAccessLog)
- investment.types.ts: +4 types (RiskQuestionnaire, WithdrawalRequest, DailyPerformance, DistributionHistory)
- entity.types.ts: +5 types (Symbol, TradingBot, TradingSignal, TradingMetrics, PaperBalance)

FASE 2 - Backend-Frontend Coherence:
- investmentStore.ts: New Zustand store with 20+ actions
- mlStore.ts: New Zustand store with signal caching
- alerts.service.ts: New service with 15 functions

FASE 3 - Documentation:
- OQI-009: Updated to 100% coverage, added ET-MKT-004-productos.md
- OQI-010: Created full structure (STATUS.md, ROADMAP-MT4.md, ET-MT4-001-gateway.md)

Coherence Baseline Established:
- DDL-Backend: 31% (target 95%)
- Backend-Frontend: 72% (target 85%)
- Global: 39.6% (target 90%)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-28 22:08:04 -06:00

334 lines
9.3 KiB
Markdown

---
id: "ANALISIS-GAPS-DOCUMENTACION"
title: "Documentación Trading Platform vs Gamilit"
type: "Documentation"
project: "trading-platform"
version: "1.0.0"
updated_date: "2026-01-04"
status: "OUTDATED"
---
> **OUTDATED (2026-01-28)**
> Este analisis fue realizado en 2025-12-05 y las metricas han cambiado significativamente.
> Desde entonces se han agregado inventarios YAML consolidados (DATABASE, BACKEND, FRONTEND, ML).
> Los gaps de trazabilidad han sido parcialmente cerrados.
> Contiene link roto a ruta absoluta "/home/isem" que ya no es valida.
> Para estado actual, consultar INVENTORY-SYNC-REPORT.md en esta carpeta.
# Análisis de Gaps: Documentación Trading Platform vs Gamilit
**Fecha:** 2025-12-05
**Autor:** Requirements-Analyst
**Estado:** ~~Crítico~~ PARCIALMENTE RESUELTO
---
## Resumen Ejecutivo
La documentación actual de Trading Platform **NO cumple** con la filosofía y estructura de Gamilit. Aunque sigue una estructura similar superficialmente, carece de los elementos críticos que hacen funcional el sistema documental:
| Métrica | Trading Platform | Gamilit | Gap |
|---------|-----------------|---------|-----|
| Archivos Markdown | 168 | 469 | -64% |
| Archivos YAML (Trazabilidad) | 1 | 21 | -95% |
| Inventarios Consolidados | 0 | 4 | -100% |
| TRACEABILITY.yml por épica | 1/8 (12.5%) | 100% | -87.5% |
| Documentación Transversal | 0% | 95% | -95% |
---
## Problema Principal
La documentación actual es **descriptiva pero no funcional**:
### Lo que TIENE (Descripción)
- README.md con descripciones de épicas
- Requerimientos funcionales (RF-xxx)
- Especificaciones técnicas (ET-xxx)
- Historias de usuario (US-xxx)
### Lo que FALTA (Funcionalidad)
1. **Sin Inventario de Objetos** - No hay registro centralizado de:
- Tablas de BD creadas
- Endpoints de API
- Componentes frontend
- Modelos ML
2. **Sin Trazabilidad Real** - No se puede:
- Rastrear un requerimiento hasta el código
- Identificar qué código implementa qué user story
- Ver dependencias entre componentes
3. **Sin Control de Duplicados** - No hay forma de:
- Verificar si un endpoint ya existe
- Saber si una tabla ya fue creada
- Detectar funcionalidades duplicadas
---
## Gaps Críticos Detallados
### GAP-1: Sin Inventarios Consolidados (CRÍTICO)
**Impacto:** Imposible saber qué objetos existen en el proyecto
**En Gamilit existe:**
```yaml
# DATABASE_INVENTORY.yml
schemas: 13
tables: 104
indexes: 162
functions: 36
triggers: 18
views: 22
enums: 15
rls_policies: 45
total_objects: 415
```
**En Trading Platform:** NO EXISTE
**Consecuencia:**
- No sabemos cuántas tablas tenemos
- No sabemos cuántos endpoints
- Riesgo alto de duplicar funcionalidad
---
### GAP-2: TRACEABILITY.yml Solo en 1/8 Épicas (CRÍTICO)
**Impacto:** Sin mapeo de requerimientos a código en 7 épicas
**Situación:**
| Épica | TRACEABILITY.yml |
|-------|------------------|
| OQI-001 | ✅ Existe |
| OQI-002 | ❌ NO EXISTE |
| OQI-003 | ❌ NO EXISTE |
| OQI-004 | ❌ NO EXISTE |
| OQI-005 | ❌ NO EXISTE |
| OQI-006 | ❌ NO EXISTE |
| OQI-007 | ❌ NO EXISTE |
| OQI-008 | ❌ NO EXISTE |
**Consecuencia:**
- Los RF/ET/US de OQI-002 a OQI-008 son documentos "huérfanos"
- No se puede verificar implementación vs especificación
- No hay lista de archivos a crear
---
### GAP-3: Documentación Transversal Vacía (CRÍTICO)
**Impacto:** Sin métricas, roadmap, ni tracking de sprints
**Directorios vacíos:**
```
/docs/90-transversal/
├── sprints/ ❌ VACÍO
├── metricas/ ❌ VACÍO
├── roadmap/ ❌ VACÍO
└── gaps/ ❌ VACÍO (hasta ahora)
```
**Consecuencia:**
- No hay tracking de progreso por sprint
- No hay métricas de proyecto
- No hay visibilidad de deuda técnica
---
### GAP-4: Sin Índice Maestro (_MAP.md raíz)
**Impacto:** Difícil navegación del proyecto
**En Gamilit:** `/docs/_MAP.md` es el punto de entrada único
**En Trading Platform:** NO EXISTE
---
### GAP-5: Sin Guías de Desarrollo
**Impacto:** Desarrolladores sin referencia técnica
**Directorios vacíos:**
```
/docs/95-guias-desarrollo/
├── backend/ ❌ VACÍO
├── frontend/ ❌ VACÍO
├── database/ ❌ VACÍO
└── ml-engine/ ❌ VACÍO
```
---
### GAP-6: Referencias Cruzadas Inconsistentes
**Impacto:** No se puede navegar de RF → ET → US → Código
**Ejemplo del problema:**
En `RF-AUTH-001-oauth.md`:
```markdown
## Referencias
- ET-AUTH-001-oauth.md ← Link manual, puede romperse
```
**En Gamilit (correcto):**
```yaml
# TRACEABILITY.yml
RF-AUTH-001:
specs: [ET-AUTH-001]
user_stories: [US-AUTH-003, US-AUTH-004]
implementation:
database:
- schema: auth
tables: [oauth_accounts, oauth_providers]
backend:
- path: src/modules/auth/services/oauth.service.ts
frontend:
- path: src/features/auth/components/OAuthButtons.tsx
```
---
## Plan de Corrección
### Fase 1: Críticos (Antes de OQI-002)
| # | Acción | Esfuerzo | Prioridad |
|---|--------|----------|-----------|
| 1 | Crear `/docs/_MAP.md` (índice maestro) | 2h | P0 |
| 2 | Crear `DATABASE_INVENTORY.yml` | 4h | P0 |
| 3 | Crear `BACKEND_INVENTORY.yml` | 3h | P0 |
| 4 | Crear `FRONTEND_INVENTORY.yml` | 2h | P0 |
| 5 | Crear `TRACEABILITY.yml` para OQI-002 a OQI-008 | 8h | P0 |
| 6 | Poblar `/docs/90-transversal/roadmap/` | 2h | P0 |
**Total Fase 1:** ~21 horas
### Fase 2: Importantes (Durante OQI-002 a OQI-004)
| # | Acción | Esfuerzo | Prioridad |
|---|--------|----------|-----------|
| 7 | Crear estructura de sprints | 4h | P1 |
| 8 | Crear estructura de métricas | 3h | P1 |
| 9 | Crear guía backend básica | 4h | P1 |
| 10 | Crear guía frontend básica | 4h | P1 |
| 11 | Crear guía database básica | 4h | P1 |
**Total Fase 2:** ~19 horas
### Fase 3: Complementarios (Durante OQI-005 a OQI-008)
| # | Acción | Esfuerzo | Prioridad |
|---|--------|----------|-----------|
| 12 | Completar todas las guías | 8h | P2 |
| 13 | Crear análisis de reutilización Gamilit | 4h | P2 |
| 14 | Documentar estándares | 4h | P2 |
| 15 | Crear templates reutilizables | 4h | P2 |
**Total Fase 3:** ~20 horas
---
## Estructura Objetivo (Post-Corrección)
```
docs/
├── _MAP.md ← NUEVO: Índice maestro
├── 00-vision-general/
│ └── _MAP.md
├── 01-arquitectura/
│ ├── ARQUITECTURA-UNIFICADA.md ✅ Existe
│ └── INTEGRACION-TRADINGAGENT.md ✅ Existe
├── 02-definicion-modulos/
│ ├── _MAP.md ✅ Actualizado
│ ├── OQI-001-fundamentos-auth/
│ │ ├── implementacion/
│ │ │ └── TRACEABILITY.yml ✅ Existe
│ ├── OQI-002-education/
│ │ ├── implementacion/
│ │ │ └── TRACEABILITY.yml ← NUEVO
│ ├── ... (igual para OQI-003 a OQI-008)
├── 90-transversal/
│ ├── inventarios/
│ │ ├── DATABASE_INVENTORY.yml ← NUEVO
│ │ ├── BACKEND_INVENTORY.yml ← NUEVO
│ │ ├── FRONTEND_INVENTORY.yml ← NUEVO
│ │ └── ML_INVENTORY.yml ← NUEVO
│ ├── sprints/
│ │ └── SPRINT-XX.md ← NUEVOS
│ ├── roadmap/
│ │ └── ROADMAP-GENERAL.md ← NUEVO
│ ├── metricas/
│ │ └── KPIs.md ← NUEVO
│ └── gaps/
│ └── ANALISIS-GAPS.md ✅ Este documento
├── 95-guias-desarrollo/
│ ├── backend/
│ │ └── GUIA-BACKEND.md ← NUEVO
│ ├── frontend/
│ │ └── GUIA-FRONTEND.md ← NUEVO
│ ├── database/
│ │ └── GUIA-DATABASE.md ← NUEVO
│ └── ml-engine/
│ └── GUIA-ML.md ← NUEVO
└── 97-adr/
└── ... (existentes)
```
---
## Beneficios Post-Corrección
### 1. Trazabilidad Completa
- Cada requerimiento mapeado a código
- Fácil auditoría de completitud
### 2. Prevención de Duplicados
- Inventarios centralizados evitan crear objetos repetidos
- Búsqueda rápida antes de implementar
### 3. Onboarding Rápido
- Nuevo desarrollador puede entender el proyecto en <30 min
- Guías específicas por tecnología
### 4. Control de Progreso
- Métricas visibles
- Tracking por sprint
### 5. Mantenibilidad
- Referencias cruzadas actualizadas
- Impacto de cambios visible
---
## Decisión Requerida
**Pregunta al Product Owner:**
¿Procedemos con la Fase 1 de corrección (~21 horas) ANTES de comenzar la implementación de OQI-002?
**Opciones:**
1. **Sí, corregir primero** - Documentación sólida, desarrollo más ordenado
2. **No, implementar y documentar en paralelo** - Más rápido pero mayor riesgo de inconsistencias
3. **Híbrido** - Crear inventarios vacíos y llenarlos durante implementación
---
## Referencias
> **Nota:** Para patrones reutilizables, consultar el catálogo central en lugar de proyectos específicos.
- **Catálogo de patrones:** `shared/catalog/` *(componentes reutilizables)*
- **Estándar de documentación:** `core/standards/ESTANDAR-ESTRUCTURA-DOCUMENTACION.md`
- [TRACEABILITY.yml OQI-001](/home/isem/workspace/projects/trading-platform/docs/02-definicion-modulos/OQI-001-fundamentos-auth/implementacion/TRACEABILITY.yml)
---
*Documento generado por Requirements-Analyst*
*Sistema NEXUS - Trading Platform*