VALIDACIÓN CHEFMANAGER IA 3.16.6
================================

EJECUCIÓN LOCAL REAL
--------------------
[OK] PHP 8.3.6 compatible con el requisito PHP >= 8.1.
[OK] Extensiones PDO_SQLITE, fileinfo, iconv, OpenSSL/Sodium, cURL y mbstring disponibles.
[OK] Sintaxis PHP: 69/69 archivos.
[OK] Sintaxis JavaScript: 15/15 archivos.
[OK] Sintaxis Shell: 4/4 scripts.
[OK] Sintaxis Python: 7/7 archivos del AI Gateway.

BASE DE DATOS
-------------
[OK] Instalación limpia de producción: 207 tablas, 210 índices, 0 negocios demo activos.
[OK] Instalación limpia de revisión: 207 tablas, 210 índices, 7 tenants y 11 usuarios demo.
[OK] PRAGMA integrity_check = ok.
[OK] PRAGMA foreign_key_check = 0 violaciones.
[OK] Restablecimiento demo ensayado: recuperó los 7 tenants y 14 ubicaciones internas.

HTTP Y AUTENTICACIÓN
--------------------
[OK] Portada, app.php, health API y configuración de acceso responden 200 en staging local.
[OK] Demo apagado por defecto; demo-login responde bloqueado cuando no se habilita por entorno.
[OK] Diez perfiles demo autenticados; acceso operativo comprobado en catálogo o Cocina/KDS.
[OK] Aislamiento negativo entre Local y Food Court: referencias cruzadas devuelven 404.
[OK] Redirección HTTPS activa en producción e invalidación de cabeceras Host malformadas.
[OK] Sin errores PHP fatales, warnings ni respuestas 500 durante los recorridos ejecutados.

RESPALDO Y SEGURIDAD
--------------------
[OK] Respaldo SQLite creado y validado con quick_check.
[OK] Checksum SHA-256 generado y expuesto en el inventario de respaldos.
[OK] Restauración ensayada; recuperó el dato original e integridad ok.
[OK] Las restauraciones con checksum disponible verifican coincidencia antes de reemplazar la base.
[OK] URLs salientes: HTTPS público aceptado; loopback, redes privadas, metadata, nombres locales,
     IPv4 numérica, HTTP y credenciales embebidas rechazados.

CONTENEDOR
----------
[OK] MANIFEST.sha256 regenerado sobre el contenido final.
[OK] ZIP final verificado con prueba de compresión y checksum externo SHA-256.

LÍMITES QUE NO PUEDEN CERRARSE SIN DATOS DEL PROPIETARIO
--------------------------------------------------------
- Hosting/staging real, URL definitiva y ventana de cambio.
- Credenciales sandbox de Meta WhatsApp, pagos, fiscal, correo y Google.
- Objetivo de concurrencia: usuarios, RPS, duración y umbrales de latencia/error.
- Países, comprobantes, retención de datos y aprobación legal/fiscal local.

Estas dependencias externas no se simulan ni se marcan como aprobadas. El paquete queda listo
para staging y contiene herramientas reproducibles para completar el cierre en infraestructura real.
