prometeu-studio/docs/pbs/pull-requests/PR-038-irbackend-v2-executable-contract-model.md
2026-03-24 13:42:24 +00:00

1.5 KiB

PR-038 - IRBackend v2 Executable Contract Model

Briefing

Evoluir IRBackend para contrato executavel v2, adicionando corpo lowerable, classificacao de callsites e metadado canonico para host/intrinsic sem heuristica textual no backend.

Target

  • Expandir modelos em prometeu-frontend-api para incluir:
    • callable identity estavel,
    • corpo lowerable,
    • callsites com categoria explicita (CALL_FUNC, CALL_HOST, CALL_INTRINSIC),
    • metadado canonico host/intrinsic por callsite.
  • Preservar compatibilidade de agregacao e ordenacao deterministica.

Method

  • Introduzir novas records/classes v2 e adaptar agregador de IRBackend.
  • Manter fronteira clara entre metadado reservado global e metadado operacional por callsite.
  • Introduzir chave deterministica de ordenacao de funcao: (module_key, callable_name, source_start).

Acceptance Criteria

  1. IRBackend v2 carrega informacao suficiente para LowerToIRVM sem heuristica textual.
  2. Cada callsite executavel pertence a exatamente uma categoria.
  3. Identidade canonica host/intrinsic fica preservada por callsite.
  4. Agregacao multi-arquivo continua deterministica.

Tests

  1. Testes unitarios de modelo para classificacao de callsites.
  2. Testes unitarios de agregacao deterministica de funcoes.
  3. Testes unitarios de preservacao de metadados host/intrinsic.

Affected Documents

  • docs/pbs/specs/13. Lowering IRBackend Specification.md
  • docs/general/specs/20. IRBackend to IRVM Lowering Specification.md