# PR-09.7 - Compiler Normalization to ISA Intrinsic Registry Artifact ## Briefing Apos estabelecer o artefato unico do registry (PR-09.6), o compiler precisa consumir exclusivamente esse artefato e remover caminhos residuais de dual-authoring. ## Motivation ### Dor atual que esta PR resolve 1. Compiler ainda pode depender de representacao local paralela. 2. Teste de paridade atual com parse de `builtins.rs` e acoplamento fragil de formato. 3. Falta um caminho de consumo unico no pipeline backend. ## Target Normalizar o lado compiler para source-of-truth unico: 1. `IRVMIntrinsicRegistry` carregando apenas o artefato canonico ISA, 2. remover/encapsular validacoes que dependem de parsing textual de runtime internals, 3. reforcar gate de consistencia do consumidor compiler. ## Dependencies Prerequisito direto: 1. `PR-09.6` ## Scope 1. Ajustar `IRVMIntrinsicRegistry` para modo canonical-only. 2. Revisar testes de paridade: - principal: paridade com artefato canonico, - opcional/informativo: runtime-backed check separado. 3. Garantir mensagens de erro e diagnostico estaveis para registry invalido. ## Non-Goals 1. Nao alterar implementacao de intrinsics no runtime. 2. Nao mover ownership de docs runtime nesta PR. ## Method ### O que deve ser feito explicitamente 1. Consolidar parser/loader do registry no compiler com contrato estrito. 2. Substituir assercoes hardcoded por fixtures derivadas do artefato. 3. Separar teste de compatibilidade runtime: - nao bloquear desenvolvimento local quando runtime repo ausente, - bloquear em modo strict/CI quando configurado. 4. Atualizar docs de contribuicao do compiler para fluxo de update de intrinsics. ## Acceptance Criteria 1. Compiler nao tem mais fonte duplicada de mapping de intrinsic IDs. 2. `LowerToIRVMService` resolve IDs finais exclusivamente via artefato canonico. 3. Suite de testes backend cobre: - carregamento valido, - invalid registry, - mismatch detectavel em strict mode. ## Tests 1. `:prometeu-compiler:prometeu-build-pipeline:test --tests *IRVMIntrinsicRegistry*` 2. `:prometeu-compiler:prometeu-build-pipeline:test --tests *LowerToIRVMServiceTest*` 3. `:prometeu-compiler:prometeu-build-pipeline:test --tests *BackendConformanceMatrixSpecTest*` ## Affected Documents 1. `docs/general/specs/20. IRBackend to IRVM Lowering Specification.md` 2. `docs/general/specs/22. Backend Spec-to-Test Conformance Matrix.md` 3. `docs/pbs/pull-requests/INDEX.md` ## Open Questions 1. Nenhuma bloqueante para lado compiler.