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

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
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.