38 lines
2.7 KiB
Markdown
38 lines
2.7 KiB
Markdown
## Context
|
|
|
|
A suíte browser contém uma camada exclusiva de comparação de pixels: um teste com baselines versionados, um trait para estabilizar capturas, exportação de diffs e configuração de CI para seeds e artefatos determinísticos. O restante da cobertura browser — smoke, acessibilidade, motion e fixtures de conteúdo — não depende dessa camada.
|
|
|
|
## Goals / Non-Goals
|
|
|
|
**Goals:**
|
|
|
|
- Remover integralmente a comparação de pixels, os baselines e a infraestrutura exclusiva de suporte.
|
|
- Manter o job browser em FrankenPHP e suas verificações funcionais, de acessibilidade e motion.
|
|
- Atualizar as fontes normativas e as specs ativas para que não exijam snapshots visuais.
|
|
|
|
**Non-Goals:**
|
|
|
|
- Não substituir a comparação de pixels por outro serviço ou ferramenta de regressão visual.
|
|
- Não remover `VisualContentSeeder`, fixtures JPEG, `APP_FROZEN_NOW` que tenham usos fora das capturas, screenshots documentais ou testes browser não relacionados.
|
|
- Não alterar APIs públicas, rotas, conteúdo nem comportamentos de interface.
|
|
|
|
## Decisions
|
|
|
|
1. **Eliminar a capability em vez de reduzir a matriz.** Todos os requisitos de `visual-regression` serão removidos, pois o produto não terá mais comparação de pixels. Alternativa rejeitada: conservar apenas algumas telas, pois ainda manteria baselines e o custo operacional indesejado.
|
|
2. **Preservar diagnósticos gerais de browser.** O CI manterá screenshots, logs e relatórios úteis a falhas funcionais; serão removidos apenas seed global, relógio congelado e artefatos específicos de baseline/diff. Alternativa rejeitada: retirar todos os diagnósticos, pois reduziria a capacidade de investigar falhas não visuais.
|
|
3. **Separar determinismo reutilizável da captura visual.** `VisualContentSeeder` e `APP_FROZEN_NOW` permanecem quando usados por outros testes ou pela aplicação; somente as referências exclusivas a screenshot são excluídas. Alternativa rejeitada: remover os nomes por associação, pois quebraria fixtures e cenários existentes.
|
|
|
|
## Risks / Trade-offs
|
|
|
|
- [Uma mudança puramente visual deixa de bloquear CI] → acessibilidade, smoke, motion e revisão humana continuam no fluxo de qualidade.
|
|
- [Remover preparação comum do job browser afeta testes restantes] → inspecionar usos de seed/relógio e executar a suíte browser contra FrankenPHP após a alteração.
|
|
- [Uma spec ativa ainda reintroduz snapshots] → remover as menções no delta de `enhance-public-motion` antes da validação OpenSpec.
|
|
|
|
## Migration Plan
|
|
|
|
Publicar a remoção junto com a atualização da documentação e do CI; não há migração de dados. O rollback é um revert do commit, restaurando os arquivos versionados e a configuração anterior.
|
|
|
|
## Open Questions
|
|
|
|
Nenhuma.
|