- HERENCIA-SIMCO.md actualizado con directivas v3.7 y v3.8 - Actualizaciones de configuracion Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
13 KiB
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 | - | - |
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:
docs/_MAP.mdorchestration/CONTEXT-MAP.yml- 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.mdNO 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 EXISTEdocs/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 |
| 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
- Primero: Inventarios (base de verdad del codigo)
- Segundo: SAAS-XXX modulos (documentacion de funcionalidades)
- Tercero: CONTEXT-MAP.yml (aliases y referencias)
- Cuarto: _MAP.md (indice maestro)
- 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:
- Nomenclatura de modulos: La numeracion real difiere de la documentada
- Modulo WhatsApp: Implementado pero no documentado
- Estructura propuesta vs real: _MAP.md describe estructura inexistente
- Inventarios desactualizados: Conteos incorrectos y modulo faltante
- 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