# Módulo 22 — detalhamento técnico do boot principal nativo

## Mudanças centrais

### Rotas canônicas

O runtime principal passou a usar `routes/web.canonical.php` como tabela HTTP canônica.
Isso remove `web.generated.php` e `routes/legacy.php` do caminho de execução principal e arquiva a camada híbrida residual fora do boot canônico.

### Application stage runtime

`vendor/stage/Illuminate/Foundation/Application.php` agora:

- carrega a configuração e providers;
- exporta a tabela de rotas pelo `Route` facade;
- mantém a lista de rotas compiladas como estrutura nativa do stage runtime;
- não instancia `App\Http\Router` para o fluxo principal.

### HTTP kernel stage runtime

`vendor/stage/Illuminate/Foundation/Http/Kernel.php` agora:

- recebe `Illuminate\Http\Request`/`Symfony Request`;
- resolve a rota diretamente a partir da tabela canônica compilada;
- aplica middlewares via `handle(...)`;
- despacha controllers via `app()->call()` com parâmetros de rota resolvidos;
- mantém `App\Http\Request` apenas como adaptação de compatibilidade injetada no controller quando necessário.

## Resultado observável

- `php artisan about`: ok
- `php artisan route:list`: ok
- `platform/scripts/check-native-main-boot.php`: ok
- `platform/scripts/check-laravel-materialized-runtime.php`: ok

## Compatibilidade preservada

- portal segue como entrypoint oficial;
- bridge público `/public/nvr` permanece intacto;
- catálogo/launch/entitlement do NVR no portal permanecem intactos;
- gateway e regra de licença não foram reabertos nesta rodada.
