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
79 lines
2.7 KiB
Markdown
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.
|
|
|