2026-03-24 13:40:49 +00:00

70 lines
2.8 KiB
Markdown

# 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:
- `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`
- `011-vm-owned-stateful-core.md`
- `012-vm-owned-random-service.md`
## Sequenciamento Recomendado
Ordem sugerida para discussão e futura execução:
1. `011-vm-owned-stateful-core.md`
2. `012-vm-owned-random-service.md`
3. `002-filesystem-surface-and-semantics.md`
4. `003-filesystem-fault-semantics.md`
5. `004-gfx-fault-semantics-and-command-contract.md`
6. `005-audio-fault-semantics-and-surface.md`
7. `006-asset-fault-semantics-and-surface.md`
8. `007-runtime-edge-test-plan.md`
9. `008-packed-cartridge-loader-pmc.md`
10. `009-system-run-cart.md`
11. `010-system-fault-semantics-and-control-surface.md`
Justificativa curta:
- `011` vem primeiro para fechar o protocolo stateful VM-owned reutilizavel, sem mexer na fronteira host-backed.
- `012` vem em seguida para fechar random como primeiro consumidor do core stateful.
- `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 em `16a`.
- `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:
- `011` deve alinhar com `06`, `16` e `16a`, alem da decisao `003`
- `012` depende da `011` e de `16`/`16a`
- `002` depende da decisao `003` e de `16a`
- `003` depende da decisao `003`, de `16a` e da `002`
- `004` depende de `16a`
- `005` depende de `16a`
- `006` depende de `16a`
- `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 da decisao `003`, de `16a` e de `06`, e deve alinhar com `002` quando usar `fs`
- `010` depende de `16a` 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.