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
249 lines
7.9 KiB
Markdown
249 lines
7.9 KiB
Markdown
# PRINCIPIO: VALIDACIÓN OBLIGATORIA
|
|
|
|
**Versión:** 1.0.0
|
|
**Fecha:** 2025-12-08
|
|
**Tipo:** Principio Fundamental - HERENCIA OBLIGATORIA
|
|
**Aplica a:** TODOS los agentes sin excepción
|
|
|
|
---
|
|
|
|
## DECLARACIÓN DEL PRINCIPIO
|
|
|
|
```
|
|
╔══════════════════════════════════════════════════════════════════════╗
|
|
║ ║
|
|
║ BUILD PASA + LINT PASA = REQUISITO MÍNIMO ║
|
|
║ ║
|
|
║ "Código que no compila NO está terminado." ║
|
|
║ "Tarea con errores NO está completada." ║
|
|
║ ║
|
|
╚══════════════════════════════════════════════════════════════════════╝
|
|
```
|
|
|
|
---
|
|
|
|
## REGLA INQUEBRANTABLE
|
|
|
|
```
|
|
┌─────────────────────────────────────────────────────────────────────┐
|
|
│ │
|
|
│ NINGUNA tarea se marca como COMPLETADA si: │
|
|
│ │
|
|
│ • Build falla │
|
|
│ • Lint tiene errores críticos │
|
|
│ • Carga limpia falla (para DDL) │
|
|
│ • Tests fallan (si existen) │
|
|
│ │
|
|
└─────────────────────────────────────────────────────────────────────┘
|
|
```
|
|
|
|
---
|
|
|
|
## VALIDACIONES POR CAPA
|
|
|
|
### Database (DDL)
|
|
```bash
|
|
# OBLIGATORIO
|
|
cd @DB_SCRIPTS
|
|
./{RECREATE_CMD} # Carga limpia DEBE pasar
|
|
|
|
# Verificación
|
|
psql -d {DB_NAME} -c "\dt {schema}.*" # Tablas creadas
|
|
psql -d {DB_NAME} -c "\di {schema}.*" # Índices creados
|
|
```
|
|
|
|
### Backend (NestJS)
|
|
```bash
|
|
# OBLIGATORIO
|
|
cd @BACKEND_ROOT
|
|
npm run build # DEBE pasar
|
|
npm run lint # DEBE pasar
|
|
|
|
# Adicional
|
|
npm run test # Si hay tests, DEBEN pasar
|
|
npm run start:dev # DEBE iniciar sin errores
|
|
```
|
|
|
|
### Frontend (React)
|
|
```bash
|
|
# OBLIGATORIO
|
|
cd @FRONTEND_ROOT
|
|
npm run build # DEBE pasar
|
|
npm run lint # DEBE pasar
|
|
|
|
# Adicional
|
|
npm run typecheck # DEBE pasar
|
|
npm run dev # DEBE iniciar sin errores
|
|
```
|
|
|
|
---
|
|
|
|
## FLUJO DE VALIDACIÓN
|
|
|
|
```
|
|
TERMINAR IMPLEMENTACIÓN
|
|
│
|
|
▼
|
|
┌─────────────────────┐
|
|
│ EJECUTAR BUILD │
|
|
└──────────┬──────────┘
|
|
│
|
|
▼
|
|
┌─────────────────────┐ ┌─────────────────────┐
|
|
│ ¿BUILD PASA? │──NO──►│ CORREGIR ERRORES │
|
|
└──────────┬──────────┘ └──────────┬──────────┘
|
|
│ SÍ │
|
|
│◄────────────────────────────┘
|
|
▼
|
|
┌─────────────────────┐ ┌─────────────────────┐
|
|
│ EJECUTAR LINT │──NO──►│ CORREGIR ERRORES │
|
|
│ ¿LINT PASA? │ └──────────┬──────────┘
|
|
└──────────┬──────────┘ │
|
|
│ SÍ │
|
|
│◄────────────────────────────┘
|
|
▼
|
|
┌─────────────────────┐ ┌─────────────────────┐
|
|
│ EJECUTAR TESTS │──NO──►│ CORREGIR TESTS │
|
|
│ ¿TESTS PASAN? │ └──────────┬──────────┘
|
|
└──────────┬──────────┘ │
|
|
│ SÍ │
|
|
│◄────────────────────────────┘
|
|
▼
|
|
┌─────────────────────┐
|
|
│ ✅ TAREA COMPLETA │
|
|
└─────────────────────┘
|
|
```
|
|
|
|
---
|
|
|
|
## QUÉ HACER CUANDO FALLA
|
|
|
|
### Build Falla
|
|
```markdown
|
|
1. NO marcar tarea como completada
|
|
2. Leer el error completo
|
|
3. Identificar archivo y línea
|
|
4. Corregir el error
|
|
5. Volver a ejecutar build
|
|
6. Repetir hasta que pase
|
|
```
|
|
|
|
### Lint Falla (Errores)
|
|
```markdown
|
|
1. NO marcar tarea como completada
|
|
2. Distinguir errores de warnings
|
|
- Errores (error): DEBEN corregirse
|
|
- Warnings (warn): Pueden ignorarse (pero mejor corregir)
|
|
3. Corregir todos los errores
|
|
4. Volver a ejecutar lint
|
|
5. Repetir hasta que pase
|
|
```
|
|
|
|
### Carga Limpia Falla (DDL)
|
|
```markdown
|
|
1. NO marcar tarea como completada
|
|
2. NO ejecutar fix manual en BD
|
|
3. Leer el error de PostgreSQL
|
|
4. Corregir archivo DDL
|
|
5. Volver a ejecutar carga limpia completa
|
|
6. Repetir hasta que pase
|
|
```
|
|
|
|
### Tests Fallan
|
|
```markdown
|
|
1. NO marcar tarea como completada
|
|
2. Identificar test que falla
|
|
3. Determinar si:
|
|
a. El código tiene bug → Corregir código
|
|
b. El test está desactualizado → Actualizar test
|
|
4. Volver a ejecutar tests
|
|
5. Repetir hasta que pasen
|
|
```
|
|
|
|
---
|
|
|
|
## EXCEPCIONES (MUY LIMITADAS)
|
|
|
|
```yaml
|
|
Puede marcarse completa SIN tests:
|
|
- Si no existen tests para el módulo (pero build y lint DEBEN pasar)
|
|
- Se documenta: "Tests pendientes de crear"
|
|
|
|
Puede tener warnings de lint:
|
|
- Si son warnings menores (no errores)
|
|
- Se documenta: "N warnings de lint pendientes"
|
|
|
|
NUNCA puede marcarse completa:
|
|
- Con build fallando
|
|
- Con errores de lint
|
|
- Con carga limpia fallando
|
|
```
|
|
|
|
---
|
|
|
|
## REPORTE DE VALIDACIÓN
|
|
|
|
En toda entrega incluir:
|
|
|
|
```markdown
|
|
## Validaciones
|
|
|
|
| Validación | Comando | Resultado |
|
|
|------------|---------|-----------|
|
|
| Build | `npm run build` | ✅ Pasa / ❌ Falla |
|
|
| Lint | `npm run lint` | ✅ Pasa / ⚠️ Warnings / ❌ Errores |
|
|
| Tests | `npm run test` | ✅ Pasa / ❌ Falla / ⏭️ N/A |
|
|
| Carga Limpia | `./{RECREATE_CMD}` | ✅ Pasa / ❌ Falla / ⏭️ N/A |
|
|
|
|
**Estado:** ✅ Validaciones completas / ❌ Pendiente corrección
|
|
```
|
|
|
|
---
|
|
|
|
## CONSECUENCIAS DE IGNORAR
|
|
|
|
```
|
|
❌ Código que no compila entregado
|
|
→ Bloquea a otros agentes/desarrolladores
|
|
|
|
❌ Errores de lint ignorados
|
|
→ Código inconsistente, bugs potenciales
|
|
|
|
❌ Tests fallando ignorados
|
|
→ Regresiones, bugs en producción
|
|
|
|
❌ DDL con errores
|
|
→ BD inconsistente, datos corruptos
|
|
```
|
|
|
|
---
|
|
|
|
## CHECKLIST RÁPIDO
|
|
|
|
```
|
|
Antes de marcar CUALQUIER tarea como completada:
|
|
|
|
[ ] Build pasa sin errores
|
|
[ ] Lint pasa sin errores (warnings OK)
|
|
[ ] Tests pasan (si existen)
|
|
[ ] Carga limpia pasa (si es DDL)
|
|
[ ] Aplicación inicia correctamente
|
|
```
|
|
|
|
---
|
|
|
|
## REFERENCIAS SIMCO
|
|
|
|
- **@VALIDAR** - Proceso completo de validación
|
|
- **@OP_DDL** - Validación específica de database
|
|
- **@OP_BACKEND** - Validación específica de backend
|
|
- **@OP_FRONTEND** - Validación específica de frontend
|
|
|
|
---
|
|
|
|
**Este principio es OBLIGATORIO y NO puede ser ignorado por ningún agente.**
|
|
|
|
---
|
|
|
|
**Versión:** 1.0.0 | **Sistema:** SIMCO | **Tipo:** Principio Fundamental
|