---
fonte: 01-canonicos/seed-email.md
versao_da_fonte: v0.13
secao: 08-c
titulo: "Sub-bloco ET — transacionais do ERP (`estável` · promovido em 2026-08-08)"
sequencia: 13 de 17
bytes_do_corpo: 4978
md5_do_corpo: 9aa1d5f8845a6bf4af6178c294de0525
gerado_por: 06-validacao/geradores/gen-camada-ia.py
nota: fatia GERADA — o corpo abaixo é byte a byte o trecho do canônico; edite o canônico, nunca esta fatia. Canônico inteiro em https://ds.seed.eng.br/01-canonicos/seed-email.md
---
## 8-C. Sub-bloco ET — transacionais do ERP (`estável` · promovido em 2026-08-08)

> Consolidado ET1–ET7 aprovado pelo Rafael em 2026-08-08 ("aprovo"). Rodadas: heranças
> declaradas (recibo do R2/EC, régua GOV.UK do R1/EM, conformidade EM9) + arco novo —
> R1 canon transacional Postmark/Litmus (identificador no assunto, sem nome de produto,
> veto ao no-reply) → R2 mercado (resumo do acontecido primeiro, copy enxuta, sem adendo
> promocional) → R3 domínio de monitoramento solar (produção normal é faixa modelada,
> não alvo único; alerta exige esperado × medido × desvio; nem toda queda dispara alarme).

### Os três templates

| Template | Assunto canônico | Preheader | Composição |
|---|---|---|---|
| `et-proposta-enviada` | `Proposta {{proposta_numero}} enviada — {{titulo_projeto}}` | "A proposta {{proposta_numero}} foi gerada e esta disponivel no portal." | h1-fato + card da proposta + CTA "Ver proposta" + bloco de contato comercial. **Sem caixa de severidade** (ET2) |
| `et-fatura-processada` | `Fatura de {{mes_ref}} processada — UC {{uc_numero}}` | "A fatura de {{mes_ref}} da UC {{uc_numero}} foi processada e conferida." | h1-fato + card da UC + tabela EC3 itemizada com `{{#itens}}` + CTA "Ver fatura no portal" + nota "sem anexo" (ET6) |
| `et-alerta-geracao` | `Atenção: geração abaixo do esperado — {{usina_nome}}` | "Geracao de {{periodo}} ficou {{desvio_pct}}% abaixo da faixa esperada — {{usina_nome}}." | Caixa "Atenção" EC2 + card da usina + tabela esperado × medido × desvio com `{{#linhas}}` + CTA "Ver monitoramento" + nota sobre o gatilho ser do ERP (ET5) |

### Inventário de placeholders (o contrato com o ERP)

Convenção ET4: `{{snake_case}}` simples para valor; `{{#secao}}…{{/secao}}` para bloco
repetível (sintaxe mustache, entendida por Resend, React Email e template Go do Supabase).

| Placeholder | Templates | Tipo | Exemplo |
|---|---|---|---|
| `proposta_numero` · `proposta_id` | proposta | texto/id | `2026-0147` |
| `titulo_projeto` | proposta | texto | `UFV Fazenda Santa Clara` |
| `potencia_kwp` | proposta · alerta | número BR | `42,7` |
| `cliente_nome` · `cidade_uf` | todos | texto | `Fazenda Santa Clara` · `Governador Valadares/MG` |
| `responsavel_nome` · `responsavel_cargo` · `responsavel_fone` | proposta | texto | — |
| `mes_ref` | fatura | texto | `agosto/2026` |
| `uc_numero` · `fatura_id` | fatura | id | `000000000` · `784512` |
| `{{#itens}}` → `descricao` · `qtde` · `valor` | fatura | bloco repetível | linha da tabela |
| `total` | fatura | moeda BR | `R$ 3.169,05` |
| `periodo` · `desvio_pct` · `usina_nome` · `usina_id` | alerta | texto/número/id | `07/08/2026` · `18` |
| `{{#linhas}}` → `rotulo` · `esperado` · `medido` · `desvio` | alerta | bloco repetível | linha esperado×medido |

**Obrigação do consumidor:** todo placeholder é obrigatório salvo o bloco repetível, que
aceita N ≥ 1 linhas. Placeholder não preenchido em produção é bug de integração — o
literal `{{` chegando à caixa do cliente é o sintoma.

### Decisões ET1–ET7

(Resumo — a tabela completa com racionais e alternativas descartadas foi aprovada em
2026-08-08 e está no histórico da conversa de produção; as decisões estruturais: ET1
composição pura sobre o template-base · ET2 confirmação sem caixa de severidade · ET3
contrato de assunto+preheader com identificador e sem nome de produto · ET4 placeholders
mustache inventariados · ET5 alerta com esperado×medido×desvio, sem gráfico até a F5,
gatilho é do ERP · ET6 fatura sem anexo, acesso por link · ET7 supersede do From para
`notificacoes@`, registrado na EM14.)

### Entregáveis e validação

6 arquivos: 3 canônicos com placeholders + 3 amostras preenchidas (sufixo `-amostra`,
para gate e referência de integração). **Suíte: 120 PASS / 0 FAIL** (20 verificações × 6).
Amostras verificadas sem resíduo de `{{` por asserção no gerador.

### Gate visual e promoção do ET

**Gate executado em 2026-08-08:** 3 templates × 3 clientes (Outlook 2024 clássico ·
Gmail web · Gmail app Android com inversão forçada) = 9 evidências por recebimento
direto. **Zero defeito novo** — primeiro lote da fase a atravessar o gate limpo; as
réguas GV1–GV5 herdadas seguraram tudo (barra da caixa Atenção contínua no motor Word;
tabela de 4 colunas do alerta íntegra a ~360px invertido; valores com nowrap intactos).
Nota cosmética recorrente (quebra entre número e unidade no espaço) permanece registrada
sem bloqueio. Observação de auditoria: possíveis filetes no print do Outlook do alerta
classificados como artefato de compressão de screenshot, não reproduzidos ao vivo.

**2026-08-08 — Rafael aprovou** ("aprovo") a promoção a `estável`: os 3 templates
canônicos e suas amostras, o inventário de placeholders como contrato formal com o ERP,
e o ET7 (From `notificacoes@envio.seed.eng.br`) confirmado em envio real.

---

