# Execução — plano `PP-4` (06/08)

**Veredito: ✅ Aprovado** — 12 de 12 casos.

| Caso | Resultado | Evidência |
| ---- | --------- | --------- |
| PP-4-01 | passou | `test/rascunho_offline_test.dart` + device (Wi-Fi e dados off) |
| PP-4-02 | passou | idem — etiqueta por jogo e faixa no topo |
| PP-4-03 | passou | idem |
| PP-4-04 | passou | device — a fila enviou sem toque nenhum |
| PP-4-05 | passou | `test/rascunho_offline_test.dart` |
| PP-4-06 | passou | `test/palpite.e2e-spec.ts` |
| PP-4-07 | passou | idem — reenvio idêntico não cria revisão |
| PP-4-08 | passou | `test/prazo_na_rodada_test.dart` |
| PP-4-09 | passou | `test/rascunho_offline_test.dart` — `PP-4-09` (novo) |
| PP-4-10 | passou | idem — `PP-4-10` (novo) |
| PP-4-11 | passou | idem — `PP-4-11` (novo) |
| PP-4-12 | passou | coberto por `PP-4-05` + `PP-4-03` |

## Lacunas que a execução expôs

Três casos sobre o **armazenamento** não tinham cobertura, e são os que ninguém
lembra de testar porque "é só um json no disco":

- **`PP-4-10`** — a chave é por bolão **e** por rodada. Chave errada aqui faria o
  participante enviar palpite de um bolão em outro, e descobrir só no extrato.
- **`PP-4-09`** — rascunho corrompido é descartado em vez de derrubar a tela.
  Rascunho ilegível não pode impedir alguém de palpitar de novo.
- **`PP-4-11`** — salvar lista vazia **remove** a chave. Deixar `[]` no disco
  acumularia chave morta por rodada, para sempre.
