prometeu-studio/docs/pbs/pull-requests/PR-O1.4-lower-to-irvm-callsite-prechecks.md

31 lines
1.1 KiB
Markdown

# PR-O1.4 - LowerToIRVM Callsite Prechecks
## Briefing
Implementar prechecks obrigatorios de chamada em `LowerToIRVM` (consistencia de assinatura/slots e validade de destino) para cumprir integralmente o contrato de verificacao pre-emissao.
## Target
- `prometeu-compiler/prometeu-build-pipeline` (`LowerToIRVMService`, `IRVMValidator`).
- Taxonomia de erros de lowering/verificacao.
- Testes unitarios de lowering negativo.
## Method
- Introduzir validacao de aridade/shape de retorno em `CALL_FUNC` usando metadados das funcoes alvo.
- Rejeitar inconsistencias de chamada antes do emissor.
- Preservar determinismo de `func_id` e diagnostico para falhas de precheck.
## Acceptance Criteria
- `CALL_FUNC` invalido por contrato de slots falha no `LowerToIRVM` com codigo estavel.
- Falhas de callsite nao avancam para `EmitBytecode`.
- Verificador cobre func-id, stack e contrato de chamada no mesmo passe.
- Testes existentes de lowering continuam verdes.
## Tests
- Novos testes em `LowerToIRVMServiceTest` para mismatch de param/ret slots.
- Regressao para caminho valido com host/intrinsic.
- Teste de estabilidade de codigo de erro para mesma entrada invalida.