Saltar a contenido

Política de cobertura

Cortex valida el comportamiento en tres capas complementarias. Un porcentaje es un guardia de regresión, no un sustituto de los contratos de autorización, migración y composición que ejercitan los suites de integración.

Gates obligatorios de CI

Capa Comando Evidencia requerida
Servicio Go y persistencia make test-postgres-coverage La cobertura atómica de todo el proyecto, incluyendo los tests de integración de PostgreSQL, es al menos 70%.
Núcleo del cliente web npm --prefix web run test:coverage Cobertura V8 de web/src/lib/**/*.ts: sentencias y líneas al menos 70%, branches al menos 60%, funciones al menos 55%.
Frontera Compose make test-e2e-docker El servidor, la aplicación web, las credenciales de bootstrap, la frontera tenant/workspace, la búsqueda y la persistencia tras reinicio funcionan juntos en un proyecto Compose aislado.

Ambos workflows de GitHub suben el perfil/log de Go y los informes V8 de la web como artefactos. Los informes locales están deliberadamente ignorados por Git: Go escribe en coverage/; Vitest escribe en web/coverage/.

Por qué el alcance web es explícito

El entorno de tests web es intencionalmente basado en Node y actualmente ejercita el núcleo del cliente TypeScript puro sensible a la seguridad: la política de transporte bearer, el handshake de autenticación, el reducer de streaming de agentes, la codificación de la API, las preferencias y los exportadores de configuración. El rendering React/TSX no se cuenta como si estuviera cubierto; sigue protegido por la validación del build de producción y el test de frontera Compose. Añade un entorno de tests DOM y tests de interacción de componentes antes de ampliar el conjunto de inclusión V8 a ficheros tsx.

Ejecución local

Ejecuta primero las comprobaciones baratas de web y Go:

npm --prefix web run test:coverage
make test-coverage

El gate de PostgreSQL requiere los tres DSN CORTEX_TEST_POSTGRES_* y la bootstrap de autorización descrita en AGENTS.md; CI es el ejecutor autoritativo cuando estos no están disponibles. La comprobación de frontera Compose requiere Docker:

make test-postgres-coverage
make test-e2e-docker