# 26 — Publicação e prévia autenticada da home

**Fase:** P5.S2.2 · **ADR:** emenda 2026-10-25 à ADR-016 (documento/blocos), ADR-022 (cache),
ADR-033 (permissões), ADR-035 (auditoria), ADR-043 (áreas restritas).

## Jornada

O operador com `home.aprovar` publica o rascunho da home. A home pública passa a mostrar o
publicado **imediatamente** (cache versionado invalidado) e o rascunho continua invisível para
anônimos. A versão visual do rascunho é a prévia autenticada (`/cms/home/preview`), no shell real do
portal, por locale (`?locale=`), com `noindex`.

## Critérios de aceite

1. Limpar o rascunho e adicionar um `hero` com título em pt_BR e en, salvando o rascunho.
2. Publicar: a tela confirma a versão e o portal (`/`) mostra o título publicado; `/en` mostra a
   tradução inglesa.
3. A prévia autenticada (link do editor) abre no shell do portal, mostra o mesmo rascunho, tem um
   único `<h1>`, resposta com `X-Robots-Tag` contendo `noindex`/`nofollow` e sem `<link canonical>`.
4. A home pública mantém `canonical` auto-referente por locale e `hreflang` nos 4 idiomas.
5. axe A/AA sem violações na prévia e na home publicada, em viewport desktop e mobile.

## Dados e isolamento

- O spec cria os próprios dados (título com marcador único) e é idempotente: limpa as seções do
  rascunho antes de compor o `hero`.
- Publicar muda **estado global** (a home de todo o portal): por isso o spec roda no projeto
  `cms-serial` (um worker, antes dos demais via `dependencies`), como as histórias 18 e 23.
- O `axe` mobile é medido no mesmo spec com `setViewportSize` (390×844), sem um segundo projeto
  concorrente mutando a home.
