14 KiB
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 confirmouinvestmoz_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 --checknos 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 confirmouno server runningdepois do encerramento. - Nenhum
.envfoi lido. Nenhuma alteração foi feita na base operacional5432, 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 emInterestSubmissioneInterestSubmissionTest.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 --checkpassou. - Pré-condição SuiteCRM confirmada em 2026-10-04: Docker e Podman não estão instalados;
wsl --statusinforma 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
- Fechar a suite PHP completa em QA descartável e registar a evidência.
- Reconciliar os resultados contra este índice e os gates por etapa; tratar inconsistências documentais sem apagar histórico.
- Corrigir apenas pendências técnicas seguras e reproduzíveis, na ordem de dependências.
- Encaminhar blocos legais, institucionais, dados e acessibilidade para validação humana; manter componentes afectadas desactivadas/indeterminadas até aprovação registada.
- 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.