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

44 lines
1.4 KiB
Markdown

# PR003 - Audio Status-First Surface and Fault Matrix
## Briefing
A decision `009` fixou que `audio` deve seguir status-first.
No MVP atual, `audio.play` e `audio.play_sample` devem retornar `status:int`.
## Alvo
Aplicar a decisao `009` em spec e runtime para o dominio `audio`.
Arquivos principais:
- `docs/runtime/specs/05-audio-peripheral.md`
- `crates/console/prometeu-hal/src/syscalls/domains/audio.rs`
- `crates/console/prometeu-system/src/virtual_machine_runtime/dispatch.rs`
- `crates/console/prometeu-drivers/src/audio.rs`
## Escopo Funcional
- mudar surface de retorno de `audio.play` e `audio.play_sample` para `status`;
- remover fallback implicito e no-op silencioso para erros operacionais;
- validar faixas normativas (`volume`, `pan`, `pitch`) com status explicito;
- limpar caminhos que poderiam escalar para `Panic` por input de app.
## Fora de Escopo
- novos comandos de audio (stop/set pan/set pitch etc) fora do contrato atual;
- mudanca de arquitetura do mixer host.
## Critérios de Aceite
- `ret_slots` de `audio.play` e `audio.play_sample` atualizados no registry;
- casos operacionais retornam status inteiro canonico;
- `voice_id` invalido e asset/sample ausente nao ficam silenciosos;
- sem `Panic` operacional no dominio.
## Tests
- `cargo test -p prometeu-system`
- `cargo test -p prometeu-drivers`
- cenarios com `voice_id` invalido, asset ausente e range invalido.