# v4928.1.5.96 — materializar SEND_INVOICE em task pendente

## Correção

Quando o motor central decide `SEND_INVOICE`, a oportunidade já mostrava a próxima ação correta, mas não havia uma task pendente visível em **Tasks relacionadas**.

Esta versão adiciona:

- `app/opportunity_action_task_materializer.py`
  - cria uma task pendente idempotente para ações humanas materializáveis;
  - nesta versão, apenas `SEND_INVOICE` é materializada automaticamente;
  - usa chave estável `task:next_action:<opportunity_id>:SEND_INVOICE:<documento>` para evitar duplicados.
- `app/admin_ui/pages/opportunities.py`
  - ao abrir a oportunidade, se a próxima ação central for `SEND_INVOICE` e não houver task pendente, cria a task e recarrega a lista.
- `scripts/repair_missing_send_invoice_tasks.py`
  - backfill para oportunidades existentes.

## Resultado esperado

Casos como BRICANTEL e MACOLIS devem passar a mostrar:

- topo: `Próxima ação: Enviar fatura ao cliente`;
- card de operação: botão `Abrir tarefa`;
- `Tasks relacionadas`: linha pendente `Enviar fatura ao cliente`.
