# MICRO MÓDULO CORRETIVO 20 — validação final consolidada

## Escopo revalidado

Fechamento do pedido original de conclusão total somado à revalidação final do corretivo de previews reais.

### Fluxos centrais cobertos na regressão consolidada

- abertura do NVR pelo portal oficial;
- launch assinado em `/nvr/launch.php`;
- propagação de tenant, usuário e site/unidade;
- registro do gateway e ativação por código;
- heartbeat e política de bloqueio remoto sem quebra do modo local;
- sync de câmeras e sync de gravações;
- descoberta ONVIF e cadastro manual por RTSP;
- gravação contínua e por movimento;
- catálogo, timeline, playback, export, snapshot e preview;
- ao vivo local, acesso remoto mediado e modo HDMI;
- dashboards, healthchecks, auditoria, assets, sessão e deploy sob `/nvr`.

## Evidências automatizadas desta rodada

### 1. Checagem estrutural de preview e UI

Comando:

```bash
php scripts/check-preview-regression.php
```

Resultado esperado nesta entrega:

- `preview-regression-check: ok`

### 2. Regressão do portal real empacotado

Comando:

```bash
cd portal && php tests/run.php
```

Resumo observado nesta rodada:

- **127** testes aprovados;
- **0** falhas.

### 3. Regressão do gateway local

Comando:

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

Resumo observado nesta rodada:

- **43** testes aprovados;
- **0** falhas.

Inclui validações novas e específicas do corretivo 20:

- reconciliação de `missing_asset` reabrindo a fila de sync;
- renovação real de `generated_at` quando o preview é recriado;
- reconciliação antes do upload quando a geração on-sync está desabilitada.

### 4. Platform central

Neste ambiente empacotado, a suíte HTTP/Laravel completa permanece indisponível, então a validação central continua pelo contrato estático já formalizado no pacote:

```bash
cd platform
php scripts/check-laravel-native-runtime.php
php scripts/check-console-migrations-seeders.php
php scripts/check-scope-cleanup.php
```

Resultado observado nesta rodada:

- `laravel-native-runtime: ok`
- `console-migrations-seeders: ok`
- `scope-cleanup: ok`

## Comando consolidado de regressão

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

Resultado esperado nesta entrega:

- portal real validado;
- contrato de preview validado;
- regressão do portal aprovada;
- validações estáticas do platform aprovadas;
- regressão do gateway aprovada;
- fechamento consolidado concluído com sucesso.

## Critérios de aceite refletidos

- **Existem previews reais materializados**: coberto pelo gerador real com FFmpeg e pelos testes do gateway.
- **`preview_ready` reflete estado verdadeiro**: coberto pela reconciliação de drift e reabertura de sync.
- **Todos os fluxos centrais passam em regressão**: coberto pelo runner consolidado e pela matriz acima.
- **Novo ZIP final consolidado é gerado corretamente**: coberto pelo empacotamento determinístico via `scripts/package.sh` / `scripts/build-final.sh`.
