## PP-9 — Admin vê quem ainda não palpitou

**PRD:** `docs/prd/palpite-e-prazo.md`

**Como** administrador do bolão, **quero** ver **quem** ainda não palpitou na
rodada, **para** cobrar no grupo sem conferir na mão — e sem ver o que
ninguém palpitou.

**Prioridade:** Should — resolve a dor do admin, mas o lembrete automático
(PP-8) já ataca a causa; isto é a rede de segurança.

**Critérios de aceite:**

- Dado que sou admin, quando abro a rodada, então vejo a lista de
  participantes com quem já palpitou e quem falta.
- Dado que sou admin, quando vejo essa lista, então **não vejo nenhum placar
  palpitado** de jogo que não terminou — só o fato de ter palpitado ou não.
- Dado que sou participante comum, quando tento acessar essa visão, então a
  requisição é recusada.
- Dado que um participante palpitou em parte dos jogos da rodada, então ele
  aparece como parcial, não como concluído.
- Dado que o prazo de todos os jogos da rodada fechou, então a lista mostra o
  estado final de quem palpitou e quem não.

**Tasks:**

_Backend_
- [x] `BE-1` Endpoint que retorna, por rodada, o estado de palpite por participante (completo / parcial / nenhum), **sem os placares** (depende de PP-1 BE-1)
- [x] `BE-2` Autorização: só admin do bolão acessa (depende de BE-1)
- [x] `BE-3` Teste de que a resposta não contém placar de jogo não terminado (depende de BE-1)

_Mobile_
- [x] `FE-1` Tela de acompanhamento da rodada para admin, com estado por participante (depende de BE-1)
- [x] `FE-2` Estados: carregando, bolão sem participantes, erro com retry

_QA_
- [x] `QA-1` Escrever o plano de casos de teste a partir desta story
- [x] `QA-2` Executar o plano confirmando que nenhum placar vaza, e que participante comum é recusado

**Riscos/Dependências:**

- **Esta é a story com maior risco de furar o sigilo (PP-7)** — é a única em
  que o admin recebe dado agregado sobre palpite dos outros. A resposta não
  pode conter placar.
- Depende de PP-1 e PP-7.

- **06/08:** a resposta traz só o **estado** (nenhum/parcial/completo) e a
  contagem, nunca placar — o sigilo de `PP-7` vale inclusive para o admin. Há
  teste de widget garantindo que nenhum "x" de placar aparece na tela.

- **07/08 — QA:** plano em `docs/testes/PP-9-plano.md`, execução em
  `docs/testes/PP-9-execucao.md` (**9/9 ✅**). Um caso novo cobrindo três lacunas:
  estado `COMPLETO`, estado **depois** de o prazo fechar (que é quando o admin usa a
  lista para explicar o ranking) e ausência de quem saiu — cobrar palpite de quem
  saiu é cobrar ação impossível, e ainda expõe a saída.
- Registrado: a asserção de sigilo é sobre o **JSON cru** da resposta, não sobre os
  campos que o teste escolheu olhar. É assim que se pega um campo novo que alguém
  acrescentou sem pensar — e esta é a única rota em que o admin recebe dado
  agregado sobre palpite alheio.
