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:
007-runtime-edge-test-plan.md008-packed-cartridge-loader-pmc.md009-system-run-cart.md010-system-fault-semantics-and-control-surface.md012-vm-owned-random-service.md014-app-home-filesystem-surface-and-semantics.md015-perf-runtime-telemetry-hot-path.md016-perf-async-background-work-lanes-for-assets-and-fs.md017-perf-host-desktop-frame-pacing-and-presentation.md018-perf-gfx-render-pipeline-and-dirty-regions.md019-perf-runtime-introspection-syscalls.md020-perf-host-debug-overlay-isolation.md021-perf-vm-allocation-and-copy-pressure.md022-perf-cartridge-boot-and-program-ownership.md025-cartridge-manifest-entrypoint-removal-and-runtime-protocol.md024-asset-entry-metadata-normalization-contract.md
Sequenciamento Recomendado [PERF]
Ordem sugerida para discussao das agendas de performance:
015-perf-runtime-telemetry-hot-path.md016-perf-async-background-work-lanes-for-assets-and-fs.md017-perf-host-desktop-frame-pacing-and-presentation.md018-perf-gfx-render-pipeline-and-dirty-regions.md019-perf-runtime-introspection-syscalls.md020-perf-host-debug-overlay-isolation.md021-perf-vm-allocation-and-copy-pressure.md022-perf-cartridge-boot-and-program-ownership.md
Justificativa curta:
015e o imposto mais imediato no hot path do runtime.016fecha a topologia de trabalho assincrono antes de codarmos otimizaoes isoladas.017impede que o host desktop continue mascarando custo real com busy-poll.018define o teto de custo do renderer antes de micro-otimizacoes locais.019separa observabilidade de superficie operacional normal.020impede que tooling de debug distorca medicao de render e frame pacing.021entra depois que os gargalos estruturais maiores estiverem delimitados.022fecha ownership e custo de boot, importante mas menos quente que o frame loop.
Sequenciamento Recomendado
Ordem sugerida para discussão e futura execução:
012-vm-owned-random-service.md014-app-home-filesystem-surface-and-semantics.md007-runtime-edge-test-plan.md008-packed-cartridge-loader-pmc.md009-system-run-cart.md010-system-fault-semantics-and-control-surface.md
Justificativa curta:
011foi fechada pela decisao006.012e o primeiro consumidor da base stateful VM-owned fechada em006.013foi fechada e absorvida porspec 08(historico emlearn/historical-game-memcard-slots-surface-and-semantics.md).014fecha o contrato dehomepara apps sem abrir FS global.- a decisao
007fixa o nucleo de fault policy defs; os detalhes ficam distribuidos entrespec 08(game) e agenda014(app). - a decisao
008fixa o contrato status-first degfx. - a decisao
009fixa o contrato status-first deaudio. - a decisao
010fixa o contrato status-first deasset. - a agenda
007vem depois para transformar as decisoes em cobertura de regressao na borda do runtime. 008depende da decisao011, porque oshipperdo.pmcnao deve decidir o contrato interno do packer de assets no meio da implementacao.009e010ficam no fim porquerun_cartnao e objetivo do ciclo atual.
Dependências principais:
012depende da decisao006e de16/16a014depende das decisoes003/007, de16a, de12(Hub/OS) e de13(app_mode)007depende da estabilizacao minima das agendas de superficie/fault por dominio008depende da decisao011, de contrato fechado de13-cartridge.mde de comportamento equivalente ao loader de diretorio009depende da decisao003, de16ae da decisao006, e deve alinhar comspec 08/agenda014quando usarfs010depende de16ae da009
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.