2.6 KiB
2.6 KiB
Agenda - VM-Owned Stateful Core
Problema
O runtime ja tem VM-owned intrinsics read-only (input), mas ainda nao tem contrato canonico para recursos VM-owned stateful.
Sem esse core, cada novo servico tende a inventar:
- modelo proprio de handle/referencia;
- semantica propria de lifecycle;
- shape proprio de ABI/intrinsic;
- regras ad hoc de validacao/verifier.
Alvo da Discussao
Fechar o contrato base de recursos VM-owned stateful que sera reutilizado por dominios como random, colecoes runtime-owned e futuros recursos de app model.
O Que Precisa Ser Definido
-
Modelo de referencia stateful. Definir:
HeapRef<TBuiltin>como padrao ou alternativa canonica;- regra anti-stale (generation/version);
- ownership e validade de referencia.
-
Lifecycle minimo. Definir contrato de:
create;read/query;update;destroy.
-
Execucao de intrinsic stateful. Definir:
- como o executor recebe contexto VM/runtime;
- como manter compatibilidade com intrinsics atuais read-only.
-
ABI/meta por operacao. Definir metadados obrigatorios:
arg_slots;ret_slots;- efeito;
- custo;
- determinismo.
-
Verifier/toolchain/disasm. Definir:
- validacoes estaticas obrigatorias;
- regras de diagnostico para mismatch de assinatura/layout;
- compatibilidade binaria por versao.
-
Politica de fault/status. Definir fronteira entre:
statusoperacional de dominio;Trapestrutural;Panicpor inconsistencia interna.
Open Questions de Arquitetura
HeapRef<TBuiltin>sera obrigatorio para todos os recursos stateful?- Como evitar aliasing perigoso com multiplas referencias para o mesmo recurso?
- Como roots/GC/lifetime se comportam para recursos vivos entre frames?
- Quais gatilhos justificariam mecanismo simbolico adicional no futuro (alem de IDs finais)?
- Qual contrato minimo de metadata precisamos versionar para garantir 1:1 FE/backend/runtime?
Dependencias
../virtual-machine/ISA_CORE.md../specs/16-host-abi-and-syscalls.md../specs/16a-syscall-policies.md../specs/06-input-peripheral.md../decisions/003-vm-owned-byte-transfer-protocol.md
Fora de Escopo
- surface especifica de random (fica na agenda
012); - window/app model detalhado;
- redesign de
HOSTCALL/SYSCALL; - UX de linguagens de frontend.
Criterio de Saida Desta Agenda
Pode virar PR quando houver decisao escrita sobre:
- contrato stateful VM-owned reutilizavel;
- forma definitiva de referencia/validade/lifecycle;
- metadados canonicos de ABI para intrinsic stateful;
- regras de verifier/disasm/compatibilidade binaria.