# 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`