64 lines
2.5 KiB
Markdown
64 lines
2.5 KiB
Markdown
# 015 Asset Codec `NONE` Canonicalization in Specs
|
|
|
|
## Briefing
|
|
|
|
A decision `013` fechou que o valor canonico para ausencia de codec adicional passa a ser `NONE`, com `RAW` tratado apenas como alias legado durante a migracao curta.
|
|
|
|
O runtime precisa publicar essa semantica nas specs antes de seguir com a propagacao completa em codigo e tooling.
|
|
|
|
## Decisions de Origem
|
|
|
|
- `docs/runtime/decisions/013-asset-codec-none-vs-raw.md`
|
|
|
|
## Alvo
|
|
|
|
Atualizar o contrato normativo de assets para que:
|
|
|
|
1. `codec = NONE` seja o valor canonico publicado;
|
|
2. `RAW` apareca apenas como legado/deprecated durante a janela curta de transicao;
|
|
3. a semantica de `codec` fique clara como camada generica de transformacao do payload;
|
|
4. a diferenca entre `codec` e layout especifico de `bank_type` fique explicita.
|
|
|
|
## Escopo
|
|
|
|
- revisar `docs/runtime/specs/15-asset-management.md`
|
|
- revisar `docs/runtime/specs/13-cartridge.md` somente se necessario para coerencia de referencia
|
|
- revisar `docs/runtime/learn/mental-model-asset-management.md` somente se a explicacao pedagogica ficar contraditoria apos a mudanca normativa
|
|
|
|
## Fora de Escopo
|
|
|
|
- alterar codigo do runtime
|
|
- alterar packer
|
|
- encerrar a compatibilidade legacy em runtime
|
|
- redefinir layout de `TILES` ou `SOUNDS`
|
|
|
|
## Plano de Execucao
|
|
|
|
1. Trocar o valor canonico publicado de `RAW` para `NONE` em `specs/15`.
|
|
2. Explicitar que:
|
|
- `NONE` significa ausencia de codec generico adicional;
|
|
- `NONE` nao significa ausencia de decode do bank;
|
|
- layouts especificos continuam pertencendo ao contrato do `bank_type`.
|
|
3. Registrar `RAW` apenas como alias legado durante a migracao curta.
|
|
4. Revisar linguagem de `OP_MODE` para evitar que `codec` pareca dono do layout de `TILES`.
|
|
5. Ajustar referencias editoriais relacionadas se houver contradicao residual.
|
|
|
|
## Criterios de Aceite
|
|
|
|
- `docs/runtime/specs/15-asset-management.md` publica `NONE` como valor canonico
|
|
- a spec deixa claro que `codec` e camada generica de transformacao
|
|
- a spec nao atribui a `codec` o layout especifico de `TILES` ou `SOUNDS`
|
|
- `RAW` aparece apenas como legado/deprecated, se aparecer
|
|
|
|
## Tests / Validacao
|
|
|
|
- revisao editorial cruzada entre `specs/15`, `specs/13` e a decision `013`
|
|
- checklist de coerencia contra o contrato atual de `TILES`
|
|
- verificacao de que o texto nao fecha prematuramente contratos para banks genericos futuros como `BLOB`
|
|
|
|
## Riscos
|
|
|
|
- deixar a linguagem de transicao ambigua e publicar dupla semantica por tempo demais
|
|
- descrever `NONE` de forma que pareca "sem decode"
|
|
- endurecer demais `codec` e bloquear banks genericos futuros
|