workspace-v1/orchestration/templates/TEMPLATE-VALIDACION.md
rckrdmrd 66161b1566 feat: Workspace-v1 complete migration with NEXUS v3.4
Sistema NEXUS v3.4 migrado con:

Estructura principal:
- core/orchestration: Sistema SIMCO + CAPVED (27 directivas, 28 perfiles)
- core/catalog: Catalogo de funcionalidades reutilizables
- shared/knowledge-base: Base de conocimiento compartida
- devtools/scripts: Herramientas de desarrollo
- control-plane/registries: Control de servicios y CI/CD
- orchestration/: Configuracion de orquestacion de agentes

Proyectos incluidos (11):
- gamilit (submodule -> GitHub)
- trading-platform (OrbiquanTIA)
- erp-suite con 5 verticales:
  - erp-core, construccion, vidrio-templado
  - mecanicas-diesel, retail, clinicas
- betting-analytics
- inmobiliaria-analytics
- platform_marketing_content
- pos-micro, erp-basico

Configuracion:
- .gitignore completo para Node.js/Python/Docker
- gamilit como submodule (git@github.com:rckrdmrd/gamilit-workspace.git)
- Sistema de puertos estandarizado (3005-3199)

Generated with NEXUS v3.4 Migration System
EPIC-010: Configuracion Git y Repositorios
2026-01-04 03:37:42 -06:00

435 lines
9.4 KiB
Markdown
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# VALIDACIÓN: {TAREA-ID} - {Nombre de la Tarea}
**Agente:** {Database-Agent | Backend-Agent | Frontend-Agent | etc}
**Fecha validación:** {YYYY-MM-DD HH:MM}
**Relacionado con:** [{REQ-XXX}], [{DB-XXX}], [{BE-XXX}]
---
## 📋 CHECKLIST DE VALIDACIÓN
### Base de Datos (si aplica)
**DDL - Ejecución:**
- [ ] Script `create-database.sh` ejecuta sin errores
- [ ] Todas las tablas creadas correctamente
- [ ] Índices creados según plan
- [ ] Constraints aplicados (PK, FK, CHECK)
- [ ] Funciones funcionan correctamente
- [ ] Triggers activados correctamente
**Estructura:**
```bash
$ ./apps/database/create-database.sh
{Pegar output completo o resumen}
✅ Resultado: EXITOSO | ❌ ERROR
```
**Validación de Tablas:**
```sql
-- Verificar tabla
\d {schema}.{tabla}
{Pegar output}
Columnas: {N}/{N esperadas}
Índices: {M}/{M esperados}
```
**Seeds:**
- [ ] Seeds de desarrollo cargados
- [ ] Datos de prueba insertados correctamente
- [ ] Sin errores de FK
```bash
$ psql $DATABASE_URL -c "SELECT COUNT(*) FROM {schema}.{tabla};"
✅ Registros cargados: {N}
```
---
### Backend (si aplica)
**Compilación:**
- [ ] TypeScript compila sin errores
- [ ] No hay warnings críticos
```bash
$ cd apps/backend && npm run build
{Pegar output}
✅ Compilación: EXITOSA | ❌ ERROR
⚠️ Warnings: {N} (listar si son críticos)
```
**Entities:**
- [ ] Entities mapeadas correctamente a tablas
- [ ] Relaciones configuradas (OneToMany, ManyToOne, etc.)
- [ ] Decoradores correctos (@Entity, @Column, @PrimaryGeneratedColumn)
**Validación de Entity:**
```typescript
// Verificar entity cargada
import { ProjectEntity } from './modules/projects/entities/project.entity';
Entity importa sin errores
Decoradores correctos
Relaciones definidas: {N}
```
**Services:**
- [ ] Servicios implementan lógica de negocio
- [ ] Métodos CRUD funcionan
- [ ] Manejo de errores implementado
- [ ] Validaciones de negocio aplicadas
**Controllers:**
- [ ] Controllers exponen endpoints correctamente
- [ ] Swagger completo y correcto
- [ ] DTOs con validaciones
- [ ] Response types correctos
**Swagger:**
```bash
# Iniciar backend
$ npm run dev
# Abrir http://localhost:3000/api/docs
✅ Swagger carga correctamente
✅ Endpoints documentados: {N}
✅ DTOs con @ApiProperty: {M}
```
**Tests Unitarios (si aplica):**
```bash
$ npm test
{Pegar output}
✅ Tests: {N} passed, {M} failed
✅ Coverage: {X}%
```
---
### Frontend (si aplica)
**Compilación:**
- [ ] TypeScript compila sin errores
- [ ] Vite build exitoso
- [ ] No hay errores de linter críticos
```bash
$ cd apps/frontend/web && npm run build
{Pegar output}
✅ Build: EXITOSO | ❌ ERROR
```
**Stores (Zustand):**
- [ ] Store inicializa correctamente
- [ ] State definido con tipos correctos
- [ ] Actions funcionan
- [ ] No hay memory leaks
**Validación de Store:**
```typescript
import { useProjectStore } from '@/stores/projectStore';
Store importa sin errores
State initial correcto
Actions implementadas: {N}
```
**Páginas:**
- [ ] Páginas renderizan sin errores
- [ ] Routing funciona correctamente
- [ ] No hay errores en consola
- [ ] Responsive design validado
**Componentes:**
- [ ] Componentes renderizan correctamente
- [ ] Props tipadas correctamente
- [ ] No hay warnings de React
- [ ] Estilos aplicados correctamente
**Integración con API:**
- [ ] Llamadas a API funcionan
- [ ] Manejo de errores implementado
- [ ] Loading states funcionan
- [ ] Datos se muestran correctamente
**Validación de Integración:**
```bash
# Backend corriendo en :3000
# Frontend corriendo en :5173
# Test manual:
1. Abrir http://localhost:5173/admin/projects
2. Verificar que carga lista de proyectos
3. Crear nuevo proyecto
4. Editar proyecto
5. Eliminar proyecto
✅ CRUD completo funciona
```
---
### Integración Cross-Stack
**Alineación DB ↔ Backend:**
- [ ] Nombres de tablas coinciden con entities
- [ ] Columnas DB coinciden con properties de entity
- [ ] Tipos de datos compatibles
- [ ] Relaciones consistentes
**Validación:**
```typescript
// Entity
@Entity({ schema: 'gamification_system', name: 'user_points' })
export class ProjectEntity {
@Column({ type: 'varchar', length: 50 })
code: string; // ✅ Coincide con DB: code VARCHAR(50)
}
```
**Alineación Backend ↔ Frontend:**
- [ ] Tipos TypeScript sincronizados
- [ ] Endpoints coinciden entre API y cliente
- [ ] Response types coinciden
- [ ] ENUMs sincronizados
**Validación:**
```typescript
// Backend Controller
@Get()
@ApiResponse({ type: [ProjectEntity] })
async findAll(): Promise<ProjectEntity[]> { }
// Frontend Service
async getAll(): Promise<Project[]> { } // ✅ Tipos coinciden
```
**Constantes Sincronizadas:**
- [ ] Constantes DB en backend actualizadas
- [ ] ENUMs en frontend sincronizados
- [ ] API endpoints coinciden
```typescript
// Verificar sincronización
// apps/backend/src/shared/constants/database.constants.ts
export const DB_SCHEMAS = {
PROJECT_MANAGEMENT: 'gamification_system', // ✅
};
// apps/frontend/web/src/shared/constants/api-endpoints.ts
export const API_ENDPOINTS = {
PROJECTS: '/api/projects', // ✅ Coincide con backend
};
```
---
## 🧪 PRUEBAS FUNCIONALES
### Pruebas de Backend
**Test 1: Crear proyecto**
```bash
$ curl -X POST http://localhost:3000/api/projects \
-H "Content-Type: application/json" \
-d '{
"code": "PROJ-2025-001",
"name": "Fraccionamiento Las Palmas",
"state": "Jalisco",
"city": "Guadalajara"
}'
✅ Respuesta: 201 Created
✅ Objeto creado correctamente
```
**Test 2: Obtener proyectos**
```bash
$ curl -X GET http://localhost:3000/api/projects
✅ Respuesta: 200 OK
✅ Array de proyectos retornado
```
**Test 3: Actualizar proyecto**
```bash
$ curl -X PUT http://localhost:3000/api/projects/{id} \
-H "Content-Type: application/json" \
-d '{"name": "Fraccionamiento Las Palmas II"}'
✅ Respuesta: 200 OK
✅ Objeto actualizado
```
**Test 4: Eliminar proyecto**
```bash
$ curl -X DELETE http://localhost:3000/api/projects/{id}
✅ Respuesta: 200 OK | 204 No Content
✅ Objeto eliminado
```
### Pruebas de Frontend
**Test Manual:**
1. ✅ Página carga sin errores
2. ✅ Lista de proyectos se muestra
3. ✅ Botón "Nuevo Proyecto" funciona
4. ✅ Formulario de creación valida correctamente
5. ✅ Proyecto se crea y aparece en lista
6. ✅ Edición funciona
7. ✅ Eliminación funciona con confirmación
**Errores de Consola:**
```
{Listar errores encontrados o "Ninguno"}
```
---
## 📊 MÉTRICAS DE CALIDAD
### Cobertura de Tests
- **Unit tests:** {N} tests, {X}% coverage
- **Integration tests:** {M} tests
- **E2E tests:** {P} tests
**Objetivo:** >80% coverage ✅ Alcanzado | ⚠️ Por debajo
### Complejidad de Código
- **Complejidad ciclomática promedio:** {valor}
- **Funciones complejas (>10):** {N}
**Objetivo:** <10 Alcanzado | Revisar
### Performance
- **Tiempo de respuesta API (promedio):** {ms}
- **Tiempo de carga página (FCP):** {ms}
**Objetivo:** API <200ms, FCP <2s Alcanzado | Optimizar
---
## 🔒 SEGURIDAD
### Validaciones
- [ ] Validación de inputs (class-validator en DTOs)
- [ ] Sanitización de datos
- [ ] Protection contra SQL Injection (TypeORM parametrizado)
- [ ] Protection contra XSS (React sanitiza por defecto)
### Autenticación/Autorización
- [ ] Endpoints protegidos con guards
- [ ] RLS policies aplicadas (si aplica)
- [ ] Roles validados
---
## ⚠️ PROBLEMAS ENCONTRADOS
### Errores Críticos
{Listar errores críticos encontrados durante validación}
**Ninguno** |
**Error 1:**
- **Descripción:** {descripción}
- **Severidad:** Alta | Media | Baja
- **Solución aplicada:** {descripción}
- **Estado:** Resuelto | En progreso
### Warnings
{Listar warnings no críticos}
**Ninguno** |
**Warning 1:**
- **Descripción:** {descripción}
- **Impacto:** {descripción}
- **Acción:** {ignorar | corregir | mejorar después}
---
## 📝 DEUDA TÉCNICA IDENTIFICADA
### Items de Deuda Técnica
{Listar items que quedaron pendientes o requieren mejora}
**Ninguno** |
**Item 1:**
- **Descripción:** {qué falta o qué se puede mejorar}
- **Prioridad:** P1 | P2 | P3
- **Estimación:** {tiempo}
- **Cuándo abordar:** {este sprint | próximo sprint | backlog}
---
## ✅ CRITERIOS DE ACEPTACIÓN
### Del Plan Original
{Copiar criterios de aceptación del 02-PLAN.md}
- [ ] Criterio 1
- [ ] Criterio 2
- [ ] Criterio 3
**Estado:** Todos cumplidos | Pendientes: {lista}
---
## 🎯 RESULTADO FINAL
### Resumen
{Párrafo resumiendo la validación completa}
### Métricas Finales
- **Tests:** {N} passed / {M} total ({X}% pass rate)
- **Coverage:** {Y}%
- **Errores críticos:** {N}
- **Warnings:** {M}
- **Deuda técnica:** {P} items ({Alta|Media|Baja})
### Estado de Tarea
- [ ] **VALIDACIÓN EXITOSA** - Tarea completada satisfactoriamente
- [ ] **VALIDACIÓN CON OBSERVACIONES** - Funciona pero requiere mejoras
- [ ] **VALIDACIÓN FALLIDA** - Requiere correcciones antes de completar
### Aprobación
- [ ] Código funciona correctamente
- [ ] Tests pasan
- [ ] Documentación completa
- [ ] Inventarios actualizados
- [ ] Sin errores críticos
- [ ] **APROBADO PARA DOCUMENTACIÓN FINAL**
---
## 🚀 PRÓXIMOS PASOS
**Acción inmediata:**
- Crear documento de documentación final (05-DOCUMENTACION.md)
- Actualizar inventarios
- Actualizar trazas
**Seguimiento:**
- {Lista de acciones de seguimiento si las hay}
---
**Validado por:** {nombre-agente}
**Fecha:** {YYYY-MM-DD HH:MM}
**Versión:** 1.0
**Estado:** {Aprobado | Aprobado con observaciones | Rechazado}