52 lines
8.4 KiB
Markdown
52 lines
8.4 KiB
Markdown
# 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).
|