# Sprint 22 — Release Candidate y producción controlada

## Objetivo

Instalar un gate auditable que permita emitir el dictamen final únicamente después de validar un servidor de staging real. El gate no despliega, no activa tráfico y no guarda secretos.

## Controles obligatorios

- HTTPS y preflight estricto con cero errores.
- Backup previo y restauración real ensayada.
- E2E del flujo principal y aislamiento multiempresa.
- Pruebas de carga, accesibilidad y seguridad/IDOR.
- Revisión de privacidad, rollback, monitoreo y alertas.
- Cero hallazgos críticos o altos abiertos.
- Piloto limitado y aprobación manual trazable.

## Flujo

1. Defina `DEPLOY_RELEASE` con un identificador inmutable.
2. Inicialice la evidencia con `php tools/staging/release_candidate.php --init=/ruta/evidencia.json`.
3. Ejecute cada control y adjunte el SHA-256 de su artefacto.
4. Mantenga `PRODUCTION_TRAFFIC_ENABLED=false`.
5. Ejecute `deploy/scripts/run-release-candidate-audit.sh /ruta/evidencia.json`.

Solo un resultado `APTO_PRODUCCION_CONTROLADA_CON_PILOTO` permite pasar a la decisión humana de lanzamiento. El software nunca habilita tráfico por sí solo.
