30 lines
1.4 KiB
Markdown
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.
|