prometeu-studio/discussion/workflow/agendas/AGD-0065-multi-frontend-pvm-neutrality.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.5 KiB

id ticket title status created resolved decision tags
AGD-0065 multi-frontend-pvm-neutrality Neutralidade da PVM e identificacao PBX independente de PBS open 2026-07-15
vm-arch
runtime
pvm
pbx
compiler
multi-frontend

Agenda - Manter a PVM neutra

Objetivo

Domain owner: vm-arch, com impacto em compiler/general.

Garantir que a PVM conheca apenas PBX/IRVM e conceitos runtime neutros, incluindo identificacao correta do formato como PBX/PBX\0, nao PBS.

Contexto atual

O documento e focado no Studio, mas runtime neutrality e uma fronteira transversal. A PVM nao deve conhecer PBS service, PBS struct, PBS optional ou qualquer conceito de linguagem.

Escopo

  • Auditar nomenclatura e imports runtime/PVM disponiveis no repo.
  • Verificar magic/header de PBX quando o codigo estiver no workspace.
  • Confirmar que linguagem e convertida antes da execucao.

Fora de escopo

  • Modificar a PVM se o acoplamento estiver apenas no Studio ou compiler.
  • Alterar ISA sem necessidade.
  • Adicionar suporte a qualquer linguagem nova.

Arquivos e componentes a inspecionar

  • docs/vm-arch/ARCHITECTURE.md
  • docs/vm-arch/ISA_CORE.md
  • docs/specs/compiler/15. Bytecode and PBX Mapping Specification.md
  • prometeu-compiler/prometeu-build-pipeline/src/main/java/p/studio/compiler/backend/bytecode/...
  • runtime/PVM em repositorio ou modulo relacionado, quando presente

Alteracoes propostas

Opcao A: auditoria documental e de codigo para nomes PBS indevidos em runtime/bytecode.

Opcao B: corrigir imediatamente apenas identificacao PBS vs PBX se houver bug confirmado e isolado.

Recomendacao inicial: auditar primeiro; corrigir somente caso a fronteira esteja claramente violada e a mudanca seja pequena.

Estrategia de implementacao

Buscar termos PBS no runtime, bytecode e specs VM; classificar ocorrencias validas de docs historicas vs erros de contrato.

Testes necessarios

  • Teste de magic/header PBX.
  • Teste arquitetural impedindo imports PBS no runtime/PVM.
  • Teste de carregamento/verificacao de programa sem dependencia de linguagem.

Criterios de aceitacao

  • PVM nao depende de conceitos PBS.
  • Formato executavel e tratado como PBX.
  • Qualquer correcao runtime necessaria fica separada de refactors Studio/compiler.

Riscos

  • Confundir nomenclatura documental antiga com acoplamento real.
  • Expandir escopo para VM quando o problema pertence ao compiler.

Decisoes que devem ser registradas

  • Lista de conceitos permitidos na PVM.
  • Politica de nomenclatura PBX/PBS.
  • Onde ficam testes de neutralidade runtime.