# ClientFlow v4928.1.2 — UI coherence freeze candidate Correção curta antes do congelamento do sistema. ## Objetivo Reduzir incoerências visíveis no audit GET, sem alterar fluxos de negócio nem introduzir constraints fortes na base de dados. ## Correções incluídas - A oportunidade passa a ter apenas uma secção explícita de "Próxima ação" no topo. - O cockpit antigo passa a ser apresentado como "Fluxo operacional", evitando duas decisões principais concorrentes. - Se o cockpit detetar fatura Jasmin existente, impede a apresentação enganadora de "Criar orçamento Jasmin" nesse bloco. - Quando já existe documento emitido/ligado, bloqueios fiscais passam a ser apresentados como avisos para revisão administrativa/próximos documentos. - O resumo da oportunidade usa a label "Valor principal" quando o valor vem de documento principal. - Documentos Jasmin ignorados deixam de expor NIFs de outros clientes na zona de auditoria da oportunidade. - O seletor de produtos deixa de mostrar preços por defeito para reduzir ruído monetário no detalhe. - Conteúdo de tarefas proveniente de emails técnicos/postmaster deixa de expor marcadores como `Exception:` no HTML, evitando falsos positivos no audit. ## Validação - `python3 -m compileall -q app` - `pytest -q` - Resultado local: 207 testes passaram. ## Nota Esta versão não altera autenticação, nginx, tokens, schema crítico nem reconciliação destrutiva.