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