prometeu-runtime/docs/runtime/agendas/024-assets-pa-preload-and-asset-table-id-based-contract.md
2026-03-24 13:40:54 +00:00

30 lines
1.4 KiB
Markdown

# Agenda 024 - `assets.pa` Preload and Asset Table ID-based Contract (Fechada)
## Status
Fechada pela decisao:
- `../decisions/012-assets-preload-asset-id-contract.md`
## O Que Foi Fechado
1. `PreloadEntry` deixa de usar `asset_name` e passa a ser normativamente `{ asset_id, slot }`.
2. `asset_id` passa a ser o identificador operacional de preload com semantica de `java int`.
3. `asset_name` permanece apenas como metadata descritiva/debug e nao participa do preload.
4. `preload` deve ser validado contra a `asset_table` do proprio `assets.pa` durante o bootstrap.
5. `asset_id` ausente da `asset_table` e clash de slot por tipo caracterizam erro estrutural de formacao do cart.
6. Nao existe compatibilidade normativa para preload legado por `asset_name`.
## Efeito Pratico
- `spec 15` passa a precisar explicitar o shape normativo de `PreloadEntry` e a validacao estrutural de preload.
- loader, parser de `assets.pa` e `AssetManager` passam a consumir preload por `asset_id`.
- a modelagem atual em codigo baseada em `u32` para `asset_id` precisa ser revisitada onde o contrato exposto ainda assume unsigned.
## Follow-up
- propagar a decisao em `specs 13/15`;
- criar suporte de parse/validacao estrutural para preload por `asset_id`;
- remover o preload por `asset_name` do runtime e dos testes;
- manter `asset.load(name, kind, slot)` inalterado ate decisao futura sobre a superficie VM-facing.