Elquer Carlos

Chave xAI no ar, admin de títulos nascendo com erros e gate de validação antes do Grok

Configurei a chave xAI, corrigi erros na tela admin de títulos e defini que o botão Gerar só dispara com dados suficientes.

O dia continuou o Plano Grok 3.0, desta vez com a chave xAI pra ser configurada, a tela admin de títulos pra ser construída, e o prompt do Grok pra ser auditado. Não foi nada em linha reta.

Chave xAI configurada — e o campo “Modelo” que não precisava existir

A primeira dúvida do dia foi antes de fazer qualquer coisa: já tínhamos integração xAI configurada no sistema, ou era pra gerar chave nova? Antes de mexer, pedi resposta objetiva ao Claude Code — “não altere nada, apenas responda”. A resposta: não havia integração existente.

Gerei a chave em console.x.ai e tentei adicionar. Primeira tentativa falhou. Pedi ao Claude Code que investigasse o motivo e apresentasse alternativas antes de sair tentando variações aleatórias. Resolveu.

Com a chave funcionando, virei a atenção pra um input que ficava logo abaixo do campo da chave: “Modelo”. Não sabia pra que servia. Em vez de deduzir, fiz a pergunta direta: esse campo é realmente necessário? A resposta inicial foi confusa, então virei o argumento:

Ao gerar a chave eu não tenho essa informação, apenas tenho a chave como usuário; ter campo que não é autoexplicativo ou não tem na outra ponta pode ser confuso. Este input é realmente necessário? Faça pesquisa externa principalmente na documentação do xAI e Grok.

O Claude Code pesquisou e voltou com a conclusão: o campo era redundante — o modelo já vai no payload de cada requisição, não no setup da credencial. O campo foi removido.

Essa foi a decisão de maior valor do ciclo de setup: menos inputs visíveis pro usuário, menos superfície de confusão, sem perda funcional.

Teste do plano travou no fluxo da admin

Com a chave no ar, fui pro próximo passo do Plano Grok 3.0 e o teste deu erro. Antes de entrar no debug, pedi pro Claude Code confirmar qual era o próximo passo do plano — pra não confundir teste de chave com teste de fluxo completo.

Dois problemas apareceram:

  1. Botão “gerar prompt” aparecendo numa tela onde não deveria mais existir. Mandei remover.
  2. Agendamento sem nenhuma sugestão gerada. Não entendia qual era o fluxo: quem dispara, em que tela, com que dado de entrada. Pedi ao Claude Code mapear isso antes de qualquer código.

Página admin de títulos nasceu errada

A sessão continuou na construção da página admin de geração de títulos. Ao abrir, a tela estava vazia — sem cards, sem registros. Questionei:

Tem certeza que foi criado o fluxo de criação de títulos na página admin? Não encontrei cards e o subtopic que me forneceu está dando erro.

O Claude Code confirmou que tinha criado parcialmente: sem cards renderizados e com referência quebrada no subtopic. Corrigiu. A tela voltou ainda vazia: nenhum canal, nenhum registro pra gerar títulos. Outro passe de fix.

Gate de validação antes da chamada ao Grok

O ponto mais importante do dia veio do uso real. Ao clicar em “gerar” num registro, o modal abriu mostrando que tinha muitas informações faltando pra gerar um bom título.

Travei o fluxo. A decisão ficou assim:

Esse modal, que abre ao clicar em gerar, mostra que tem muitas informações faltando para gerar um título para este registro; isso não deveria ser possível — só se pode gerar um título após termos informações necessárias para construção de um bom título.

Virou regra de produto: o botão “gerar” só deve aparecer — ou só deve disparar a chamada ao Grok — quando o registro tiver o mínimo de informação necessário. Se não tiver, o modal exibe o que está faltando, não tenta gerar com dado incompleto.

Gate de validação antes da chamada, não depois. É a diferença entre uma experiência que guia e uma experiência que frustra.

Mais um ajuste que veio do uso: o modal de geração de título não tinha contexto suficiente do vídeo em questão. Especificação passada pro Claude Code:

Para dar informação sobre o vídeo e preencher a parte factual preciso do producao_id, producoes_arquivos_id e possibilidade de ver o vídeo no modal, assim como é na tela de agendamento.

Esses ids já existem no fluxo de agendamento, e a tela de agendamento já embute preview do vídeo. Instrução explícita: reaproveitar o padrão existente em vez de inventar componente novo.

Prompt do Grok auditado contra a própria documentação

Ao revisar o prompt montado pra “Participantes / dados do prompt”, dois problemas ficaram visíveis: alguns campos tinham o texto-label mas estavam sem os dados, e a disposição geral estava confusa.

Mandei o Claude Code pesquisar na documentação do xAI/Grok qual a melhor forma de passar esse tipo de informação estruturada. Voltou com a recomendação e reescreveu a seção de participantes com base nela.

Pra fechar o ciclo, pedi um artefato de validação: lista completa em markdown com todas as perguntas, respostas e dados dos participantes — formatado pra dar diretamente ao próprio Grok 3.0 e perguntar quais campos são redundantes, quais faltam e quais estão mal-formados.

Validação do prompt usando o modelo que vai consumir o prompt. Meta, mas economiza ciclo de tentativa-erro.

Estado do repositório

No elquercarlos, o único commit da janela foi o devlog gerado na execução anterior (b013ba7, dia 09 às 23:38). O restante do dia ficou todo no kmaroteApp, com tudo ainda em working tree — nada commitado até o fim da janela. Volume de mudança foi grande; dá pra esperar vários commits saindo nos próximos dias.


Estatísticas do dia:

Atividade no PC:

  • Tempo ativo: 2h28
  • AFK: 28h31
  • Janela total monitorada: 31h00

Por categoria (do que ficou ativo):

  • Coding: 1h07
  • Uncategorized: 34min
  • Larissa Project: 27min
  • AI Chat: 13min
  • Communication: 4min

Top apps: Antigravity IDE (1h07) · chrome (1h06) · WhatsApp (10min)

Top sites navegados: <PRIVATE-HOST> · chatgpt.com · <PRIVATE-HOST> · my.sheer.com · console.x.ai

Trabalho com IA:

  • Conversas claude.ai: 0
  • Sessões Claude Code: 4 (2 longas em kmaroteApp — Grok + admin · 2 curtas em elquercarlos — daily-summary)

Código produzido:

  • Commits: 1 (elquercarlos — devlog anterior) · kmaroteApp: 0 commits (working tree)

Devlog do dia:

  • 1 draft consolidado (2026-06-10-2330.md)
Fim do ato