# v4928.1.5.38 — Proforma ORC Attachment Guard

## Objetivo

Alinhar o Communication Composer com a regra operacional da BLIF/ClientFlow:

> No ClientFlow, a pró-forma é representada no Jasmin por um orçamento `ORC.*`.

## Alterações

- `SEND_PROFORMA` passa a esperar explicitamente documento `quotation`/`ORC.*` Jasmin.
- O template de pró-forma passa a chamar o documento de `orçamento/proforma`.
- O prompt OpenAI/file_search passa a receber a regra: pró-forma = orçamento Jasmin ORC.*.
- O LLM fica proibido de dizer que “a proposta formal será enviada” quando já existe ORC selecionado/anexado.
- A validação de segurança bloqueia respostas `SEND_PROFORMA` sem ORC selecionado.
- A geração de rascunho para documentos passa a exigir PDF/anexo disponível também para `SEND_PROFORMA` e `SEND_QUOTE`, não apenas `SEND_INVOICE`.
- A UI da task passa a distinguir melhor:
  - documento de pró-forma;
  - orçamento Jasmin ORC;
  - PDF disponível;
  - selecionado/anexado ao envio.
- O botão de concluir task fiscal (`SEND_PROFORMA`/`SEND_INVOICE`) fica bloqueado quando o cliente fiscal está por confirmar.
- O endpoint de conclusão também valida fiscalmente no servidor antes de concluir tarefas fiscais.

## Validação

- `python -m compileall -q app scripts tests`
- `python -m pytest -q`
- Resultado local: `314 passed`

## Nota

Esta versão não altera dados automaticamente. Apenas corrige regras de composer, validação e UI.
