# 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.