- HERENCIA-SIMCO.md actualizado con directivas v3.7 y v3.8 - Actualizaciones de configuracion Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
377 lines
13 KiB
Markdown
377 lines
13 KiB
Markdown
# 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
|