Files
Investidor-V2/docs/investmoz/completion-audit-2026-10-04.md
T
nala 1106509116
tests / ci (push) Canceled after 0s
vrsao 2
2026-10-08 14:02:01 +02:00

14 KiB
Raw Blame History

Auditoria de conclusão dos pedidos InvestMoz — 2026-10-04

Resultado

Estado geral: parcialmente concluído; não declarar “tudo concluído”. A revisão reconciliou os prompts sequenciais e o prompt master com o repositório actual, executou novamente verificações técnicas e corrigiu duas descrições SuiteCRM obsoletas. As calculadoras financeiras educativas, fluxo de rascunhos consentido, governação de regras parametrizadas, pedidos de assistência DUAT e controlos de formulários têm implementação e evidência automatizada. Permanecem gates legais, operacionais e de revisão humana que não podem ser fechados por código ou por pressuposição.

Este relatório é um índice de estado actual; prevalece sobre afirmações históricas contraditórias nos registos datados. Não apaga os registos antigos nem altera dados ou configuração de produção.

Reconciliação por grupos de pedidos

Grupo Estado técnico actual Pendência que impede conclusão
Diagnóstico integral da aplicação e inventário de funcionalidades Parcial; documentação/matriz consolidada existe Rever manualmente todas as páginas e validar com perfis reais. Integrações e comportamentos não comprovados pelo código continuam “a validar”.
Migrações, PostgreSQL/PostGIS, segurança e QA Parcial/concluído tecnicamente em componentes Suite foi repetida em cluster descartável; o incidente histórico em investmoz_test:5432 carece de comparação/restauro validado por DBA. Não executar operações destrutivas nessa base.
Geografia e formulários de investimento/oportunidades Implementação extensa e testes presentes Confirmar catálogo territorial e conteúdo com fonte de negócio, percorrer browser/dispositivos e validar permissões operacionais.
Projectos, estruturas de investimento, carteira e catálogo Parcial Aprovação institucional dos dados, contratos de submissão e percurso completo de investimento real não demonstrados. Não há processamento/custódia de investimento financeiro confirmado.
Portal público de manifestações e CRM local Recepção e conversão local idempotentes com consentimento Fluxo é local. Processamento externo, sincronização e reconciliação não activos.
SuiteCRM Cliente API OAuth implementado e desligado por defeito; testes simulados; catálogo lógico/matriz com 15 colunas criado em suitecrm/mapping-catalog.md Docker/Podman ausentes e WSL não instalado; a release SuiteCRM 8.10.x consultada só lista PHP 8.2–8.4, enquanto o projecto exige PHP 8.5. Instalação, campos, RBAC, workers, reconciliação, segurança e operação aguardam runtime compatível/homologação. SUITECRM_ENABLED=false deve manter-se.
Simulador financeiro, plano e tesouraria Calculadoras independentes implementadas e cobertas por testes Validação contabilística/institucional e teste de utilizadores. Estimativas não são ofertas de crédito ou aconselhamento.
Motor fiscal e reforma 2026 DSL/governação e resolvedor técnicos parciais; componentes legais permanecem indeterminadas Texto oficial consolidado, anexos, vigência, fundamentos, parâmetros aprovados e casos dourados assinados por Fiscalista. Não activar taxas nem declarar apuramento.
IVA e rectificação da Lei 13/2016 Investigação documental parcial; cópia local do BR 89/2017 tem proveniência incompleta; digitalização rectificada não foi lida com fiabilidade Confirmar autenticidade, texto integral dos anexos corrigidos, vigência e consolidação em fonte oficial. Nenhuma regra decorrente foi activada.
Incentivos, ISPC, IRPS/IRPC, INSS, retenções, ICE e pauta aduaneira Estrutura permite manter resultados indeterminados Validação legal por regime/período, fontes oficiais integrais, elegibilidade/classificação e aprovação profissional.
Educação e catálogo de serviços Funcionalidade implementada parcialmente e testes existentes Aprovação institucional dos cursos, prestadores, reconhecimento e correspondência a emprego.
Importação/revisão de dados e oportunidades Revisões documentais e staging existentes; alguns registos foram deixados privados Resolver duplicados, moedas e autoridade de origem com os responsáveis; não publicar dados incertos.
Dados pessoais/PII Revisão e controlos de snapshots, consentimento e minimização existentes Confirmar finalidade, retenção, acesso, eliminação, bases legais e transferência com encarregado/jurídico; revisão completa de ficheiros de entrada.
Formulário e acompanhamento de assistência fundiária/DUAT Fluxo e testes implementados Não substitui pedido ou decisão oficial. Rever base legal, documentos, acesso, retenção, integração externa e percursos com equipa responsável.
Acessibilidade e experiência Testes unitários, browser/visual e validações responsivas registadas para alguns percursos Teste presencial com teclado, leitor de ecrã, dispositivos e utilizadores; rever mensagens, erros, carregamento e todos os percursos.
Entrega/produção Não concluído Sem autorização de publicação, integração real, migração ou activação. Requer revisão humana e plano de operação/rollback.

Verificações executadas nesta revisão

  • php artisan test --filter='InterestSubmissionTest|CrmIntakeTest|SuiteCrmClientTest': 28 testes, 155 asserções, passou em PostgreSQL/PostGIS descartável, 127.0.0.1:55441.
  • node --test tests/frontend/*.test.mjs: 124/124 passou.
  • npm.cmd run types:check: terminou com código 0.
  • Browser QA no Edge headless, tools/simulator-a11y-browser.mjs: passou em 390/768/1024/1440 px, sem overflow, controles sem rótulo, foco inválido, alerta visível, erro JS ou falha API; resposta do GET confirmou investmoz_test:55441. Artefacto: simulations/simulator-a11y-browser-2026-10-04.json. É smoke automatizado, não substitui teste manual com leitor de ecrã/utilizadores.
  • A suite PHP completa foi iniciada com PHP 8.5.11 contra o alvo QA isolado 55441; resultado final ainda será acrescentado após a conclusão do processo.
  • composer run types:check (PHPStan): passou, 0 erros. npm.cmd run types:check: código 0. git diff --check nos três documentos desta revisão: sem erros.
  • php vendor/bin/pint --test: não passou por três ficheiros já alterados no worktree (database/migrations/2026_09_28_160000_investment_primary_territory.php, tools/simulator-qa-router.php, tools/test-mne-integrity.php); não os reformatei por não serem necessários a esta auditoria.
  • O cluster QA PostgreSQL foi encerrado com pg_ctl; o comando confirmou no server running depois do encerramento.
  • Nenhum .env foi lido. Nenhuma alteração foi feita na base operacional 5432, em produção ou em serviço externo.

Correcções documentais feitas

  • docs/investmoz/suitecrm/architecture.md: corrigida afirmação antiga de que não existia cliente SuiteCRM; agora regista cliente presente, desligado por defeito e sem instalação/tráfego real.
  • docs/investmoz/suitecrm/architecture.md: já descreve a idempotência real da manifestação pública — chave UUID opcional, hash, comparação do payload canónico, recibo/outbox transaccionais, replay e conflito — baseada em InterestSubmission e InterestSubmissionTest.
  • docs/investmoz/suitecrm/mapping-catalog.md: entregue como etapa técnica segura seguinte. Documenta sete fluxos, a matriz com 15 colunas, autoridade por sistema, consentimento, minimização, identificadores e critérios de homologação. Não inventa nomes de atributos nem inicia sincronização.
  • Verificação de texto: removido o carácter de controlo acidental no caminho do cliente SuiteCRM; scan dos dois documentos confirmou zero caracteres de controlo e git diff --check passou.
  • Pré-condição SuiteCRM confirmada em 2026-10-04: Docker e Podman não estão instalados; wsl --status informa que WSL não está instalado. A matriz oficial SuiteCRM lista PHP 8.2–8.4 para 8.10.x; por isso, não iniciei a instalação em PHP 8.5 nem alterei o sistema operativo.

Sequência de fecho

  1. Fechar a suite PHP completa em QA descartável e registar a evidência.
  2. Reconciliar os resultados contra este índice e os gates por etapa; tratar inconsistências documentais sem apagar histórico.
  3. Corrigir apenas pendências técnicas seguras e reproduzíveis, na ordem de dependências.
  4. Encaminhar blocos legais, institucionais, dados e acessibilidade para validação humana; manter componentes afectadas desactivadas/indeterminadas até aprovação registada.
  5. Só depois da aceitação dos gates, preparar uma decisão separada de publicação. Este documento não é aprovação de produção.

Gate proposto

PARCIAL / NO-GO para activação pública fiscal, sincronização SuiteCRM e produção. A evidência automatizada demonstra qualidade técnica em partes do sistema; não demonstra aprovação legal, fiscal, de dados, produto, operação ou acessibilidade.