# Micro módulo corretivo final 05 — prova extraída real, MySQL/MariaDB real e ZIP final inequívoco

## Objetivo entregue

Fechar a prova final do bundle **a partir do artefato extraído**, sem depender do host de auditoria local quando ele não dispõe de `pdo_mysql`, MariaDB/MySQL ou Redis.

## O que foi materializado

- `scripts/prove-extracted-real-stack.sh`
  - sobe o stack do próprio artefato com Docker Compose;
  - exige MariaDB/MySQL real (`mariadb`), Redis real (`redis`) e PHP com `pdo_mysql`;
  - executa:
    - `php artisan about`
    - `php artisan list`
    - `php artisan route:list`
    - `php artisan schedule:list`
    - `php artisan migrate --pretend`
    - `php artisan migrate:fresh --seed`
    - `platform/scripts/check-queue-runtime.php` em modo estrito
    - `bash scripts/test.sh`
    - `bash scripts/test-regression.sh`
    - `platform/tests/run.php --suite=final-product-regression`
    - `portal/tests/run.php`
    - `gateway/tests/run.php`
  - grava logs e checklist em `storage/proof/final-real-stack/<timestamp>/`.

- `scripts/verify-final-package-real-stack.sh`
  - extrai o ZIP entregue em raiz limpa;
  - executa a prova estrita a partir da extração, sem staging paralelo.

## Endurecimentos adicionais

- `docker-compose.yml` agora injeta chaves/dev-secrets mínimos para a prova integrada (`APP_KEY`, `CENTRAL_SHARED_SECRET`, `NVR_REMOTE_SIGNING_KEY`, `LOCAL_WEB_MEDIA_SIGNING_KEY`).
- `platform/scripts/check-console-migrations-seeders.php` e `platform/scripts/check-laravel-materialized-runtime.php` passaram a respeitar `PLATFORM_REQUIRE_REAL_MYSQL=1`.
- `platform/scripts/check-queue-runtime.php` passou a:
  - usar Redis externo real quando `REDIS_HOST` / `REDIS_PORT` estiverem acessíveis;
  - cair para Redis efêmero local apenas quando o binário existir;
  - falhar em modo estrito (`QUEUE_RUNTIME_STRICT=1`) se não houver backend real disponível.
- `platform/tests/Feature/QueueRuntimeOperationalRegressionTest.php` passou a:
  - usar Redis externo real quando presente;
  - pular explicitamente apenas em hosts sem backend de fila disponível.

## Critério operacional

A aceitação final do bundle deve ser feita com:

```bash
bash scripts/verify-final-package-real-stack.sh /caminho/pacote.zip
```

Esse é o caminho canônico para demonstrar, em ambiente limpo e extraído, que o pacote sobe com runtime oficial, MariaDB/MySQL real, fila real e regressão consolidada.
