prometeu-studio/docs/pbs/pull-requests/PR-032-backend-bytecode-module-serializer-baseline.md
2026-03-24 13:42:24 +00:00

1.5 KiB

PR-032 - Backend BytecodeModule Serializer Baseline

Briefing

Implementar a base de marshaling binario de BytecodeModule no compilador, alinhada ao contrato v1 de const_pool, functions, code, exports, syscalls e secao SYSC obrigatoria.

Target

  • Criar modelo interno de emissao de BytecodeModule no backend Java.
  • Implementar serializacao little-endian com tabela de secoes deterministica.
  • Garantir SYSC sempre presente no artefato pre-load, inclusive vazia.

Method

  • Introduzir pacote backend de bytecode com modelos equivalentes aos campos normativos da spec 15.
  • Implementar serializer com layout de header e secoes deterministico.
  • Introduzir erros deterministas de formato (MARSHAL_FORMAT_*) para falhas detectaveis antes da escrita final.
  • Referenciar comportamento-alvo dos contratos existentes em ../runtime/crates/console/prometeu-bytecode/src/model.rs.

Acceptance Criteria

  1. O backend serializa BytecodeModule sempre em little-endian.
  2. A secao SYSC e sempre emitida.
  3. Mesma entrada produz bytes identicos.
  4. Erros de formato em dados invalidos sao deterministicos e estaveis.

Tests

  1. Teste unitario de serializacao minima (sem syscalls) com SYSC vazio presente.
  2. Teste unitario de determinismo de bytes para mesma entrada.
  3. Teste unitario de rejeicao MARSHAL_FORMAT_* para dados malformados detectaveis no emitter.

Affected Documents

  • docs/general/specs/15. Bytecode and PBX Mapping Specification.md
  • docs/general/specs/19. Verification and Safety Checks Specification.md