prometeu-studio/docs/compiler/pbs/pull-requests/PR-05.4-irvm-program-coherence-without-bypass.md
2026-03-24 13:42:37 +00:00

2.3 KiB

PR-05.4 - IRVM Program Coherence Without Bypass

Briefing

Existe bypass de coerência no IRVMProgram em presença de RAW_SYSCALL e derivação com placeholders (__unknown__).

Esta PR remove esses atalhos do fluxo canônico e endurece o contrato de coerência IRVM <-> EmissionPlan.

Motivation

Dor atual que esta PR resolve

  1. Programa pode aparentar coerente e mesmo assim carregar informação inválida para emissão.
  2. Brecha para mascarar erro estrutural antes do Gate de emissão/verificação.
  3. Diagnóstico tardio e pouco preciso para falhas de marshaling.

Target

IRVMProgram com coerência obrigatória, sem exceção silenciosa para formas proibidas no pipeline canônico.

Dependencies

Prerequisito direto:

  1. PR-05.0.3 (payload de IDs tipados no contrato executável).

Scope

  1. Regras de coerência no construtor e no coherentEmissionPlan().
  2. Eliminação de placeholder de syscall desconhecida em caminho de derivação canônico.
  3. Taxonomia de erro para incoerência estrutural.

Non-Goals

  1. Não muda verificador runtime.
  2. Não muda decisão de proibir RAW_SYSCALL em pre-load.

Method

O que deve ser feito explicitamente

  1. Remover condição que pula validação de coerência quando detecta RAW_SYSCALL.
  2. Tornar inválido no caminho canônico qualquer plano com operação proibida para pre-load.
  3. Remover geração de HOSTCALL com SyscallDecl("__unknown__",...) em derivação automática.
  4. Falhar cedo com erro determinístico e mensagem orientada a ação.

Acceptance Criteria

  1. IRVMProgram nunca retorna plano incoerente no fluxo canônico.
  2. Não existe mais derivação com placeholders desconhecidos para hostcall.
  3. Erros de coerência aparecem antes da emissão binária.
  4. Coerência valida vínculos de IDs de call/intrinsic com tipo correto de domínio.

Tests

  1. Testes negativos para RAW_SYSCALL no plano e para hostcall sem metadado válido.
  2. Testes de regressão para caminhos válidos existentes.
  3. Testes de estabilidade de códigos de erro.

Affected Documents

  1. docs/general/specs/15. Bytecode and PBX Mapping Specification.md
  2. docs/general/specs/20. IRBackend to IRVM Lowering Specification.md
  3. docs/general/specs/19. Verification and Safety Checks Specification.md

Open Questions

Sem bloqueios arquiteturais.