# Verificação local — 19/10/2026 Pedido: identificar e corrigir o arranque, configurar a plataforma e testar. O responsável escolheu uma base nova de demonstração local. ## Plano executado e causas corrigidas 1. Reproduzido `Please provide a valid cache path`: faltavam as pastas `storage/framework`. O bootstrap agora cria as pastas antes da configuração. 2. Substituída a configuração local MySQL incompatível por PostgreSQL/PostGIS QA em `investmoz_local_test:55441`; activados `pdo_pgsql` e `pgsql` no PHP usado pelo terminal. Configurações anteriores preservadas privadamente. 3. Preparado Docker Desktop e um contentor/volume próprios, ligado só a `127.0.0.1`. O MySQL existente não foi removido nem alterado. 4. Aplicadas as 88 migrations e os seeders existentes. Quatro migrations recentes não admitiam QA: passaram a reconhecer exclusivamente o alvo real isolado, mantendo a alternativa autenticada para o activo. Guardas testadas contra ambiente de produção, host/porta/base/URL indevidos e identidade real diferente da configuração. Nenhuma flag foi apresentada como autenticação. 5. Completadas as dependências JavaScript em falta (`docx`, `jszip`) e separado o destino GET da confirmação MFA editorial, evitando uma propriedade duplicada no TypeScript gerado. O fluxo MFA existente foi preservado. 6. Corrigida a distribuição do manifesto económico: o hash existente corresponde a CRLF, enquanto o checkout convertia o ficheiro para LF. Repostos os bytes que correspondem ao SHA-256 já fixado, sem alterar conteúdo ou hash esperado; `.gitattributes` preserva CRLF para esse ficheiro específico. 7. Criada a ligação `public/storage`, acrescentada a verificação prévia de `composer run dev` e documentado o arranque repetível. ## Resultado observado - `composer check-platform-reqs`: passou. - `composer validate --no-check-publish`: válido; aviso preexistente sobre versão exacta de `opis/json-schema`. - Wayfinder com `--with-form`: passou. - `npm run types:check`: passou. - `npm run build`: passou, 2481 módulos; avisos de tamanho de chunks e optimização opcional de fontes não interrompem o build. - PHPUnit seleccionado: **13 testes, 39 asserções, todos passaram**, na base separada `investmoz_test:55441`. Inclui login, página inicial, guardas QA, criação idempotente das pastas e integridade do manifesto. - Pint dos novos componentes PHP: passou. `git diff --check`: passou. - Segundo `local-qa-bootstrap.php`: nada por migrar, dados e contas preservados, seed omitido. `migrate:status`: 88 migrations aplicadas. - `composer run dev`: Laravel em 8000, Vite em 5173 e fila a funcionar. - HTTP 200: saúde, início, login, registo, catálogo, página de sector e APIs públicas de início, sectores e pesquisa. Vite client: 200. - Chrome: início, catálogo, sector, login, registo e painel após autenticação renderizados; **zero erros JavaScript e zero respostas 5xx observadas**. Provas: `outputs/local-startup-20261019/browser.json`, `home.png`, `dashboard.png`. Origem das alterações: pedido expresso e opção do responsável por demonstração; pastas, Compose, portos e excepção de migração em QA são escolhas técnicas. Aplicam-se as decisões Tempo de 12/10/2026 e a separação QA/activo em AGENTS.md. Referência na matriz existente: `MASTER-e1169a77-0376`, apenas como prova do ambiente local. Não encerra os critérios globais da cláusula. O catálogo novo pode apresentar colecções vazias: os dados do portal activo não foram importados. A conta local é `test@example.com` / `password`; não recebe privilégios administrativos. As integrações externas, o envio real de correio, o scan de uploads e a aceitação funcional integral não foram demonstrados por este ensaio de arranque. Mantêm-se as configurações e autorizações próprias.