# PR-06.3 - IRVM_EXT Contract and Elimination Fixtures ## Briefing O contrato de `IRVM_EXT` esta parcialmente coberto apenas pelo `INTERNAL_EXT` atual. Esta PR amplia cobertura para garantir metadados estruturais e eliminacao antes da emissao. ## Motivation ### Dor atual que esta PR resolve 1. Requisito `G20-6.2` permanece `partial`. 2. Falta evidencia para mais de um formato de extensao interna. 3. Dificuldade de evoluir extensoes com seguranca sem regressao de precheck. ## Target Suite de fixtures para contrato de `IRVM_EXT` e precondicao de eliminacao no caminho de emissao. ## Dependencies Prerequisitos diretos: 1. `PR-05.6` (otimizador ativo). 2. `PR-05.4` (coerencia de programa sem bypass). ## Scope 1. Fixtures com multiplas op variantes internas (ou metadados distintos equivalentes). 2. Validacao explicita de metadados estruturais (`pops/pushes/branch/terminator`). 3. Prova de rejeicao quando opcode interno residual chega ao emit. ## Non-Goals 1. Nao define novas extensoes de runtime. 2. Nao altera ISA core publicado. ## Method ### O que deve ser feito explicitamente 1. Adicionar cenarios de teste para `IRVM_EXT` alem do caso trivial existente. 2. Verificar que `OptimizeIRVM` elimina extensoes internas em caminho canĂ´nico. 3. Verificar que `EmitBytecode` falha deterministicamente quando extensao residual permanece. 4. Atualizar a matriz para `G20-6.2` conforme cobertura final. ## Acceptance Criteria 1. Contrato estrutural de `IRVM_EXT` fica provado por testes dedicados. 2. Caminho de eliminacao pre-emissao e coberto com positivo/negativo. 3. `G20-6.2` evolui para `pass` se cobertura completa. ## Tests 1. `IRVMValidatorTest` e `OptimizeIRVMServiceTest` com novos casos. 2. `EmitBytecodePipelineStageTest` para residual interno. 3. Reexecucao: - `:prometeu-compiler:prometeu-build-pipeline:test` ## Affected Documents 1. `docs/general/specs/20. IRBackend to IRVM Lowering Specification.md` 2. `docs/general/specs/21. IRVM Optimization Pipeline Specification.md` 3. `docs/general/specs/22. Backend Spec-to-Test Conformance Matrix.md` ## Open Questions Sem bloqueios arquiteturais.