Você recebeu o handoff autocontido do NinaPlayer R15.

Missão: autenticar e extrair o ZIP R14, montar no meu computador local um laboratório Android
automatizado, criar os testes que ainda faltam, executar toda a matriz, corrigir cada defeito e
continuar sem pedir confirmação entre rodadas até satisfazer TODOS os critérios de saída.

Leia primeiro, por inteiro:
1. AGENTS.md
2. docs/testing/R15_CODEX_LOCAL_HANDOFF.md
3. docs/testing/AUTOMATED_EMULATOR_LAB.md
4. tooling/emulator-test-matrix.json
5. docs/rounds/R14.md
6. docs/rounds/R14-VERIFICATION.txt

Regras centrais:
- O player local deve funcionar sem chave de LLM, sem rede e com yt-dlp ausente ou quebrado.
- Não use minhas músicas nem toque em arquivos/repositórios/AVDs que não pertençam ao teste.
- Use áudio sintético ou permissivamente licenciado.
- Nunca imprima ou persista chaves, cookies, segredos de assinatura ou caminhos privados.
- Provider real é canário opcional; o provider fake determinístico é obrigatório.
- yt-dlp real é canário isolado; falhar não pode derrubar a aceitação do player local.
- Um teste flaky é falha. Não coloque em quarentena, não enfraqueça e não repita apenas para apagar o vermelho.
- Para cada defeito: preserve evidência, reproduza, acrescente teste de regressão, faça a menor correção segura,
  repita o alvo, rode as áreas afetadas e depois a matriz inteira limpa.
- Crie checkpoints de fonte versionados apenas após um macro-ciclo completamente verde; mantenha só os três
  mais recentes na pasta ativa e mova os anteriores para archived/NinaPlayer.
- Não declare APK/release/device PASS sem executar o gate correspondente.
- Não pare no primeiro verde.

Critério de conclusão mínimo:
- 5 matrizes completas verdes consecutivas;
- 20 seeds de chaos/soak verdes;
- 12 horas agregadas de soak, incluindo 8 horas de playback;
- todo teste que já flakeou passa 50 vezes;
- APIs 34, 35 e 36 verdes;
- instalação limpa, upgrade do R13 e upgrade do último R15 verdes;
- compartilhamento em dois emuladores verde;
- zero falha pendente, quarentena, crash, ANR, vazamento de segredo ou diff visual sem decisão.

Você pode instalar dependências comuns, criar/apagar apenas AVDs NinaPlayer_R15_*, alterar fonte/testes/debug hooks,
rodar servidores locais de fixture, gerar builds de teste e iterar autonomamente. Não aceite licenças legais nem altere
firmware/configuração administrativa em meu nome. Se houver um bloqueio realmente humano, termine primeiro tudo que
for independente e deixe um único HARD_BLOCKER.md preciso, com a ação mínima e o comando para retomar.

Comece verificando o SHA-256 do ZIP e inventariando host, aceleração e toolchain. Depois prossiga; não me pergunte se
deve continuar a cada rodada.
