# Validación y continuidad

## Resultados de la implementación inicial

Verificaciones ejecutadas el 2026-10-08 en la ubicación original:

| Verificación | Resultado observado |
| --- | --- |
| `npm run check` | 0 errores y 0 advertencias |
| `npm run build` | Compilación completada con adapter-node |
| `npm test` | 6 pruebas aprobadas, sin fallos ni omisiones |
| Auditoría durante la instalación final | npm informó 0 vulnerabilidades |

La auditoría corresponde a ese momento y a las dependencias instaladas. No es una afirmación sobre futuros avisos.

Las seis pruebas comprueban: inicio sin selección implícita de año; respuesta de las siete rutas y conservación del año; recuento de matrículas independiente de las materias; rechazo de sede inexistente y grado ajeno; validación de año y entradas inválidas; mensaje vacío en un grupo sin matrículas.

Las pruebas usan datos existentes y solo hacen SELECT y solicitudes GET. Requieren MySQL disponible, configuración `.env` y una compilación previa. Inician un servidor temporal en el puerto 4179 y lo detienen al finalizar.

## Revisión en navegador realizada

Se verificaron el recorrido por Sede Central, listado de grados y detalle de un grupo; el retorno por breadcrumbs; y la búsqueda sin coincidencias.

Se probó el detalle con una configuración de viewport de 390 × 844. La medición DOM devolvió 375 píxeles de ancho visible y 375 de contenido, sin desbordamiento horizontal en esa vista. No se realizó una matriz exhaustiva de dispositivos ni una auditoría completa de accesibilidad.

`preview.png` contiene una captura de la pantalla de sedes tomada durante esa revisión. No es una captura nueva del traslado.

## Ejecución desde la nueva ubicación

Abrir PowerShell:

```powershell
Set-Location -LiteralPath 'C:\xampp\htdocs\AI\portal-svelte'
npm run dev
```

La URL y el puerto efectivos aparecen en la consola. Estar dentro de `htdocs` no convierte este proyecto en una aplicación PHP servida directamente por Apache; se ejecuta con Node/Vite.

Si faltan dependencias, usar `npm ci` con el archivo de bloqueo. Conservar el `.env` existente. Solo si falta, copiar `.env.example` y ajustar la conexión.

Para validar después de cambios:

```powershell
npm run check
npm run build
npm test
```

Para iniciar la compilación en localhost:

```powershell
$env:HOST='127.0.0.1'
$env:PORT='5173'
node --env-file=.env build/index.js
```

## Continuidad del desarrollo

Antes de ampliar el alcance, confirmar el código de año operativo y las reglas de negocio sobre estados de matrícula y adscripción histórica de docentes.

Autenticación, roles, paginación, operaciones de escritura y despliegue son trabajo posterior, no funcionalidades implementadas. Las modificaciones de base de datos requieren un diseño independiente del mapeo parcial actual.

Al trasladar o recompilar el proyecto, detener primero el proceso Node que lo esté utilizando. No detener otros procesos Node del equipo por nombre: identificar el proceso o la sesión de esta aplicación.

## Traslado completado el 2026-10-08

El proyecto se trasladó de `C:\xampp\htdocs\AI\occidente-tulua\reports\gestion-escolar` a `C:\xampp\htdocs\AI\portal-svelte`. La carpeta de destino estaba vacía. Se incluyeron código, documentación, pruebas, configuración local, dependencias, caché y artefactos de compilación.

Antes de moverlo se detuvo la sesión Node de la aplicación. Se compararon los hashes SHA-256 de 47 archivos de proyecto antes y después del traslado. Esa comparación excluyó `node_modules`, `.npm-cache`, `.svelte-kit` y `build`; estas carpetas también se trasladaron. La carpeta original del proyecto quedó vacía y se retiró.

Desde la nueva ubicación se ejecutaron `npm run check` (0 errores y 0 advertencias), `npm run build` (correcto) y `npm test` (6 aprobadas, 0 fallos, 0 omitidas). La base de datos permanece en su ubicación original; no se exportó ni se trasladó.
