2.7 KiB
| id | ticket | title | status | created | resolved | decision | tags | |||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| AGD-0059 | multi-frontend-remove-pbs-branches | Remover verificacoes explicitas de PBS do codigo comum | open | 2026-07-15 |
|
Agenda - Remover verificacoes explicitas de PBS do codigo comum
Objetivo
Domain owner: compiler/general, com impacto em studio e compiler/pbs.
Definir uma auditoria e remocao incremental de branches, instanciacoes e chamadas estaticas PBS em codigo comum.
Contexto atual
O documento de alinhamento aponta ocorrencias como "pbs", PBSDefinitions, PBSFrontendPhaseService, PBSFrontend, PbsParser, PbsSemantic e languageId. A primeira busca no repo confirma ocorrencias espalhadas em docs, testes, frontend PBS, build pipeline e Studio.
Escopo
- Classificar ocorrencias como internas ao PBS, composition root, testes PBS ou referencias indevidas.
- Substituir referencias indevidas por provider, spec, capability ou servico registrado.
- Manter excecoes explicitas documentadas.
Fora de escopo
- Remover constantes PBS internas do proprio frontend.
- Alterar templates explicitamente PBS.
- Renomear packages.
Arquivos e componentes a inspecionar
prometeu-app/src/main/java/p/studio/AppContainer.javaprometeu-studio/src/main/java/p/studio/window/NewProjectWizard.javaprometeu-studio/src/main/java/p/studio/projects/...prometeu-compiler/prometeu-build-pipeline/...prometeu-compiler/frontends/prometeu-frontend-pbs/...- testes que importam
p.studio.compiler.pbs...
Alteracoes propostas
Opcao A: auditoria textual primeiro, seguida de PRs pequenos por area.
Opcao B: criar teste arquitetural antes e usar falhas para guiar remocao.
Recomendacao inicial: fazer auditoria textual e classificar em tabela curta antes de alterar; em seguida adicionar teste arquitetural para impedir regressao.
Estrategia de implementacao
Usar rg para localizar termos, confirmar nomes reais, registrar classificacao no plano derivado e migrar apenas uma fronteira por vez.
Testes necessarios
- Teste de dependencia impedindo imports PBS em packages comuns.
- Testes de build existentes do PBS.
- Testes de Studio/project wizard para garantir templates PBS ainda funcionam.
Criterios de aceitacao
- Codigo comum nao decide comportamento por
"pbs". - Excecoes ficam restritas a composition root, testes PBS, templates PBS e frontend PBS.
Riscos
- Remover uma referencia valida do PBS por classificacao apressada.
- Quebrar setup de projeto existente ao mover extensoes e templates para provider.
Decisoes que devem ser registradas
- Lista de excecoes permitidas.
- Criterio de ownership para cada pacote comum.
- Ordem de migracao por area.