Release v4928.1.4.2 stable

This commit is contained in:
2026-06-09 22:55:58 +01:00
commit 6445044ac6
280 changed files with 41775 additions and 0 deletions

46
RELEASE_NOTES_v4926_4.md Normal file
View File

@@ -0,0 +1,46 @@
# ClientFlow v4926.4 — Email identity assisted enrichment
## Objetivo
Integrar a extração de identidade de email no fluxo operacional de enriquecimento fiscal assistido, sem auto-aplicação agressiva.
## Principais alterações
- Configuração separada para o modelo de email identity:
- `EMAIL_IDENTITY_LLM_MODEL`
- `EMAIL_IDENTITY_LLM_FALLBACK_MODEL`
- `EMAIL_IDENTITY_LLM_TIMEOUT_SECONDS`
- `EMAIL_IDENTITY_LLM_MAX_BODY_CHARS`
- Fallback automático no extractor:
- tenta o modelo principal;
- se o resultado ficar fraco/sem empresa em domínio empresarial, tenta o fallback.
- Nova revisão assistida de identidade:
- `email_identity_review_for_opportunity()`
- corre mesmo quando a oportunidade já tem cliente fiscal, para detetar conflitos.
- Novo enriquecimento assistido por identidade:
- `assist_email_identity_enrichment()`
- cria sugestões pendentes a partir da empresa extraída;
- deteta conflito entre empresa mencionada no email e cliente fiscal já associado;
- por defeito não auto-aplica.
- UI do detalhe da oportunidade:
- bloco “Identidade extraída do email”;
- mostra pessoa, empresas mencionadas, domínio, morada, telefones, evidências e modelo;
- botão “Reextrair identidade”;
- botão “Procurar cliente fiscal por identidade”.
- Batch validation:
- aceita `--fallback-model`;
- grava `llm_model` e `fallback_used` no CSV/JSONL.
## Configuração recomendada
```env
EMAIL_IDENTITY_EXTRACTION_ENABLED=true
EMAIL_IDENTITY_EXTRACTION_USE_LLM=true
EMAIL_IDENTITY_LLM_MODEL=qwen/qwen3-235b-a22b-2507
EMAIL_IDENTITY_LLM_FALLBACK_MODEL=qwen/qwen3-max
EMAIL_IDENTITY_LLM_TIMEOUT_SECONDS=20
EMAIL_IDENTITY_LLM_MAX_BODY_CHARS=3500
```
## Testes
- `python -m compileall -q app scripts`
- `pytest -q`
- Resultado local: `188 passed`