# Agenda - System Fault Semantics and Control Surface ## Problema O dominio `system` e pequeno, mas mistura consulta simples com superficie de controle de fluxo. Hoje: - `SystemHasCart` responde diretamente; - `SystemRunCart` ainda nao tem efeito real; - a agenda `001` resolve semantica funcional, mas nao fecha por si so a politica de fault do dominio. ## Dor - sem uma agenda propria, `system` pode herdar fault semantics por acidente; - `run_cart` pode acabar consolidando `Panic` ou `Trap` onde deveria existir retorno operacional; - a fronteira entre falha do app, falha do firmware e falha do runtime fica opaca. ## Hotspots Atuais - [dispatch.rs](/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/crates/console/prometeu-system/src/virtual_machine_runtime/dispatch.rs#L114) - [system.rs](/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/crates/console/prometeu-hal/src/syscalls/domains/system.rs#L4) - [001-system-run-cart.md](/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/docs/runtime/agendas/001-system-run-cart.md) ## Alvo da Discussao Fechar a politica de fault e retorno do dominio `system`. ## O Que Precisa Ser Definido 1. Queries simples. Decidir a politica de fault para consultas como `has_cart`. 2. `run_cart`. Decidir como falhas operacionais de transicao devem ser expostas: - `status`; - `Trap`; - `Panic`. 3. Relacao com firmware. Delimitar quando a falha pertence ao app, ao firmware ou ao runtime. ## Dependencias - `../decisions/004-host-fault-taxonomy.md` - `001-system-run-cart.md` ## Critério de Saida Desta Agenda Pode virar PR quando houver decisao escrita sobre: - matriz de `status`/`Trap`/`Panic` para `system`; - politica de retorno/falha de `run_cart`; - relacao com firmware e crash surface.