# A14 — Testes de regressão e validação end-to-end

Esta rodada consolida a regressão mínima automatizada exigida para o pacote final.

## Como executar

```bash
bash scripts/test-regression.sh
```

Ou manualmente:

```bash
cd platform && php tests/run.php
cd ../gateway && php tests/run.php
```

## Cobertura crítica desta rodada

### Plataforma `/platform` e integração com portal principal
- execução em subdiretório e helpers de URL: `platform/tests/Feature/IntegratedSubdirectoryRegressionTest.php`, `platform/tests/Unit/SubdirectoryRuntimeSupportTest.php`, `platform/tests/Unit/BuildManifestSubdirectoryTest.php`
- autenticação em ambiente integrado: `platform/tests/Feature/AuthFlowRegressionTest.php`, `platform/tests/Feature/IntegratedSubdirectoryRegressionTest.php`
- SSO em subdiretório: `platform/tests/Feature/CentralSsoHandoffFlowTest.php`, `platform/tests/Feature/IntegratedSubdirectoryRegressionTest.php`
- integração com portal principal e topologia compartilhada: `platform/tests/Feature/OperationalTopologyConsistencyTest.php`, `platform/tests/Feature/GatewayApiSecurityFlowTest.php`
- assinatura de mídia entre `/platform` e `/gateway`: `platform/tests/Feature/MediaSignatureEndToEndTest.php`

### Gateway `/gateway`
- acesso remoto com licença ativa e operação local preservada: `gateway/tests/Unit/RemoteAccessPolicyRegressionTest.php`
- bloqueio remoto com licença suspensa sem derrubar a operação local: `gateway/tests/Unit/RemoteAccessPolicyRegressionTest.php`, `gateway/tests/Unit/LicensePolicyResolverTest.php`
- descoberta de câmera: `gateway/tests/Unit/CameraDiscoveryRegressionTest.php`
- cadastro manual de câmera: `gateway/tests/Unit/CameraInventoryServiceTest.php`
- gravação contínua e por movimento: `gateway/tests/Unit/RecordingLifecycleRegressionTest.php`, `gateway/tests/Unit/MotionRecordingSupportTest.php`
- retenção: `gateway/tests/Unit/RecordingLifecycleRegressionTest.php`
- playback, snapshot e export com assinatura: `gateway/tests/Unit/RecordingLifecycleRegressionTest.php`, `gateway/tests/Unit/MediaSignerContractTest.php`
- preservação do funcionamento local e UI montada: `gateway/tests/Unit/UiContextTest.php`, `gateway/tests/Unit/ViewRenderTest.php`, `gateway/tests/Unit/SubdirectoryPathHelperTest.php`

## Critério operacional
- não promover pacote final sem `platform` e `gateway` com execução verde
- falha em mídia assinada, subdiretório, SSO, remoto, descoberta ou retenção deve bloquear a entrega
