Ir ao conteúdo
SEED engenharia

Tokens

Cabeçalho — seed-tokens.md

seed-tokens.md v1.40 · §cabeçalhoseção 1 de 23_cabecalho.md · MD5 016bf9c4

Em uma frase: Os três arquivos (md, json, css) são UMA unidade: mexer em um exige mexer nos três, e o cabeçalho diz a versão vigente.

Vocabulário desta seção: gêmeos

⚠ ERRATA DE CABEÇALHO, declarada em 2026-08-20. Esta linha dizia v1.17 enquanto os gêmeos (seed-tokens.json + seed-tokens.css) já estavam em v1.19 — o cabeçalho do CSS até registra a defasagem por escrito ("este cabecalho dizia v1.17 depois de a v1.18 ter nascido"), mas a correção nunca chegou aqui. Três versões de atraso num H1 de arquivo canônico. Corrigido junto com a v1.20, que nasce --seed-font-expressive. Por que isso vale registro e não só conserto: número de versão em cabeçalho é a primeira coisa que alguém lê para decidir se o arquivo está atual. Cabeçalho atrasado faz um documento correto parecer velho — e um documento velho parecer correto.

Arquivo canônico da camada de tokens. Primeira entrega (Fase 1) do rebranding do design system SEED iniciado em julho/2026. Este documento é a fonte de verdade conceitual; os valores executáveis vivem em dois arquivos gêmeos gerados juntos: seed-tokens.json (formato DTCG/W3C, para ferramentas e agentes) e seed-tokens.css (CSS custom properties, para web). Os três arquivos formam uma unidade: alterar um exige alterar os três.

Quem consome: o site público do DS (Lovable), o SIGA (Sistema Integrado de Gestão Assistida), o sistema de chat, o site institucional, as skills seed-ds-* do Claude, e qualquer sistema futuro. Componentes e peças NUNCA usam hex direto: consomem tokens semânticos; tokens semânticos consomem primitivos.

Contexto para leitor novo: a SEED engenharia é um HUB de engenharia elétrica (ES/MG/BA, desde 2016). A paleta de marca (8 cores, definida no rebrand de 2018 e mantida) não mudou neste trabalho — o que este arquivo faz é transformá-la de "lista de 8 hex" em sistema de 3 camadas capaz de servir produto digital, dark mode, dataviz e acessibilidade WCAG 2.2 AA. Identidade visual geral: marca-seed.md (v5.0 em produção). Institucional: sobreaseed.md.

Data: 2026-07-30 · Editado: 2026-10-28 (v1.40 — CT-P28, folha 13, P4 = a: --seed-field-border-error passa a valer a cor do texto de erro (--seed-field-error-text): vermelho-700 #A5272A no claro, vermelho-300 #FF9C95 no escuro; era vermelho-600 #C6393B / vermelho-400 #FC6F6A; nenhum hex novo) · (v1.39 — SH-P62, folha 11, SH62a..e (MANIFESTO §320): nascem três tokens do painel lateral à direita — --seed-side-panel-width 420 px, --seed-side-panel-width-min 320 px e --seed-side-panel-content-min 640 px (§3f); adição pura, nenhum valor anterior muda) · (v1.38 — PR-P177, MANIFESTO §319: a frase de sombras do §2.8 passa a dizer o que os tokens emitem — tintada no cinza-900 no claro, preto com opacidade no escuro; nenhum valor muda; folha 12 P177 = "a") · (v1.37 — leva 43, MANIFESTO §316: MA13/MA14 do material — --seed-mat-glass-alpha-midia 82 % claro / 92 % escuro, véu da mídia 35 % no escuro, topo do vidro +10 pontos; folha 11 MA2 = "a") · (v1.36 — PR-P152 = b (folha 2 de 2026-10-10, F2 = b): nascem --seed-toast-bg #00352F e --seed-toast-text #FFFFFF, invariantes de tema, para o aviso .toast das quatro telas que o pintavam com valor solto (§3e); mesmos valores, nada muda na tela. Anterior: v1.35 (2026-09-30) — TK-P9 = C e MR-C = B, respostas dele: nasce o primitivo --seed-preto #000000 (§2.1-b) e o font.letterSpacing.normal ganha a descrição "0 px = o espaçamento padrão; sem variável no CSS de propósito". Os gêmeos sobem de v1.30 para v1.35 (o número que segue o último medido deste arquivo, 1.34). Adição pura, nenhum valor muda. Anterior: v1.34 (2026-09-27) — o corpo passa a documentar os 39 tokens do retrofit da v1.14 (RV1–RV10): os seis papéis tipográficos --seed-txt-* no §2.5; a escala de raio em passo 2, os meios-passos de espaço e a altura de controle no §2.6 (TK-P6). Nenhum valor muda. Anterior: v1.33 (2026-09-27) — as oito versões que faltavam no §9 (1.13 a 1.20) entram reconstituídas, com a fonte de cada uma, e esta linha volta a dizer a versão viva (REV-P29). As versões v1.23 a v1.32 estão só no §9: esta linha ficou parada na v1.22 enquanto elas nasciam. Anterior: v1.22 (2026-08-25) — a SEGUNDA leva da camada 3 entra nos gêmeos, e a classe ganha INSTRUMENTO: 19 tokens de botão, cartão, divisor, lista, item destrutivo de menu e espera, todos nomes que o seed-componentes.md já usava e o gêmeo não definia. A diferença de método em relação à v1.21 é que a lacuna deixou de ser procurada por grep e passou a ser medida pela guarda guarda-spec-gemeo.py (contrato SG1), que varre os canônicos e reprova todo custom property nomeado no canon e ausente do gêmeo — placar dela: 121 PASS · 29 FAIL → 140 PASS · 10 FAIL. Dos 29 acusados, 19 tinham origem de valor declarada e foram emitidos; 10 não se emite, e a lista com o motivo de cada um está na entrada v1.22 do §9 — inclusive três nomes que o canon cita apenas para registrar um defeito, um descarte ou um exemplo de diagrama. Anterior: v1.21 — nasce a PRIMEIRA CAMADA 3 (componente) dos gêmeos, fechando a AD-P6: os 21 tokens --seed-field-* do form-field, especificados e medidos na §2.5 do seed-componentes.md desde 2026-08-02 e até hoje ausentes dos gêmeos — a spec citava seed-field- 116 vezes, os gêmeos tinham ZERO, e o ERP consome exatamente essa camada. Adição pura (nenhum valor anterior muda), hex resolvido dos aliases da §2.5, gate G5 novo na paridade-tokens.py (fidelidade alias→valor + espelho prefers-color-scheme conferido pela primeira vez); placar 85·0. Detalhe na fronteira do §6; v1.17 — a MARCA QUE CARREGA TEXTO desce um degrau: o gate visual do Rafael vetou a tinta escura sobre a marca e pediu texto branco; com o branco fixado, a superfície passa a ser turquesa-600 #098475 (4,60) e nascem surface-brand-strong e text-on-brand-strong — estado vigente no §5-d, que supersede metade do §5-b. A marca chapada #11B0A0 segue a âncora, reservada para área sem texto; v1.16 — a TINTA DO BOTÃO DESTRUTIVO, que fecha a AD-P1: o destrutivo clareia no tema escuro e a tinta continuava branca, medindo 2,71→2,76 contra piso 4,50; nasce text-on-action-destructive, branca no claro e vermelho-900 no escuro, com o RITO de três rodadas registrado no §5-c; v1.15 — as TRÊS TINTAS DE MARCA, que fecham a MR-P1 e a MR-P2: um único token de tinta servia três fundos de marca com necessidades opostas e errava dois deles, um em cada tema; agora são text-on-brand (escura, sobre a marca chapada), text-on-brand-deep (branca) e text-on-action-primary (inverte) — estado vigente no §5-b, com errata dupla no §5; v1.14 — surface-brand-subtle, que fechou o BT-P6 na causa, mais a primeira errata do "3,22"; v1.13 — row-selected-*: o realce de linha selecionada ganha dono no canônico, fechando uma lacuna que a bancada banco-dados.html já vivia com definição local; adição pura, três tokens, quatro guardas novas na paridade; v1.12 — border-interactive fecha a SH-P1/PN-P5, promoção medida do empréstimo declarado do shell; v1.11 — semânticos de COMPOSIÇÃO E CHROME do CP-P3: rail-background gradiente CP20, dois overlays de chrome do SUP-6, paleta de entidade entity-1…6+tinta do CP23 e marker-now do CP24 — todos invariantes de tema, todos medidos, inclusive em composição; histórico completo no §9, com a restauração retroativa das entradas v1.7–v1.10 que faltavam na tabela) · Autoria: Claude + Rafael (decisões aprovadas em conversa de projeto)

Estado: estável — decisão sobre o arquivo inteiro.


Esc