# Módulo final 35 — revalidação do artefato extraído

Esta rodada consolida a revalidação do bundle extraído recém-gerado, sem aceitar evidência por grep, manifesto ou log herdado.

Checklist automatizado do root real:
- `platform/php artisan about`
- `platform/php artisan list`
- `platform/php artisan route:list`
- `platform/php artisan schedule:list`
- `platform/php artisan migrate --pretend`
- `platform/php tests/run.php --suite=final-product-regression`
- `portal/php tests/run.php`
- `gateway/php tests/run.php`
- `bash scripts/test.sh`
- `bash scripts/test-regression.sh`
- smoke HTTP local do portal real servindo `/nvr` e `/nvr/launch.php`

Gate adicional obrigatório:
- `scripts/check-official-platform-runtime.php`

## Regra de ambiente

A prova de `db:seed` e `migrate:fresh --seed` continua sendo obrigatória quando o ambiente realmente oferece stack compatível (`pdo_mysql` + MySQL/MariaDB operacional).

Quando o bundle é revalidado em um ambiente extraído que **não** oferece esse stack, a suíte e o checker não devem produzir falso negativo sobre o runtime oficial já substituído. Nessa condição, a prova estritamente dependente de MySQL/MariaDB real é marcada como **skip explícito**, preservando a validação do restante do artefato.

## Objetivo do gate

O gate final desta rodada existe para garantir que o ZIP consolidado represente o produto real — portal, `/nvr`, gateway e `/platform` — com runtime oficial no caminho principal e sem auto-contradição documental ou operacional.
