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