prometeu-studio/discussion/workflow/agendas/AGD-0059-multi-frontend-remove-pbs-branches.md
bQUARKz 35b65bb524
All checks were successful
JaCoCo Coverage #### Project Overview No changes detected, that affect the code coverage. * Line Coverage: 61.37% (17351/28272) * Branch Coverage: 52.31% (6722/12850) * Lines of Code: 28272 * Cyclomatic Complexity: 11325 #### Quality Gates Summary Output truncated.
Test / Build skipped: 15, passed: 601
Intrepid/Prometeu/Studio/pipeline/head This commit looks good
multi FE adjustment agendas
2026-07-15 07:58:23 +01:00

79 lines
2.7 KiB
Markdown

---
id: AGD-0059
ticket: multi-frontend-remove-pbs-branches
title: Remover verificacoes explicitas de PBS do codigo comum
status: open
created: 2026-07-15
resolved:
decision:
tags: [compiler, compiler-general, compiler-pbs, studio, frontend, coupling, multi-frontend]
---
# 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.java`
- `prometeu-studio/src/main/java/p/studio/window/NewProjectWizard.java`
- `prometeu-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.