# HALLAZGOS DEL ANALISIS DOCUMENTAL # Proyecto: template-saas # Fecha: 2026-01-10 # Fase: Analisis Detallado (Fase 2) --- ## RESUMEN EJECUTIVO Se identificaron **23 discrepancias** entre la documentacion y el codigo real: - **5 CRITICAS**: Documentacion faltante para modulos implementados - **8 ALTAS**: Incoherencias estructurales significativas - **10 MEDIAS**: Inconsistencias menores de conteo o nomenclatura --- ## 1. DISCREPANCIA CRITICA: NUMERACION DE MODULOS ### Problema Identificado Existe una **discrepancia severa** entre la numeracion de modulos en diferentes archivos: | Codigo | Segun _MAP.md | Segun CONTEXT-MAP.yml | Segun docs/01-modulos/ (REAL) | |--------|---------------|----------------------|-------------------------------| | SAAS-006 | Onboarding | Onboarding | **AI Integration** | | SAAS-007 | Notifications | Notifications | Notifications | | SAAS-008 | Feature Flags | Feature Flags | **Audit Logs** | | SAAS-009 | Audit | Audit | **Feature Flags** | | SAAS-010 | AI Integration | AI Integration | **Webhooks** | | SAAS-011 | Portal User | Portal User | **Storage** | | SAAS-012 | Portal Admin | Portal Admin | **CRUD Base** | | SAAS-013 | - | - | **Email** | ### Archivos Reales en docs/01-modulos/ ``` SAAS-001-auth.md SAAS-002-tenants.md SAAS-003-users.md SAAS-004-billing.md SAAS-005-plans.md SAAS-006-ai-integration.md <-- DIFERENTE de _MAP.md SAAS-007-notifications.md SAAS-008-audit-logs.md <-- DIFERENTE de _MAP.md SAAS-009-feature-flags.md <-- DIFERENTE de _MAP.md SAAS-010-webhooks.md <-- DIFERENTE de _MAP.md SAAS-011-storage.md <-- DIFERENTE de _MAP.md SAAS-012-crud-base.md <-- DIFERENTE de _MAP.md SAAS-013-email.md <-- NO EXISTE en _MAP.md ``` ### Accion Requerida **DECISION CRITICA**: Adoptar la numeracion REAL (docs/01-modulos/) y actualizar: 1. `docs/_MAP.md` 2. `orchestration/CONTEXT-MAP.yml` 3. Todas las referencias cruzadas --- ## 2. DISCREPANCIA CRITICA: MODULO WHATSAPP NO DOCUMENTADO ### Evidencia El modulo WhatsApp fue implementado en Sprint 5 pero NO tiene documentacion: **Backend** (8 archivos): ``` apps/backend/src/modules/whatsapp/ ├── whatsapp.controller.ts ├── whatsapp.service.ts ├── whatsapp-webhook.controller.ts ├── entities/ │ ├── whatsapp-config.entity.ts │ └── whatsapp-message.entity.ts ├── dto/ │ └── [DTOs varios] └── __tests__/ └── whatsapp.service.spec.ts ``` **Database** (5 archivos): ``` apps/database/ddl/schemas/whatsapp/ ├── 00-schema.sql └── tables/ ├── 01-whatsapp-configs.sql └── 02-whatsapp-messages.sql ``` **Frontend**: ``` apps/frontend/src/pages/admin/WhatsAppSettings.tsx apps/frontend/src/hooks/useWhatsApp.ts apps/frontend/src/services/whatsapp.api.ts ``` ### Documentacion Faltante - [ ] Archivo `docs/01-modulos/SAAS-014-whatsapp.md` NO existe - [ ] No aparece en `orchestration/inventarios/MASTER_INVENTORY.yml` - [ ] No aparece en `orchestration/inventarios/BACKEND_INVENTORY.yml` - [ ] No aparece en `orchestration/inventarios/DATABASE_INVENTORY.yml` - [ ] No aparece en `orchestration/inventarios/FRONTEND_INVENTORY.yml` ### Accion Requerida Crear SAAS-014-whatsapp.md y actualizar todos los inventarios. --- ## 3. DISCREPANCIA CRITICA: ESTRUCTURA PROPUESTA VS REAL ### _MAP.md Propone Subcarpetas ``` docs/01-modulos/SAAS-001-auth/ ├── README.md ├── ESPECIFICACION.md ├── FLUJOS.md ├── IMPLEMENTACION.md └── TESTS.md ``` ### Realidad: Archivos Planos ``` docs/01-modulos/ ├── SAAS-001-auth.md ├── SAAS-002-tenants.md └── [... archivos planos] ``` ### Decision Necesaria Mantener estructura de archivos planos (mas simple) y actualizar _MAP.md para reflejar realidad. --- ## 4. DISCREPANCIAS EN INVENTARIOS VS CODIGO REAL ### 4.1 Backend Inventory | Metrica | Documentado | Real | Diferencia | |---------|-------------|------|------------| | Modulos | 15 | 16 | +1 (whatsapp) | | Controllers | 16 | 20+ | +4 (billing subdivisiones, whatsapp) | | Services | 28 | 21 | -7 | | Entities | 35 | 32 | -3 | | DTOs | 45 | 29 | -16 | | Guards | 5 | 2 | -3 | | Decorators | 5 | 3 | -2 | **Nota**: Las diferencias en DTOs y Guards pueden deberse a consolidacion de archivos. ### 4.2 Database Inventory | Metrica | Documentado | Real | Diferencia | |---------|-------------|------|------------| | Schemas | 11 | 12 | +1 (whatsapp) | | Tablas | 22 | 25 | +3 | ### 4.3 Frontend Inventory | Metrica | Documentado | Real | Nota | |---------|-------------|------|------| | Stores | 5 separados | 2-3 consolidados | Documentacion lista funcionalidades como archivos | | Hooks | 75 | 12 archivos | Hooks son funciones, no archivos separados | | API Services | 13 | 3 archivos | Consolidados en api.ts principal | | Components | 30 shared | ~23 por feature | Estructura diferente | | Pages | 15 | 31 archivos | Conteo diferente por subdirectorios | --- ## 5. DISCREPANCIA: DOCUMENTACION PENDIENTE NUNCA CREADA ### Archivos Marcados [PENDIENTE] en _MAP.md | Archivo | Estado _MAP.md | Realidad | |---------|----------------|----------| | docs/00-vision-general/VISION.md | [PENDIENTE] | NO EXISTE | | docs/01-modulos/_MAP.md | [PENDIENTE] | NO EXISTE | | docs/02-integraciones/_MAP.md | [PENDIENTE] | NO EXISTE | | docs/02-integraciones/INT-001-STRIPE/ | Listado | CARPETA VACIA | | docs/02-integraciones/INT-002-OAUTH/ | Listado | NO EXISTE | | docs/02-integraciones/INT-003-EMAIL/ | Listado | NO EXISTE | | docs/02-integraciones/INT-004-PUSH/ | Listado | NO EXISTE | | docs/02-integraciones/INT-005-STORAGE/ | Listado | NO EXISTE | ### Accion Requerida Decidir si: A) Crear la documentacion faltante B) Eliminar referencias a documentacion que no se creara C) Consolidar integraciones en documentacion de modulos (ya cubierto en SAAS-XXX) --- ## 6. DISCREPANCIA: UBICACION DE ADRs ### Situacion Actual - `docs/97-adr/` referenciado en _MAP.md pero **NO EXISTE** - `docs/architecture/adr/` contiene los 5 ADRs reales ### ADRs Reales ``` docs/architecture/adr/ ├── ADR-001-multi-tenancy-rls.md ├── ADR-002-authentication-jwt-oauth.md ├── ADR-003-billing-stripe.md ├── ADR-004-notifications-realtime.md └── ADR-005-feature-flags.md ``` ### Accion Requerida Actualizar _MAP.md para referenciar `docs/architecture/adr/` en lugar de `docs/97-adr/`. --- ## 7. DISCREPANCIAS EN PROJECT-STATUS.md VS _MAP.md | Aspecto | PROJECT-STATUS.md | _MAP.md | |---------|-------------------|---------| | Total Tablas | 35 | 38 | | Notifications v2 | Implementado | Propuesto | | WhatsApp | Completado (Sprint 5) | No mencionado | | Email Module | Completado | Pendiente (INT-003) | --- ## 8. HISTORICO DE SPRINTS - CANDIDATOS PARA ARCHIVO ### Sprints Completados (Consolidar en Historico) | Sprint | Objetivo | SP | Tests | Estado | |--------|----------|-----|-------|--------| | Sprint 1 | Test Coverage | 8 | +323 | 100% | | Sprint 2 | Onboarding Wizard | 8 | +66 | 100% | | Sprint 3 | E2E Tests | 8 | 47 | 100% | | Sprint 4 | ADR Documentation | 5 | N/A | 100% | | Sprint 5 | WhatsApp Integration | 13 | 22 | 100% | | **Total** | | **42** | **458** | **100%** | ### Archivos a Consolidar **Mover a `/orchestration/archivo/` o crear historico resumido:** ``` orchestration/planes/ ├── PLAN-SPRINT-1-TESTS.md ├── PLAN-SPRINT-2-ONBOARDING.md ├── PLAN-SPRINT-3-E2E.md ├── PLAN-SPRINT-4-DOCS.md ├── PLAN-SPRINT-5-WHATSAPP.md └── PLAN-CORRECCION-SPRINT-5-2026-01-10.md ``` --- ## 9. MATRIZ DE ACCIONES POR PRIORIDAD ### PRIORIDAD CRITICA (Hacer Primero) | ID | Accion | Archivos Afectados | |----|--------|-------------------| | C1 | Homologar numeracion SAAS-XXX | _MAP.md, CONTEXT-MAP.yml | | C2 | Crear SAAS-014-whatsapp.md | docs/01-modulos/ | | C3 | Actualizar inventarios con WhatsApp | orchestration/inventarios/*.yml | | C4 | Corregir referencia ADRs | _MAP.md | ### PRIORIDAD ALTA (Hacer Segundo) | ID | Accion | Archivos Afectados | |----|--------|-------------------| | A1 | Actualizar estructura en _MAP.md | _MAP.md | | A2 | Corregir conteos en inventarios | BACKEND_INVENTORY.yml, FRONTEND_INVENTORY.yml | | A3 | Decidir sobre docs/02-integraciones/ | _MAP.md, crear o eliminar | | A4 | Actualizar PROJECT-STATUS con WhatsApp | PROJECT-STATUS.md | ### PRIORIDAD MEDIA (Hacer Tercero) | ID | Accion | Archivos Afectados | |----|--------|-------------------| | M1 | Consolidar sprints en historico | orchestration/planes/ | | M2 | Crear/eliminar VISION.md | docs/00-vision-general/ | | M3 | Limpiar archivos pendientes nunca creados | Multiples | | M4 | Actualizar fechas de ultima modificacion | Todos los archivos | --- ## 10. DEPENDENCIAS ENTRE DOCUMENTOS ``` ┌─────────────┐ │ _MAP.md │ (INDICE MAESTRO) └──────┬──────┘ │ ┌─────────────────────┼─────────────────────┐ │ │ │ ▼ ▼ ▼ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │ 00-vision/ │ │ 01-modulos/ │ │architecture/│ └──────┬──────┘ └──────┬──────┘ └──────┬──────┘ │ │ │ ▼ ▼ ▼ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │ARQUITECTURA │◄────►│ SAAS-001-013│◄────►│ ADR-001-5 │ │MULTI-TENANT │ │ (modulos) │ │ (decisiones)│ └─────────────┘ └──────┬──────┘ └─────────────┘ │ ▼ ┌───────────────────────┐ │ CONTEXT-MAP.yml │ (ALIASES) └───────────┬───────────┘ │ ┌───────────┼───────────┐ │ │ │ ▼ ▼ ▼ ┌──────────┐┌──────────┐┌──────────┐ │INVENTORY ││INVENTORY ││INVENTORY │ │ BACKEND ││ DATABASE ││ FRONTEND │ └──────────┘└──────────┘└──────────┘ ``` ### Orden de Actualizacion Recomendado 1. **Primero**: Inventarios (base de verdad del codigo) 2. **Segundo**: SAAS-XXX modulos (documentacion de funcionalidades) 3. **Tercero**: CONTEXT-MAP.yml (aliases y referencias) 4. **Cuarto**: _MAP.md (indice maestro) 5. **Quinto**: PROJECT-STATUS.md (estado general) --- ## 11. RESUMEN DE DUPLICIDADES ENCONTRADAS ### Definiciones Duplicadas | Concepto | Donde Esta Definido | Inconsistencia | |----------|--------------------|--------------------| | Numeracion modulos | _MAP.md, CONTEXT-MAP.yml, docs/01-modulos/ | 3 versiones diferentes | | Estado modulos | PROJECT-STATUS.md, MASTER_INVENTORY.yml | Ligeras diferencias | | Conteo tablas | PROJECT-STATUS.md (35), _MAP.md (38) | Discrepancia de 3 | | Estructura docs | _MAP.md (propuesta), Realidad (plana) | Incompatible | ### Documentacion Redundante | Archivo | Redundante Con | |---------|----------------| | docs/02-especificaciones/ET-SAAS-007-notifications-v2.md | SAAS-007-notifications.md | | Multiples PLAN-SPRINT-X.md | Pueden consolidarse en historico | --- ## CONCLUSION La documentacion del proyecto template-saas presenta discrepancias significativas principalmente en: 1. **Nomenclatura de modulos**: La numeracion real difiere de la documentada 2. **Modulo WhatsApp**: Implementado pero no documentado 3. **Estructura propuesta vs real**: _MAP.md describe estructura inexistente 4. **Inventarios desactualizados**: Conteos incorrectos y modulo faltante 5. **Historico de sprints**: Necesita consolidacion ### Siguiente Fase Proceder con **Fase 3: Validacion de Dependencias** para mapear todas las referencias cruzadas antes de ejecutar cambios. --- **Estado**: ANALISIS COMPLETADO **Fecha**: 2026-01-10 **Siguiente**: Fase 3 - Validacion de Dependencias