102 lines
2.5 KiB
Markdown
102 lines
2.5 KiB
Markdown
# ClientFlow v4.9.28 — Reconciliação decisional e UI operacional
|
|
|
|
Esta versão constrói sobre a baseline estável v4.9.27.2 sem reintroduzir constraints únicas agressivas no arranque.
|
|
|
|
## Objetivo
|
|
|
|
Transformar a reconciliação e a oportunidade numa experiência orientada à decisão:
|
|
|
|
- oportunidade = processo de compra comercial;
|
|
- documento Jasmin/Odoo = evidência/documento oficial ligado ao processo;
|
|
- task = próxima ação humana;
|
|
- reconciliação = decisão explícita sobre cada evidência.
|
|
|
|
## Alterações principais
|
|
|
|
### 1. Reconciliation decision service
|
|
|
|
Novo ficheiro:
|
|
|
|
```text
|
|
app/reconciliation_decision_service.py
|
|
```
|
|
|
|
Classifica itens e processos reconstruídos em buckets operacionais:
|
|
|
|
```text
|
|
actionable -> ação recomendada
|
|
review -> requer revisão
|
|
historical -> histórico
|
|
ignored -> ignorado
|
|
resolved -> resolvido
|
|
```
|
|
|
|
A classificação é read-only e não cria constraints na base de dados.
|
|
|
|
### 2. Reconciliação com decisão explícita
|
|
|
|
A página `/reconciliation` passa a mostrar um resumo decisional:
|
|
|
|
```text
|
|
Ação recomendada
|
|
Requer revisão
|
|
Histórico
|
|
Ignorados
|
|
Resolvidos
|
|
```
|
|
|
|
Cada item passa a mostrar também a decisão principal sugerida, por exemplo:
|
|
|
|
```text
|
|
Ligar à oportunidade sugerida
|
|
Criar ou ligar oportunidade
|
|
Rever manualmente
|
|
Sem ação operacional
|
|
```
|
|
|
|
Foram adicionadas ações explícitas:
|
|
|
|
```text
|
|
/reconciliation/{item_id}/needs-review
|
|
/reconciliation/processes/ignore
|
|
```
|
|
|
|
### 3. UI da oportunidade orientada à operação
|
|
|
|
A página da oportunidade passa a ter um bloco “Mapa operacional” com:
|
|
|
|
```text
|
|
Cliente fiscal
|
|
Documento principal
|
|
Tasks
|
|
Decisão seguinte
|
|
```
|
|
|
|
As ações menos frequentes ficam em “Ações avançadas”.
|
|
|
|
### 4. Documentos Jasmin mais seguros
|
|
|
|
Quando a oportunidade já tem documento Jasmin atual, a UI deixa de apresentar “Associar e importar” como ação equivalente. Passa a mostrar “Substituir atual”, evitando duplicados acidentais.
|
|
|
|
O botão “Converter em fatura” só fica ativo se existir orçamento/pró-forma elegível.
|
|
|
|
### 5. Tasks com contexto reforçado
|
|
|
|
A task detail passa a repetir no painel de próxima ação os chips de fila, estado e prioridade para reforçar o contexto operacional.
|
|
|
|
## Segurança de deploy
|
|
|
|
Esta versão mantém a regra da v4.9.27.2:
|
|
|
|
```text
|
|
Não criar índice único forte no arranque sobre dados legados.
|
|
```
|
|
|
|
A consistência de “documento principal” é tratada pela aplicação e pela UI, não por constraint nova que possa bloquear o arranque.
|
|
|
|
## Validação
|
|
|
|
```text
|
|
203 passed
|
|
```
|