ADR-015 — Redesign v3 com identidade e luminosidade independentes
- Status: Accepted para direção visual; capabilities funcionais continuam condicionadas aos seus CRs/IAs
- Data: 2026-08-24
- Decisores: Product Owner, Product & Engineering
- Evolui: ADR-013; não apaga seu histórico nem altera marca/assets oficiais
Contexto
Os protótipos T1–T9 aprovados introduzem duas dimensões ortogonais: identidade visual Raiz | Neutro e luminosidade dark | light. O sistema vigente representa apenas luminosidade e fixa o laranja RaizFC como primary. Implementar seletores locais em cada tela criaria estado divergente, flash de tema e quatro paletas não testadas.
Decisão
- O tema canônico é
{ identity: 'raiz' | 'neutral', luminosity: 'dark' | 'light' }. - Novos usuários e ausência de preferência iniciam em
neutral/dark, conforme a decisão final do protótipo. identity=raizusa#EA580Ccomoprimary;neutral/darkusa#E8E4DC;neutral/lightusa#2A2520.- Luminosidade governa canvas, surfaces, texto e bordas. Identidade governa primary, seleção, foco e marcas themable; não altera conteúdo, ordem, permissão nem estado esportivo.
- Escudos e marcas de entidades não são recoloridos. A marca institucional do shell é a exceção explícita: usa as variantes oficiais brand/themeable para acompanhar identidade e luminosidade, preservando a geometria e a costura do símbolo.
- Preferência antiga
dark|lightmigra pararaiz/<valor>para não mudar silenciosamente a identidade escolhida por usuários existentes. Somente ausência de preferência usa o novo default. - Leitura é estrita: shape v3 inválido, valor legado desconhecido ou storage corrompido é tratado como ausência e renderiza
neutral/dark. O valor bruto não é logado nem regravado; somente uma escolha válida do usuário ou a migração reconhecida escreve no storage. - Web evita flash por bootstrap/hydration seguro; mobile carrega a preferência antes de liberar a composição principal ou usa skeleton semanticamente neutro.
- O seletor real pode viver em Onboarding/Perfil e no painel único Tema do shell. Todos consomem o mesmo provider persistente.
ThemeDevControls, toggles externos e modais sem comportamento real dos JSX não entram em produção. - Os quatro modos precisam de contraste, visual regression, reduced motion e testes de persistência equivalentes.
Compatibilidade e rollback
A implementação usa leitura compatível do valor legado e escrita somente no shape v3 após migração. Rollback conserva a luminosidade e ignora temporariamente identity; não apaga a preferência v3. Componentes consomem tokens semânticos, nunca fazem branch por nome de cor.
Consequências
- ADR-013 continua fonte histórica de tipografia, marca, hero e dark-first; seu modelo de dois temas é substituído somente no eixo de tema.
SPEC-UX-VISUAL-001,SPEC-UX-TOKENS-001,SPEC-UX-COMPONENTS-001eSPEC-UX-A11Y-001evoluem em conjunto.- Cards/OG só adotam identidade Neutro quando a spec do renderer definir snapshot e cache; não se presume migração automática.
- Assets novos exigem proveniência/licença e review visual antes de
assets/. - Nenhuma capability de domínio do protótipo é autorizada por este ADR.