Grok 2.0: oito lacunas mapeadas, CSRF em aberto, zero implementação
Auditoria do Plano Grok 2.0: 8 gaps técnicos trabalhados, 7 fechados com decisões concretas, CSRF de contexto incompatível abre a próxima run.
O Plano Grok 2.0 carrega semanas de refinamento. A proposta é direta: gerar prompts para o Grok produzir títulos de vídeo a partir dos dados já existentes no kmaroteApp — participantes, ações de cena, gênero, aparência, preferências. A sessão de hoje não era de implementação; era de garantir que o plano estava completo antes de escrever qualquer linha de código.
Veredicto inicial: duas versões, nenhuma completa
O Claude Code leu o ambiente do zero — banco de dados real, funções existentes, código de produção. O resultado foi imediato: o plano local tinha adições que não estavam no git, e nenhuma dessas adições resolvia as cinco lacunas críticas já identificadas. A versão commitada e a versão local divergiam. As duas estavam incompletas em pontos distintos.
A partir daí, o ritmo ficou definido: uma lacuna por vez, com opções baseadas em documentação real e padrões do sistema. Eu decidiria.
As lacunas
L1 — Geração técnica do prompt
O plano descrevia o UX completo do modal mas não definia se o prompt seria gerado em PHP no carregamento ou via AJAX ao clicar. O Claude Code mapeou o padrão dominante do kmaroteApp (PHP precarrega, JS exibe) e trouxe duas opções. Escolhi a opção B: AJAX ao clicar, action gerar_prompt em ajax_postagem_plataformas.php.
L2 — Dados dos participantes para o prompt
Antes mesmo de terminar de formular a lacuna, o Claude Code encontrou código já existente em agendar_plataformas.php (linhas 635–655): db_perfil_dados_buscar_ativos() já é chamada com "aparencia" e "sexual", e o loop por participante já existe. Dois terços do problema estavam resolvidos sem escrever nada.
L3 — Tags
Resolvida via verificar_ou_criar_tag. Sem auto-save na geração do prompt.
L4 — arquivo_acoes_video vazio
Resolvida.
Lacuna SheerBot
A auditoria completa encontrou o bloco SheerBotWizardAPI em agendar_plataformas.php (linhas 598–765): classe, função abrirWizardSheerBot(), modal HTML e lógica de participantes direto na view. Era a implementação antiga que o Grok 2.0 substitui. O plano mencionava remover o botão que dispara o wizard, mas não endereçava o que fazer com o código. Decisão: remover tudo relacionado ao SheerBot.
A página que não é formulário
A lacuna mais relevante da tarde foi sobre onde o usuário informa título, descrição e tags. O Claude Code propôs colocar esses campos diretamente na página. A resposta foi não.
A página tem que ser informativa, não um formulário de entrada de dados. Título, descrição e tag devem ser preenchidos no modal, depois de gerar o prompt. Isso revisou a Decisão D3 da sessão anterior. A Seção 10 do plano passou a refletir a lógica correta: página informativa, SEO entra no modal de confirmação.
KISS reforçado à força
Na discussão sobre dados faltantes de participantes, o Claude Code estava propondo ciclos AJAX de validação: usuário clica → AJAX retorna dados faltantes → modal abre → usuário preenche → AJAX novo. Precisou de intervenção explícita para redirecionar.
O fluxo real é mais simples: PHP carrega a página já sabendo o que falta. Modal abre. Se arquivo_acoes_video está vazio, campo para preencher. Se participante tem dado faltando, campo para preencher. Salva e recarrega. Se está tudo certo, exibe o prompt para copiar no Grok.
O princípio precisou ser reforçado múltiplas vezes durante a sessão. Em determinado momento foi registrado explicitamente no plano com a observação de que esse ponto não deveria precisar ser relembrado toda vez.
L7 — Como o botão sabe quando disparar o AJAX
Resolvida.
CSRF: lacuna que ficou aberta
A Lacuna 8 terminou sem resolução. processar_producao_ajax.php usa exigir_ajax_csrf("producao_ajax"), mas a página de agendamento só tem window.CSRF_POSTAGEM (contexto postagem_plataformas). Tokens de contextos diferentes são incompatíveis. A próxima run começa aqui.
Estado ao fim da sessão
O Plano Grok 2.0 saiu com as decisões técnicas documentadas na Seção 16. Sete lacunas fechadas, CSRF em aberto. Nenhuma linha de implementação escrita.
Estatísticas do dia:
Atividade no PC:
- Tempo ativo: 1h44min (de 26h13min total da janela; AFK: 24h35min)
Por categoria:
- Coding: 1h29min
- Uncategorized: 13min
- AI Chat: menos de 1min
Top apps: Antigravity IDE (1h29min) · Chrome (7min)
Top sites navegados: google.com · one.google.com · docs.google.com · claude.ai
Trabalho com IA:
- Conversas claude.ai: 0 (0 mensagens)
- Sessões Claude Code: 15 em [kmaroteApp, elquercarlos, subagents]
Código produzido:
- Commits: 0 em kmaroteApp · 1 em elquercarlos