prometeu-studio/docs/pbs/pull-requests/PR-027-pbs-builtin-metadata-extraction-and-ir-lowering-admission.md
2026-03-24 13:42:22 +00:00

2.0 KiB

PR-027 - PBS Builtin Metadata Extraction and IR Lowering Admission

Briefing

Com interface modules e SDK minimo ativos, precisamos fechar a fronteira entre metadata reservada e lowering frontend (IRBackend), sem degradacao silenciosa.

Motivation

As specs exigem que metadata reservada seja compilacao-only e consumivel por lowering posterior. Tambem exigem rejeicao deterministica quando suporte ainda nao cobre algum caso.

Target

  • Extracao de metadata de attributes reservadas no grafo de interface.
  • Regras de admissao/rejeicao no lowering frontend (IRBackend boundary).

Scope

  • Extrair e armazenar canonical metadata de Host, BuiltinType, IntrinsicCall, Slot, BuiltinConst.
  • Preservar informacao minima necessaria no contrato de lowering frontend.
  • Emitir diagnostico deterministico para formas nao suportadas pela fronteira atual.

Method

  • Introduzir modelo interno de metadata reservada desacoplado da sintaxe bruta.
  • Atualizar contrato de admissao do frontend para recusar deterministicamente casos fora da fatia implementada.
  • Garantir fase/codigo/template/attribution estaveis nos diagnosticos de rejeicao.

Acceptance Criteria

  • Metadata reservada valida e acessivel apos parse+semantica+linking.
  • Nenhum caso nao suportado passa silenciosamente para IRBackend com comportamento alterado.
  • Rejeicoes de lowering frontend sao deterministicas e rastreaveis.

Tests

  • Fixtures positivas para extracao de metadata de Color/Gfx.
  • Fixtures negativas com metadata invalida e rejeicao deterministica.
  • Asserts de contrato diagnostico (phase, code, templateId, span).

Non-Goals

  • Implementar IRBackend -> IRVM.
  • Definir encoding final de artifact/PBX.

Affected Documents

  • docs/pbs/specs/12. Diagnostics Specification.md
  • docs/pbs/specs/13. Lowering IRBackend Specification.md
  • docs/pbs/specs/6.1. Intrinsics and Builtin Types Specification.md
  • docs/pbs/specs/6.2. Host ABI Binding and Loader Resolution Specification.md