prometeu-runtime/docs/runtime/pull-requests/PR004-asset-status-first-surface-and-lifecycle.md
2026-03-24 13:40:50 +00:00

1.6 KiB

PR004 - Asset Status-First Surface and Lifecycle

Briefing

A decision 010 fechou a superficie final de asset:

  • asset.load(name, kind, slot) -> (status, handle)
  • asset.status(handle) -> status
  • asset.commit(handle) -> status
  • asset.cancel(handle) -> status

Sem no-op silencioso e sem Panic operacional.

Alvo

Implementar o contrato de asset em spec, registry e runtime.

Arquivos principais:

  • docs/runtime/specs/15-asset-management.md
  • crates/console/prometeu-hal/src/syscalls/domains/asset.rs
  • crates/console/prometeu-system/src/virtual_machine_runtime/dispatch.rs
  • crates/console/prometeu-drivers/src/asset.rs
  • crates/console/prometeu-hal/src/asset_bridge.rs (se necessario)

Escopo Funcional

  • substituir Err -> Panic de asset.load por status operacional;
  • tornar asset.commit e asset.cancel retornos explicitos de status;
  • explicitar UNKNOWN_HANDLE em asset.status;
  • validar slot index/kind no request path de load;
  • manter erros de residency/slot no dominio asset (nao migrar para bank).

Fora de Escopo

  • redesign da politica interna de residencia;
  • novos dominios de asset alem de TILES e SOUNDS.

Critérios de Aceite

  • assinaturas de syscall asset alinhadas com decision 010;
  • asset.load nao produz Panic para falha operacional;
  • commit/cancel nao ficam em no-op silencioso;
  • tabela de status por operacao documentada e testada.

Tests

  • cargo test -p prometeu-system
  • cargo test -p prometeu-drivers
  • cenarios de:
    • handle desconhecido;
    • transicao invalida;
    • asset nao encontrado;
    • slot invalido/kind mismatch.