## CV-7 — Recriar o bolão na temporada seguinte

**PRD:** `docs/prd/ciclo-de-vida-do-bolao.md`

**Como** administrador, **quero** recriar o bolão da temporada nova herdando a
mesma galera e as mesmas regras, **para** não remontar tudo do zero — que é o
trabalho que me faz desistir.

**Prioridade:** Should — evita trabalho repetido do admin, mas só morde na
virada de temporada.

**Critérios de aceite:**

- Dado que sou admin de um bolão encerrado, quando recrio para a temporada
  seguinte, então o bolão novo já vem com a tabela de pontos e o desempate do
  anterior.
- Dado que recriei, então **todos os participantes da temporada anterior são
  reconvidados automaticamente**, sem eu selecionar um por um.
- Dado que o bolão novo foi criado, então a pontuação começa **zerada** e
  nenhum palpite ou ponto do anterior é reaproveitado.
- Dado que o bolão novo ainda não teve palpite, quando eu altero as regras,
  então a alteração é aceita — as regras destravam no bolão novo (CC-3).
- Dado que alguém reconvidado não quer participar, então ele pode sair
  normalmente (CV-4) — mas a saída é definitiva.
- Dado que sou participante comum, quando tento recriar, então a requisição é
  recusada.
- Dado que o primeiro jogo do bolão novo já começou, então quem foi
  reconvidado e não entrou **não consegue mais entrar** (regra de entrada).

**Tasks:**

_Backend_
- [x] `BE-1` Endpoint de recriação: novo bolão herdando regras e lista de participantes do anterior (depende de CV-1 BE-3, CC-2 BE-1)
- [x] `BE-2` Garantir pontuação zerada e nenhum palpite herdado (depende de BE-1)
- [x] `BE-3` Reconvidar automaticamente todos os participantes da temporada anterior (depende de BE-1, CC-4 BE-1)
- [x] `BE-4` Deixar as regras destravadas no bolão novo até o primeiro palpite (depende de BE-1, CC-3 BE-1)

_Mobile_
- [x] `FE-1` Ação de recriar temporada a partir de um bolão encerrado, visível só para admin (depende de BE-1)
- [x] `FE-2` Resumo do que será herdado antes de confirmar: regras e quantos participantes (depende de BE-1)
- [x] `FE-3` Aviso ao participante de que ele foi incluído num bolão de temporada nova (depende de BE-3)

_QA_
- [x] `QA-1` Escrever o plano de casos de teste a partir desta story
- [x] `QA-2` Executar o plano conferindo pontuação zerada, nenhum palpite herdado, regras destravadas, e reconvite de todos

**Riscos/Dependências:**

- **Decidido em 03/08: reconvida todos automaticamente.** ⚠️ Isso traz de volta
  quem não deveria estar lá — quem saiu da empresa, ou quem abandonou o bolão
  anterior. O admin remove na mão depois (CC-9), o que devolve parte do
  trabalho manual que esta story existe para eliminar. **Vale medir quantos
  participantes são removidos logo após uma recriação.**
- **Herdar dado antigo por engano corrompe a competição nova** — `BE-2` é o
  critério mais importante desta story.
- Combinado com a regra de entrada (fecha no primeiro jogo) e com o convite que
  expira em 1 dia, **quem for reconvidado tem janela curta para entrar**.
- Depende de CV-1, CC-2, CC-3 e CC-4.

- **06/08 — verificado em device:** recriei o "Bolao 2026" encerrado e o novo
  nasceu com **2 membros herdados, 0 palpites e regras destravadas**, exatamente
  o critério mais importante da story. O participante herdado recebeu o aviso
  `BOLAO_RECRIADO`.
- `FE-3` exigiu **gerar** o aviso no backend: a recriação reconvidava todos sem
  avisar ninguém. A pessoa só notaria quando o prazo da rodada de abertura já
  tivesse passado — e aí perde a rodada achando que o app falhou. Quem recriou
  não é avisado: ele acabou de fazer a ação.
- Wart corrigida na verificação: o nome padrão anexava um ano e produzia
  "Bolao 2026 2027" quando o nome já tinha ano. Passou a ser o nome anterior sem
  sufixo — o admin quase sempre quer escrever o dele, não corrigir um palpite do
  app.
- A contagem de herdados **ignora quem saiu**: prometer 8 quando 7 voltam seria
  prometer gente que não vem.

- **07/08 — QA:** plano em `docs/testes/CV-7-plano.md`, execução em
  `docs/testes/CV-7-execucao.md` (**11/11 ✅**). Dois casos novos, ambos sobre o
  risco real da story, que é herdar **demais**.
- `CV-7-03` prova as duas metades no mesmo teste: as regras do bolão anterior estão
  travadas (409, porque houve palpite) e as do novo aceitam alteração. Herdar o
  travamento impediria o ajuste de pontuação na virada de temporada — e seria
  invisível até alguém tentar.
- **Nuance registrada:** o reconvite cria o vínculo direto, então o reconvidado já
  está dentro. A regra "quem não entrou não entra depois do primeiro jogo" vale
  para quem for convidado por link na temporada nova, não para os herdados.
