# Validação do núcleo — 28/09/2026 Suite completa em PostgreSQL/PostGIS isolado: **144 testes, 1.567 verificações aprovadas**, 27,372 s. PHPStan completo sem erros e TypeScript aprovados. Lint dos componentes investment, portfolio/show, navegação e gestão aprovado; Pint aplicado aos novos ficheiros PHP. Build final aprovado, 2.358 módulos, 6,80 s. Teste focado posterior confirmou também o transporte POST com `_method=PUT` utilizado pelo editor: seis testes, 104 verificações aprovadas. `InvestmentZoneTest` contém seis cenários: acesso/MFA, versões e snapshot encriptado imutável; rollback vazio em ordem inversa e recusa com dados; uma oportunidade em duas zonas, fonte revogada e origem de interesse com protocolo idempotente; geometria inválida e revisão independente; uma âncora em ZEE/ZFI/parque, sem duplicação; dry-run/aplicação repetível de identidades sem alterar os legados. A suite inclui os testes anteriores de API, consentimento, privacidade, anexos, concorrência e navegação. Não representa auditoria jurídica, pentest integral ou prova de carga em produção. [Navegador](browser-validation.json): onze observações públicas em Edge, larguras 390 e 1440, para ZEE, ZFI, parques, catálogo e lista–mapa. Breadcrumbs, apoio, quatro entradas e ausência de transbordo conferidos; zero erros JavaScript. A última observação bloqueia a chamada do mapa e confirma que a lista continua disponível. O ensaio utiliza os estados vazios reais das zonas e o catálogo existente, sem inserir dados fictícios na base operacional. As novas jornadas autenticadas foram verificadas por HTTP/PHPUnit; não declarar UAT ou teste assistivo completo a partir deste smoke test. Contrato [OpenAPI v2](openapi.json): 18 operações correspondentes às 18 rotas registadas; gerador `tools/zones-openapi.mjs`. As respostas têm esquema aberto e exigem tipagem/validação externa adicional antes de certificação de contrato completa. API v1 conserva rotas e payloads existentes e documenta os campos opcionais de origem/filtros das zonas. ## Repetir Usar os comandos/ambiente isolado em [baseline.md](baseline.md). Teste focado: `php vendor/bin/phpunit --filter InvestmentZoneTest --do-not-cache-result`, com o PHP validado e PostgreSQL QA na porta 55441. Não usar a base operacional com RefreshDatabase. Build: `npm.cmd run build`, depois de terminar PHPUnit. Navegador público: `node tools/zones-browser-smoke.mjs`, com servidor local 8000 e Edge de QA na porta 9224. Não confundir disponibilidade dessas ferramentas locais com infra-estrutura de produção. ## Gate factual Go para execução local do núcleo descrito e continuação automática das tarefas autorizadas. No-Go para declarar todas as fases concluídas ou publicar dados jurídicos como oficiais: ver [pendências por fase](implementation-status.md). Não houve chamada real a Alfândegas/SuiteCRM, envio de email, alteração de taxas ou publicação de zona oficial.