---
fonte: 01-canonicos/seed-email.md
versao_da_fonte: v0.13
secao: 07
titulo: "Régua de validação executada"
sequencia: 10 de 17
bytes_do_corpo: 5529
md5_do_corpo: 7b906c575e518922cfd95ce7b0cac0d5
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
---
## 7. Régua de validação executada

A camada de validação da Fase 3 (445 testes jsdom + 43 verificações de render em Chrome
headless) **não se aplica** a esta fase, e o motivo é estrutural: jsdom valida comportamento
de DOM interativo, que o e-mail não tem; e o Chrome headless é o cliente de e-mail mais
permissivo que existe — passar nele não prova nada sobre o Outlook.

| Camada | Artefato | O que mede |
|---|---|---|
| **Estática** | `suite-email.mjs` | Reprova `var(--`, `<svg>`, `flex/grid/position`, tabela de layout sem `role="presentation"`, `<img>` sem `alt` ou com `alt` ausente, `<img>` sem dimensão em px, `<html>` sem `lang`, ausência de preheader / `color-scheme` / `supported-color-schemes`, link sem `href` absoluto, fundo transparente em bloco de marca |
| **Peso** | mesma suíte | HTML < 80 KB (EM6) + inventário de imagens |
| **Contraste** | `contraste-email.py` | Todos os pares resolvidos, com as três categorias de piso |
| **Render** | extensão da suíte de render existente | 600px e 320px · **com e sem imagens** · dark emulado · prova grayscale |
| **Gate humano** | protocolo de envio real | A única camada que vê o motor Word |

### 7.1 Matriz do gate humano

| Cliente | Papel no diagnóstico |
|---|---|
| **Outlook 2024 clássico (Windows)** | Motor do Word. É onde tudo quebra — e é o cliente dos destinatários B2B da SEED (concessionária, indústria, órgão público, licitação) |
| **Gmail app Android** | Inversão forçada de dark mode |
| **Gmail web** | Proxy de imagem, tratamento de `<style>`, fallback de fonte |
| **Outlook.com web** | Regime intermediário: injeta estilos próprios com `!important` |
| **Apple Mail iOS** | Controle — o mais permissivo. Se quebra aqui, o defeito é nosso |

**Inversão de equilíbrio a assumir de frente:** esta é a primeira fase do projeto em que o
gate humano é **mais determinante** que a camada automatizada. Nenhuma ferramenta disponível
emula o motor Word.

**Cuidado de identificação:** existem dois programas chamados Outlook no Windows, e apenas o
**clássico** serve. O "novo Outlook" usa motor de navegador e renderiza bem demais para
servir de pior caso.

---

### 7.2 Ciclo de gate executado (2026-08-07 → 2026-08-08) — registro completo

O template-base atravessou três rodadas de gate visual humano. **Cinco defeitos reais
foram encontrados — nenhum deles visível pelas 19 verificações automatizadas.** Todos
corrigidos e convertidos em teste-guarda permanente, com crédito ao gate do Rafael,
conforme a regra do projeto.

| # | Cliente | Defeito encontrado | Causa | Correção | Guarda |
|---|---|---|---|---|---|
| 1 | Gmail app Android (dark forçado) | Emenda de dois tons ao redor do logo | O cliente inverte a cor CSS do `<td>` mas não inverte imagem; a placa do PNG divergiu do fundo | Faixa de marca virou **imagem única de borda a borda** (`cabecalho-seed-600@2x.png`) | **GV1** |
| 2 | Gmail app Android | Corpo inteiro centralizado | O `align="center"` do canvas externo vaza por herança (o web ignora; o app obedece) | `align` + `text-align` explícitos em todo `<td>` de conteúdo | **GV2** |
| 3 | Gmail app Android | Blocos escuros irregulares atrás do texto | Elemento sem `background-color` declarado recebe tratamento diferente do vizinho na inversão | `background-color` explícito em todo `h1`/`p` | **GV3** |
| 4 | Gmail app Android | Título transbordando a caixa | Auto-scaling de fonte do cliente. Registrado como hipótese na v0.2; **promovido a fato** quando o reenvio confirmou a correção | `-webkit-text-size-adjust:100%` no body | coberto pela revalidação |
| 5 | Outlook 2024 clássico (motor Word) | Divisor ao **lado** do botão VML, não abaixo | O motor Word **ignora `margin` em `<table>`** | Espaçamento vertical virou linha espaçadora com `height` | **GV4** |

**Regra unificada nascida dos defeitos 1–3:** os três tinham a mesma causa — o Gmail
inverte o que é CSS implícito e não toca em imagem nem no que é explícito. A régua
permanente é **NADA IMPLÍCITO**: toda cor, alinhamento e fundo declarados; faixa de
marca é imagem única; espaçamento entre blocos é linha espaçadora, nunca margin de tabela.

**Regra de protocolo nascida do processo:** print de e-mail **encaminhado não vale como
evidência de gate** — o encaminhamento do Gmail descarta o `<head>` (metas de tema, media
queries) e os comentários condicionais (VML), produzindo defeitos que não são do template.
O gate exige **recebimento direto** na caixa do cliente testado. Aconteceu duas vezes no
ciclo antes de virar regra.

**Matriz efetivamente coberta:** Gmail web ✅ · Gmail app Android com inversão forçada ✅ ·
Outlook 2024 clássico ✅ (VML do botão confirmado renderizando). Pendentes sem bloquear:
Outlook.com web e Apple Mail iOS — riscos residuais baixos, cobertos na primeira
oportunidade.

**Diferença v0.2 → v0.3:** apenas o divisor (defeito 5). Promovida sem reenvio aos
clientes já aprovados, por ser correção de padrão documentado do motor Word com risco
classificado como mínimo — decisão consciente, não omissão.

### 7.3 Promoção

**2026-08-08 — Rafael aprovou** ("aprovo") a promoção a `estável` de: o template-base
`seed-email-base.html` v0.3 (MD5 `4fed56e13ae5c90e43ab706be9e32eb6`), as réguas GV1–GV4
como teste-guarda permanente, e o protocolo de gate sem encaminhamento. A suíte
`suite-email.mjs` acompanha com 19 verificações (MD5 `a936c3f73ea7cf647386db5c0eed7b63`).

---

