Files
Investidor-V2/tools/portal-stability-report-template.md
T
nala 287e991486
tests / ci (push) Waiting to run
oportunidades 7
2026-10-13 11:40:29 +02:00

52 lines
8.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Estabilização integrada — revisão {{REV}}
**Ativação suspensa. COUNTRY02 continua desabilitado no ativo.** A revisão fixa demonstrou o percurso completo de COUNTRY02 na QA com o hostname previsto e HTTPS reconhecido. A/B e C37 mantêm os fechos anteriores; a auditoria global continua aberta.
Inputs da aplicação: `{{INPUT}}`. Manifesto de produção: `{{MANIFEST}}`. Fingerprint específico da extensão 050000: `{{CODE}}`, inalterado. A entrega `13644ed74a48`/código `162daff6ce08` permanece imutável e autorizada no âmbito registado, agora suspenso. O manifesto discrimina o acréscimo da nova revisão; não se presume que a autorização anterior abrange esse acréscimo.
Foram corrigidas as dependências comuns das 25 chamadas UUID em 14 componentes, a resolução de cURL no Apache, a coexistência do OPcache, a memória da prévia cartográfica, a leitura do MFA normal no bootstrap e a perda de uma segunda mensagem enquanto concluía o primeiro envio. C110–C112 integram a mesma frente, com os casos adicionais C113–C117 descritos em [causas, reprodução e provas](casos-reproducao.md).
O acréscimo de fontes inclui 18 ficheiros de aplicação editados: 14 consumidores, um utilitário comum e três serviços PHP. A compilação regenerou 58 artefactos Wayfinder, enumerados no manifesto. Os três ficheiros já aprovados permanecem com o mesmo conteúdo. Nenhuma rota de servidor foi acrescentada; auxiliares e probe QA não integram o deployment. A mudança de runtime proposta é somente `nghttp2.dll` 1.70, fornecida pela instalação PHP existente; o executável Apache permanece idêntico.
## Resultado visível e recuperável
COUNTRY02 foi ensaiado desde um clone com 288 tabelas, extensão ausente e flag desligada:
1. Login/MFA normal → prévia consistente → confirmação → instalação autenticada de somente 050000.
2. Repetição do mesmo pedido/chave → mesmo recibo, uma única migration e auditoria.
3. Perfil → país PT guardado → F5 recupera PT → atualização MZ/versão 3 → Back/Forward com histórico cifrado.
4. Logout → API401 → Back apresenta login sem dados mestres → nova sessão/MFA recupera MZ e fonte.
5. Desabilitar/reabilitar a flag conserva país, versão e proveniência.
Chromium verificou 47 recursos carregados, idênticos à produção final, sem conteúdo misto. SQL confirmou duas colunas opcionais, zero novas tabelas, uma auditoria de instalação e dois snapshots cifrados recuperáveis. Fixtures de conta, organização e representação foram preparadas expressamente só em QA, fora da instalação. [Interface](country02-interface.json) e [persistência](country02-persistencia.json) são provas distintas.
Os restantes consumidores demonstraram ações concretas: oportunidade incompleta guardada e recuperada; localização incompleta e edição v2; parceria rascunho; dossier e pedido no Balcão; mensagens e comunicação interna; instalação 040000 a frio e bootstrap MFA normal; solicitação de Promotor após 422, com a mesma chave e estado pendente recuperado; original privado analisado pelo ClamD e recuperado byte a byte; cinco acessos indevidos recusados com 403; autogravação pública recuperada com F5. Os ensaios retiraram `Crypto.prototype.randomUUID` e usaram `getRandomValues` real. O utilitário nunca recorre a `Math.random()` ou timestamps.
[Cobertura por componente](cobertura-consumidores.md) e [critérios de interface](consumidores-interface.json) mostram os limites de cada prova. O recibo inicial que falhou nas mensagens continua preservado e é complementado pela prova final específica; não foi reclassificado como sucesso global.
## Equivalência da QA
Apache 2.4.54 Win64, PHP 8.5.11 TS/mod_php, memória de 128 MiB e compilação Vite de produção. Extensões cURL/PDO pgSQL/pgsql/OpenSSL/mbstring/fileinfo/gd/intl/zip carregadas no servidor HTTP. Certificado com SAN `portal-investidor.test`, TLS 1.3 e confiança normal do Chromium, sem ignorar erros TLS. CA SHA-1 completa: `7D30D7FB226481B6243051309818CF426AF6B6B7`, já confirmada pelo utilizador. Sessões database, AES-256-CBC preservado, cookies próprios Secure/HttpOnly/Lax/host-only/caminho `/`, regeneração após MFA e logout protegido. [Runtime efetivo](runtime-qa.json).
Diferenças inevitáveis: portas QA 18444/18106 e 18445/18107 em vez de 443/80; clones PostgreSQL 55441 em vez de `investemoz:5432`; cookies e contextos Chromium isolados, pois cookies do mesmo hostname podem atravessar portas; contas sintéticas; guardas antes dos providers e probe excluídos da entrega; notificações locais e integrações externas desligadas. Cada clone preserva a chave da sua origem. O OPcache QA usa identidade própria/fallback gravável para coexistir com o Apache ativo; não se altera automaticamente o `php.ini` ativo. [Configuração PHP oficial](https://www.php.net/manual/en/opcache.configuration.php).
ClamD QA real 1.5.4 na porta 13310, definições 28150 de 11/10/2026, fila/worker exclusivamente QA. Atualização pela ferramenta [freshclam oficial](https://docs.clamav.net/manual/Usage/SignatureManagement.html). Limites normais de 20/25 MiB preservados. ADM3, com 26,77 MB, permanece inconclusivo no ClamD comum por limite; o exemplar retido foi analisado separadamente pelo scanner GIS/clamscan com limite de 40 MiB, mesma base e hash original. Não se confundem os dois resultados nem se aumenta o limite comum de uploads. O worker QA tem limite de 3600 segundos e deve ser revalidado ao retomar depois desse prazo. Uploads dependem de fila/scan; COUNTRY02 não depende deles.
## Restauro comprovado e ativo preservado
Backup real do destino obtido por leitura e verificado às 08:35:02 UTC: 288 tabelas, 31 sequências, 379 ficheiros, zero ausentes e dois envelopes MFA legíveis. Dump SHA-256 `e3b12ad7942d9357d610471a323b6dfbabc9be2d1cd6759048d70f45640d05c4`; ficheiros SHA-256 `3458400ac0abcba3f31b1f1b7bceb1128f69d1dc2a2009279118865433e00d46`. Restauros anteriores ao ensaio e de desastre confirmaram linhas/hashes/sequências/ficheiros/MFA. O backup QA depois da utilização foi restaurado noutro clone, conservando país e histórico novos. Esses recibos estão ligados à revisão final, sem atribuir flags artificiais de sucesso à prova antiga nem afirmar ativação.
379 versus 282 ficheiros: 97 ativos imutáveis conservados após a reversão anterior, sem eliminação. QA funcional 295 versus clone 288 tabelas: três tabelas de recursos 030000 e quatro de perfis 040000. O clone funcional atual já continha 408 geometrias: o hash integral permaneceu idêntico; 393 era uma contagem histórica. O ensaio provincial criou zero, reutilizou 11, reverteu zero e preservou 11, sem publicar.
A leitura final do ativo confirmou 13 contas, zero organizações/representações, 79 migrations e 126 auditorias; 050000 ausente, COUNTRY02 desligado, código/configuração/bundle/chave/dados intactos. [Preservação](ativo-preservado.json), [restauro original](restauro-original.json), [restauro pós-utilização](backup-pos-utilizacao-qa.json).
## Limitações concretas e próxima ação
Não existe organização legítima com representação autorizada no ativo para demonstrar a gravação real do país mestre. Esse cadastro pode ser preenchido posteriormente pelo fluxo autorizado; a ausência não impede instalar a extensão. A instalação não cria organizações, titulares ou representações.
A disponibilização ativa permanece suspensa: não foi reiniciado o Apache ativo, aplicado HTTPS ou instalado 050000. A DLL de runtime e a nova revisão acrescentam mudanças à entrega aprovada, para apreciação explícita. As intervenções futuras ficam agrupadas e preparadas: controlo normal Laragon para substituir a DLL carregada e login/MFA do gestor real. Nenhuma intervenção humana ou novo teste básico é solicitado agora.
A cobertura técnica dos 14 componentes não encerra workflow/contratos, todas as operações documentais e derivadas, cartografia ambígua Mandie/Guro, acessibilidade integral ou dispositivos reais. Ofertas, competências modulares e SLA continuam decisões separadas; Mercado Financeiro continua privado sem corpo. Preservam-se cinco fases/19 etapas e a separação entre dossier privado e oportunidade pública.
Na mesma matriz: AUD-COUNTRY-02 permanece **implementado mas não ativado**; AUD-OPS-01 permanece **parcial**. Apenas os critérios demonstrados são complementados. [Procedimento único de disponibilização, paragem e reversão](procedimento-unico.md). [Manifesto fixo](manifesto-candidata.json).