- 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
FASE 3: Plan de Correccion de Integracion Documentacion-Codigo
Fecha: 2026-01-10 Estado: EN REVISION Basado en: FASE-2-ANALISIS-DETALLADO-INTEGRACION-2026-01-10.md
1. Estrategia de Correccion
1.1 Decision Estrategica
Enfoque seleccionado: HIBRIDO
- Documentacion: Actualizar para reflejar estado actual del codigo
- Codigo: Implementar solo features criticos faltantes
1.2 Criterios de Decision
| Tipo de Discrepancia | Accion |
|---|---|
| Feature documentado, no implementado, NO critico | Remover de doc |
| Feature documentado, no implementado, SI critico | Implementar |
| Feature implementado, no documentado | Agregar a doc |
| Conteo/estado incorrecto | Corregir doc |
| Enum/estructura inconsistente | Decidir caso por caso |
2. Plan de Correcciones Criticas
PLAN-CRIT-001: Corregir Conteo de Tablas
Discrepancia: Documentacion dice 39 tablas, codigo tiene 24
Accion: Actualizar documentacion con conteo real
Archivos a modificar:
orchestration/inventarios/MASTER_INVENTORY.yml- linea 27orchestration/inventarios/DATABASE_INVENTORY.yml- linea 199orchestration/PROJECT-STATUS.md- seccion metricasdocs/_MAP.md- seccion schemas
Cambios especificos:
# MASTER_INVENTORY.yml
database_tables: 24 # Era 39
# DATABASE_INVENTORY.yml
total_tablas: 24 # Era 39
# PROJECT-STATUS.md
| Database | Completado | 12 schemas, 24 tablas | # Era 39
# _MAP.md
**Total:** 12 schemas, 24 tablas # Era 39
Dependencias: Ninguna Prioridad: P1 Estimacion: 15 minutos
PLAN-CRIT-002: Resolver Enums subscription_status
Discrepancia: Dos enums diferentes con valores conflictivos
Accion: Documentar ambos enums claramente, NO modificar codigo
Archivos a modificar:
docs/01-modulos/SAAS-004-billing.md- seccion enums
Cambios especificos:
## Enums de Suscripcion
### tenants.subscription_status (estado general del tenant)
- trialing: En periodo de prueba
- active: Activo
- past_due: Pago atrasado
- cancelled: Cancelado
- unpaid: Sin pago
### billing.subscription_status (estado interno de billing)
- trial: En trial
- active: Activo
- past_due: Pago atrasado
- cancelled: Cancelado
- expired: Expirado
**Nota:** El tenant usa `tenants.subscription_status` para estado general.
El sistema de billing usa `billing.subscription_status` internamente.
Dependencias: Ninguna Prioridad: P1 Estimacion: 20 minutos
PLAN-CRIT-003: Corregir SAAS-012 CRUD-Base
Discrepancia: Documento describe patrones que no existen
Accion: Reescribir documento para reflejar realidad
Archivos a modificar:
docs/01-modulos/SAAS-012-crud-base.md- reescritura completa
Contenido nuevo:
# SAAS-012: Patrones Base CRUD
## Metadata
| Campo | Valor |
|-------|-------|
| Codigo | SAAS-012 |
| Estado | Documentacion |
| Tipo | Guia de Patrones |
## Descripcion
Este documento describe los patrones CRUD recomendados para el proyecto.
Actualmente cada modulo implementa su propia logica CRUD de forma independiente.
## Patron Actual
Cada modulo contiene:
- `*.controller.ts` - Endpoints REST
- `*.service.ts` - Logica de negocio
- `*.entity.ts` - Entidad TypeORM
- `dto/*.dto.ts` - DTOs de request/response
## Campos Base Comunes
Todas las entidades incluyen:
- `id` (UUID, primary key)
- `tenant_id` (UUID, foreign key)
- `created_at` (timestamp)
- `updated_at` (timestamp)
- `deleted_at` (timestamp, soft delete)
## Patron de Paginacion
```typescript
interface PaginationQuery {
page?: number;
limit?: number;
sort?: string;
order?: 'ASC' | 'DESC';
}
Implementacion Futura
Se planea implementar clases base:
- BaseCrudService
- BaseCrudController
- BaseEntity
Estado: Pendiente de implementacion
**Dependencias:** Ninguna
**Prioridad:** P1
**Estimacion:** 30 minutos
---
### PLAN-CRIT-004: Remover OAuth de Documentacion
**Discrepancia:** OAuth documentado pero no implementado
**Accion:** Mover OAuth a seccion "Roadmap/Futuro"
**Archivos a modificar:**
1. `docs/01-modulos/SAAS-001-auth.md`
**Cambios especificos:**
- Remover endpoints OAuth de seccion "Endpoints"
- Agregar seccion "## Roadmap" con OAuth planificado
- Actualizar tabla de metadata con estado actual
**Dependencias:** Ninguna
**Prioridad:** P1
**Estimacion:** 20 minutos
---
### PLAN-CRIT-005: Remover MFA de Documentacion
**Discrepancia:** MFA documentado pero no implementado
**Accion:** Mover MFA a seccion "Roadmap/Futuro"
**Archivos a modificar:**
1. `docs/01-modulos/SAAS-001-auth.md`
**Cambios especificos:**
- Remover endpoints MFA de seccion "Endpoints"
- Agregar a seccion "## Roadmap" junto con OAuth
- Remover campos MFA de entidad User documentada
**Dependencias:** PLAN-CRIT-004 (mismo archivo)
**Prioridad:** P1
**Estimacion:** 15 minutos (incluido en PLAN-CRIT-004)
---
### PLAN-CRIT-006: Documentar Modulos Faltantes
**Discrepancia:** 4 modulos backend sin documentacion SAAS-XXX
**Accion:** Agregar seccion de modulos de infraestructura
**Archivos a modificar:**
1. `orchestration/inventarios/MASTER_INVENTORY.yml`
2. `orchestration/CONTEXT-MAP.yml`
3. `docs/_MAP.md`
**Cambios especificos:**
```yaml
# MASTER_INVENTORY.yml - agregar seccion
modulos_infraestructura:
- id: "INFRA-001"
nombre: "health"
descripcion: "Health check endpoints"
estado: "completado"
- id: "INFRA-002"
nombre: "onboarding"
descripcion: "Wizard de onboarding para nuevos tenants"
estado: "completado"
- id: "INFRA-003"
nombre: "rbac"
descripcion: "Role-Based Access Control"
estado: "completado"
nota: "Sub-modulo de SAAS-003"
- id: "INFRA-004"
nombre: "superadmin"
descripcion: "Portal de super administracion"
estado: "completado"
Dependencias: Ninguna Prioridad: P1 Estimacion: 25 minutos
PLAN-CRIT-007: Corregir Estados Incorrectos
Discrepancia: SAAS-008 y SAAS-009 marcados "Pendiente"
Accion: Actualizar estado a "Completado"
Archivos a modificar:
docs/01-modulos/SAAS-008-audit-logs.md- metadatadocs/01-modulos/SAAS-009-feature-flags.md- metadata
Cambios especificos:
# En ambos archivos, cambiar:
| Estado | Pendiente |
# A:
| Estado | Completado |
Dependencias: Ninguna Prioridad: P1 Estimacion: 5 minutos
3. Plan de Correcciones Altas
PLAN-ALTO-001: Documentar payment_methods
Accion: Agregar seccion a SAAS-004-billing.md
Archivos a modificar:
docs/01-modulos/SAAS-004-billing.md
Contenido a agregar:
## Tabla: billing.payment_methods
| Campo | Tipo | Descripcion |
|-------|------|-------------|
| id | UUID | Identificador unico |
| tenant_id | UUID | Tenant propietario |
| type | payment_method_type | card, bank_transfer, oxxo |
| provider | VARCHAR | stripe, conekta, etc. |
| external_id | VARCHAR | ID en proveedor externo |
| card_brand | VARCHAR | Visa, Mastercard, etc. |
| card_last4 | VARCHAR | Ultimos 4 digitos |
| is_default | BOOLEAN | Metodo por defecto |
| created_at | TIMESTAMP | Fecha creacion |
## Endpoints Payment Methods
| Metodo | Ruta | Descripcion |
|--------|------|-------------|
| GET | /billing/payment-methods | Listar metodos |
| POST | /billing/payment-methods | Agregar metodo |
| DELETE | /billing/payment-methods/:id | Eliminar metodo |
| PATCH | /billing/payment-methods/:id/default | Establecer por defecto |
Dependencias: Ninguna Prioridad: P2 Estimacion: 20 minutos
PLAN-ALTO-002: Remover Session Management de Doc
Accion: Mover a Roadmap
Archivos a modificar:
docs/01-modulos/SAAS-001-auth.md
Cambios: Mover GET/DELETE /auth/sessions a seccion Roadmap
Dependencias: PLAN-CRIT-004 (mismo archivo) Prioridad: P2 Estimacion: Incluido en PLAN-CRIT-004
PLAN-ALTO-003: Actualizar Tenant Settings Doc
Accion: Documentar manejo via JSONB
Archivos a modificar:
docs/01-modulos/SAAS-002-tenants.md
Cambios:
## Configuraciones de Tenant
Las configuraciones se almacenan en el campo `settings` (JSONB) de la tabla tenants.
### Acceso via API
Las configuraciones se obtienen/actualizan junto con el tenant:
- GET /tenants/current (incluye settings)
- PATCH /tenants/current (permite actualizar settings)
### Estructura Settings
```json
{
"branding": {
"logo_url": "...",
"primary_color": "#..."
},
"notifications": {
"email_enabled": true,
"push_enabled": false
}
}
**Dependencias:** Ninguna
**Prioridad:** P2
**Estimacion:** 15 minutos
---
### PLAN-ALTO-004: Actualizar Notifications a v2.0
**Accion:** Documentar features v2.0 implementados
**Archivos a modificar:**
1. `docs/01-modulos/SAAS-007-notifications.md`
**Secciones a agregar:**
- DevicesController y endpoints
- NotificationsGateway (WebSocket)
- NotificationQueueService
- Integracion con WhatsApp (referencia a SAAS-014)
**Dependencias:** Ninguna
**Prioridad:** P2
**Estimacion:** 45 minutos
---
### PLAN-ALTO-005: Completar Estructura Invoice
**Accion:** Agregar campos faltantes a doc
**Archivos a modificar:**
1. `docs/01-modulos/SAAS-004-billing.md`
**Campos a agregar:** subtotal, tax, discount, period_start, period_end, hosted_invoice_url, customer_name, customer_email, billing_address
**Dependencias:** Ninguna
**Prioridad:** P2
**Estimacion:** 15 minutos
---
### PLAN-ALTO-006: Remover Audit Export de Doc
**Accion:** Mover a Roadmap o marcar como "Pendiente"
**Archivos a modificar:**
1. `docs/01-modulos/SAAS-008-audit-logs.md`
**Cambios:** Agregar nota "Endpoint de exportacion pendiente de implementacion"
**Dependencias:** PLAN-CRIT-007
**Prioridad:** P2
**Estimacion:** 5 minutos
---
### PLAN-ALTO-007: Documentar Campos AI Adicionales
**Accion:** Agregar campos a SAAS-006
**Archivos a modificar:**
1. `docs/01-modulos/SAAS-006-ai-integration.md`
**Campos:** model_type, request_id, endpoint, error_message, metadata
**Dependencias:** Ninguna
**Prioridad:** P2
**Estimacion:** 10 minutos
---
## 4. Plan de Correcciones Medias
| ID | Descripcion | Archivo | Accion | Estimacion |
|----|-------------|---------|--------|------------|
| MEDIO-001 | User entity vs DDL | SAAS-001-auth.md | Sincronizar campos | 10 min |
| MEDIO-002 | Session token field | SAAS-001-auth.md | Alinear nombres | 5 min |
| MEDIO-003 | Trial period nombre | SAAS-004-billing.md | Usar trial_end | 5 min |
| MEDIO-004 | Roles flexibles | SAAS-003-users.md | Actualizar doc | 15 min |
| MEDIO-005 | Enums adicionales | DATABASE_INVENTORY.yml | Agregar 3 enums | 10 min |
**Total estimacion correcciones medias:** 45 minutos
---
## 5. Orden de Ejecucion
### Fase 1: Correcciones Criticas (P1)
**Tiempo estimado:** 1h 45min
1. PLAN-CRIT-007 - Estados incorrectos (5 min)
2. PLAN-CRIT-001 - Conteo tablas (15 min)
3. PLAN-CRIT-006 - Modulos faltantes (25 min)
4. PLAN-CRIT-002 - Enums subscription (20 min)
5. PLAN-CRIT-004/005 - OAuth/MFA (20 min combinado)
6. PLAN-CRIT-003 - CRUD-Base (30 min)
### Fase 2: Correcciones Altas (P2)
**Tiempo estimado:** 1h 50min
1. PLAN-ALTO-001 - payment_methods (20 min)
2. PLAN-ALTO-003 - Tenant settings (15 min)
3. PLAN-ALTO-004 - Notifications v2.0 (45 min)
4. PLAN-ALTO-005 - Invoice campos (15 min)
5. PLAN-ALTO-006 - Audit export (5 min)
6. PLAN-ALTO-007 - AI campos (10 min)
### Fase 3: Correcciones Medias (P3)
**Tiempo estimado:** 45min
1. Todas las correcciones MEDIO-*
---
## 6. Archivos Impactados (Consolidado)
| Archivo | Correcciones que lo modifican |
|---------|-------------------------------|
| SAAS-001-auth.md | CRIT-004, CRIT-005, ALTO-002, MEDIO-001, MEDIO-002 |
| SAAS-002-tenants.md | ALTO-003 |
| SAAS-003-users.md | MEDIO-004 |
| SAAS-004-billing.md | CRIT-002, ALTO-001, ALTO-005, MEDIO-003 |
| SAAS-006-ai-integration.md | ALTO-007 |
| SAAS-007-notifications.md | ALTO-004 |
| SAAS-008-audit-logs.md | CRIT-007, ALTO-006 |
| SAAS-009-feature-flags.md | CRIT-007 |
| SAAS-012-crud-base.md | CRIT-003 |
| MASTER_INVENTORY.yml | CRIT-001, CRIT-006 |
| DATABASE_INVENTORY.yml | CRIT-001, MEDIO-005 |
| PROJECT-STATUS.md | CRIT-001 |
| CONTEXT-MAP.yml | CRIT-006 |
| _MAP.md | CRIT-001, CRIT-006 |
---
## 7. Validaciones Post-Ejecucion
### 7.1 Validaciones Automaticas
```bash
# Verificar conteos
grep -r "database_tables" orchestration/inventarios/
grep -r "12 schemas" docs/
# Verificar estados
grep -E "Estado.*Pendiente" docs/01-modulos/SAAS-008*.md
grep -E "Estado.*Pendiente" docs/01-modulos/SAAS-009*.md
# Verificar referencias
grep -r "OAuth" docs/01-modulos/SAAS-001*.md
grep -r "MFA" docs/01-modulos/SAAS-001*.md
7.2 Validaciones Manuales
- Revisar consistencia de estados en todos los SAAS-XXX
- Verificar que Roadmap incluye features removidos
- Confirmar enums documentados vs codigo
- Validar estructura de modulos_infraestructura
8. Resumen del Plan
| Tipo | Cantidad | Tiempo Total |
|---|---|---|
| Correcciones Criticas | 7 | 1h 45min |
| Correcciones Altas | 7 | 1h 50min |
| Correcciones Medias | 5 | 45min |
| TOTAL | 19 | 4h 20min |
Siguiente Paso: FASE 4 - Validacion del Plan contra Analisis
Creado por: Claude Code Fecha: 2026-01-10