# 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.