# ClientFlow v4928.1.5.16 — Reply draft revision workflow

## Objetivo
Melhorar o fluxo de resposta ao cliente para que o operador possa editar, guardar e pedir correções ao rascunho gerado pela IA antes de enviar.

## Alterações principais

- A abertura da tarefa continua rápida e não chama LLM automaticamente.
- O botão **Gerar rascunho** chama o agente OpenAI/file_search e persiste o resultado em `message_drafts`.
- Rascunhos persistidos continuam visíveis após refresh da página.
- Adicionado botão **Guardar rascunho** para persistir edições manuais do operador.
- Adicionado painel **Correção com IA** para aplicar instruções ao rascunho atual, por exemplo:
  - adicionar preço validado;
  - acrescentar ficha técnica/URL quando disponível no contexto;
  - tornar a resposta mais curta;
  - mencionar suporte remoto ao eletricista;
  - ajustar tom/estrutura.
- A correção com IA considera:
  - rascunho atual;
  - instrução do operador;
  - últimas mensagens da conversa;
  - dados da tarefa/oportunidade;
  - documentos selecionados;
  - conhecimento BLIF via OpenAI file_search.
- O envio guarda o texto final do operador no draft antes de enviar para Chatwoot.

## Segurança/guardrails

- A IA não deve inventar preços, URLs, anexos, stock, descontos ou condições comerciais.
- Para preços, usa apenas dados explícitos no contexto/base.
- Para fichas técnicas, usa apenas URLs/anexos existentes no contexto/base.
- Para tomada/ficha/adaptações elétricas, responde apenas com informação tecnicamente validada e recomenda validação por eletricista qualificado quando aplicável.

## Ficheiros alterados

- `app/admin_ui/pages/tasks.py`
- `app/reply_assistant_service.py`
- `app/email_reply_agent_service.py`
- `app/llm_reply_generator.py`
- `tests/test_v4928_1_5_16_reply_revision_workflow.py`

## Validação

```bash
PYTHONPATH=. python -m compileall app scripts tests
PYTHONPATH=. pytest -q
```

Resultado esperado:

```text
288 passed
```
