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 |
|
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.mddocs/vm-arch/ISA_CORE.mddocs/specs/compiler/15. Bytecode and PBX Mapping Specification.mdprometeu-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.