prometeu-runtime/docs/runtime/pull-requests/PR002-gfx-status-first-surface-and-fault-matrix.md
2026-03-24 13:40:50 +00:00

48 lines
1.4 KiB
Markdown

# PR002 - GFX Status-First Surface and Fault Matrix
## Briefing
A decision `008` fechou politica status-first em `gfx`, incluindo:
- sem no-op silencioso para erro operacional;
- retorno `status` quando houver possibilidade real de falha;
- `Trap` apenas estrutural e `Panic` apenas invariante.
## Alvo
Implementar o contrato de `gfx` no runtime e atualizar spec do dominio.
Arquivos principais:
- `docs/runtime/specs/04-gfx-peripheral.md`
- `crates/console/prometeu-hal/src/syscalls/domains/gfx.rs`
- `crates/console/prometeu-system/src/virtual_machine_runtime/dispatch.rs`
## Escopo Funcional
- fechar matriz por syscall (`void` vs `status`);
- remover fallback implicito em `gfx.set_sprite`;
- mapear casos operacionais para status inteiros por operacao;
- remover `Panic` acidental por argumento de app no dominio `gfx`.
## Fora de Escopo
- redesign de pipeline grafico;
- mudancas de feature fora do conjunto atual de syscalls `gfx`.
## Critérios de Aceite
- metadata de syscall `gfx` (arg/ret slots) alinhada com matriz definida;
- `set_sprite` nao usa fallback implicito para banco default;
- casos operacionais invalidos retornam `status` e nao no-op silencioso;
- testes cobrindo pelo menos:
- sprite index invalido;
- asset ausente;
- faixas invalidas de parametro.
## Tests
- `cargo test -p prometeu-system`
- `cargo test -p prometeu-hal`
- testes de regressao especificos de `dispatch` e dominio `gfx`.