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.