prometeu-runtime/discussion/workflow/agendas/AGD-0001-runtime-edge-test-plan.md

87 lines
2.5 KiB
Markdown

---
id: AGD-0001
ticket: runtime-edge-test-plan
title: Agenda - Runtime Edge Test Plan
status: open
created: 2026-03-27
resolved:
decision:
tags: []
---
# Agenda - Runtime Edge Test Plan
## Problema
O core da VM está muito melhor testado do que a borda do runtime.
O miolo já cobre verificador, scheduler, GC, patching e execução básica. Já a camada de syscalls de sistema, FS, assets, bank e fluxos de firmware ainda tem cobertura desigual e rasa.
## Dor
- A parte mais sujeita a integração com host é justamente a menos protegida.
- Regressões na borda podem passar com o core inteiro verde.
- O projeto ganha falsa sensação de maturidade porque o núcleo está sólido, mas a superfície pública do runtime ainda pode quebrar com facilidade.
- Sem matriz de testes da borda, futuras PRs tendem a cobrir só o happy path.
## Alvo da Discussao
Definir um plano de testes para a borda do runtime proporcional ao risco da plataforma.
Essa agenda deve produzir uma visão clara de:
- quais domínios precisam de testes;
- qual nível de teste pertence a cada domínio;
- quais cenários são mandatórios antes de chamar o runtime de estável.
## O Que Precisa Ser Definido
1. Matriz de cobertura por domínio.
- system
- fs
- log
- asset
- bank
- firmware transitions
2. Tipos de teste.
- unitário puro
- integração entre runtime e VM
- testes de firmware
- testes host-dependentes isolados
3. Casos obrigatórios.
Cada domínio precisa definir:
- happy path;
- erro de contrato do guest;
- indisponibilidade/estado inválido do host;
- persistência/cleanup de estado quando aplicável.
4. Critério de severidade.
Que mudanças exigem teste novo obrigatório antes de merge.
5. Organização.
Onde os testes vivem para nao voltar a concentrar tudo em arquivos gigantes.
## O Que Necessita Para Resolver
- inventário da cobertura atual;
- definição dos cenários obrigatórios por domínio;
- política mínima para testes ignorados ou dependentes de host;
- decisão sobre helpers compartilhados para fixtures de runtime.
## Fora de Escopo
- benchmark/performance suite;
- fuzzing completo de toda a ISA;
- infraestrutura externa de CI além do necessário para os testes definidos.
## Critério de Saida Desta Agenda
Pode virar PR quando houver:
- matriz de cobertura aprovada;
- lista de cenários mínimos por domínio;
- decisão de organização dos testes;
- barra clara para aceitar novas syscalls e mudanças de runtime.