2.7 KiB
2.7 KiB
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_NOWque 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
- Eliminar a capability em vez de reduzir a matriz. Todos os requisitos de
visual-regressionserã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. - 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.
- Separar determinismo reutilizável da captura visual.
VisualContentSeedereAPP_FROZEN_NOWpermanecem 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-motionantes 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.