1.2 KiB
1.2 KiB
PR-O1.2 - IRBackend Executable Contract Hardening
Briefing
Endurecer o contrato de entrada do backend (IRBackendExecutableFunction) para reduzir ambiguidade e rejeitar estados inconsistentes antes de LowerToIRVM.
Target
prometeu-compiler/prometeu-frontend-api(IRBackend,IRBackendExecutableFunction).- Validacoes de construcao do modelo executavel.
- Testes de contrato de modelo na API.
Method
- Adicionar validacoes estruturais obrigatorias (identidade, slots, limites e metadados minimos por instrucao).
- Tornar explicita a politica para campos em branco (
moduleKey, nomes de callsites, metadado host/intrinsic). - Rejeitar estados impossiveis no proprio modelo, nao no emissor tardio.
Acceptance Criteria
- Modelo recusa funcoes/instrucoes com combinacoes invalidas de campos.
- Contrato de
CALL_FUNC/CALL_HOST/CALL_INTRINSICfica mutuamente exclusivo e completo. - Campos de slot/stack nao aceitam valores negativos.
- Testes de contrato cobrem casos validos e invalidos deterministas.
Tests
IRBackendExecutableContractTestampliado para validacoes novas.- Testes de construtor para cada kind de instrucao com metadados obrigatorios.
- Testes de regressao para aceitar payloads validos atuais.