Some checks failed
ERP Core CI / Backend Lint (push) Has been cancelled
ERP Core CI / Backend Unit Tests (push) Has been cancelled
ERP Core CI / Backend Integration Tests (push) Has been cancelled
ERP Core CI / Frontend Lint (push) Has been cancelled
ERP Core CI / Frontend Unit Tests (push) Has been cancelled
ERP Core CI / Frontend E2E Tests (push) Has been cancelled
ERP Core CI / Database DDL Validation (push) Has been cancelled
ERP Core CI / Backend Build (push) Has been cancelled
ERP Core CI / Frontend Build (push) Has been cancelled
ERP Core CI / CI Success (push) Has been cancelled
Performance Tests / Lighthouse CI (push) Has been cancelled
Performance Tests / Bundle Size Analysis (push) Has been cancelled
Performance Tests / k6 Load Tests (push) Has been cancelled
Performance Tests / Performance Summary (push) Has been cancelled
- HERENCIA-SIMCO.md actualizado con directivas v3.7 y v3.8 - Actualizaciones en modulos CRM y OpenAPI Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
321 lines
9.8 KiB
Markdown
321 lines
9.8 KiB
Markdown
# PLAN DE EJECUCION: Resolucion de GAPS Detectados
|
|
|
|
**ID:** PLAN-GAPS-2026-01-10
|
|
**Fecha:** 2026-01-10
|
|
**Version:** 1.0
|
|
**Sistema:** SIMCO v3.5 + CAPVED
|
|
**Orquestador:** Claude Code - Opus 4.5
|
|
|
|
---
|
|
|
|
## C - CONTEXTO
|
|
|
|
### Vinculacion
|
|
|
|
| Campo | Valor |
|
|
|-------|-------|
|
|
| Proyecto | erp-core |
|
|
| Nivel | SUITE (erp-suite/apps/erp-core) |
|
|
| Epic | EPIC-VALIDACION-2026-01 |
|
|
| Origen | Validacion de ejecucion FASE 7 |
|
|
| Prioridad | ALTA |
|
|
|
|
### Documentos de Referencia
|
|
|
|
| Documento | Ubicacion |
|
|
|-----------|-----------|
|
|
| Reporte GAPS | `orchestration/03-validacion/REPORTE-EJECUCION-FINAL-2026-01-10.md` |
|
|
| Estado MFA | `orchestration/03-validacion/VALIDACION-MFA-2026-01-10.md` |
|
|
| Estado Financial | `orchestration/03-validacion/ESTADO-TESTS-FINANCIAL-2026-01-10.md` |
|
|
| Estado Inventory | `orchestration/03-validacion/ESTADO-TESTS-INVENTORY-2026-01-10.md` |
|
|
| Estado Roles | `orchestration/03-validacion/ESTADO-TESTS-ROLES-2026-01-10.md` |
|
|
|
|
### SIMCO Aplicables
|
|
|
|
- @TAREA (SIMCO-TAREA.md)
|
|
- @OP_BACKEND (SIMCO-BACKEND.md)
|
|
- @DOCUMENTAR (SIMCO-DOCUMENTAR.md)
|
|
- @VALIDAR (Principio validacion obligatoria)
|
|
- @DOC-PRIMERO (Documentacion primero)
|
|
|
|
---
|
|
|
|
## A - ANALISIS
|
|
|
|
### GAPS Identificados
|
|
|
|
| ID | Descripcion | Modulo | Severidad | SP Estimado |
|
|
|----|-------------|--------|-----------|-------------|
|
|
| GAP-001 | Tests MFA faltantes | auth/mfa | MEDIA | 5 SP |
|
|
| GAP-002 | Trusted Devices service incompleto | auth/trusted-devices | BAJA | 3 SP |
|
|
| GAP-003 | Tests Permissions service faltantes | roles/permissions | MEDIA | 5 SP |
|
|
| GAP-004 | Tests Payment Reconciliation faltantes | financial/payments | BAJA | 3 SP |
|
|
| GAP-005 | Tests Valuation faltantes | inventory/valuation | BAJA | 5 SP |
|
|
| **TOTAL** | - | - | - | **21 SP** |
|
|
|
|
### Descripcion de Negocio
|
|
|
|
1. **GAP-001 (MFA Tests):** El modulo MFA esta 95% implementado pero carece de tests unitarios, lo que impide validar la seguridad del flujo de autenticacion de dos factores.
|
|
|
|
2. **GAP-002 (Trusted Devices):** La entidad `trusted-device.entity.ts` existe pero falta el servicio que gestione dispositivos confiables para bypass de MFA.
|
|
|
|
3. **GAP-003 (Permissions Tests):** El servicio `permissions.service.ts` contiene logica critica de autorizacion sin tests, representando un riesgo de seguridad.
|
|
|
|
4. **GAP-004 (Payment Reconciliation Tests):** Logica de conciliacion de pagos existe en `payments.service.ts` pero sin cobertura de tests.
|
|
|
|
5. **GAP-005 (Valuation Tests):** El servicio `valuation.service.ts` implementa FIFO/LIFO/Average pero carece de tests para validar calculos.
|
|
|
|
### Restricciones
|
|
|
|
| Tipo | Restriccion |
|
|
|------|-------------|
|
|
| Seguridad | Tests MFA y Permissions son criticos para seguridad |
|
|
| Performance | Tests deben ejecutar en <30s |
|
|
| Cobertura | Target minimo 80% por modulo |
|
|
| Estandares | Seguir patron de auth/__tests__/ |
|
|
|
|
### Objetos Impactados
|
|
|
|
#### Backend
|
|
|
|
| Archivo | Accion | Dependencias |
|
|
|---------|--------|--------------|
|
|
| `auth/__tests__/mfa.service.spec.ts` | CREAR | mfa.service.ts |
|
|
| `auth/services/trusted-devices.service.ts` | CREAR | trusted-device.entity.ts |
|
|
| `auth/__tests__/trusted-devices.service.spec.ts` | CREAR | trusted-devices.service.ts |
|
|
| `roles/__tests__/permissions.service.spec.ts` | CREAR | permissions.service.ts |
|
|
| `financial/__tests__/payments.service.spec.ts` | CREAR | payments.service.ts |
|
|
| `inventory/__tests__/valuation.service.spec.ts` | CREAR | valuation.service.ts |
|
|
|
|
#### Database
|
|
|
|
| Archivo | Accion | Notas |
|
|
|---------|--------|-------|
|
|
| Ningun cambio DDL requerido | - | Entidades y tablas existen |
|
|
|
|
### Riesgos
|
|
|
|
| Riesgo | Probabilidad | Mitigacion |
|
|
|--------|-------------|------------|
|
|
| MFA tests complejos por crypto | MEDIA | Usar mocks para otplib |
|
|
| Valuation tests requieren fixtures | MEDIA | Crear factories de stock moves |
|
|
| Tiempo estimado excedido | BAJA | Priorizar por severidad |
|
|
|
|
---
|
|
|
|
## P - PLANEACION
|
|
|
|
### Subtareas por Dominio
|
|
|
|
#### Orden de Ejecucion (siempre: Docs -> DB -> Backend -> Frontend -> Validacion)
|
|
|
|
```
|
|
1. DOCUMENTACION (pre-implementacion)
|
|
└── Actualizar specs si es necesario
|
|
|
|
2. DATABASE
|
|
└── Verificar que no hay cambios DDL requeridos
|
|
|
|
3. BACKEND
|
|
├── GAP-003: permissions.service.spec.ts (MEDIA - seguridad)
|
|
├── GAP-001: mfa.service.spec.ts (MEDIA - seguridad)
|
|
├── GAP-002: trusted-devices.service.ts + tests (BAJA)
|
|
├── GAP-004: payments.service.spec.ts (BAJA)
|
|
└── GAP-005: valuation.service.spec.ts (BAJA)
|
|
|
|
4. VALIDACION
|
|
├── Ejecutar npm test (todos los tests)
|
|
├── Verificar cobertura >80%
|
|
└── Recrear DB y validar integridad
|
|
```
|
|
|
|
### Criterios de Aceptacion
|
|
|
|
| GAP | Criterio |
|
|
|-----|----------|
|
|
| GAP-001 | 15+ tests para mfa.service.ts cubriendo setup, verify, backup codes |
|
|
| GAP-002 | trusted-devices.service.ts con CRUD + 10+ tests |
|
|
| GAP-003 | 12+ tests para permissions.service.ts cubriendo check, assign, remove |
|
|
| GAP-004 | 8+ tests para reconciliacion de pagos |
|
|
| GAP-005 | 10+ tests para FIFO, LIFO, Average |
|
|
|
|
### Plan de Pruebas
|
|
|
|
| Test Suite | Tipo | Casos |
|
|
|------------|------|-------|
|
|
| mfa.service.spec.ts | Unit | setup, verify, disable, backup-codes |
|
|
| trusted-devices.service.spec.ts | Unit | add, list, remove, verify |
|
|
| permissions.service.spec.ts | Unit | check, assign, remove, getAll |
|
|
| payments.service.spec.ts | Unit | reconcile, match, allocate |
|
|
| valuation.service.spec.ts | Unit | FIFO, LIFO, Average, revalue |
|
|
|
|
### Asignacion de Agentes
|
|
|
|
| Agente | Tareas | SP |
|
|
|--------|--------|-----|
|
|
| Backend-Agent | GAP-001, GAP-002, GAP-003, GAP-004, GAP-005 | 21 |
|
|
| Database-Agent | Verificar DDL (no cambios) | 0 |
|
|
| QA-Agent | Validacion final | 2 |
|
|
|
|
---
|
|
|
|
## V - VALIDACION
|
|
|
|
### Cobertura Analisis -> Plan
|
|
|
|
| Requisito | Cubierto en Plan |
|
|
|-----------|------------------|
|
|
| Tests MFA | GAP-001 |
|
|
| Trusted Devices | GAP-002 |
|
|
| Tests Permissions | GAP-003 |
|
|
| Tests Payments | GAP-004 |
|
|
| Tests Valuation | GAP-005 |
|
|
| Recrear DB | Paso de validacion |
|
|
| Documentar cambios | Fase D |
|
|
|
|
### Gaps Detectados
|
|
|
|
- Ninguno. Todos los GAPS tienen tarea asignada.
|
|
|
|
### Scope Creep
|
|
|
|
- N/A. El scope esta bien definido.
|
|
|
|
### Gate de Validacion
|
|
|
|
- [x] Todos los GAPS tienen tarea asignada
|
|
- [x] Orden de ejecucion definido (prioridad por severidad)
|
|
- [x] Criterios de aceptacion claros
|
|
- [x] Plan de pruebas definido
|
|
- [x] Sin cambios DDL requeridos
|
|
|
|
**GATE: APROBADO - Proceder con ejecucion**
|
|
|
|
---
|
|
|
|
## E - EJECUCION
|
|
|
|
### Progreso
|
|
|
|
| Tarea | Estado | Inicio | Fin |
|
|
|-------|--------|--------|-----|
|
|
| GAP-003 (Permissions) | COMPLETADO | 2026-01-10 | 2026-01-10 |
|
|
| GAP-001 (MFA) | COMPLETADO | 2026-01-10 | 2026-01-10 |
|
|
| GAP-002 (Trusted Devices) | COMPLETADO | 2026-01-10 | 2026-01-10 |
|
|
| GAP-004 (Payments) | COMPLETADO | 2026-01-10 | 2026-01-10 |
|
|
| GAP-005 (Valuation) | COMPLETADO | 2026-01-10 | 2026-01-10 |
|
|
| Validacion | COMPLETADO | 2026-01-10 | 2026-01-10 |
|
|
| Recrear DB | N/A (Sin cambios DDL) | - | - |
|
|
|
|
### Archivos a Crear
|
|
|
|
```
|
|
backend/src/modules/auth/__tests__/mfa.service.spec.ts
|
|
backend/src/modules/auth/services/trusted-devices.service.ts
|
|
backend/src/modules/auth/__tests__/trusted-devices.service.spec.ts
|
|
backend/src/modules/roles/__tests__/permissions.service.spec.ts
|
|
backend/src/modules/financial/__tests__/payments.service.spec.ts
|
|
backend/src/modules/inventory/__tests__/valuation.service.spec.ts
|
|
```
|
|
|
|
### Validaciones por Subtarea
|
|
|
|
| Subtarea | Build | Lint | Tests |
|
|
|----------|-------|------|-------|
|
|
| GAP-003 | Req | Req | Req |
|
|
| GAP-001 | Req | Req | Req |
|
|
| GAP-002 | Req | Req | Req |
|
|
| GAP-004 | Req | Req | Req |
|
|
| GAP-005 | Req | Req | Req |
|
|
|
|
---
|
|
|
|
## D - DOCUMENTACION
|
|
|
|
### Actualizaciones Requeridas
|
|
|
|
| Documento | Tipo | Ubicacion |
|
|
|-----------|------|-----------|
|
|
| Inventario Backend | Actualizar | orchestration/inventarios/MASTER_INVENTORY.yml |
|
|
| Traza Backend | Actualizar | orchestration/trazas/TRAZA-TAREAS-BACKEND.md |
|
|
| @PROXIMA | Actualizar | orchestration/PROXIMA-ACCION.md |
|
|
| Reporte Final | Crear | orchestration/03-validacion/REPORTE-GAPS-RESUELTOS.md |
|
|
|
|
### Inventario a Actualizar
|
|
|
|
```yaml
|
|
backend:
|
|
modules:
|
|
auth:
|
|
services:
|
|
- name: TrustedDevicesService # NUEVO
|
|
file: "@BACKEND/auth/services/trusted-devices.service.ts"
|
|
methods: [add, list, remove, verify, cleanup]
|
|
tests:
|
|
- name: MfaServiceSpec # NUEVO
|
|
file: "@BACKEND/auth/__tests__/mfa.service.spec.ts"
|
|
- name: TrustedDevicesServiceSpec # NUEVO
|
|
file: "@BACKEND/auth/__tests__/trusted-devices.service.spec.ts"
|
|
|
|
roles:
|
|
tests:
|
|
- name: PermissionsServiceSpec # NUEVO
|
|
file: "@BACKEND/roles/__tests__/permissions.service.spec.ts"
|
|
|
|
financial:
|
|
tests:
|
|
- name: PaymentsServiceSpec # NUEVO
|
|
file: "@BACKEND/financial/__tests__/payments.service.spec.ts"
|
|
|
|
inventory:
|
|
tests:
|
|
- name: ValuationServiceSpec # NUEVO
|
|
file: "@BACKEND/inventory/__tests__/valuation.service.spec.ts"
|
|
```
|
|
|
|
### Traza a Registrar
|
|
|
|
```markdown
|
|
## [GAPS-2026-01-10] Resolucion de GAPS de Tests
|
|
|
|
**Fecha:** 2026-01-10
|
|
**Estado:** En Progreso
|
|
**Agente:** Backend-Agent + Orquestador
|
|
**Duracion:** TBD
|
|
|
|
### Archivos Creados
|
|
- auth/__tests__/mfa.service.spec.ts
|
|
- auth/services/trusted-devices.service.ts
|
|
- auth/__tests__/trusted-devices.service.spec.ts
|
|
- roles/__tests__/permissions.service.spec.ts
|
|
- financial/__tests__/payments.service.spec.ts
|
|
- inventory/__tests__/valuation.service.spec.ts
|
|
|
|
### Validaciones
|
|
- [ ] Build: Pendiente
|
|
- [ ] Lint: Pendiente
|
|
- [ ] Tests: Pendiente
|
|
- [ ] Cobertura: Pendiente
|
|
```
|
|
|
|
---
|
|
|
|
## RESUMEN
|
|
|
|
| Metrica | Valor |
|
|
|---------|-------|
|
|
| Total GAPS | 5 |
|
|
| Story Points | 21 SP |
|
|
| Archivos a crear | 6 |
|
|
| Archivos a modificar | 0 |
|
|
| Cambios DDL | 0 |
|
|
| Tests a crear | ~55+ |
|
|
|
|
---
|
|
|
|
**Documento generado por:** ORQUESTADOR (Claude Code Opus 4.5)
|
|
**Sistema:** SIMCO v3.5 + CAPVED
|
|
**Fase actual:** D (Documentacion) -> COMPLETADA
|
|
**Estado:** TODOS LOS GAPS RESUELTOS
|
|
**Reporte final:** orchestration/03-validacion/REPORTE-GAPS-RESUELTOS-2026-01-10.md
|