prometeu-runtime/docs/runtime/agendas/003-filesystem-fault-semantics.md

50 lines
1.4 KiB
Markdown

# Agenda - Filesystem Fault Semantics
## Problema
O dominio `fs` certamente precisara de politica de fault propria, mas ainda depende de duas discussoes anteriores:
- a decisao `003` sobre transporte de bytes;
- a agenda `013` sobre superficie/semantica de memcard para `game`;
- a agenda `014` sobre superficie/semantica de `home` para `app`.
Discutir fault semantics antes disso tende a cristalizar classificacao em cima de uma API que ainda pode mudar.
## Alvo da Discussao
Fechar a politica de fault de `fs` somente depois das agendas `013` e `014`.
## O Que Precisa Ser Definido
1. Fronteira entre `status` e `Trap` em `fs`.
2. Politica para:
- handle invalido;
- path invalido;
- arquivo ausente;
- permissao negada;
- EOF;
- escrita parcial;
- storage full;
- mount indisponivel.
3. Integracao com o protocolo de bytes da decisao `003`.
4. Shape final de retorno das operacoes de `fs`.
## Dependencias
- `../decisions/003-vm-owned-byte-transfer-protocol.md`
- `../specs/16a-syscall-policies.md`
- `013-game-memcard-slots-surface-and-semantics.md`
- `014-app-home-filesystem-surface-and-semantics.md`
## Regra de Sequenciamento
Esta agenda nao deve ser discutida antes da `013` e da `014`.
## Critério de Saida Desta Agenda
Pode virar PR quando houver decisao escrita sobre:
- matriz de `status`/`Trap`/`Panic` para `fs`;
- integracao final com `read`/`write`;
- relacao entre semantica funcional de `fs` e fault semantics.