31 lines
1.3 KiB
Markdown
31 lines
1.3 KiB
Markdown
# PR-O1.1 - Backend Diagnostics Taxonomy and Attribution
|
|
|
|
## Briefing
|
|
|
|
Fechar lacunas de consistencia diagnostica no backend executavel, padronizando familias de erro (`MARSHAL_FORMAT_*`, `MARSHAL_LINKAGE_*`, `MARSHAL_VERIFY_PRECHECK_*`) e regras minimas de atribuicao de fonte quando o erro for acionavel pelo usuario.
|
|
|
|
## Target
|
|
|
|
- `prometeu-compiler/prometeu-build-pipeline` (stages e servicos de lowering/optimize/emit).
|
|
- Contratos de excecao/codigos de erro no backend.
|
|
- Mapeamento de falhas para mensagens estaveis no pipeline.
|
|
|
|
## Method
|
|
|
|
- Consolidar codigos de erro de backend em taxonomia unica e estavel.
|
|
- Garantir que erros source-atribuiveis propaguem `fileId/span` quando disponivel no `IRBackend`.
|
|
- Alinhar mensagens de stage para manter determinismo de identificacao entre execucoes.
|
|
|
|
## Acceptance Criteria
|
|
|
|
- Falhas de backend relevantes caem em uma das 3 familias normativas.
|
|
- O mesmo input gera o mesmo `error code` e mesma fase reportada.
|
|
- Erros source-atribuiveis carregam ancora primaria de fonte.
|
|
- Gate de build nao mascara codigo original do erro backend.
|
|
|
|
## Tests
|
|
|
|
- Unit tests para mapeamento de excecoes em cada stage (`LowerToIRVM`, `OptimizeIRVM`, `EmitBytecode`).
|
|
- Fixtures negativos garantindo estabilidade de `code`/fase/mensagem base.
|
|
- Caso com span disponivel validando atribuicao no diagnostico final.
|