# Agendas Este diretório reúne agendas de discussão arquitetural para itens pendentes ou frágeis do runtime. Objetivo: - explicitar a dor real do sistema; - delimitar o que precisa ser decidido antes de codar; - servir de base para futuras PRs de implementação JVM-grade. As agendas atuais são: - `001-vm-owned-builtins-protocol-and-system-services.md` - `002-filesystem-surface-and-semantics.md` - `003-filesystem-fault-semantics.md` - `004-gfx-fault-semantics-and-command-contract.md` - `005-audio-fault-semantics-and-surface.md` - `006-asset-fault-semantics-and-surface.md` - `007-runtime-edge-test-plan.md` - `008-packed-cartridge-loader-pmc.md` - `009-system-run-cart.md` - `010-system-fault-semantics-and-control-surface.md` ## Sequenciamento Recomendado Ordem sugerida para discussão e futura execução: 1. `001-vm-owned-builtins-protocol-and-system-services.md` 2. `002-filesystem-surface-and-semantics.md` 3. `003-filesystem-fault-semantics.md` 4. `004-gfx-fault-semantics-and-command-contract.md` 5. `005-audio-fault-semantics-and-surface.md` 6. `006-asset-fault-semantics-and-surface.md` 7. `007-runtime-edge-test-plan.md` 8. `008-packed-cartridge-loader-pmc.md` 9. `009-system-run-cart.md` 10. `010-system-fault-semantics-and-control-surface.md` Justificativa curta: - `001` vem primeiro para fechar o protocolo VM-owned stateful que destrava extensoes como random/window resources sem mexer em syscall host-backed. - `002` e `003` ficam na sequencia para fechar `fs` com superficie e fault semantics consistentes. - `004`, `005` e `006` consolidam fault semantics por dominio com base na decisao `004`. - `007` vem depois para transformar as decisoes em cobertura de regressao na borda do runtime. - `008` e importante, mas nao bloqueia bytecode/backend agora. - `009` e `010` ficam no fim porque `run_cart` nao e objetivo do ciclo atual. Dependências principais: - `001` deve alinhar com `16`/`16a`, alem das decisoes `003`, `004` e `005` - `002` depende das decisoes `003` e `004` - `003` depende das decisoes `003`, `004` e da `002` - `004` depende da decisao `004` - `005` depende da decisao `004` - `006` depende da decisao `004` - `007` depende da estabilizacao minima das agendas de superficie/fault por dominio - `008` depende de contrato fechado de `13-cartridge.md` + comportamento equivalente ao loader de diretorio - `009` depende das decisoes `003`, `004`, `005` e deve alinhar com `002` quando usar `fs` - `010` depende da decisao `004` e da `009` Regra de uso: - se a implementação exigir decisão estrutural, ela deve nascer daqui antes de virar PR de código; - se uma agenda já estiver resolvida, a PR derivada deve citar explicitamente qual decisão foi tomada; - se a agenda revelar ambiguidade demais, ela não deve ser convertida em PR até o alvo ficar preciso.