clinica-veterinaria/orchestration/_archive/directivas/principios/PRINCIPIO-VALIDACION-OBLIGATORIA.md
Adrian Flores Cortes 8bb46e4d08 [ESTANDAR-ORCHESTRATION] refactor: Consolidate to standard structure
- Move 6 non-standard folders to _archive/
- Update _MAP.md with standardized structure

Standard: SIMCO-ESTANDAR-ORCHESTRATION v1.0.0
Level: SUB-CONSUMER

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-24 14:38:02 -06:00

7.9 KiB

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)

# 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)

# 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)

# 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

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)

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)

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

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)

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:

## 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