- Rename _archivo to _archive (standard convention) - Move analisis/, planes/ to _archive/ - Archive extra root files - Update _MAP.md with standardized structure Standard: SIMCO-ESTANDAR-ORCHESTRATION v1.0.0 Level: PROVIDER (L1A) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
185 lines
5.0 KiB
Markdown
185 lines
5.0 KiB
Markdown
# Mapa de Discrepancias Documentacion vs Codigo
|
|
|
|
**Fecha:** 2026-01-10
|
|
**Fase:** 3.3 - Analisis de Discrepancias Doc vs Codigo
|
|
**Estado:** COMPLETADO
|
|
|
|
---
|
|
|
|
## Resumen Ejecutivo
|
|
|
|
| Severidad | Cantidad | Modulos Afectados |
|
|
|-----------|----------|-------------------|
|
|
| CRITICA | 2 | SAAS-001, SAAS-009 |
|
|
| MAYOR | 8 | SAAS-001, 003, 004, 006, 007, 008 |
|
|
| MENOR | 15 | Varios |
|
|
|
|
---
|
|
|
|
## Discrepancias CRITICAS
|
|
|
|
### 1. OAuth/MFA Documentados pero NO Implementados
|
|
|
|
**Modulo:** SAAS-001 Auth
|
|
|
|
| Feature | Estado en Doc | Estado en Codigo |
|
|
|---------|---------------|------------------|
|
|
| OAuth Google | Completado | NO EXISTE |
|
|
| OAuth Microsoft | Completado | NO EXISTE |
|
|
| OAuth GitHub | Completado | NO EXISTE |
|
|
| MFA TOTP | Completado | NO EXISTE (solo DDL) |
|
|
|
|
**Evidencia:**
|
|
- Endpoints `/auth/oauth/*` no existen
|
|
- Endpoints `/auth/mfa/*` no existen
|
|
- Tabla `oauth_connections` existe en DDL pero sin uso
|
|
|
|
**Accion:** Mover a seccion "Roadmap" en documentacion
|
|
|
|
### 2. Feature Flags: Modelo de Estado Desalineado
|
|
|
|
**Modulo:** SAAS-009 Feature Flags
|
|
|
|
| Aspecto | DDL | Entity TypeORM |
|
|
|---------|-----|----------------|
|
|
| Campo | `status` | `is_enabled` |
|
|
| Tipo | ENUM (disabled, enabled, percentage, user_list) | BOOLEAN |
|
|
|
|
**Impacto:** No se pueden usar estados 'percentage' y 'user_list' desde codigo
|
|
|
|
**Accion:** Actualizar entity para usar ENUM
|
|
|
|
---
|
|
|
|
## Discrepancias MAYORES
|
|
|
|
### 3. Endpoints de Users Faltantes (SAAS-003)
|
|
|
|
| Endpoint Documentado | Estado |
|
|
|---------------------|--------|
|
|
| POST /users | NO EXISTE |
|
|
| DELETE /users/:id | NO EXISTE |
|
|
| POST /invitations/:token/accept | NO EXISTE |
|
|
|
|
### 4. Rutas de Billing Inconsistentes (SAAS-004)
|
|
|
|
| Documentado | Implementado |
|
|
|-------------|--------------|
|
|
| POST /billing/checkout | POST /stripe/checkout-session |
|
|
| POST /billing/portal | POST /stripe/billing-portal |
|
|
| GET /billing/plans | GET /plans |
|
|
| PUT /billing/change-plan | POST /billing/subscription/change-plan/:planId |
|
|
|
|
### 5. Endpoints de Audit Faltantes (SAAS-008)
|
|
|
|
| Endpoint Documentado | Estado |
|
|
|---------------------|--------|
|
|
| GET /audit/export | PENDIENTE |
|
|
| GET /audit/auth | NO IMPLEMENTADO |
|
|
| GET /audit/user/:id | NO IMPLEMENTADO |
|
|
|
|
### 6. Pricing de AI Hardcodeado (SAAS-006)
|
|
|
|
- **Documentado:** Precios dinamicos
|
|
- **Implementado:** Precios hardcodeados en openrouter.client.ts lineas 214-222
|
|
|
|
### 7. Endpoints de Devices No Documentados (SAAS-007)
|
|
|
|
| Implementado | En Documentacion |
|
|
|--------------|------------------|
|
|
| POST /notifications/devices | NO |
|
|
| DELETE /notifications/devices/:id | NO |
|
|
|
|
### 8. Rate Limiting de AI No Validado (SAAS-006)
|
|
|
|
- **Documentado:** Rate limiting por plan
|
|
- **Implementado:** Campos en DDL pero sin validacion en codigo
|
|
|
|
---
|
|
|
|
## Discrepancias MENORES
|
|
|
|
### Rutas Menores
|
|
|
|
| # | Documentado | Implementado |
|
|
|---|-------------|--------------|
|
|
| 1 | /auth/password/forgot | /auth/password/request-reset |
|
|
| 2 | /roles/* | /rbac/roles/* |
|
|
| 3 | /whatsapp/send | /whatsapp/send/{text\|template\|media} |
|
|
| 4 | /whatsapp/webhook | /webhooks/whatsapp |
|
|
|
|
### Campos Faltantes en Entidades
|
|
|
|
| Entidad | Campo Documentado | Estado |
|
|
|---------|-------------------|--------|
|
|
| Tenant | favicon_url | No existe en DDL |
|
|
| Subscription | stripe_subscription_id | Usar external_subscription_id |
|
|
| Subscription | trial_start | Falta |
|
|
| Invoice | amount_paid | Falta |
|
|
| Invoice | customer_name | Falta |
|
|
|
|
### Nomenclatura
|
|
|
|
| Documentado | Implementado |
|
|
|-------------|--------------|
|
|
| waba_id | business_account_id |
|
|
| code (feature flag) | key |
|
|
|
|
---
|
|
|
|
## Metricas de Validacion
|
|
|
|
### Conteos Verificados
|
|
|
|
| Metrica | Doc Anterior | Codigo Real | Estado |
|
|
|---------|--------------|-------------|--------|
|
|
| Tablas | 39 | 24 | CORREGIDO |
|
|
| Enums | 30 | 32 | CORREGIDO |
|
|
| Tests | 798 | 710 | VERIFICAR |
|
|
| Hooks Frontend | 76 | 75 | VERIFICAR |
|
|
|
|
---
|
|
|
|
## Plan de Correccion
|
|
|
|
### Fase 6.1: Documentacion (sin cambio de codigo)
|
|
1. Mover OAuth/MFA a Roadmap en SAAS-001
|
|
2. Actualizar rutas de Billing en SAAS-004
|
|
3. Documentar endpoints de devices en SAAS-007
|
|
4. Actualizar nomenclatura (waba_id, rutas WhatsApp)
|
|
|
|
### Fase 6.2: Codigo (cambios requeridos)
|
|
1. Alinear entity de Feature Flags con DDL
|
|
2. Implementar endpoints faltantes de Audit (3)
|
|
3. Implementar endpoints faltantes de Users (3)
|
|
4. Centralizar precios de AI
|
|
|
|
---
|
|
|
|
## Matriz de Completitud por Modulo
|
|
|
|
| Modulo | Endpoints Doc | Endpoints Impl | % |
|
|
|--------|---------------|----------------|---|
|
|
| SAAS-001 Auth | 17 | 8 | 47% |
|
|
| SAAS-002 Tenants | 6 | 4 | 100%* |
|
|
| SAAS-003 Users | 13 | ~9 | 69% |
|
|
| SAAS-004 Billing | 8 | 8 | 100%** |
|
|
| SAAS-005 Plans | 4 | 4 | 100% |
|
|
| SAAS-006 AI | 7 | 7 | 100% |
|
|
| SAAS-007 Notifications | 13 | 13 | 100%*** |
|
|
| SAAS-008 Audit | 11 | 8 | 72% |
|
|
| SAAS-009 Feature Flags | 8 | 15 | 188% |
|
|
| SAAS-010 Webhooks | 10 | 10 | 100% |
|
|
| SAAS-011 Storage | 8 | 8 | 100% |
|
|
| SAAS-012 CRUD Base | N/A | N/A | N/A |
|
|
| SAAS-013 Email | 3 | 3 | 100% |
|
|
| SAAS-014 WhatsApp | 10 | 10 | 100% |
|
|
|
|
*OAuth/MFA excluidos (Roadmap)
|
|
**Rutas diferentes pero funcionalidad completa
|
|
***2 endpoints extras no documentados
|
|
|
|
---
|
|
|
|
**Entregable de:** FASE 3.3
|