prometeu-studio/docs/pbs/pull-requests/PR-O1.2-irbackend-executable-contract-hardening.md

1.2 KiB

PR-O1.2 - IRBackend Executable Contract Hardening

Briefing

Endurecer o contrato de entrada do backend (IRBackendExecutableFunction) para reduzir ambiguidade e rejeitar estados inconsistentes antes de LowerToIRVM.

Target

  • prometeu-compiler/prometeu-frontend-api (IRBackend, IRBackendExecutableFunction).
  • Validacoes de construcao do modelo executavel.
  • Testes de contrato de modelo na API.

Method

  • Adicionar validacoes estruturais obrigatorias (identidade, slots, limites e metadados minimos por instrucao).
  • Tornar explicita a politica para campos em branco (moduleKey, nomes de callsites, metadado host/intrinsic).
  • Rejeitar estados impossiveis no proprio modelo, nao no emissor tardio.

Acceptance Criteria

  • Modelo recusa funcoes/instrucoes com combinacoes invalidas de campos.
  • Contrato de CALL_FUNC/CALL_HOST/CALL_INTRINSIC fica mutuamente exclusivo e completo.
  • Campos de slot/stack nao aceitam valores negativos.
  • Testes de contrato cobrem casos validos e invalidos deterministas.

Tests

  • IRBackendExecutableContractTest ampliado para validacoes novas.
  • Testes de construtor para cada kind de instrucao com metadados obrigatorios.
  • Testes de regressao para aceitar payloads validos atuais.