2.0 KiB
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 (
IRBackendboundary).
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
IRBackendcom 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.mddocs/pbs/specs/13. Lowering IRBackend Specification.mddocs/pbs/specs/6.1. Intrinsics and Builtin Types Specification.mddocs/pbs/specs/6.2. Host ABI Binding and Loader Resolution Specification.md