FUTsway

Acompanhamento do projeto

Atualizado em (horário de Brasília)

Esta página é o acompanhamento. Para usar o sistema, abra o FUTsway.

Abrir o FUTsway dnaplay.200-141-24-170.sslip.io

O que já funciona

  • aula em vídeo, o resultado principal de cada análise: partida enviada por arquivo vira uma aula em MP4 (pausas nos lances, setas, câmera lenta, voz do treinador, lousa 3D, legendas; assistir e baixar); por link do YouTube, a aula é interativa sobre o próprio player
  • criar conta e entrar
  • começar uma nova análise: vídeo de referência por link do YouTube ou arquivo, e o seu vídeo por arquivo
  • enviar o vídeo (o envio é em partes e retoma se a conexão cair)
  • análise com IA de verdade: o Gemini assiste aos dois vídeos e o Claude compara, verifica e recomenda, com o custo de cada análise à vista
  • página de resultado: lances comparados com o minuto certo no YouTube e no seu vídeo, pontos fortes, o que mais custa e recomendações
  • minha conta, sessões ativas e assinatura (sem cobrança)
  • FUTsway Live v0 no computador: compartilhar a janela do jogo, dicas escritas e faladas durante a partida e o resumo da sessão no histórico

O que ainda não funciona

  • a qualidade da análise ainda não foi validada com partidas de verdade (etapa E3, aguardando os vídeos do Rotcha)
  • aula em vídeo com uma partida real enviada por arquivo: falta o Rotcha gravar e enviar a primeira (etapa E13); a voz da ElevenLabs é opcional (hoje a voz é a do Google)
  • “esqueci minha senha” não envia e-mail (B8); se alguém perder a senha, o dono pede e a gente redefine
  • FUTsway Live: voz natural (a de agora é a do navegador), console sem placa pelo YouTube e validação com partidas reais do Rotcha (E4)

Estado atual

O que está configurado, o que funciona, o que já foi validado com partidas reais e o que pode ser vendido.

Corte: 2026-10-29 (horário de Brasília). Este quadro vale mais que PDFs e apresentações antigas.

Conta, login e sessões

  • Configurado sim
  • Funcional sim
  • Validado com dados reais sim (uso interno)
  • Aprovado para vender não

limites contra abuso ativos; recuperação de senha por e-mail ainda não (B8)

Envio de vídeo (upload em partes, retomável)

  • Configurado sim
  • Funcional sim
  • Validado com dados reais sim (vídeos de teste em produção)
  • Aprovado para vender não

identidade do arquivo, conclusão sem corrida, vídeo conferido na conclusão, limpeza de hora em hora

Vídeo de referência por link do YouTube

  • Configurado sim
  • Funcional sim
  • Validado com dados reais parcial (vídeos públicos)
  • Aprovado para vender não

só vídeos públicos; sem download. 27/10: o YouTube passou a bloquear a página para o servidor ("confirme que não é um robô"); a duração agora é lida pelo player oficial no navegador do usuário

Minha gameplay por link do YouTube (25/10)

  • Configurado sim
  • Funcional sim
  • Validado com dados reais parcial (1 análise completa A por link + B por link)
  • Aprovado para vender não

mesma validação pública da referência; sem quadros guardados como prova (avisado no relatório)

Nova Análise v2: tipos, fundamentos, profundidade, estimativa (25/10)

  • Configurado sim
  • Funcional sim
  • Validado com dados reais parcial (2 análises de “estudar um jogador” em produção; estimativa x real dentro da faixa)
  • Aprovado para vender não

148 fundamentos; relatório só com os escolhidos; estimativa calibrada com poucas análises

Controles e análise de comandos (25/10)

  • Configurado sim (PlayStation e Xbox; 30 mecânicas; confirmados pela EA marcados, o resto “a verificar”; Alternativo sem fonte)
  • Funcional sim (hipótese “provável”/“indeterminado”)
  • Validado com dados reais parcial (2 análises em produção com vídeo público: Clássico → L2/Círculo…; Personalizado → o comando mudou para o mapa do usuário)
  • Aprovado para vender não

nunca afirma botão; sem overlay, no máximo “provável”; a EA não publica o mapa completo fora do jogo

Modal de configuração do vídeo (25/10)

  • Configurado sim
  • Funcional sim
  • Validado com dados reais parcial (em produção com vídeos públicos: referência por nome completo + cor, os dois em inteligência combinada, comparar com dois modais e comparação automática, ambiguidade, padrão/restaurar, link inexistente; gameplay por arquivo só até o modal e a confirmação, sem análise paga: não há gravação real de partida para enviar)
  • Aprovado para vender não

leitura do placar virou opcional; nada pago antes de “Iniciar análise”

Comparação entre agentes e plano de treino (25/10)

  • Configurado sim
  • Funcional sim
  • Validado com dados reais parcial (Meu DNA x Pro X: 2 fundamentos comparáveis, 34 sem base, 1 item no plano; Pro X em dois períodos)
  • Aprovado para vender não

só fundamentos com 3+ lances de cada lado; contagens, nunca percentual; US$ 0,02–0,03 por comparação

Nova Análise otimizada: trechos, perfis, custo em tempo real, formato, resultado leve (25/10)

  • Configurado sim
  • Funcional sim (E2E no fluxo novo; testes de trechos, lote, reaproveitamento, limite)
  • Validado com dados reais parcial (9 análises em produção com vídeos públicos: antes x depois, Equilibrada 30 %, Completa, 56 min a 30 %, os 3 tipos, limite de consumo; todos os lances dentro dos trechos)
  • Aprovado para vender não

estimativa calibrada a partir de 5 análises por parte; formato com vídeo liberado em 26/10 (linha abaixo)

Reprocessar com a base atual (25/10)

  • Configurado sim
  • Funcional sim
  • Validado com dados reais parcial (relatório antigo do Pro X: base anterior → v3, US$ 0,149, antes/depois guardado)
  • Aprovado para vender não

refaz só diagnóstico, verificação e recomendações

Agentes (DNA Intelligence) e Meu DNA (25/10)

  • Configurado sim
  • Funcional sim
  • Validado com dados reais parcial (agente “Pro X — Marcação” com 2 partidas públicas; Meu DNA com 3 partidas públicas fazendo o papel do usuário)
  • Aprovado para vender não

memória com evidência, padrões e cobertura em contagens

Chat com agente (25/10)

  • Configurado sim
  • Funcional sim
  • Validado com dados reais parcial (perguntas reais em produção: com citação, com “sem evidência” e citando o meta do FC 27 com fonte)
  • Aprovado para vender não

US$ 0,01–0,03 por pergunta; recuperação simples (sem busca semântica)

Base do meta FC 27 (25/10)

  • Configurado sim (v3: 29 itens oficiais da EA, com data)
  • Funcional sim (recomendações, diagnóstico e chat citam com fonte)
  • Validado com dados reais parcial (análise “os dois jogadores”: 5 achados citaram mecânica oficial)
  • Aprovado para vender não

itens da seção 9 sem fonte ficaram de fora (lista em KNOWN_LIMITATIONS.md)

Identificação do lado pelo placar (25/10)

  • Configurado sim
  • Funcional sim
  • Validado com dados reais parcial: 2 de 2 partidas com siglas e ordem lidas certas (confiança alta); erro de atribuição de lado 0 de 10 lances conferidos no vídeo; vídeo sem placar → "não consegui ler"
  • Aprovado para vender não

placar do FC 26 é empilhado (1º em cima); amostra pequena; arquivo enviado testado só em teste automático (sem partida real em arquivo ainda)

Preparação do vídeo (FFmpeg)

  • Configurado sim
  • Funcional sim
  • Validado com dados reais parcial
  • Aprovado para vender não

contêiner com privilégios mínimos

Prova material x observação do modelo (Bloco B, 25/10)

  • Configurado sim
  • Funcional sim (teste com FFmpeg real, gravação real da segunda leitura, E2E)
  • Validado com dados reais parcial: YouTube em produção (11 lances, todos observação do modelo, segunda leitura 6 confirmados / 5 divergentes, tempo conferido por duas fontes); arquivo com quadros só em teste automático: não há gravação real de partida para enviar
  • Aprovado para vender não

fato observado só com quadro gravado; segunda leitura ≈ US$ 0,007 por 8 lances

LGPD: exportar e excluir a conta (25/10)

  • Configurado sim
  • Funcional sim
  • Validado com dados reais sim (produção: zip de 46 MB com 45 tabelas e 4 vídeos aberto e conferido; conta criada para teste excluída: 0 linhas e 0 arquivos)
  • Aprovado para vender não

sem e-mail de confirmação (B8); retenção de 7 dias nos backups

Cotas por plano (25/10)

  • Configurado sim, desligadas (ENFORCE_PLAN_LIMITS=false)
  • Funcional sim (testes com a chave ligada: bloqueio, devolução, corrida, plano pago)
  • Validado com dados reais —
  • Aprovado para vender não

ligar só antes de abrir para clientes

CSP, imagens fixadas, inventário privado, E2E no CI (25/10)

  • Configurado sim
  • Funcional sim
  • Validado com dados reais sim (CSP valendo na produção sem violações; E2E verde no CI)
  • Aprovado para vender —

CSP permite script inline do próprio site (limitação do Next com pré-renderização)

IA de vídeo (Gemini, cobrança ativa)

  • Configurado sim (23/10)
  • Funcional sim
  • Validado com dados reais não
  • Aprovado para vender não

gemini-4-argon + gemini-3.8-flash; 1ª análise: 2 min 46 s, US$ 0,24

IA de raciocínio (Claude)

  • Configurado sim (23/10)
  • Funcional sim
  • Validado com dados reais não
  • Aprovado para vender não

claude-sonnet-5-5; só roda quando há pares para comparar

Análise completa (do envio ao resultado)

  • Configurado sim
  • Funcional sim
  • Validado com dados reais não
  • Aprovado para vender não

pipeline executa ≠ diagnóstico correto: falta a E3 (partidas reais do Rotcha) e a anotação humana

Aula em vídeo — resultado principal (Fase 5, E13; no ar desde 26/10): MP4 por arquivo, interativa por link, nos três tipos

  • Configurado sim (voz do Google pelo Gemini TTS; Piper offline de reserva; detector RF-DETR)
  • Funcional sim (testes do serviço com renderização real e ffprobe; fila com falha simulada e “tentar de novo” sem IA; E2E com o formato novo; limpeza dos temporários)
  • Validado com dados reais parcial (3 aulas em produção: MP4 do vídeo de teste parecido com jogo, interativa “Comparar” e “Estudar um jogador” por link; seta conferida em 5 cenas: 4 certas, 1 errada)
  • Aprovado para vender não

falta só a partida real enviada por arquivo (critério do Wellington para fechar a E13). Opcional: voz da ElevenLabs (B6; com a chave entra sozinha no lugar da do Google). Aula por link não gera arquivo (nunca baixamos do YouTube). Aula pronta guarda só o MP4 e as legendas (≈ 1,7 MB por minuto de aula)

Player do coach IA (E14, no ar desde 26/10; corrigido em 26/10 à tarde com a gameplay real do Wellington: pausa total, som do jogo × narração, só a seleção)

  • Configurado sim
  • Funcional sim (controlador com 50×60 eventos aleatórios conferindo o estado das mídias; E2E com vigia do estado do <video>/YouTube em arquivo e link; teste do link falha no player antigo e passa no novo)
  • Validado com dados reais sim, por link com gameplay real (partida de 35 min, 5 min em 2 trechos): computador 7.005 quadros e celular 6.740, 0 falhas; som do jogo −18 dB → silêncio total (−180 dB) depois de cada pausa; tocou só 0–150 s e 1680–1830 s. Por arquivo: só com vídeo de teste (não há gravação real)
  • Aprovado para vender aguardando (E14)

caminho por arquivo ainda sem partida real; aulas MP4 de antes de 26/10 no player simples; iPhone: volume só pelo aparelho

Coach IA com leitura tática (E15, no ar desde 26/10 à noite): visão nos trechos (só arquivo), linhas de passe, dupla validação, portão anti-alucinação, base do meta v4, narração personalizável

  • Configurado sim
  • Funcional sim (11 testes do coach com vídeo sintético: projeção 0,25 m, oportunidade e perda achadas, portão, estilo; fila; ficha)
  • Validado com dados reais parcial: por link, 9 aulas de 2 partidas reais (45 min de trecho): 54 lances candidatos → 25 comentários "possivelmente", 22 descartados (47 % dos decididos: 18 sem segunda leitura, 7 sem item da base; 13 também sem posições), 0 cenas com desenho (por link não há visão, de propósito). Conferência do terminal pelas imagens do YouTube: 8 de 13 batem, 5 não dá para dizer, 0 claramente erradas. Por arquivo: nenhuma partida real ainda (visão medida em capturas reais: 15/15 projeções certas, 2,4 m de erro; aula por arquivo de teste cai certinho nos comentários)
  • Aprovado para vender não

E15 em validação: falta a ficha do Rogério (≥ 20 conferidas, ≥ 80 % certas, zero jogador errado/mecânica inexistente) e uma partida real por arquivo para as linhas de passe desenhadas

Nova Análise refinada (E16, no ar desde 27/10): modal com seletores compactos, 5 perfis, Estudar um jogador completo, aula do pro, controle virtual, agente nas 3 modalidades, "Para melhorar este agente"

  • Configurado sim
  • Funcional sim (pytest 11 novos; vitest; E2E do fluxo com os seletores, do Esc que fecha só a lista e do controle virtual PS/Xbox no player, com o vigia de camadas)
  • Validado com dados reais parcial: 6 análises reais em produção (conta de verificação, vídeo público de 4 min + vídeo de teste por arquivo): estimado × real Econômico 0,19 × 0,21 · Equilibrado+aula 0,39 × 0,40 · Especialista 0,65 × 0,47 · arquivo 0,36 × 0,34 · gameplay 0,20 × 0,22 · comparar 0,29 × 0,29 (US$); 5 perfis no mesmo vídeo de 35 min: 0,24–0,33 → 0,28–0,40 → 0,38–0,54 → 0,57–0,81 → 0,74–1,07; aula do pro por link e por arquivo com 3 lances cada, todos com o controle virtual; agente de pro criado (27 itens), agente pessoal novo (13), Meu DNA alimentado (10), "não salvar" respeitado; modal: 1442 → 619 px e 32 → 12 elementos clicáveis (computador), 2218 → 675 px e 31 → 11 (celular)
  • Aprovado para vender aguardando (E16)

por link a aula do pro continua sem desenho (sem visão por link); partida real de pro por arquivo ainda não analisada (o passe aproveitado medido só aparece com arquivo); controle virtual é sempre "comando provável"

Inteligência Central + configuração por áudio (E17, no ar desde 27/10): base do FC 27 + conhecimento ensinado e aprovado pelo administrador (painel Ensinar IA: texto, áudio, YouTube, transcrição autorizada, exemplo; versões, correção, reversão, arquivo; fontes acompanhadas às segundas), busca por significado (embeddings) usada no diagnóstico, na aula, no chat dos agentes e no Live; raciocínio do treinador em 7 passos por lance (fato/hipótese/indeterminado); configuração da análise por áudio nas 3 modalidades

  • Configurado sim
  • Funcional sim (pytest 22 novos, inclusive SSRF; banco 37; vitest 183; E2E do painel e da voz no CI com Postgres)
  • Validado com dados reais parcial: configuração por áudio validada na produção com fala real em português (8 de 8 pedidos entendidos; estimativa 0,38–0,54 → 0,20–0,28; transcrição < US$ 0,01; nada iniciado). Ensinar IA validado na produção por áudio real (proposta com trecho conferido e aviso de parecido → aprovar → Testar recuperou em 1º); aula real com raciocínio de 7 passos; chat do agente corrigido mas não publicado (GitHub Actions parado por pagamento)
  • Aprovado para vender aguardando (E17)

marca na interface é "Inteligência Central" (FUTSway a confirmar); aula com item ensinado ainda não provada na produção

Aula por link com desenhos (captura da tela) (E18, no ar desde 28/10) + selo único por cena no lugar do "possivelmente"

  • Configurado sim
  • Funcional sim (pytest: visão pela captura = mesmas jogadas do arquivo, vídeo de terceiros sem quadro guardado, votação do time; vitest; banco)
  • Validado com dados reais parcial: captura funcionando de ponta a ponta na produção (só esta aba, recusa de outra aba, 2×, 1.233–1.774 quadros em 4–5 min, quadros apagados depois da visão, aula refeita sozinha em 17–22 min); mas nenhuma cena saiu "medido na imagem" nas 2 partidas públicas testadas: a visão reconhece o campo em 34–82 % dos quadros, porém acha poucos quadros com a bola no pé e não consegue firmar qual time é o analisado, então o portão descarta tudo e a aula fica com "leitura da IA"
  • Aprovado para vender aguardando (E18)

a meta da ficha (≥ 25 cenas medidas) não foi atingida: depende de melhorar a visão (detecção da bola e do time) nestes vídeos de transmissão

Nome e identidade FUTsway (E20, 28/10): nome, slogan, cores, Inter, símbolo e logotipo oficiais, favicon, Open Graph, heros e fundo do login do kit, marca d'água e cartão novo na aula, página de acompanhamento nova

  • Configurado sim
  • Funcional sim (typecheck, build, vitest, pytest, ruff, mypy)
  • Validado com dados reais —
  • Aprovado para vender —

o endereço do site continua o provisório até haver domínio; nomes com "DNA" do Wellington mantidos até ele decidir; nome interno do banco/volumes ficou o antigo (invisível)

Visão em partida real (E19, 28/10): bola por recorte + trilha, posse com 3 quadros, ponte do Gemini, origem da medição

  • Configurado sim
  • Funcional sim (pytest: trilha, posse/toque, ponte com modelo substituído, contrato; medidor no conjunto anotado)
  • Validado com dados reais parcial: nos 60 quadros revisados, bola 9 % → 18 % e portador 0 → 5 % só com a visão local (metas 70 % / 75 % não atingidas); jogadores 97 %, time 95 %, homografia 44 %; com a ponte do Gemini: bola 41 %, portador 25 %; na produção (captura da partida pública 1): 0 cenas medidas — campo projetado em só 18 % dos quadros
  • Aprovado para vender não

ajuste fino do detector bloqueado no notebook (Smart App Control); homografia é o próximo gargalo

Agentes multivídeo (E21, 28/10): quarta modalidade, operação com vários materiais, fila própria com retomada, resumo compacto

  • Configurado sim
  • Funcional sim (teste do banco da operação; testes do site e da fila)
  • Validado com dados reais sim (29/10): testes 1, 2 e 3 na produção — 5 materiais (3 links + 2 arquivos) com instrução por áudio (operação 8aafe389) e realimentação com partida nova sem perder nada (1cdecad7: 102 → 121 itens)
  • Aprovado para vender não

áudio global e contradições entre materiais entraram (e356989)

Bibliotecas (E23, 29/10): pastas até 5 níveis, grade/lista, busca, filtros, favoritos, seleção múltipla, mover/renomear/duplicar/arquivar/excluir

  • Configurado sim
  • Funcional sim (banco 2 testes, regras 6 testes)
  • Validado com dados reais sim (29/10, produção: pastas em 3 níveis, mover, favoritar, duplicar, busca, filtros; exclusão de análise que alimentou agente nos dois modos: 121 → 95 itens)
  • Aprovado para vender não

migration 0029; filtro "favoritos" olha só a pasta atual

FUTsway Academy (E24, 29/10): Academies por parceiro, convites, aulas (link/arquivo), gravações por aluno em 720p com validade, progresso, painel do treinador, área do aluno, administração de Academies e Contas

  • Configurado sim
  • Funcional sim (isolamento no banco; link assinado por usuário)
  • Validado com dados reais sim (29/10, produção: duas Academies de verificação lado a lado; aula por link e arquivo; gravação 720p disponível em 16 s com validade; isolamento 5/5; "Excluir conta")
  • Aprovado para vender não

migration 0030; cota por Academy; retenção das gravações por validade

Coach IA do treinador + 7 dias + assinaturas (E25, 29/10): camadas Central → treinador → aluno, benefício uma vez por aluno, assinatura liberada pelo treinador/administrador com forma de pagamento, bloqueio pela data, planos

  • Configurado sim
  • Funcional sim (banco; teste do serviço com o contexto do aluno)
  • Validado com dados reais parcial (29/10, produção: benefício uma vez só, limite de mensagens, respostas com camada e citação da mentoria, assinatura liberada e cancelada; respostas pelo Gemini, reserva sem crédito da Anthropic)
  • Aprovado para vender não

migration 0031; sem cobrança online (B3); teto por pergunta 0,10

Super Agente (E26, 29/10): criar com vídeo explicativo, itens com fonte e trecho, metodologia, alimentar/corrigir/desfazer/testar, uso no roteiro da aula

  • Configurado sim
  • Funcional sim (serviço 5 testes; banco 1)
  • Validado com dados reais parcial (29/10, produção: criado com tutorial público, 5 → 11 itens, desfazer, testar citando minutos; "corrigir" devolvia erro — corrigido; uso numa aula ainda não rodado)
  • Aprovado para vender não

migration 0032; só link do YouTube; clonagem de voz bloqueada

Home do usuário e curadoria (E27, 29/10): 5 seções, painel de administração, parceiro sugere/publica, autorização do dono da análise

  • Configurado sim
  • Funcional sim (banco; regra de recomendação)
  • Validado com dados reais sim (29/10, produção: 2 itens reais publicados e ocultos; parceiro sem permissão só sugere; com permissão publica direto)
  • Aprovado para vender não

migration 0033; rótulo "DNA Live"

Primeiro acesso e templates oficiais (E28, 29/10): Padrão/Personalizado no servidor, "Vamos conhecer sua gameplay?", contexto pessoal, 5 templates com itens da Central, DNA Live carrega o template

  • Configurado sim
  • Funcional sim (banco)
  • Validado com dados reais sim (29/10, produção: modal, "não mostrar", reabrir, Padrão aplica o Equilibrado e o DNA Live abre com ele; modal sumia antes do "Pronto!" — corrigido)
  • Aprovado para vender não

migration 0034; contas existentes = Personalizado; templates com 0 itens da Central até haver conhecimento ensinado ativo

Mental Coach (E29, 29/10): regra pura sobre os lances e o placar da mesma leitura (sem chamada extra), 2+ ocorrências, silêncio em momento crítico, prioridade da fala técnica, estilos, bloco "Disciplina competitiva", Inteligência Mental (admin e usuário)

  • Configurado sim
  • Funcional sim (serviço 7 testes; motor do site 2; banco 1)
  • Validado com dados reais parcial (29/10, produção com partida pública por captura: falas com 2+ ocorrências e o observado, silêncio em momento crítico, "Disciplina competitiva"; US$/min 0,020 sem → 0,022 / 0,019 com; Central inalterada)
  • Aprovado para vender não

migration 0035; domínio mental.* fora da seleção das análises; falas repetidas no resumo corrigidas; falta um trecho real de 5 min sem motivo

Retenção do vídeo original (30 dias)

  • Configurado sim
  • Funcional sim (teste do banco e da limpeza)
  • Validado com dados reais sim (produção: aviso com a data, "Manter por mais 30 dias" 25/11 → 25/12; exclusão simulada numa análise de teste)
  • Aprovado para vender —

reanalisar depois exige reenviar

Qualidade do diagnóstico e das dicas

  • Configurado —
  • Funcional —
  • Validado com dados reais não
  • Aprovado para vender não

a tela de resultado diz "qualidade em validação"

Orçamento de IA (limite diário e por análise)

  • Configurado sim
  • Funcional sim
  • Validado com dados reais sim (teste de bloqueio em produção)
  • Aprovado para vender não

reserva atômica no banco

FUTsway Live (coach durante a partida)

  • Configurado sim (24/10)
  • Funcional sim (v0, no computador)
  • Validado com dados reais não
  • Aprovado para vender não

sessões de teste em produção com vídeo público: dicas escritas e faladas, atraso médio 17–23 s, US$ 0,016–0,019 por minuto; falta a sessão real do Rotcha (E4); voz do navegador (provisória)

Assinaturas e pagamento

  • Configurado não
  • Funcional não
  • Validado com dados reais não
  • Aprovado para vender não

Stripe depende de CNPJ (B3); preços dependem do dono (B7)

E-mail (recuperação de senha, avisos)

  • Configurado não
  • Funcional não
  • Validado com dados reais não
  • Aprovado para vender não

Resend (B8)

Backup e cópia externa

  • Configurado sim
  • Funcional sim
  • Validado com dados reais sim (26/10: restauração completa ensaiada no formato novo, pela pasta e pelo pacote externo, 19 s; ensaio do notebook 93/93)
  • Aprovado para vender —

2×/dia no servidor; vídeos incrementais (cada um copiado uma vez; 84 pastas/3,7 GB → 9/827 MB); notebook às 8h e 20h baixa só o que falta

Monitoramento externo

  • Configurado parcial
  • Funcional sim (vigia do GitHub a cada 30 min)
  • Validado com dados reais —
  • Aprovado para vender —

Better Stack (1 min) depende do dono (D27)

Domínio próprio

  • Configurado não
  • Funcional não
  • Validado com dados reais —
  • Aprovado para vender —

hoje <ENDERECO_PRODUCAO>

Etapas para aprovação

Cada etapa passa por: implementar → corrigir falhas → testar → Wellington aprova.

E1 aguardando aprovação

Fundação: cadastro, login, nova análise, upload, fila

O que olhar
o sistema no ar: <ENDERECO_PRODUCAO> (criar conta, nova análise, enviar vídeo, ver o processamento)
Entregue em
21/10/2026
Observações do Wellington
nenhuma ainda
E2 aguardando aprovação

Documento de alinhamento v2 + escopo do FUTsway Live

O que olhar
o PDF v2 (seção “Documentos” desta página: docs/historico-futsway/FUTsway_Modelo_de_Negocio_v2.pdf) e, no sistema, o menu “FUTsway Live” (explicação, modos e preferências salvas). Responder também: antecipar o Live para logo após a Fase 2?
Entregue em
23/10/2026
Observações do Wellington
nenhuma ainda
E3 aguardando vídeos do rotcha

Primeira análise real com partidas de verdade

O que olhar
o Rotcha cria uma análise pelo próprio site: em "Referência", o link do YouTube de um pro; em "Sua gameplay", uma partida dele. Ao terminar, a página de resultado mostra os lances comparados (com o minuto certo), pontos fortes, o que mais custa, recomendações e o custo real. O terminal lê o resultado com olhar crítico e registra no log o que a IA acertou, errou e não enxergou
Entregue em
undefined/undefined/—
Observações do Wellington
nenhuma ainda
E4 aguardando sessão real do rotcha

FUTsway Live v0: treinador falando durante a partida no PC

O que olhar
no sistema, menu “FUTsway Live”: escolher o modo, “Iniciar sessão”, compartilhar a janela do jogo, jogar uma partida; as dicas aparecem escritas e são faladas (voz do navegador, provisória), com o atraso indicado; ao encerrar, o resumo aparece em “Análises” (dicas com horário, o que se repetiu, custo por minuto)
Entregue em
undefined/undefined/—
Observações do Wellington
nenhuma ainda
E5 aguardando aprovação

Lado analisado escolhido pelo placar e Minha gameplay por link (ajustes do Wellington)

O que olhar
no sistema, “Nova análise”: (1) em Referência, colar o link do YouTube → a IA lê o placar em ~10 s e pergunta “Qual jogador a IA deve analisar?” com as 3 letras de cada time (dá para “Corrigir siglas”); (2) em Sua gameplay, agora também por link do YouTube (ou arquivo) → “Qual destes jogadores é você?”; sem escolher, o botão de seguir fica travado com o motivo; (3) no resultado, o topo mostra “Lado analisado: …” dos dois vídeos. Prints docs/screenshots/31 a 39
Entregue em
25/10/2026
Observações do Wellington
nenhuma ainda
E6 aguardando aprovação

Nova Análise v2: lados, fundamentos, profundidade, controles (W1 da especificação “Nova Análise e Agentes”)

O que olhar
“Nova análise”: (1) escolher o que fazer (estudar um jogador, minha gameplay ou comparar); (2) vídeo por link ou arquivo nas duas categorias, jogador pelo placar — um, ou os dois —, dando nome (ex.: P23 = Pro X); (3) fundamentos: seleção pronta (ex.: “Marcação e defesa”), partida completa ou só os escolhidos, por categoria; (4) profundidade (básica a especialista), controle (Clássico/Alternativo/Personalizado/Não sei) e “analisar possíveis comandos” Sim/Não; (5) revisão com o custo estimado; o resultado mostra só os fundamentos pedidos, melhores decisões, erros, padrões, linha do tempo e o custo real ao lado da estimativa. “Minha conta” tem o perfil de controle. Prints docs/screenshots/40 a 45
Entregue em
25/10/2026
Observações do Wellington
nenhuma ainda
E7 aguardando aprovação

DNA Intelligence: agentes e chat (W2)

O que olhar
no resultado, Salvar inteligência → criar agente (jogador 1, jogador 2, os dois combinados), adicionar a um agente existente, Meu DNA (só partidas suas) ou só salvar; menu Meus Agentes: partidas, memória por fundamento com os lances, cobertura (sem percentual), padrões (isolado/recorrente/divergente), lacunas, histórico; Conversar: o agente responde só com o que viu, com links para o minuto do lance, e diz quando não tem evidência; Alimentar com vídeo: a nova análise entra no agente sozinha. Prints docs/screenshots/46 a 51
Entregue em
25/10/2026
Observações do Wellington
nenhuma ainda
E8 aguardando aprovação

Comparação entre agentes (W3)

O que olhar
Meus Agentes → Comparar (ou o botão Comparar dentro de um agente): escolher dois agentes (ex.: Meu DNA x Pro X) ou o mesmo agente em dois períodos (“até a partida X”); ver antes o que dá para comparar, o que está “sem base para comparar” e o custo estimado; o resultado mostra, por fundamento, as contagens de cada lado, semelhanças, diferenças, oportunidades e recomendações com os lances clicáveis (sem percentual); em “Meu DNA x Pro”, as recomendações entram no Plano de treino do Meu DNA como “aprendido de Pro X”, sem misturar com as suas partidas. Prints docs/screenshots/56 a 63, 67, 70, 71
Entregue em
25/10/2026
Observações do Wellington
nenhuma ainda
E9 aguardando aprovação

Comandos do controle e meta do FC 27 (W4)

O que olhar
Minha conta → Tabela de comandos do FC 27 (Clássico e Alternativo do PlayStation e do Xbox, cada comando “confirmado pela EA” com link ou “a verificar”); na análise, console PlayStation/Xbox e Personalizado; com “Analisar possíveis comandos”, o relatório mostra o comando provável do seu perfil (muda quando o Personalizado muda); o relatório e o chat citam a mecânica oficial do FC 27 com fonte e data; no fim do relatório, Reprocessar com a base atual (custo estimado antes; antes/depois guardado). “Analisar os dois jogadores” da mesma partida testado no site. Prints docs/screenshots/52 a 55, 57, 61, 64 a 66, 68, 69
Entregue em
25/10/2026
Observações do Wellington
nenhuma ainda
E11 aguardando aprovação

Bloco B da auditoria: evidência material, LGPD, segurança

O que olhar
(1) Numa análise com vídeo do YouTube, cada lance mostra "observação do modelo" e "confirmado por segunda leitura" ou "divergente na segunda leitura" (e "tempo incerto" se a duração não bater); com arquivo enviado, o lance mostra as duas imagens tiradas do vídeo e só então pode ser "fato observado". (2) Minha conta → Privacidade e dados: "Exportar meus dados" (o link do .zip aparece em segundos e vale 24 h) e "Excluir minha conta" (pede a senha; avisa que não há e-mail). (3) Nada muda no uso: as cotas por plano ficam desligadas. Prints docs/screenshots/92 a 97
Entregue em
25/10/2026
Observações do Wellington
nenhuma ainda
E12 aguardando aprovação

Nova Análise otimizada: trechos, custo em tempo real, perfis, formato e resultado leve

O que olhar
(1) Nova análise → cole um link → Confirmar: o modal abre com Equilibrada marcada e o custo; Iniciar análise no rodapé (2 cliques). (2) Em Quanto do vídeo, mude a porcentagem e os modos (distribuir, momentos relevantes, manual, intervalos): tempo, % e economia mudam na hora; arraste os trechos na linha do tempo. (3) Abra Ver custo por parte e Personalizar análise: tudo o que existia continua lá. (4) Em vídeo mostra "Disponível na Fase 5" e não inicia. (5) Abra um resultado: 3 frases no topo, cards por fundamento, momentos, próximos passos; o resto em "Detalhes da análise". Prints docs/screenshots/98 a 115
Entregue em
25/10/2026
Observações do Wellington
nenhuma ainda
E13 **aguardando partida real por arquivo** (critério do wellington)

Vídeo-aula da própria gameplay (MP4 por arquivo; interativa por link; também no "Estudar um jogador")

O que olhar
(1) Nova análise → "Analisar minha gameplay" → envie o arquivo da partida: no modal, "Texto + vídeo" vem marcado e a estimativa mostra a parte "Vídeo-aula". (2) Inicie: o relatório fica pronto e, acima dele, a aula monta (etapas, prévia das 3 primeiras cenas); pronta, assista, clique nos momentos, ligue as legendas e baixe o MP4. Confira: pausa no lance certo, seta no jogador certo (ou só a zona quando não houve certeza), narração e áudio original baixinho, câmera lenta, lousa 3D com "exemplo tático". (3) Repita com link do YouTube (gameplay e referência): "Começar a aula" — o vídeo pausa sozinho, desenha, narra, e o pro abre no minuto do lance. (4) "Estudar um jogador" por link: a aula interativa sobre o vídeo do pro. Prints docs/screenshots/116 em diante
Entregue em
26/10/2026
Observações do Wellington
nenhuma ainda
E14 aguardando aprovação

Player do coach IA: sincronização e controles

O que olhar
Abra uma aula pronta (por link: as análises de "Comparar" e "Estudar um jogador"; por arquivo: a análise de teste ab2ef5a7). (1) "Começar a aula": no lance a aula pausa, desenha e narra. (2) Pause e retome várias vezes no meio da explicação: tudo para junto e continua do mesmo ponto. (3) Aperte +10 durante a explicação: aparece "Deseja pular esta explicação?" — "Continuar" volta, "Pular" some com tudo na hora e segue. (4) −10/−5, arrastar a barra, clicar nas marcas coloridas (erro/oportunidade/acerto), "Anterior/Repetir/Próxima/Pular explicação". (5) Engrenagem: setas, narração, "Só a gameplay", legenda, dois volumes, velocidade do jogo e das explicações. (6) "Repetir lance" e "Lento 0,5x" na lista; "Salvar este momento" → "Meus momentos"; recarregue: continua lá e as preferências também. (7) Tela cheia (F), teclado (espaço, J/K/L, setas, M), celular (toque duplo nas laterais = ±10 s, girar a tela). (8) No fim: "Aula concluída" e "Assistir de novo". Vídeo docs/screenshots/player-aula-sequencias-rapidas.mp4; prints docs/screenshots/137 em diante
Entregue em
26/10/2026
Observações do Wellington
Voltou "com ajustes" em 26/10 (Wellington, gameplay real): (1) ao pausar, o som do jogo continuava; (2) o botão de som mexia só na voz da IA; (3) a aula usava a partida inteira apesar da seleção. Corrigido e validado na produção com a partida real dele (link, 35 min, computador e celular; bloco 29 do log). Para conferir: abra uma aula, pause em qualquer ponto (abertura, gameplay, explicação) — o som do jogo para junto; use os dois botões de som (controle e microfone); "Remover áudio original" embaixo do player; a barra mostra só os minutos escolhidos, com a emenda entre os trechos. Vídeo docs/screenshots/correcao-video-final-producao-com-som.mp4; prints 162–166.
E15 em validação

Coach IA com leitura tática: oportunidades, linhas de passe, meta do FC 27, narração personalizável

O que olhar
(1) Ficha de conferência: https://claude.ai/artifact/FSJfwKEqCGQw4uiwtndcKn — 25 orientações de 9 aulas de 2 partidas reais (por link); marque cada uma certo/errado/não sei, e "jogador errado" ou "mecânica que não existe" quando for o caso; a precisão aparece no topo. (2) Nova análise → o modal tem "Narração" (Informal/Formal/Técnico; Poucas/Equilibradas/Detalhadas; Direto/Explicativo). (3) Numa aula pronta, o quadro "Qualidade desta aula" mostra quantos lances foram avaliados, viraram orientação e foram descartados (e por quê). (4) Por arquivo, a etapa "Visão" aparece no andamento. Prints docs/screenshots/167–170
Entregue em
26/10/2026
Observações do Wellington
Meta (D82): ≥ 20 orientações conferidas pelo Rogério, ≥ 80 % certas e zero "jogador errado"/"mecânica que não existe". Linhas de passe desenhadas só aparecem em partida enviada por arquivo (decisão do Rogério: por link não há imagem); falta uma gravação real para validar essa parte.
E10 aguardando aprovação

Modal de configuração do vídeo (Referência e Minha gameplay)

O que olhar
Nova análise → tipo → link (ou arquivo): o modal abre sozinho. Conferir as seções A–H e as configurações adicionais, “Sugerir pelo placar” (opcional), a confirmação quando as pistas não batem, “Salvar como padrão” e “Restaurar padrão”, e em “Comparar com uma referência” os dois modais (o “Iniciar” só libera com os dois). No resultado: “Estudo configurado”, “Momentos importantes”, inteligência criada/alimentada e comparação automática. Prints docs/screenshots/72 a 91
Entregue em
25/10/2026
Observações do Wellington
nenhuma ainda
E16 aguardando aprovação

Nova Análise refinada: modal compacto, 5 perfis, Estudar um jogador completo, aula do pro, controle virtual, agentes em todas as modalidades

O que olhar
(1) Nova análise → cole um link → Confirmar: o modal abre com tudo em seletores que só abrem ao clicar (Jogador, Tipo, Perfil de análise com os 5: Econômico, Essencial, Equilibrado, Avançado, Especialista; Quanto do vídeo; Como receber). O custo fica no rodapé; clique nele para ver as partes. (2) Troque o perfil e veja o custo mudar (do Econômico ao Especialista ele sempre sobe). (3) Opções da aula → "Exibir controle virtual durante a aula" (liga os comandos sozinho). (4) Personalizar análise: em "Estudar um jogador" aparece O que destacar (decisões que deram certo / tudo / momentos-chave), fundamentos com subcategorias, profundidade, controle Clássico/Alternativo/Personalizado e PlayStation/Xbox, comandos, Salvar conhecimento em Agente de IA (criar novo / alimentar existente / não salvar) — igual em Minha gameplay e Comparar (um em cada vídeo). (5) Na aula pronta de um pro: nos lances, a narração diz o que ele fez → por que foi bom → como fazer igual, e o controle no canto acende os botões com "Comando provável"; pause e ele congela; a engrenagem liga/desliga. (6) Meus Agentes → um agente → Para melhorar este agente. No celular, as listas sobem de baixo. Prints docs/screenshots/refinamento/ (computador e celular; aula do pro e agente na produção; pausa do MP4)
Entregue em
27/10/2026
Observações do Wellington
Validado na produção com vídeo público e vídeo de teste por arquivo (bloco 31 do log). Falta uma partida real de pro por arquivo para ver o passe aproveitado desenhado.
E17 aguardando validação na produção

Inteligência Central + configuração por áudio

O que olhar
(1) Com conta administradora: menu Ensinar IA → envie um texto ou grave um áudio ensinando algo do FC 27 → em 1–2 min aparece a proposta, com o trecho do material que a sustenta → Aprovar (ou Revisar campos / Rejeitar). (2) O item vai para Conhecimento aprovado com fonte, data, versão do jogo e confiança; abra e veja o histórico (corrigir, voltar versão, arquivar). (3) Testar: faça uma pergunta e veja o item ensinado sendo recuperado. (4) Nova análise → link → no modal, Como deseja configurar? → Áudio → grave o que quer ("sou o de baixo, só passes e finalizações, metade do vídeo, por escrito") → Transcrever e preencher → confira a lista do que mudou e o custo; Desfazer volta tudo. Nada pago começa sem você clicar em iniciar. (5) Numa aula, abra um lance: aparece o raciocínio do treinador em 7 passos. Prints docs/screenshots/inteligencia-central/
Entregue em
27/10/2026
Observações do Wellington
Configuração por áudio validada na produção (bloco 32). Falta tornar as contas administradoras e provar a aula usando um item ensinado.
E18 em validação

Aula por link com desenhos (captura da tela) e selo no lugar do "possivelmente"

Entregue em
28/10/2026
Observações do Wellington
A captura funciona; nas partidas públicas testadas a visão ainda não produziu cenas medidas (ver bloco 33).
E20 em validação

Novo nome e identidade: FUTsway

O que olhar
Abrir o sistema (o endereço provisório continua o mesmo até haver domínio): (1) página inicial com o hero do kit novo, (2) login com o fundo da marca, (3) painel e menus com as cores e a fonte Inter, (4) uma aula com a marca d'água FUTsway no canto e os desenhos nas cores novas, (5) o ícone na aba do navegador; e a página de acompanhamento nova (https://futsway-acompanhamento.pages.dev; o link antigo leva para ela). Os nomes "Meu DNA", "DNA Intelligence", "DNA Agent" e "DNA Input Intelligence" ficaram como estavam: dizer se mudam e para quê.
Entregue em
28/10/2026
Observações do Wellington
nenhuma ainda
E21 em validação

Agentes multivídeo: "Criar / Alimentar Agente de IA" (quarta modalidade)

O que olhar
Nova análise → botão "Criar / Alimentar Agente de IA" (ou, num agente, "Alimentar com vários vídeos"): adicionar vários links do YouTube e arquivos na mesma lista, reordenar, trecho opcional, "Configurar vídeo" em cada material (o modal de sempre, inclusive por áudio), destino (agente novo, existente, combinado ou Meu DNA), objetivo e especialidades, Estimar e Iniciar; o andamento aparece em "Análises" (card "Agente"); ao terminar, o resumo compacto (fontes, conhecimentos novos, cobertura, o que precisa de mais partidas) e o agente alimentado.
Entregue em
28/10/2026
Observações do Wellington
nenhuma ainda
E22 em validação

Usar agente na análise: "Qual inteligência deseja utilizar?"

O que olhar
Nova análise → Analisar minha gameplay → no modal da sua gameplay, a pergunta "Qual inteligência deseja utilizar?": Inteligência Central, ou Central + um agente seu de pro/combinado (sem vídeo de referência). Ao escolher o agente, aparece a base dele nos fundamentos pedidos (boa base / pouca base / sem base) antes de confirmar; ao terminar, o relatório traz a comparação com os padrões do agente (a comparação direta entre vídeos continua igual).
Entregue em
28/10/2026
Observações do Wellington
29/10: configuração e contexto do agente conferidos no banco (análise 8b8aa1aa, "Agente de IA" sozinho); o diagnóstico foi pelo Gemini (Anthropic sem crédito) e não citou o agente. Repetir quando o crédito voltar (bloco 42).
E23 aguardando aprovação

Bibliotecas: Meus Agentes e Minhas Análises com pastas

O que olhar
Meus Agentes e Análises: pastas e subpastas (até 5 níveis), grade ou lista, busca, filtros (tipo, situação, especialidade, favoritos), ordenação, seleção múltipla; menu do card: mover, renomear, duplicar, arquivar, excluir (análise que alimentou agente pergunta se mantém os conhecimentos); "Continuar rascunho" e "Retomar processamento".
Entregue em
29/10/2026
Observações do Wellington
Validado na produção em 29/10 (bloco 42; prints docs/screenshots/validacao-e23-e29/e23-*): pastas em 3 níveis, mover, favoritar, duplicar, busca, filtros, lista/grade; exclusão de análise que alimentou agente nos dois modos (121 → 95 itens no agente, fontes "análise excluída"). Obs.: o filtro "favoritos" olha só a pasta atual.
E24 aguardando aprovação

FUTsway Academy

O que olhar
Administração → Academies: criar uma Academy e convidar o treinador por e-mail; o treinador aceita o convite, personaliza (nome, cor, frase), cria módulos e aulas (link ou arquivo), grava mentoria para um aluno, convida alunos; o aluno vê /academy/<apelido> no estilo catálogo (continuar assistindo, aulas individuais, biblioteca, recomendados, progresso, Coach IA). Duas Academies lado a lado não veem nada uma da outra; aluno B não abre a gravação do aluno A. Administração → Contas: excluir conta.
Entregue em
29/10/2026
Observações do Wellington
Validado na produção em 29/10 com duas Academies de verificação lado a lado (bloco 42; prints e24-*): convites, aula por link e por arquivo, gravação de mentoria em 720p com validade, isolamento 5/5 (nem por link direto), "Excluir conta" (teste-terminal apagada).
E25 aguardando aprovação

Coach IA do treinador, 7 dias grátis e assinaturas

Entregue em
29/10/2026
Observações do Wellington
Validado na produção em 29/10 (bloco 42; prints e25-*): benefício começou sozinho com a 1ª mentoria (uma vez só), limite de mensagens, respostas com camada e citação da mentoria, assinatura liberada por Pix e cancelada (o benefício não recomeça). As respostas foram pelo Gemini (reserva): com o crédito da Anthropic voltam ao Claude.
E26 aguardando aprovação

Super Agente

O que olhar
Meus Agentes → Criar Super Agente (link de vídeo explicativo + "tenho autorização"): a página mostra o que aprendeu por tipo (técnico, metodologia, estilo, linguagem visual) com minuto e trecho, a metodologia consolidada, Alimentar (vídeo novo: novo/confirma/complementa/contradiz), Ensinar/Corrigir (vira versão nova), Versões (voltar), Testar (pergunta com citação do minuto). Em "Analisar minha gameplay" → "Qual inteligência deseja utilizar?" → "Central + Super Agente": a aula explica do jeito dele, na sua gameplay. Clonagem de voz: bloqueada.
Entregue em
29/10/2026
Observações do Wellington
Validado na produção em 29/10 (bloco 42; prints e26-*): criado com tutorial público (5 itens com minuto e confiança), alimentado (11 itens), desfazer (versão nova), testar citando minutos. "Ensinar/Corrigir" devolvia erro sem o dono mudar nada: corrigido e publicado; falta conferir a versão de correção e o uso numa aula. Só vídeo por link.
E27 aguardando aprovação

Home do usuário e curadoria

O que olhar
/app depois do login: Comece agora, Continue de onde parou, Análises da Semana, Aulas em Destaque, Recomendado para você (com o porquê); seção vazia não aparece. Administração → Home (curadoria): publicar vídeo público ou análise autorizada pelo dono, editar, ordenar, agendar, ocultar, remover, público (todos/plano/usuário), exibir/ocultar seções; parceiro sugere aula da Academy (ou publica direto com permissão). Na análise concluída: "Autorizar a mostrar na Home". Rótulo do coach durante a partida: DNA Live.
Entregue em
29/10/2026
Observações do Wellington
Validado na produção em 29/10 (bloco 42; prints e27-*): 2 itens reais publicados pelo administrador e depois ocultos (a curadoria é do Wellington); parceiro sem permissão só sugere e o administrador aprova; parceiro com permissão publica direto.
E28 aguardando aprovação

Primeiro acesso, modo Padrão e templates oficiais

O que olhar
Conta nova (ou quem nunca respondeu) vê "Como você deseja utilizar o FUTsway?" (Padrão recomendado / Personalizado, "Não mostrar novamente"); Padrão → "Pronto!" → "Vamos conhecer sua gameplay?" (vídeo, áudio, depois); Rogério e Wellington não veem o modal (contas existentes = Personalizado); Minha conta → reabrir o assistente e o contexto pessoal. DNA Live carrega o template oficial (Equilibrado recomendado; Defesa, Ataque, Competitivo, Coaching Mental), trocar é um clique; Administração → Templates oficiais (fundamentos, modo, voz, falas, Mental Coach, itens reais da Central).
Entregue em
29/10/2026
Observações do Wellington
Validado na produção em 29/10 (bloco 42; prints e28-*): conta nova vê o modal, "não mostrar" vale depois de sair e entrar, reabrir em Minha conta, Padrão aplica "FUTsway Equilibrado" e o DNA Live abre com ele; o modal sumia antes do "Pronto!" — corrigido e publicado. "Preencher com a Central" preencheu 0 itens porque a Central não tem conhecimento ensinado ativo (o da E17 está arquivado).
E29 aguardando aprovação

Mental Coach

O que olhar
DNA Live → Inteligência Mental: ligar, frequência (baixa/equilibrada/alta), estilo (motivador/direto/calmo), situações e orientações próprias. Na partida, falas curtas só com 2+ ocorrências observadas (gol sofrido pelo placar, perdas seguidas, passes forçados, chutes de longe forçados, pressão desorganizada/pressa depois de gol); silêncio com bola na área, contra-ataque e bola parada; a fala técnica tem prioridade; nunca "você está nervoso". No resumo da sessão: bloco Disciplina competitiva com os momentos e o minuto. Administração → Inteligência Mental (ensino pelo mesmo fluxo do Ensinar IA, domínio "mental").
Entregue em
29/10/2026
Observações do Wellington
Validado na produção em 29/10 com captura de aba tocando partida pública (bloco 42; prints e29-*): falas só com 2+ ocorrências e com o observado, silêncio em bola na área, intervalo mínimo, bloco "Disciplina competitiva"; custo por minuto 0,020 sem → 0,022 e 0,019 com o Mental Coach (dentro de +10 %); Central inalterada pelas preferências. Falas repetidas no resumo: corrigido e publicado. Falta um trecho real de 5 min sem motivo (os públicos sempre tiveram 2+ perdas).

Documentos

Documentos de alinhamento do projeto. Abra para ler ou baixar.

Estado das fases

  1. Entrega principal do produto

    5 — Aula em vídeo

    em andamento

    No ar desde 26/10 (E13) nos três tipos; 3 aulas em produção com vídeos de teste e públicos (setas: 4 de 5 certas). Falta: a primeira partida real enviada por arquivo (o Rotcha gravar e enviar). Opcional: voz da ElevenLabs (hoje a voz é a do Google; com a chave, troca sozinha).

    A aula é o que o jogador recebe de cada análise; o relatório escrito vem abaixo, como complemento. Arquivo enviado → aula em MP4 (o próprio vídeo com pausas nos lances, setas e círculos, câmera lenta, voz do treinador, lousa tática 3D, legendas; assistir e baixar). Link do YouTube → aula interativa (o mesmo roteiro, desenhos e voz sobre o player oficial; com referência, o pro abre no minuto do lance). Nos três tipos de análise; conferência automática das cenas

    Pronta quando: uma partida real do próprio jogador, enviada por arquivo, processada e com a aula reproduzível (critério do Wellington)

  2. 1 — Fundação

    em andamento

    No ar em produção, aguardando a aprovação do Wellington (E1).

    repositório, arquitetura, banco, autenticação, design system, layout, dashboard, fluxo de nova análise, upload, armazenamento privado, fila

    Pronta quando: usuário cria conta, envia dois vídeos, análise fica enfileirada e ingestão real roda

  3. 2 — Prova técnica da IA (o coração)

    em andamento

    Encanamento real em produção desde 2026-10-23, aguardando partidas reais (E3).

    eventos, timestamps, análise independente A/B, comparação contextual, evidências, relatórios estruturados

    Pronta quando: só avança quando a análise real convencer: validado com partidas reais

  4. 3 — FUTsway Live

    em andamento

    V0 no ar no computador, aguardando a primeira sessão real do Rotcha (E4).

    coach de IA durante a partida: captura da tela (PC ou placa de captura; YouTube na v1), análise em janelas, dicas por voz e texto nos modos discreto/equilibrado/intensivo/silencioso, resumo da sessão

    Pronta quando: jogador compartilha a tela, joga uma partida inteira, recebe orientações por voz no modo escolhido com atraso declarado e ao fim vê o resumo; validado por jogadores reais

  5. 4 — Coaching, evolução e DNA Intelligence (especificação do Wellington, 24/10)

    W1, W2, W3 e W4 no ar (25/10), aguardando aprovação (E6, E7, E8, E9); modal de configuração do vídeo no ar (25/10, E10); contínuo

    Base do meta e comandos confirmados conforme a EA publicar.

    W1 Nova Análise v2: tipo (estudar um jogador, minha gameplay, comparar), lados pelo placar (um ou os dois), 148 fundamentos, profundidade, controle e comandos (hipótese), estimativa de custo · W2 agentes (pro, combinado, Meu DNA), biblioteca, memória com evidência, padrões, chat com citações · W3 comparação entre agentes (Meu DNA x Pro X, defesa atual x anterior, plano de treino) · W4 DNA Input Intelligence completo (comandos verificados por versão, Xbox) e base do meta FC 27 preenchida, reprocessamento

    Pronta quando: agente responde com links para os lances; relatório só com os fundamentos pedidos; nada de percentual inventado

  6. 6 — Comercialização (sempre a última)

    não iniciada

    planos, pagamentos, créditos, admin, limites de plano, monitoramento, carga

    Pronta quando: produção estável e cobrança funcionando

Feito até agora

  1. Bloco 44: E31, E32 e E33 no ar e validadas na produção — PROMPT_HOME_PUBLICA_PLAYER_FSLIVE.md

    0 itens
    • Bloco 43: E30 no ar, E31 no GitHub (publicação barrada), E32 em andamento — PROMPT_HOME_PUBLICA_PLAYER_FSLIVE.md (sessão cortada pelo limite de uso)

      0 itens
      • Bloco 42: validação de E22 a E29 na produção + revisão de segurança — PROMPT_VALIDACAO_PRODUCAO_E23_E29.md

        0 itens
        • Bloco 41: E29 — Mental Coach — PROMPT_HOME_ONBOARDING_MENTAL.md

          0 itens
          • Bloco 40: E28 — primeiro acesso, modo Padrão e templates oficiais — PROMPT_HOME_ONBOARDING_MENTAL.md

            0 itens
            • Bloco 39: E27 — Home do usuário e curadoria — PROMPT_HOME_ONBOARDING_MENTAL.md

              0 itens
              • Bloco 37: E21 — agentes multivídeo ("Criar / Alimentar Agente de IA") — PROMPT_ECOSSISTEMA_AGENTES_ACADEMY.md

                0 itens
                • Bloco 36: visão em partida real (D98, E19) — PROMPT_VISAO_REAL.md

                  0 itens
                  • Bloco 35: servidor, Cloudflare e seção 2b (site como o painel do kit) — PROMPT_REBRAND_FUTSWAY.md

                    0 itens
                    • Bloco 34: troca de nome FUTsway → FUTsway e identidade nova (E20) — PROMPT_REBRAND_FUTSWAY.md

                      0 itens
                      • Bloco 33: Finalização (D96–D97, E18) — PROMPT_FINALIZACAO.md

                        0 itens
                        • Bloco 32: Inteligência Central + configuração por áudio (D91–D95, E17)

                          0 itens
                          • Bloco 31: Refinamento da Nova Análise (D83–D90, E16) — PROMPT_REFINAMENTO_NOVA_ANALISE.md

                            0 itens
                            • Bloco 29: Correções urgentes no vídeo final (pausa total, áudio original, duração selecionada) — PROMPT_CORRECOES_VIDEO_FINAL.md

                              0 itens
                              • Bloco 28: Backup incremental dos vídeos, retenção de 30 dias do vídeo original e o player do coach IA (E14) — prompt colado + PROMPT_PLAYER_AULA.md

                                0 itens
                                • Bloco 27: Aula em vídeo como entrega principal nos documentos e na página; limpeza do disco do servidor

                                  8 itens
                                  • ROADMAP: Fase 5 virou “Aula em vídeo (resultado principal)”, em andamento, no ar desde 26/10 (E13). Falta: a primeira partida real enviada por arquivo. Opcional: voz da ElevenLabs. Nota: a numeração é de planejamento, não de importância.
                                  • ESTADO: saiu a linha antiga “Aula animada e vídeo final (Fase 5): não”. A linha da aula foi para junto da análise, como resultado principal, com o que falta dito com precisão. PRD, UX e os rótulos de custo da tela (“Aula em vídeo: …”) acompanham.
                                  • Página de acompanhamento: a fase da aula aparece primeiro, em destaque, com “Entrega principal do produto”. “O que já funciona” abre com a aula. Em “O que ainda não funciona” saiu “Fase 5” e entrou o que falta de verdade. Prints 135–136.
                                  • Disco: a causa não eram as aulas. 64 % (61 GB) = 55,3 GB de imagens velhas (63 versões de cada, uma por deploy) + 3,5 GB de backups (85 pastas, um por deploy) + 0,2 GB de dados. Depois do deploy d114fc8: 16 % (16 GB), imagens 6,0 GB.
                                  • Aula pronta guarda só o MP4 e as legendas (interativa: falas e lousas). Temporários saem no fim da montagem e na limpeza de hora em hora. Aula de análise apagada sai em 1 h. Primeira limpeza em produção: 12 arquivos; aula MP4 de 14,1 → 8,8 MB; lista de arquivos conferida no banco (MP4: aula.mp4, aula.srt, aula.vtt).
                                  • Deploy: limpar-imagens.sh (fica a versão no ar + 3 mais novas) e backup de antes do deploy só com os 3 mais novos.
                                  • Pasta de trabalho do serviço: cada aula vale pela própria data (antes valia a da pasta aulas inteira).
                                  • DEPLOYMENT.md → “Disco”: medições, quanto cada aula ocupa (≈ 1,75 MB por minuto de aula MP4) e quando ampliar.
                                • Bloco 26: Vídeo-aula da própria gameplay (MP4 por arquivo, interativa por link, nos três tipos) — PROMPT_VIDEO_AULA.md + complementos do Rogério

                                  0 itens
                                  • Bloco 25: Nova Análise otimizada (trechos, custo em tempo real, perfis, formato, resultado leve) — PROMPT_OTIMIZACAO_NOVA_ANALISE.md

                                    0 itens
                                    • Bloco 24: Bloco B da auditoria externa nº 1 e pendências pequenas — PROMPT_BLOCO_B_E_PENDENCIAS.md

                                      10 itens
                                      • Pendência 2 — página de acompanhamento: blocos do "Feito até agora" já mostravam só título, data e quantidade (detalhes recolhidos); a palavra "versão provisória" dos blocos de 22–23/10 (e de títulos de commit) aparece como a de hoje ("Abrir o FUTsway", "primeira versão…") só na página; o log fica como foi escrito. Endereço público conferido: 0 ocorrências.
                                      • Pendência 3 — limite diário de IA 20: confirmado no servidor (.env = 20, backup .env.bak-202610251149 com 5; linha de 25/10 em ai_budget_day com limit_usd=20; o web em execução lê 20). A linha de cada dia nasce com o valor do .env e é atualizada a cada reserva (BudgetRepo.reserve). Padrão 20 no código, no Compose e nos dois .env.example; docs/COST_MODEL.md atualizado.
                                      • A-08/A-09 evidência material (D54): observação do modelo x prova material; quadros do arquivo com FFmpeg gravados em quadros/<usuário>/<análise>/; fato só com quadro gravado; YouTube = observação do modelo + segunda leitura cega (lotes de 8, modelo rápido, só os trechos); duração por duas fontes ("tempo incerto"); rótulo sempre no relatório (momentos e linha do tempo); migration 0016.
                                      • A-12 LGPD (D55): "Exportar meus dados" (fila account.export, zip de 24 h, auditado) e "Excluir minha conta" (senha, cascata + arquivos, auditoria sem dado pessoal, aviso de que não há e-mail); puxar-backup.ps1 com retenção de 7 dias; limpeza de quadros e zips órfãos; migration 0017.
                                      • A-02 cotas (D56) atrás de ENFORCE_PLAN_LIMITS=false; migration 0018. A revisão de segurança automática apontou que cancelar no fim ou reprocessar e falhar devolveria crédito já usado: corrigido (b63eff1).
                                      • A-18 imagens por digest, actions por SHA, SBOM/proveniência, digests-implantados.log.
                                      • A-19 CSP Report-Only → observação na produção → valendo; /api/csp-report (migration 0019); a revisão automática apontou caracteres de controle no log do relatório: corrigido.
                                      • A-20 inventário em docs/privado/INVENTARIO.md (ignorado), marcadores nos docs, variáveis SISTEMA_URL/PROD_HEALTH_URL no GitHub, USER= no .secrets.
                                      • E2E no CI (D58): job e2e com Playwright, PostgreSQL, site em modo produção, fila e serviço em replay da gravação real e2e-fluxo.
                                      • Achados no caminho: /app/analises/<id inválido> dava erro 500 (agora 404); a confirmação da exclusão se desmarcava depois de senha errada (agora fica marcada); o Caddy não relia o Caddyfile no deploy (agora é recriado quando o arquivo muda).
                                    • Bloco 23: modal de configuração do vídeo (Referência e Minha gameplay) — PROMPT_MODAL_CONFIG_VIDEO.md

                                      0 itens
                                      • Bloco 22: W3 (comparação entre agentes) e W4 (comandos e meta do FC 27) — PROMPT_W3_W4_COMPARACAO_META.md

                                        0 itens
                                        • Bloco 21: PDFs v3 na seção “Documentos” da página de acompanhamento

                                          0 itens
                                          • Bloco 20: Nova Análise v2 (W1) e DNA Intelligence (W2) — especificação do Wellington de 24/10

                                            4 itens
                                            • W1 (cc6865c, 75126e7, 8d0672c): taxonomia 38 → 48 situações; catálogos versionados (config/fundamentos.json 148 fundamentos/8 categorias/5 seleções prontas, profundidade.json, controles.json); contratos FundamentalSelection, InputHypothesis, CostEstimate; análise do vídeo filtrada por fundamentos e profundidade, comandos como hipótese, “os dois” lados; estágios por tipo (estudar um jogador, minha gameplay, comparação; comparação dos dois lados da mesma partida); /v1/estimate; migration 0012; tela nova (tipo → vídeo/jogador → fundamentos → profundidade e controle → revisão com estimativa), relatório por fundamento, controle em Minha conta.
                                            • W2 (85104a0, f91e202, e9ca13b): migration 0013 (agentes, fontes, memória, padrões, histórico, agent_comparisons para a W3, chat, orçamento do chat); motor de conhecimento (extração sem duplicar, padrões isolado/recorrente/divergente, cobertura em contagens, lacunas, evolução do Meu DNA); /v1/agents/chat; telas Meus Agentes, agente, chat, Salvar inteligência; Alimentar com vídeo (a análise entra no agente ao terminar).
                                            • D47 (9e8987d): base do meta FC 27 v2 com rótulo/escopo/fundamentos; 10 itens de mecânica oficial das Pitch Notes da EA (https://www.ea.com/games/ea-sports-fc/fc-27/news/pitch-notes-fc27-gameplay-deep-dive, consultada em 25/10).
                                            • Correção (e9ca13b, 296c5c8): a estimativa da revisão sumia ao enviar (o envio regravava a seleção; o banco devolve o JSON com as chaves em outra ordem e o cálculo de reserva rodava depois de entrar na fila). Agora a comparação ignora a ordem e o envio calcula antes; teste de regressão.
                                          • Bloco 19: ajustes do Wellington na Nova Análise (lado pelo placar + Minha gameplay por link)

                                            5 itens
                                            • Serviço de análise 95b00d5: contratos SideIdentification/TargetSide; POST /v1/stages/identify-sides (YouTube pela URL a 1 quadro/10 s, sem download; arquivo por 12 quadros do FFmpeg em 1280 px); analyze-video com target (prompt stage_video_side_rules.md, campo lado por lance; lance do adversário ou sem lado descartado e contado); comparação só entre lados alvo; verificação com lado_confere; vídeo que a IA não abre vira video_inaccessible.
                                            • Banco b22b355: migration 0011_lado_analisado (aditiva): videos.side_reading, videos.target_side. Desvio do prompt: em videos, não em analyses, porque cada vídeo tem o seu lado (D40).
                                            • Site 0178ce8: passo “Qual jogador a IA deve analisar?” / “Qual destes jogadores é você?”, corrigir siglas, leitura falha → digitar siglas, botão travado com o motivo, gameplay por link (oEmbed 401/403/404 recusa na hora), cabeçalho “Lado analisado” no relatório, links do YouTube para lances da gameplay por link.
                                            • Correção 4df4bdb: o placar do EA FC 26 é empilhado (uma sigla em cima da outra), visto ao conferir os vídeos de teste; tudo passou de “esquerda/direita” para “1º/2º do placar” (contrato, prompt da leitura, tela, relatório).
                                            • Docs: D40 (ARCHITECTURE.md), AI_PIPELINE.md, DATABASE.md, PRD.md (passos 3a/4a), KNOWN_LIMITATIONS.md, ESTADO.md (linhas novas), E5 em APROVACOES.md.
                                          • Bloco 18: FUTsway Live v0 (treinador falando durante a partida)

                                            4 itens
                                            • Serviço de análise e6abd3f: POST /v1/live/window (quadros de ~20 s → Gemini rápido com prompts/live_window.md → LiveWindowAnalysis → motor de decisão por modo com o estado vindo do site → Claude redige só as dicas faladas/exibidas com prompts/live_tip.md).
                                            • Site 2e1ef70, 8623f79, fecddac, f6ce57b, dc22f1f: sessão vira análise do tipo live (migration 0010_live_v0, aditiva); quadros 1/s por POST autenticado; dicas por Server-Sent Events (D39: o Next não aceita WebSocket nas rotas; POST + SSE passam pelo Caddy e reconectam sozinhos); teto por minuto LIVE_MAX_COST_PER_MINUTE_USD=0.05 (relógio do servidor) + orçamento diário (reserva atômica); tela /app/live com modo, fonte (PC/placa; YouTube "em breve"), prévia, dicas escritas e faladas (Web Speech API, voz provisória), atraso exibido; resumo no histórico (dicas com horário, o que se repetiu, custo por minuto, tokens, atraso médio); recuperação encerra sessões órfãs; sessão parada por 3 min encerra sozinha.
                                            • Docs b6db341: ROADMAP renumerado, referências atualizadas (docs, telas, página de acompanhamento; PDFs v2 com nota), etiqueta curta + detalhe nos cartões de fase da página (defeito do print do dono), E4 em APROVACOES.md, D39, AI_PIPELINE.md, B10, COST_MODEL.md, ESTADO.md.
                                            • Revisão de segurança automática apontou 2 problemas reais no motor (tempo do navegador podia furar o teto por minuto e encher a memória): corrigidos com teste (8623f79).
                                          • Bloco 17: correções da auditoria externa nº 2

                                            6 itens
                                            • A01/A02 5802e05: impressão digital do arquivo (migration 0009_upload_identidade, aditiva), início do envio numa transação (beginUpload), arquivo montado conferido, temporário único por parte, chave final própria de cada envio.
                                            • A05 80c07db, 81e0dce: limpeza de hora em hora (pg-boss storage.cleanup, minuto 17) e na subida; alerta de disco acima de 80 % no /api/health (o público vê só alerta: true); vigia externo falha e manda e-mail, vigia interno registra.
                                            • A06 ead3d2c: analysis com cap_drop: [ALL], no-new-privileges, read_only, /tmp em memória; FFmpeg com -timelimit.
                                            • A07 7fad621: docs/ESTADO.md + seção "Estado atual" na página de acompanhamento; PDFs v2 regerados apontando para o quadro; rolagem lateral no celular na seção de fases corrigida.
                                            • A08 1150509: ensaios em docs/TESTING.md; testar-restauracao.sh --pacote (só a cópia externa) com conferência de login.
                                            • A09/A10 2b9a273: registrados em docs/SECURITY.md.
                                          • Bloco 16: correções da auditoria externa nº 1 (Bloco A)

                                            0 itens
                                            • Bloco 15: API da Hostinger descartada

                                              4 itens
                                              • Removido scripts/reiniciar-producao.ps1.
                                              • .github/workflows/vigia-externo.yml: saiu o passo "Reiniciar pela API da Hostinger" (e a variável IP); o aviso por e-mail agora diz para reiniciar pelo painel.
                                              • Registrado em docs/SECURITY.md (decisão e motivo; não reintroduzir sem nova decisão) e docs/DEPLOYMENT.md (linha "Reinício do servidor": manual pelo painel); incidente de 23/10 atualizado.
                                              • Conferido: .secrets/hostinger-api.txt já não existia nesta máquina; gh secret list não tem HOSTINGER_API_TOKEN (nunca foi cadastrado). Busca no projeto por HOSTINGER_API, reiniciar-producao, hostinger-api, developers.hostinger: só restam as menções históricas neste log (blocos 13 e 14), mantidas como registro.
                                            • Bloco 14: blindagem do sistema aplicada, sudo do deploy e Gemini pago

                                              5 itens
                                              • blindar-host.sh ganhou o passo do sudo (/etc/sudoers.d/<USUARIO_DEPLOY>, 0440, validado com visudo -c -f antes de instalar e visudo -c depois). Aplicado às 21:58 com docker run --rm -i --privileged --pid=host alpine:3 nsenter -t 1 -m -u -i -n -p -- bash -s.
                                              • Conferência no servidor: sudo -n true → ok; visudo -c → /etc/sudoers.d/<USUARIO_DEPLOY>: parsed OK; swapon --show → /swapfile file 4G 0B; kernel.panic = 10, kernel.hung_task_panic = 1, kernel.softlockup_panic = 1, vm.swappiness = 10; RuntimeWatchdogUSec=1min, RebootWatchdogUSec=5min, softdog carregado, /dev/watchdog0; journald Storage=persistent (/var/log/journal/…).
                                              • /opt/futsway/.env: cópia .env.bak-202610232201 (0600) e troca para GEMINI_MODEL=gemini-4-argon, GEMINI_MODEL_FAST=gemini-3.8-flash; reservas sem mudança (padrão gemini-3.5-flash-lite,gemini-3.8-flash). Padrões do Compose e .env.example alinhados.
                                              • Preços: https://ai.google.dev/gemini-api/docs/pricing consultada em 2026-10-23 ("Last updated 2026-10-22 UTC"): gemini-4-argon US$ 2,00 / 10,00 (entrada/saída por 1 M tokens) até 30/11/2026, depois 4,00 / 20,00; gemini-3.8-flash e gemini-3.6-flash 0,75 / 3,75 até 31/12/2026, depois 1,50 / 7,50; gemini-3.5-flash-lite 0,30 / 2,50. Iguais aos já cadastrados; acrescentado o preço de cache (cache_read) em pricing.json.
                                              • Docs: B11 resolvido (KNOWN_LIMITATIONS.md), D37 (ARCHITECTURE.md), SECURITY.md (sudo e por que o risco não muda: o <USUARIO_DEPLOY> já era do grupo docker), DEPLOYMENT.md, incidente (pendência do sistema resolvida).
                                            • Bloco 13: diagnóstico das quedas do servidor e blindagem

                                              0 itens
                                              • Bloco 12: Fase 2 — a IA de verdade (encanamento real em produção)

                                                5 itens
                                                • Serviço de análise: GeminiProvider real (URL do YouTube em fileData, arquivo pela Files API e apagado ao fim, triagem em resolução baixa, 2ª passada densa a 5 qps limitada por orçamento, 3 tentativas com espera crescente, modelos reserva), ClaudeProvider real (pares, diagnóstico, verificação, recomendações), regras determinísticas em stages.py, costs.py + config/pricing.json (fonte e data), prompts versionados em prompts/, gravação/reprodução (Cassette), endpoints /v1/stages/*.
                                                • Banco: migration aditiva 0006_resultados_ia (evidências por evento, índice de custo); custo por estágio somado (inclusive tentativas que falharam), gasto do dia por chamada (horário de Brasília), ResultsRepo.
                                                • Site: worker encadeia identificação de situações → análise A → análise B → comparação → diagnóstico → verificação → recomendações → finalização; aula animada e vídeo final aparecem "não incluída nesta versão"; guarda de orçamento antes de cada estágio pago (alerta em 80 %); Cancelar e Retomar de onde parou; página de resultado (resumo honesto, pares com minuto certo no YouTube e no vídeo do jogador, pontos fortes, o que mais custa, recomendações, tudo o que a IA registrou, custo real); /api/health com os dois provedores; vídeo do usuário servido com Range só para o dono. Aviso antigo "a análise com IA ainda não está ativa" removido do assistente (busca no projeto inteiro).
                                                • Problema encontrado e corrigido no caminho: na revisão de trecho recortado, o Gemini misturou na mesma resposta o relógio do trecho e o do vídeo (ex.: lance em 00:01 com o jogo começando em 00:20). Agora a 1ª passada sempre começa no início do vídeo e cada lance da revisão é conferido um a um (dentro do trecho = mantém; relativo = desloca; incoerente = descarta e anota).
                                                • Docs: ARCHITECTURE.md (D37), AI_PIPELINE.md (como cada estágio chama o modelo, regras, amostragem, falhas, limites), COST_MODEL.md (preços com fonte/data, guarda de orçamento), KNOWN_LIMITATIONS.md (B1 e B9 resolvidos, B4 continua, B11 novo, limites reais da API), ROADMAP.md (Fase 2 em andamento), APROVACOES.md (E3).
                                              • Bloco 11: documento de ferramentas v2 publicado

                                                1 item
                                                • PDF e HTML fonte de "Ferramentas, serviços e assinaturas v2" no repositório e na seção "Documentos" da página; revisões em docs/ARCHITECTURE.md (Vercel dispensada, Supabase e R2 adiados, Hetzner só como opção futura depois do upgrade da Hostinger, atendimento Crisp + WhatsApp Business → D36); B2 atualizado; histórico da página continua recolhido (título, data e quantidade de itens; detalhes em <details>).
                                              • Bloco 10: FUTsway Live (coach durante a partida) entra no projeto como Fase 6

                                                7 itens
                                                • Contratos Pydantic novos (services/analysis/futsway_analysis/contracts/live.py): LiveWindowAnalysis (janela de 15–30 s, eventos dentro da janela, evidências existentes), LiveTip (texto até 160 caracteres, categoria, gravidade, rótulo, confiança, evidência obrigatória, momento do lance e da decisão, modo, entrega falada/exibida/pos_partida; hipótese nunca falada; simulação proibida; silencioso só pós-partida) e LiveSessionSummary. JSON Schemas exportados para packages/contracts/schemas e tipos TS gerados (LiveMode, TipSeverity, TipDelivery, CaptureSource exportados).
                                                • Motor de decisão por modo (services/analysis/futsway_analysis/live/decision.py, LiveCoach): gravidade e confiança mínimas por modo, intervalo mínimo entre falas (120/60/25 s), cooldown por categoria (300/180/90 s), sem repetir a mesma dica, no máximo uma fala por janela, lance com mais de 40 s não é falado, candidata sem evidência na janela é descartada; resumo com categorias recorrentes. 14 testes novos em tests/test_live.py, com entradas simuladas marcadas como FIXTURE.
                                                • Banco: migration aditiva 0005_live.sql com coach_settings, live_sessions, live_windows e live_tips (RLS forçada; políticas por usuário no Supabase); LiveRepo com userId obrigatório; 2 testes novos (isolamento entre usuários, dica sem evidência recusada).
                                                • Sistema: item "FUTsway Live" no menu (/app/live): explicação em linguagem de jogador (exemplos do Wellington), aviso "Disponível na Fase 6. Hoje você já pode deixar suas preferências salvas.", atraso declarado de 10–30 s ("quase em tempo real"), captura por plataforma, custo por minuto sem valores. Formulário que salva o modo preferido, a voz e o volume em coach_settings, também em Minha conta. Sem botão de iniciar sessão.
                                                • Docs: PRD.md §11 (objetivo, jornada, modos com regra objetiva, captura, limites, métricas) e público; AI_PIPELINE.md (Módulo Live); ARCHITECTURE.md (D31–D35); DATABASE.md; COST_MODEL.md (Live por minuto com fator por modo, sem valores); KNOWN_LIMITATIONS.md (B10); ROADMAP.md (Fase 6, com a observação sobre antecipar para depois da Fase 2); APROVACOES.md (E2, aguardando aprovação).
                                                • Página de acompanhamento: seção "Documentos" com o PDF v2 (atual) e o v1 (histórico), copiados para dist/docs/; 6 fases; E2 com link para a seção; o Live nas listas "o que já funciona / o que ainda não funciona".
                                                • Observação: a taxonomia tem 38 categorias em taxonomy.py (o pedido citava 37); D35 registra o número real.
                                              • Bloco 9: o servidor Hostinger é PRODUÇÃO (sem avisos de versão provisória) e backup diário

                                                7 itens
                                                • Interface: removida a faixa "Ambiente provisório" (environment-banner.tsx, NEXT_PUBLIC_ENVIRONMENT no código, Dockerfile, Compose, gerar-env.sh e .env.example).
                                                • Texto visível achado na busca: o plano de entrada se chamava "Gratuito / Demonstrativo" (semente da migration 0001). Migration aditiva 0004_plano_gratuito_nome renomeia para "Gratuito" (só se o nome ainda for o original); teste novo no pacote db.
                                                • Renomeações: deploy/demo/ → deploy/producao/; variável DEMO_HOST → APP_HOST (também no /opt/futsway/.env do servidor, com cópia de segurança apagada depois do deploy verde); workflow "Deploy demo (Hostinger)" → "Produção (Hostinger)" (.github/workflows/producao.yml); segredos DEMO_SSH_ → PROD_SSH_ (novos criados; antigos apagados depois do primeiro deploy verde); scripts/deploy-demo.ps1 → scripts/deploy-producao.ps1; .secrets/hostinger-demo.txt → .secrets/hostinger-producao.txt; nome do servidor futsway-demo → futsway; deploy key do GitHub futsway-demo → futsway-producao (mesma chave, só leitura); job do CI demo-compose → producao-compose, que agora garante que a página não tem a faixa. Chaves locais ~/.ssh/futsway_demo* mantidas (nome histórico, registrado em docs/DEPLOYMENT.md).
                                                • Página de acompanhamento: botão "Abrir o FUTsway", texto "Esta página é o acompanhamento. Para usar o sistema, abra o FUTsway."; o gerador lê "Endereço do sistema:" em docs/DEPLOYMENT.md. E1 em docs/APROVACOES.md aponta para "o sistema no ar".
                                                • Backup de produção: deploy/producao/backup.sh (pg_dump -Fc + uploads.tgz + SHA256SUMS, confere o dump, guarda 7 dias em <BACKUPS_SERVIDOR>); cron diário às 03:30 instalado por atualizar.sh, que também faz backup antes de cada atualização; deploy/producao/testar-restauracao.sh (restaura num banco temporário, compara contagens, apaga o temporário); scripts/backup-producao.ps1 copia o último backup para <BACKUPS_NOTEBOOK>\ e confere as somas (até existir o R2).
                                                • Docs: README.md, docs/DEPLOYMENT.md (seção Produção: regras, backup, restauração, operação), docs/ARCHITECTURE.md (D30), docs/KNOWN_LIMITATIONS.md e docs/PRD.md sem "demonstrativo".
                                                • Prints antigos com a faixa (14–19-demo-*) removidos da galeria; novos sem faixa: 14-producao-inicio.png, 15-producao-cadastro-celular.png, 16-producao-assinatura-celular.png.
                                              • Bloco 8: primeira versão no ar (Hostinger São Paulo) e teste ponta a ponta

                                                6 itens
                                                • Servidor futsway-demo (Hostinger KVM 2, São Paulo, Ubuntu 24.04.5, IP <IP_PRODUCAO>). Acesso inicial pela chave ~/.ssh/futsway_demo cadastrada pelo dono no painel (sem senha root).
                                                • bootstrap.sh passou a ter duas etapas: preparo (nome futsway-demo, usuário <USUARIO_DEPLOY> só com chave, Docker 29.9.2 + Compose v5.6.1, ufw 22/80/443, fail2ban, unattended-upgrades, fuso de SP, swap 2 GB) e travar (sem senha, sem root), executada só depois de confirmar que deploy entra por chave.
                                                • Deploy key só-leitura futsway-demo no GitHub; código em /opt/futsway/app; /opt/futsway/.env gerado no próprio servidor (permissão 600; segredos nunca saíram de lá).
                                                • Deploy automático: chave separada para o GitHub Actions (~/.ssh/futsway_demo_actions); segredos DEMO_SSH_HOST, DEMO_SSH_USER, DEMO_SSH_KEY, DEMO_SSH_KNOWN_HOSTS gravados (impressão digital conferida com a do servidor).
                                                • Correção encontrada no teste: aviso de hidratação do React (#418) na tela de processamento. O servidor (UTC no contêiner) e o navegador (Brasília) formatavam a data diferente. Criado lib/dates.ts com fuso fixo America/Sao_Paulo, usado nas 4 telas com data, mais teste.
                                                • Docs: endereço da demo e mapa de servidores em docs/DEPLOYMENT.md; E1 aponta para a demo em docs/APROVACOES.md; link no README.md; botão "Abrir o FUTsway" na página de acompanhamento.
                                              • Bloco 7: primeira versão online pronta para publicar (aguardando o VPS)

                                                9 itens
                                                • .secrets/hostinger-demo.txt ainda não existe: feito tudo que independe do servidor (conforme PROMPT_DEMO_ONLINE.md). Pasta .secrets/ confirmada no .gitignore.
                                                • Web: output: "standalone" com rastreamento a partir da raiz do monorepo e as migrations SQL incluídas; faixa "Ambiente provisório" quando NEXT_PUBLIC_ENVIRONMENT=demo (embutida no build).
                                                • Correção encontrada no teste: atrás de proxy, os redirecionamentos do proxy.ts (ex.: /app → /login) apontavam para o endereço interno (http://127.0.0.1:3100/...). Agora usam X-Forwarded-Host/X-Forwarded-Proto (o web só é alcançável pelo Caddy). Cookie de sessão já é secure em produção.
                                                • Contêineres: apps/web/Dockerfile (Node 24, standalone, usuário node, healthcheck), services/analysis/Dockerfile (Python 3.12 slim + FFmpeg do apt, usuário sem privilégio, healthcheck), .dockerignores.
                                                • deploy/demo/: docker-compose.yml (postgres:16, analysis sem porta publicada, web, caddy; volumes pgdata, storage, analysis-work; limites de memória), Caddyfile (HTTPS automático, 16 MB por requisição: o upload é em partes de 8 MB), .env.example, gerar-env.sh (segredos gerados no próprio servidor), atualizar.sh (sobe e confere /api/health), bootstrap.sh (usuário <USUARIO_DEPLOY> só com chave, Docker, ufw 22/80/443, fail2ban, unattended-upgrades, fuso de SP, swap 2 GB, SSH sem senha e sem root, deploy key só-leitura do GitHub).
                                                • .github/workflows/deploy-demo.yml: após CI verde de push na main deste repositório, publica por SSH (host conferido por known_hosts, commit precisa pertencer à main). Sem os segredos DEMO_* falha com mensagem clara e não publica. scripts/deploy-demo.ps1 para publicação manual.
                                                • CI ganhou o job demo-compose: monta as duas imagens e sobe postgres + analysis + web de verdade no Linux do GitHub (substitui o teste com Docker que esta máquina não tem).
                                                • Página de acompanhamento: bloco "o que dá para testar / o que ainda não funciona" e botão "Abrir o FUTsway", que aparece sozinho quando docs/DEPLOYMENT.md tiver o endereço real.
                                                • docs/DEPLOYMENT.md: seção do ambiente demo (mapa de servidores, primeira instalação passo a passo, publicar, logs, reiniciar, backup e restauração do pgdata e dos uploads, avisos).
                                              • Bloco 6: CI no ar, correção de arquivo fora do repositório e decisões de ferramentas do dono

                                                6 itens
                                                • O primeiro CI no Linux revelou que apps/web/src/server/storage/index.ts nunca tinha sido versionado: a regra storage/ do .gitignore ignorava também o código-fonte. Corrigido para /storage/ (só a raiz) e o arquivo entrou no repositório. Conferido com um clone limpo: npm ci + npm run build + typecheck + testes passam.
                                                • Teste test_versions_available exigia FFmpeg 8 exato (versão do Windows de dev); passou a exigir só versão detectável.
                                                • CI: FFmpeg instalado por binário pronto (FedericoCarboni/setup-ffmpeg@v3) porque o apt-get update do runner travou mais de 10 min; limite de 20 min por job.
                                                • FUTsway_Ferramentas_Servicos_Assinaturas.pdf (versão de 21/10 18h) movido para docs/referencias/ (tinha entrado por engano na raiz no commit 0ea4035).
                                                • Decisões do documento registradas em docs/ARCHITECTURE.md (D14–D29): Gemini (AI Studio → Vertex AI), Claude Sonnet 5.5 para diagnóstico/coach, RF-DETR + ByteTrack + OpenCV (sem YOLO por licença AGPL), Roboflow, ElevenLabs v3, Remotion + Three.js, Cloudflare R2, Hetzner CCX33, Vercel Pro, Stripe + eNotas, Resend, Sentry, Better Stack, PostHog, Turnstile, 1Password. Nenhuma vira código agora.
                                                • .env.example com as variáveis previstas (marcadas "ainda não usado pelo código"); docs/KNOWN_LIMITATIONS.md com fornecedores decididos em B3/B6/B8 e novo bloqueio B9 (chave da API do Claude); docs/DEPLOYMENT.md com Vercel Pro, Hetzner e R2 como alvo.
                                              • Bloco 5: página de acompanhamento no Cloudflare Pages e CI

                                                10 itens
                                                • docs/APROVACOES.md: ciclo implementar → corrigir → testar → Wellington aprova; etapa E1 (Fundação) entra como aguardando aprovação.
                                                • Gerador scripts/acompanhamento.mjs (Node puro, sem dependências): lê aprovações, roadmap, este log, bloqueios B1–B8, telas e git log; escreve apps/acompanhamento/dist/ (index.html, styles.css, logo.svg, screenshots/). Sem JavaScript no cliente. Página diz explicitamente que não é o aplicativo e que o FUTsway ainda não está online.
                                                • Visual pelo design system (carvão/chumbo/branco-gelo, verde-limão só em destaques, Sora + Inter); emblema exportado como SVG estático de apps/web/src/components/brand/Emblem.tsx.
                                                • Scripts npm run acompanhamento:build e npm run acompanhamento:dev (gera e serve em http://127.0.0.1:4321 com servidor HTTP mínimo embutido, sem dependência nova).
                                                • Correção durante o teste: cards das fases vazavam 8 px na largura de celular (grade sem minmax(0, 1fr)); corrigido e conferido sem rolagem lateral em 390 px.
                                                • Cloudflare (conta da BANMO): projeto futsway-acompanhamento criado pela API REST (success=True, futsway-acompanhamento.pages.dev); primeira publicação manual com wrangler pages deploy → 16 arquivos enviados, "Deployment complete".
                                                • Segredos CLOUDFLARE_API_TOKEN (lido do arquivo, valor nunca exibido) e CLOUDFLARE_ACCOUNT_ID gravados no GitHub com gh secret set.
                                                • .github/workflows/acompanhamento.yml: a cada push na main gera e publica; falha com mensagem clara se faltar segredo ou se o index.html sair vazio.
                                                • .github/workflows/ci.yml: Ubuntu; Node 24 (npm ci, build, typecheck, testes, gerador) e Python 3.12 + FFmpeg (pytest, ruff, mypy).
                                                • docs/DEPLOYMENT.md e README.md com o endereço, a conta, onde fica o token (só o caminho) e o comando manual.
                                              • Bloco 4: correções de segurança após revisão

                                                3 itens
                                                • 688455c — redefinição de senha: fora de desenvolvimento nenhum token é emitido nem logado (sem provedor de e-mail, B8); o usuário recebe aviso para falar com o suporte. Em dev o link continua no console, marcado "SOMENTE DEV".
                                                • 0ea4035 — upload: teto de tamanho por parte (lê content-length e recusa parte acima do limite); login: conta bloqueada ou inativa recebe a mesma resposta genérica e a senha é processada mesmo assim (não revela estado da conta pelo tempo de resposta); /api/health público responde só { ok }, detalhes só para admin logado ou com o token interno (comparação em tempo constante); erros internos da fila viram mensagens neutras para o usuário e o detalhe fica só no log do servidor.
                                                • O mesmo commit 0ea4035 incluiu por engano o PDF FUTsway_Ferramentas_Servicos_Assinaturas.pdf na raiz (tratado no bloco seguinte).
                                              • Bloco 3: banco, fila, contratos TS e aplicação web (Fase 1)

                                                6 itens
                                                • packages/db: migrations 0001_init (31 tabelas, planos sem preço), 0002_rls_supabase (RLS + políticas auth.uid() só quando o schema auth existir), 0003_rls_lockdown (RLS em todas as tabelas restantes; sem política permissiva ⇒ só o papel de serviço acessa; leitura de catálogos para autenticados). Cliente único (pg em produção; PGlite em dev, marcado), migrate idempotente, repositórios com filtro obrigatório por user_id, pg-boss sobre adaptador (funciona no PGlite).
                                                • packages/contracts: tipos TS gerados dos JSON Schemas do Python (fonte única).
                                                • apps/web (Next.js 16, Cache Components, Tailwind 4): design system com os 7 tokens do kit, Sora/Inter, emblema e logotipo em SVG provisório; cadastro/login/recuperação de senha (Argon2id, sessão em banco, cookie httpOnly, bloqueio após 5 falhas); proxy.ts com verificação otimista; dashboard; histórico; nova análise em 5 passos (referência por link do YouTube via oEmbed público ou arquivo; upload retomável em partes de 8 MB com verificação de tipo real por magic bytes; objetivos; contexto; revisão); página de processamento com etapas reais (polling a cada 3 s); minha conta (perfil, sessões ativas); assinatura (planos sem preço, aviso de cobrança desligada); treinos (vazio honesto); /api/health.
                                                • Workers no processo do Next (instrumentation.ts): job de ingestão chama o serviço Python, grava video_metadata/video_segments, marca vídeo validated; quando as duas ingestões terminam, enfileira a análise, que para em blocked com motivo B1.
                                                • Correções durante o teste: connection() antes de ler sessão (erro de pré-renderização do Next 16); PGlite cria o diretório pai; adaptador do pg-boss devolve as linhas de todas as instruções; layout de "Minha conta"; status do vídeo atualizado pelo polling; dados locais movidos para ~/.futsway/ (dentro do repositório, cada escrita do PGlite disparava o watcher do Next e a página recarregava em loop).
                                                • Documento do dono FUTsway_Contas_Assinaturas_Custos.pdf (apareceu na pasta durante o bloco) movido para docs/referencias/ e resumido em docs/KNOWN_LIMITATIONS.md; nada nele contradiz a arquitetura (R2 = S3-compatível; Resend; Sentry; pagamento Stripe/MP/Asaas; preços são decisão do dono).
                                              • Bloco 2: serviço Python de análise (services/analysis)

                                                8 itens
                                                • Contratos Pydantic v2 dos 9 estágios (contracts/): IngestionResult, VideoAnalysis, MatchingResult, Diagnosis/VerifiedDiagnosis, RecommendationSet, LessonPlan, RenderedReport, ValidationReport. Validações de integridade: fato observado exige evidência; correspondência abaixo da similaridade mínima é rejeitada; recomendação sem evidência só pode ser hipótese; cena 3D exige dados estruturados; campos desconhecidos são erro.
                                                • Taxonomia própria de EA FC (taxonomy.py): 37 categorias em 4 grupos, cada uma com definição, exemplo, critério de evidência e se é observável diretamente.
                                                • Módulo A real (ingestion/): ffprobe (metadados), cortes de cena (select=gt(scene,…)), trechos estáticos (freezedetect), segmentação gameplay/estático/transição, amostragem base 1 fps e densa 8 fps em CPU, orçamento de quadros. Segurança: -protocol_whitelist file, contêiner validado contra lista, -t limita decodificação ao teto, timeouts viram erro de domínio.
                                                • Provedores: interface VideoAnalysisProvider; GeminiProvider bloqueia antes de qualquer chamada sem GEMINI_API_KEY (e falha explicitamente mesmo com chave: integração pendente de validação com vídeos reais); NullProvider só para testes.
                                                • Matching contextual puro (matching/context.py): similaridade por zona, posse, adversários, pressão, opções, espaço, fase; cobertura reduz confiança; nunca compara pelo minuto; nunca força par.
                                                • API FastAPI interna com token (/v1/health, /v1/ingest, /v1/analyze → 503 com código provider_not_configured).
                                                • Base de conhecimento EA FC 27 com esquema (fonte + data obrigatórios), vazia de propósito.
                                                • JSON Schemas exportados para packages/contracts/schemas (10 arquivos).
                                              • Bloco 1: confirmação do ambiente e fundação do repositório

                                                5 itens
                                                • Confirmação do ambiente (sem re-auditar o resto):
                                                • git init -b main em D:\workspace\FUTsway.
                                                • Kit de marca movido de FUTsway_Kit_Imagens_Separadas/ para design/brand-kit/ (31 arquivos). Inspeção visual de 01, 02, 03, 22, 23 para vetorização do logo.
                                                • .gitignore (segredos, node, python, mídia, PGlite) e .env.example documentado.
                                                • Documentação obrigatória criada: README, PRD, ARCHITECTURE (decisões D1–D10 + riscos), DATABASE, AI_PIPELINE, VIDEO_RENDERING, UX_GUIDELINES, DESIGN_SYSTEM, SECURITY, TESTING, DEPLOYMENT, COST_MODEL, ROADMAP, KNOWN_LIMITATIONS (B1–B7), este log.

                                              Telas atuais

                                              Capturas reais do sistema rodando. Toque numa tela para ver em tamanho grande.

                                              Telas anteriores à troca de nome (188): mostram a marca antiga e continuam como referência das etapas em aprovação

                                              Aguardando o dono

                                              O que só o dono pode providenciar e o que acontece enquanto não chega.

                                              Lista atualizada em 23/10/2026.

                                              ~~B1~~

                                              ~~Chave do Gemini~~ resolvido em 2026-10-23 (chave em .secrets/gemini.txt, no .env local e no do servidor)

                                              Para que serve: assiste aos vídeos

                                              Enquanto não vem: —

                                              ~~B11~~

                                              ~~Ativar a cobrança da conta do Google~~ resolvido em 2026-10-23 (cobrança ativada pelo dono; produção com GEMINI_MODEL=gemini-4-argon e GEMINI_MODEL_FAST=gemini-3.8-flash, reservas mantidas)

                                              Para que serve: modelo principal, fila normal e vídeos fora do treino do Google

                                              Enquanto não vem: —

                                              B2

                                              Projeto Supabase (URL + chaves) e Cloudflare R2; adiados para quando houver volume de clientes (D21/D24 revistas em 2026-10-23)

                                              Para que serve: banco e armazenamento de vídeos gerenciados na nuvem

                                              Enquanto não vem: sem bloqueio hoje: a produção usa PostgreSQL e disco no próprio servidor (D30), com backup diário e cópia externa manual

                                              B3

                                              Conta Stripe (decidido; Asaas/Mercado Pago como plano B), que exige CNPJ e conta PJ

                                              Para que serve: cobrar assinaturas

                                              Enquanto não vem: assinatura só com plano gratuito; interface pronta, cobrança desligada

                                              B4

                                              Partidas reais: o Rotcha faz a primeira análise pelo site (link do YouTube de um pro em A, a própria gameplay em B) — etapa E3

                                              Para que serve: validar se a análise funciona de verdade

                                              Enquanto não vem: o encanamento está provado (vídeo público + vídeo sintético); a qualidade da análise não está validada e a Fase 2 não é declarada validada antes disso

                                              B5

                                              Logotipo original em SVG ou PNG alta com fundo transparente

                                              Para que serve: interface e vídeo final com a marca exata

                                              Enquanto não vem: usamos um SVG recriado a partir do kit, marcado como provisório

                                              B6

                                              Conta ElevenLabs (narração; decidido)

                                              Para que serve: voz natural da ElevenLabs na aula e no Live

                                              Enquanto não vem: atualizado 26/10: a aula já narra com a voz do Google (Gemini TTS, mesma conta e cobrança do Gemini); com a chave em .secrets/elevenlabs.txt → ELEVENLABS_API_KEY, a ElevenLabs passa a ser a primeira da fila sozinha (código pronto). Sem nenhuma voz paga, a Piper offline narra, marcada “voz provisória”

                                              B7

                                              Preços dos planos

                                              Para que serve: cobrar

                                              Enquanto não vem: planos sem preço até aprovação

                                              B8

                                              Conta Resend (e-mail; decidido)

                                              Para que serve: enviar link de recuperação de senha e notificações

                                              Enquanto não vem: em dev o link de redefinição aparece no console do servidor; fora de dev a redefinição fica desligada (nenhum token é gerado) até existir provedor

                                              ~~B9~~

                                              ~~Chave da API do Claude~~ resolvido em 2026-10-23

                                              Para que serve: comparação, diagnóstico, verificação, recomendações

                                              Enquanto não vem: —

                                              B10

                                              FUTsway Live (Fase 3): validação com partidas reais do Rotcha (E4)

                                              Para que serve: coach durante a partida

                                              Enquanto não vem: v0 no ar (24/10): PC ou placa de captura pelo navegador, janelas de 20 s, dicas escritas e faladas pela voz do navegador, teto de custo por minuto, resumo no histórico. Não cobre ainda: voz natural (ElevenLabs, B6), console sem placa pelo YouTube (v1), API Live do Gemini, comparação com o pro durante a partida, celular. Atraso real de 20–40 s (a janela de 20 s + a análise); qualidade das dicas não validada com partidas reais; quadros de 1 por segundo não mostram o movimento entre eles

                                              Próximos passos

                                              O último registro (30/10/2026) não traz próximo passo.

                                              Histórico de alterações

                                              1. b6275b830/10/2026docs: bloco 44 (E31–E33 na produção) e aprovações E30–E33
                                              2. 2f78feb30/10/2026fix(live): nome do vídeo na fonte do conhecimento ensinado; DESIGN_SYSTEM com o cabeçalho; validações E32/E33
                                              3. 4132e6f29/10/2026feat(live): o conhecimento ensinado em vídeos explicativos chega ao módulo do agente no FS Live, com a fonte e o minuto (E33, teste 7)
                                              4. 6a5a77829/10/2026feat(ensinar): E33 — Ensinar IA — Vídeos e Conhecimentos (área única em DNA Intelligence: YouTube e Shorts, arquivo, aulas e gravações da Academy com autorização do treinador, áudio e texto; destinos Central com aprovação, agente existente, Super Agente e agente exclusivo de pro player parceiro; minuto, trecho, versão do FC 27, confiabilidade e histórico; sem duplicar nem perder) e conexão oficial do Instagram (Reels do próprio dono pela Meta, token cifrado, só leitura); migrations 0038 e 0039
                                              5. d26908a29/10/2026fix(live): nome FS Live também no título das sessões e no resumo; validação E32 e prints depois (E31)
                                              6. 634acd029/10/2026feat(live): E32 — FS Live coordenado: Agente Principal com módulos (Central FC 27, Tática e meta, Passes, Defesa, Movimentação, Decisões, Mental Coach, Anomalias e agentes do usuário), coordenador com uma fala por janela (prioridade, sem repetir em 180 s, contradição resolvida pela evidência, módulo e observado registrados), módulos ligados/desligados durante a sessão, Análise de Anomalias da Gameplay (classificação, 3+ ocorrências para falar, histórico só com 5 partidas, Marcar momento + tecla M), Como você está chegando para jogar hoje? (áudio/texto, só da sessão, Meu DNA opcional, tons com Personalizado), uma leitura de imagem por janela e reescrita só da fala escolhida; migration 0037
                                              7. 9cf9d1b29/10/2026fix(home-publica): cards com a proporção da imagem (mídia 16:8, alternativas em uma linha)
                                              8. 9c1701c29/10/2026fix(home-publica): prévia mostra só o player (como na imagem) e título/espaçamentos mais próximos da referência
                                              9. aec86e529/10/2026fix(live): autorização pública na página da sessão do FS Live (trecho gravado na Home pública)
                                              10. 497352129/10/2026fix(analise): autorizações da Home e do público no resultado da análise (antes só em Ver etapas); docs/INSTAGRAM_CONECTAR.md; comparação da Home v1
                                              11. 034ed2d29/10/2026fix(home-publica): páginas públicas só em tempo de execução (connection(): o build do servidor não tem banco e parava em /pro-players); anel lido no quadro parado escondido até a medição passar de 80 % (decisão 11); medição E30 (7 pausas, 1 anel, errado)
                                              12. 731a2cc29/10/2026fix(home-publica): trecho do FS Live só com autorização pública do dono; ocultar itens só pelo dono; migration 0037 (FS Live módulos) registrada; log do bloco 43
                                              13. df9a54d29/10/2026fix(home-publica): páginas públicas dentro de Suspense (cacheComponents: o build parava em /assistir/[id])
                                              14. d57c96629/10/2026feat(home-publica): E31 — Home pública fiel à imagem de 29/10 (hero, prévia no player real, Jogada do dia, PRO vs PRO, Erro ou acerto?, Coach IA ao vivo, Análises em destaque com abas, Comunidade, Evolução dos jogadores só com autorização), menu em cima na plataforma inteira (cabeçalho com Início, Análises, Meus Agentes, Treinos, FS Live, Academy; Assinatura, Minha conta, Administração e Sair no menu da foto; três traços no celular), "FS Live" no lugar de "DNA Live", páginas públicas (Explorar, Pro Players + "Quero ser parceiro", Academies públicas, Como funciona, busca), Comunidade FUTsway (tópicos, respostas, categorias, moderação, denúncia, conta oficial), player público "Assistir análise grátis" com arquivos em cache e limite por endereço, painel da Home pública na administração, autorização pública do dono da análise, consentimento para os números na Home; migration 0036
                                              15. 09c269a29/10/2026feat(player): E30 — player de análise no padrão da imagem de 29/10: cards flutuantes "Análise com IA · fundamento · minuto" e decisão com progresso, anel verde-menta no jogador e vermelho no alvo, seta tracejada animada e cone translúcido, controles numa linha com barra verde-menta, menu lateral (Análise tática, Posicionamento, Tomada de decisão, Comandos utilizados, Clipes em destaque) que filtra e pula; desenhos dentro da imagem do vídeo (barras pretas de fora); posição lida pela IA no quadro parado (selo "posicao_no_quadro", calculada uma vez na etapa de localização, por arquivo e por link), sem seta quando não há posição confiável
                                              16. e5a5bfd29/10/2026docs+validacao: E22–E29 validadas na produção (bloco 42), revisão de segurança refeita, roteiros Playwright e prints; "Ensinar/Corrigir" do Super Agente aceita o perfil consolidado pela IA; prompts executados para o histórico; referências do Wellington de 29/10
                                              17. bd727f629/10/2026fix(onboarding+chat): modal do primeiro acesso fica montado depois de "Padrão" (mostra "Pronto!" e "Vamos conhecer sua gameplay?"); teto por pergunta do chat 0,05 → 0,10 (pelo Gemini, na reserva sem crédito da Anthropic, a estimativa chega a ~0,09 e a pergunta era recusada)
                                              18. 6cc54e329/10/2026fix(seguranca+validacao): revisão de segurança e356989..e62c317 e dois defeitos achados na validação E23–E29 na produção
                                              19. e62c31729/10/2026feat(live): E29 — Mental Coach: placar e situação na mesma leitura da janela (sem custo extra), regra pura com 2+ ocorrências, silêncio em momento crítico, prioridade da fala técnica, estilos, falas guardadas e bloco "Disciplina competitiva"; Inteligência Mental (usuário e administrador, domínio mental.* no catálogo); docs: APROVACOES/ESTADO/ARCHITECTURE E23–E29, log dos blocos 40–41, caderno do Colab testado de ponta a ponta
                                              20. cd91dfc29/10/2026feat(onboarding): E28 — primeiro acesso Padrão/Personalizado persistido no servidor (contas antigas = personalizado), "Vamos conhecer sua gameplay?", contexto pessoal confirmado (Meu DNA), 5 templates oficiais administráveis com itens da Inteligência Central, DNA Live carregando o template; correção de acesso (home_allowed) apontada pela revisão
                                              21. 89bc00929/10/2026feat(home): E27 — Home do usuário com curadoria (Análises da Semana, Aulas em Destaque, Continue, Recomendado explicável, Comece agora), painel de administração, sugestão/publicação por parceiro com permissão, autorização do dono da análise; rótulo "DNA Live"; visão: zip com 150 revisados, folhas de revisão, log do bloco 39
                                              22. b0eaff929/10/2026feat(agentes): E25 Coach IA do treinador (7 dias grátis, assinaturas liberadas, chat com camadas e trechos) e E26 Super Agente no site (versões, consentimento, alimentar/corrigir/desfazer/testar, uso na aula); visão: zip COCO, caderno do Colab e passo a passo; log do bloco 38
                                              23. e829a2728/10/2026fix(academy): limite de carregamento do segmento /academy (cacheComponents: dados do pedido só dentro de Suspense; o build parava na aula)
                                              24. 6e43e6828/10/2026feat(academy): E24 parte 2 — telas: área do aluno (/academy/[slug]) com continuar assistindo, aulas individuais, biblioteca, recomendados, progresso e Coach IA; aula e gravação; aceite de convite; painel do treinador (personalizar, módulos e aulas, gravações por aluno, alunos, métricas, permissões); administração de Academies e de Contas; atalhos na navegação; /academy protegido; correções da revisão de segurança (teto real de bytes no envio, rate limit ao duplicar, gravações do aluno saem com a conta, módulo só da própria Academy); nome do aluno pelo perfil; testes de isolamento no banco e do link assinado; log do bloco 38 e diagnóstico da queda em docs/
                                              25. 34e618528/10/2026merge: E24 parte 1 (banco e servidor da Academy) na main
                                              26. c5b2c5d28/10/2026feat(academy): E24 parte 1 (banco e servidor) — academies, vínculos, convites, módulos, aulas (link ou arquivo), gravações de mentoria por aluno convertidas para 720p na fila academy.recording.v1 com validade, progresso, atividade; acesso conferido no servidor; links assinados por usuário; envio em fluxo com cota; "Excluir conta" da administração; migration 0030
                                              27. a75492928/10/2026fix(deploy): limpeza do Docker no fim de toda publicação bem-sucedida — fica a imagem no ar e a anterior, cache de montagem limitado a 4 GB, df antes e depois
                                              28. c801f6b28/10/2026merge: E23 bibliotecas (pastas, busca, filtros, favoritos, seleção múltipla) na main
                                              29. f201aff28/10/2026feat(bibliotecas): E23 — Meus Agentes e Minhas Análises com pastas (até 5 níveis), grade/lista, busca, filtros, favoritos, ordenação, seleção múltipla; mover, renomear, duplicar, arquivar e excluir (análise que alimentou agente: manter ou apagar o exclusivo); migration 0029; testes do banco e das regras
                                              30. 2c338cd28/10/2026docs: prompts da Home/onboarding, do diagnóstico e da retomada; referência do Wellington; roteiro e print do teste 1 da E21 (8aafe389); driver da E22 na produção