# Agenda - Audio Fault Semantics and Surface ## Problema O dominio `audio` hoje se comporta como comando deterministico com forte tendencia a no-op/fallback, mas essa politica ainda nao esta escrita como contrato. Exemplos atuais: - `AudioPlay` cai para `bank_id = 0` quando o asset nao e encontrado; - o driver retorna sem efeito quando `voice_id` esta fora da faixa; - samples nao resolvidos nao produzem fault terminal. ## Dor - a semantica real de erro fica escondida em detalhes de implementacao; - nao esta claro quando `audio` deve ser no-op, `status`, `Trap` ou `Panic`; - futuras mudancas podem cristalizar `Panic` onde hoje o dominio tolera ausencia de recurso. ## Hotspots Atuais - [dispatch.rs](/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/crates/console/prometeu-system/src/virtual_machine_runtime/dispatch.rs#L340) - [dispatch.rs](/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/crates/console/prometeu-system/src/virtual_machine_runtime/dispatch.rs#L359) - [audio.rs](/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/crates/console/prometeu-drivers/src/audio.rs#L170) ## Alvo da Discussao Fechar a politica de fault e surface de `audio` para o MVP. ## O Que Precisa Ser Definido 1. `voice_id` invalido. Decidir entre: - no-op deterministico; - `status`; - `Trap`. 2. Sample/bank ausente. Decidir entre: - no-op deterministico; - `status`; - `Trap`. 3. Voice unavailable. Decidir se o dominio precisa retorno de `status` para esse caso ou se politica de voz resolve isso sem retorno. 4. Surface. Decidir se `AudioPlay`/`AudioPlaySample` continuam `void` no MVP. 5. Faixas numericas. Decidir a politica para pitch/pan/volume fora da faixa normativa. ## Dependencias - `../decisions/004-host-fault-taxonomy.md` - spec de audio ## Critério de Saida Desta Agenda Pode virar PR quando houver decisao escrita sobre: - matriz de `status`/`Trap`/`Panic` para `audio`; - posicao explicita sobre no-op deterministico no dominio; - shape final de retorno de `AudioPlay` e `AudioPlaySample` no MVP.