Pular para conteúdo

ADR-0004: Brand SSOT, Zensical e camada data/

  • Status: Aceito
  • Data: 2026-07-20

SSOT visual

Cores, tipografia e chrome do site nascem em brand/. Consumidores (src/, estilos publicados) usam tokens --dc-* ou o bridge — não inventam paleta local.

Contexto

Material for MkDocs entrou em modo de manutenção; o sucessor oficial é o Zensical. A documentação P&D também precisava de identidade visual versionada (sem CSS espalhado) e de armazenamento estruturado de conteúdo sem banco de dados.

Decisão

  1. Publicar o site com Zensical (zensical==0.0.51), mantendo mkdocs.yml na fase de transição.
  2. Adotar brand/ como único SSOT visual (tokens, fontes self-hosted, GUIDELINES, identity).
  3. Manter evidence/ para artefatos experimentais externos.
  4. Introduzir data/ apenas para conteúdo estruturado do produto documental (JSON/JSONL/schemas).
  5. Remover plugin social e dependências Cairo/Pillow do pipeline.
  6. Expor evidence/, templates/ (como docs/modelos/) e data/ por cópia em prepare-docs.sh (Zensical não segue symlink de diretório; docs/templates/ conflita com o tema).

Consequências

Positivas

  • Stack de publicação alinhada ao ecossistema Material/Zensical.
  • Identidade evolui sem acoplar Lit ao nome interno do tema.
  • Conteúdo estruturado validável no CI, separado de evidências externas.

Negativas

  • prepare-docs passa a copiar árvores (custo de disco/tempo local).
  • Zensical ainda em 0.x — pin de versão obrigatório.

Alternativas avaliadas

  • Permanecer em MkDocs Material (maintenance mode) — rejeitada.
  • Banco/SQLite para conteúdo — rejeitada (docs estáticos; Git é a store).
  • Fundir evidence/ em data/ — rejeitada (papéis distintos).