Log de Desenvolvimento Plugin GeraAiPro

5-29 07:50] – Sanitização de Markdown, Fim do H1 Duplicado, Densidade SEO Extrema (1,0% a 1,5%) e Desbloqueio Cognitivo de Linkagem Contextual (v1.5.0)

  • Status: Sucesso
  • Arquivos Modificados:
  • geraaipro.php (Elevada a versão global e a constante do plugin para 1.5.0)
  • class-gap-processor.php (Implementada sanitização rigorosa em PHP na função parse_ai_response_static para remover tags de código e converter negritos em markdown residual **texto** para <strong>texto</strong>. Simplificado e suavizado o prompt de linkagem links_instruction com diretrizes amigáveis, mantendo a regra de âncoras de 1 a 3 palavras e inserindo exemplos práticos visuais, removendo termos policiais excessivos que travavam a IA. Refatorada e simplificada a injeção de densidade de SEO para a faixa de 1,0% a 1,5% de forma direta, garantindo que a IA Flash mantenha a atenção alta e execute ambas as tarefas com êxito)
  • class-gap-admin.php (Adicionada sanitização rigorosa e idêntica na função parse_ai_response do admin. Otimizado o receptor ajax_generate_content no back-end para filtrar e remover qualquer tag H1 que a IA insira teimosamente no corpo do artigo antes de retornar ao Wizard e salvar no banco. Implementada higienização paralela preventiva no Javascript do Wizard ao renderizar o H1 destacado no topo, eliminando de forma absoluta qualquer duplicação de título no painel de prévia da Etapa 3)
  • Alterações:
  • Sanitização Determinística de Markdown Residual (Adeus aos asteriscos): LLMs Flash e modelos de velocidade por vezes apresentam cansaço atencional em textos muito extensos e injetam marcadores de markdown como **texto** no meio do corpo do artigo em HTML. Para blindar a entrega de forma definitiva sem onerar o consumo de prompts, implementamos um higienizador determinístico por expressão regular em PHP no fluxo síncrono e assíncrono (tanto no admin quanto no processor em background), convertendo de forma silenciosa e eficiente qualquer ocorrência de **texto** em tags nativas HTML <strong>texto</strong> legítimas.
  • Erradicação Absoluta de H1 Duplicado no Preview (Double-Blindagem): Para resolver o problema de o H1 aparecer duas vezes seguidas na tela de prévia (Wizard Etapa 3) caso a IA gere o título de forma teimosa no início do corpo, implementamos uma higienização dupla de H1: no back-end (em PHP no ajax_generate_content) limpamos qualquer tag <h1> do corpo do post antes de armazená-lo no job e retornar o JSON, e no front-end (em Javascript no carregamento do visualizador) aplicamos um replace preventivo de H1 sobre o conteúdo antes de injetar o cabeçalho premium e formatado vindo de GapWizard.state.title. Isso garante zero duplicações e estética de altíssimo nível.
  • Desbloqueio de Linkagem e Simplificação Cognitiva de Âncoras (Fim do Travamento): Identificamos que o excesso de termos policiais e regras coercivas extremas de negação no prompt de linkagem (como “RESTRIÇÃO CRÍTICA”, “OBRIGATÓRIO E INVIOLÁVEL”) assustava e sobrecarregava cognitivamente os modelos Flash, fazendo-os omitir a inserção de links externos para evitar a possibilidade de erro. Simplificamos a diretriz do prompt dando comandos positivos, diretos e um exemplo de sintaxe limpa de âncora de cauda curta (1 a 3 palavras), removendo a poluição burocrática do prompt. Isso devolveu a fluidez cognitiva do modelo que agora gera os links sem panes.
  • Injeção Inteligente de Densidade de SEO Extrema (1,0% a 1,5% de Foco): Calibramos a diretriz para atingir com exatidão a faixa de 1,0% a 1,5% de densidade (meta de 12 a 18 repetições para artigos médios) no corpo do post por meio de uma listagem limpa, direta e amigável sobre posicionamento estratégico (introdução negritada, subtítulos H2, 2 a 3 repetições no texto explicativo de cada H2 e na conclusão), equilibrando perfeitamente a janela de atenção de modelos compactos.

[2026-05-28 16:50] – Inteligência de Intenção de Busca e Variedade de Copywriting no Sugestor de Títulos H1 (v1.4.9)

  • Status: Sucesso
  • Arquivos Modificados:
  • class-gap-engine-openai.php (Aprimorado o prompt suggest_title para analisar a intenção de busca da keyword e variar as fórmulas de CTR)
  • class-gap-engine-gemini.php (Aprimorado o prompt suggest_title para analisar a intenção de busca da keyword e variar as fórmulas de CTR)
  • class-gap-engine-claude.php (Aprimorado o prompt suggest_title para analisar a intenção de busca da keyword e variar as fórmulas de CTR)
  • Alterações:
  • Inteligência de Intenção e Fim do Padrão “7 técnicas” Compulsório: Corrigimos o vício cognitivo da IA de sempre sugerir títulos contendo listas ou números fixados em “7” (como “7 técnicas práticas…”). Implementamos uma camada de análise semântica onde a IA primeiro identifica a real intenção de busca implícita da Keyword Principal e decide qual fórmula editorial possui o maior CTR no Google Discover:
    • Tutorial/Guia: Fórmulas focadas em aprendizado prático e resultados (“Como…”, “Guia Definitivo…”).
    • Conceitual/Informativa: Fórmulas focadas em mistério e revelação (“O que ninguém te conta…”, “A verdade por trás de…”).
    • Lista/Curadoria: Fórmulas com listas e números ímpares variados e chamativos (5, 7, 9, 11, 13) apenas se a keyword sugerir plural ou opções comparativas.
    • Tendência/Novidade: Fórmulas urgentes de alto impacto sobre o futuro e atualizações (“O fim de…”, “O que muda com…”).
  • Banimos também clichês repetitivos como “Desvende”, “Descubra”, “Revele” e “Segredos”.

[2026-05-28 16:40] – Desbloqueio de Fôlego Textual, Densidade Quantitativa Base Ocorrências (8-15x) e Estabilidade de Linkagem (v1.4.9)

  • Status: Sucesso
  • Arquivos Modificados:
  • class-gap-processor.php (Ajustadas as diretrizes de Keyword Principal, Ritmo de Parágrafo e Diretrizes de Linkagem no prompt do Redator)
  • Alterações:
  • Remoção de Barreiras Cognitivas Rígidas (Resgate das 1600+ palavras): Identificamos que a regra física coerciva de alternância obrigatória 1×1 de parágrafos (um parágrafo longo seguido estritamente por um curto de contagem fixa) estava causando sobrecarga e travamento cognitivo severo na LLM Flash. Para satisfazer essa regra de forma robótica, a IA encolhia drasticamente o texto principal e cortava explicações técnicas, fazendo o artigo despencar de 1600 para 1000 palavras. Removemos essa barreira, substituindo-a por um ritmo fluido orgânico livre (intercale parágrafos explicativos robustos de 3 a 5 linhas com dinâmicos de 1 a 2 linhas), restaurando instantaneamente o desenvolvimento aprofundado e a contagem correta de palavras solicitada.
  • Metas de Ocorrência Quantitativa da Keyword (Meta 0.8% a 1.2%): Substituímos o mapeamento de coordenadas geográficas ultra-rígido do prompt (que também assustava a IA e encolhia a densidade para 0.3%) por metas quantitativas diretas baseadas em número absoluto de ocorrências da Keyword Principal (meta exata de 8 a 15 ocorrências distribuídas livremente ao longo de posts médios, e 15 a 25 ocorrências para posts grandes). Isso liberta a criatividade natural da IA mantendo a densidade de SEO cirurgicamente calibrada.
  • Estabilização e Coragem de Linkagem (Meta 4 Links): Suavizamos as exigências textuais e restrições complexas do prompt de linkagem (mantendo a exigência estrita de 2 links internos e 2 externos vinculados a termos técnicos sem uso de negritos). Isso devolveu a confiança semântica para a IA injetar com êxito todos os 4 links solicitados no artigo sem omiti-los.

[2026-05-28 16:30] – Densidade Estratégica de Keyword Principal (0.8% a 1%) e Combate à Linearidade de Parágrafos (v1.4.9)

  • Status: Sucesso
  • Arquivos Modificados:
  • class-gap-processor.php (Refatoradas as diretrizes de Keyword Principal, Ritmo de Parágrafo e Variação Estrutural de Seções no prompt do Redator)
  • Alterações:
  • Distribuição Geográfica e Densidade Alvo (0.8% a 1.0%): Para guiar com precisão a IA (que costumava subestimar ou superestimar a densidade), mapeamos locais geográficos exatos para a inserção determinística da Keyword Principal (1x no primeiro parágrafo, 1x no H2 corporal, 1x na Conclusão e de 3 a 5x distribuídas livremente ao longo do artigo), batendo a meta ideal de pontuação máxima no RankMath e Yoast de forma orgânica.
  • Destruição da Linearidade e do Padrão Físico Fixo: Banimos o vício cognitivo da IA de gerar sempre exatamente 3 parágrafos curtos em todos os H2s de forma geométrica. Criamos uma diretriz soberana de variação que proíbe o uso da mesma quantidade de parágrafos em seções consecutivas e exige variação de esqueleto de blocos por H2.
  • Contraste de Extensão (Explicativos vs. Impacto Dinâmico): Impusemos uma regra de alternância obrigatória na escrita. Se a IA escreve um parágrafo mais denso e explicativo (25-50 palavras), o parágrafo imediatamente seguinte deve ser obrigatoriamente curto e rápido (10-20 palavras), forçando a inclusão de frases curtas de grande impacto e fôlego humano.

[2026-05-28 16:20] – Linkagem Técnica Calibrada (4 Links) e Regra Soberana de Omissão de Negritos em Links (v1.4.9)

  • Status: Sucesso
  • Arquivos Modificados:
  • class-gap-processor.php (Atualizadas as diretrizes de linkagem inteligente e a regra de negritos no prompt do Redator)
  • Alterações:
  • Linkagem Ampliada de Termos Técnicos (4 Links Totais): Calibramos a diretriz de links para fixar a meta exata de 4 links no total por post (obrigatoriamente 2 links internos contextuais e 2 links externos apontando para portais de grande relevância). Orientamos explicitamente a IA a vincular cada um dos links diretamente a termos técnicos fundamentais, marcas ou conceitos de apoio presentes no corpo do post.
  • Regra Soberana de Não Negritar Links: Implementamos uma restrição estrita determinando que é terminantemente proibido colocar links em negrito (tags <strong> envolvendo as tags <a> ou dentro delas). O link em si já é o destaque semântico e visual do termo técnico linkado; os negritos semânticos devem ser aplicados unicamente sobre termos técnicos conceituais que não receberam links. Isso elimina a poluição visual de links azuis em negrito e limpa a escaneabilidade do artigo.

[2026-05-28 16:15] – Listas de Escaneabilidade Totalmente Seletivas e Condicionais no Outline e Redator (v1.4.9)

  • Status: Sucesso
  • Arquivos Modificados:
  • class-gap-processor.php (Refatorada a regra de listas no prompt de redação, proibindo a IA de gerar listas em todos os H2s e condicionando sua criação estritamente à presença da marca [Lista] no outline)
  • class-gap-engine-openai.php (Ajustada a Regra 6 do prompt de Outline para limitar a marca [Lista] a no máximo 1 ou 2 seções de forma cirúrgica)
  • class-gap-engine-gemini.php (Ajustada a Regra 6 do prompt de Outline para limitar a marca [Lista] a no máximo 1 ou 2 seções de forma cirúrgica)
  • class-gap-engine-claude.php (Ajustada a Regra 6 do prompt de Outline para limitar a marca [Lista] a no máximo 1 ou 2 seções de forma cirúrgica)
  • Alterações:
  • Fim do Excesso de Listas nos H2s: Resolvemos a poluição visual de os artigos virem com listas em todos os blocos H2. Mudamos o comportamento para ser estritamente seletivo e condicional: o Redator só criará uma lista em HTML se a nota de seção do Outline trouxer expressamente a marca [Lista]. Além disso, calibramos o gerador de Outlines de todas as engines para inserir a marca [Lista] de forma cirúrgica e moderada (no máximo em 1 ou 2 H2s por post, apenas onde houver real necessidade, como passos ou dicas pontuais), fluindo o restante do artigo em parágrafos de texto normais.

[2026-05-28 16:10] – Correção do Sugestor de Títulos Sem Tags HTML e Prompt de Texto Puro (v1.4.9)

  • Status: Sucesso
  • Arquivos Modificados:
  • class-gap-engine-openai.php (Removida a System Message do redator de posts da chamada suggest_title e implementado prompt de texto puro para evitar tags H1 ou strong)
  • class-gap-engine-gemini.php (Removida a System Message do redator de posts da chamada suggest_title e implementado prompt de texto puro para evitar tags H1 ou strong)
  • class-gap-engine-claude.php (Removida a System Message do redator de posts da chamada suggest_title e implementado prompt de texto puro para evitar tags H1 ou strong)
  • Alterações:
  • Correção de Lixo HTML em Sugestões de Título: Corrigimos o bug que fazia a IA gerar títulos sugeridos contendo tags HTML (como <h1> ou <strong>) e múltiplos cabeçalhos. O problema ocorria porque o método suggest_title() de todas as engines herdava a System Message do redator de artigos (get_system_message()), a qual forçava formatações HTML para o corpo dos posts. Modificamos os métodos para utilizarem prompts simples, independentes e puramente focados em texto, com regras estritas para retornar apenas a string limpa do título, em texto puro, sem qualquer tag ou aspas.

[2026-05-28 15:50] – Calibragem Avançada de Conteúdo, Metas de Palavras por Tamanho e Ritmo Editorial Premium (v1.4.9)

  • Status: Sucesso
  • Arquivos Modificados:
  • class-gap-processor.php (Refatorada a função get_content_prompt() para calibrar o prompt mestre do Redator de Conteúdo com metas reais de tamanho em palavras, ritmo dinâmico flutuante humano, negritos semânticos contextuais, blindagem contra citações vazias e formatação exemplar de listas HTML limpas)
  • Alterações:
  • Injeção de Meta Real de Palavras por Size: Adicionado mapeamento inteligente no prompt do redator baseado na variável de tamanho (size) do artigo. A IA agora recebe metas explícitas de extensão corporal de acordo com a seleção (~700 palavras para Pequeno, ~1.500 palavras para Médio e +2.500 palavras para Grande), com o aviso explícito de que a seção FAQ não conta para a meta de contagem, impulsionando o fôlego semântico das LLMs.
  • Negritos Semânticos Contextuais: Além das LSIs, orientamos a IA a destacar espontaneamente com a tag <strong> termos técnicos importantes, siglas e ferramentas de alta relevância inerentes ao contexto no corpo do texto (ex: <strong>Linguagem Natural (PLN)</strong>), melhorando o escaneamento humano e SEO.
  • Citações com Atribuição de Autor Obrigatória: Acabamos com citações “soltas” e vazias que pareciam slogans jogados. A tag <blockquote> só é permitida se o outline contiver a marca contextual e, caso gerada, deve obrigatoriamente possuir uma autoria nominal realista (ex: “Como aponta o especialista em SEO [Nome], \”…\””). Se não houver atribuição viável, a citação é omitida.
  • Formatação Impecável de Listas HTML (Sem Markdown): Oferecido um exemplo estrito de sintaxe limpa de lista no prompt (ex: <li><strong>Nome:</strong> ...</li>), proibindo terminantemente marcadores híbridos markdown (* ou -) e blindando o fechamento das tags.
  • Flexibilidade de Ritmo Editorial: Substituídas restrições matemáticas robóticas de linhas por um ritmo de parágrafos flutuantes dinâmicos (blocos robustos conceituais de 45-80 palavras intercalados com parágrafos rápidos e curtos de 15-35 palavras) e variação de número de blocos por seção, quebrando a linearidade de IAs.

[2026-05-28 15:30] – Resolução Final de Omissão de LSI no AJAX, Suavização de Restrições e Elementos Visuais Seletivos (v1.4.9)

  • Status: Sucesso
  • Arquivos Modificados:
  • geraaipro.php (Incrementada a versão do plugin de bootstrap e constante para 1.4.9)
  • class-gap-admin.php (Correção crítica no endpoint ajax_generate_content() para carregar as Keywords Secundárias secondary do job e integrá-las de verdade no settings_for_engine enviado para a IA, resolvendo o bug de as LSIs serem ignoradas)
  • class-gap-processor.php (Suavização e simplificação das diretrizes do Redator, removendo regras de parágrafos matemáticos e físicas que causavam pânico na LLM. Adicionado incentivo forte para listas <ul>/<ol> e restrição de tabelas/citações como cirúrgicas se pedidas no outline. Enriquecimento de links externos com portais jornalísticos e bases de estudo)
  • class-gap-engine-openai.php (Otimização da Regra 6 do Outline para tornar tabelas e citações opcionais e seletivas, e listas comuns planejadas organicamente)
  • class-gap-engine-gemini.php (Otimização da Regra 6 do Outline para tornar tabelas e citações opcionais e seletivas, e listas comuns planejadas organicamente)
  • class-gap-engine-claude.php (Otimização da Regra 6 do Outline para tornar tabelas e citações opcionais e seletivas, e listas comuns planejadas organicamente)
  • Alterações:
  • Causa Raiz de Omissão de LSIs Corrigida: Identificamos que no endpoint AJAX ajax_generate_content(), a variável secondary (Keywords Secundárias) gravada no job não era lida nem repassada no array settings_for_engine enviado para a IA na chamada de geração do corpo do artigo. Isso fazia com que a IA recebesse um array de LSIs vazio e as ignorasse completamente. Corrigido!
  • Eliminação de Pânico na LLM (Fim dos Parágrafos Geométricos Artificiais): Suavizamos as restrições burocráticas de tamanhos flutuantes físicos no prompt do Redator. Agora a IA tem instruções puramente humanas para focar em parágrafos curtos, fluidos e naturais, deixando a LLM variar o ritmo sem amarras, erradicando o padrão mecânico de sempre “H2 com 3 parágrafos de 3 linhas”.
  • Tabelas e Citações 100% Seletivas (Fim da Injeção Compulsória): Reformulamos a Regra 6 das engines de Outline. A IA não é mais obrigada a injetar [Tabela] ou [Citação] em todos os outlines de forma mecânica. A geração agora é altamente cirúrgica e lógica.
  • Incentivo e Resgate de Listas Yoast: Orientamos fortemente o Redator e o Planejador a usarem listas normais (<ul>/<ol>) frequentemente para quebrar a monotonia de blocos e impulsionar a pontuação de legibilidade Yoast.
  • Links Externos de Grande Confiança: Orientamos a IA a usar domínios conceituados de notícias (G1, BBC, El País, TechCrunch, bases de pesquisa e Wikipedia) e não ficar travada apenas em wikipedia.

[2026-05-28 13:00] – Calibração Fina Contra Lost in the Middle, Destaque Obrigatório de LSIs e Ritmo Editorial Dinâmico (v1.4.8)

  • Status: Sucesso
  • Arquivos Modificados:
  • geraaipro.php (Incrementada a versão do plugin de bootstrap e constante para 1.4.8)
  • class-gap-processor.php (Correção de sintaxe/colisão de código nas funções get_system_prompt e get_content_prompt, simplificação drástica das restrições e termos policiais coercivos, priorização absoluta das LSIs no topo do prompt de conteúdo com regra obrigatória de destaque em negrito <strong>, suavização e flexibilização da regra de tamanho de parágrafos com exigência explícita de variação de quantidade de parágrafos por H2, inserção do parágrafo explicativo contextualizador obrigatório antes de qualquer tabela ou lista, e implementação do gerador de slug determinístico forçando o post_name final a ser estritamente a correspondência sanitizada exata da Keyword Principal do job para score 100% verde no RankMath e Yoast)
  • class-gap-engine-claude.php (Ajuste estético de espaçamento/quebra de linha no método generate_outline)
  • Alterações:
  • Slug Determinístico por Keyword Principal (SEO On-Page de Elite): Modificada a linha de inserção do post (finalize_and_publish_post) para forçar que o post_name do post do WordPress seja estritamente e obrigatoriamente a Keyword Principal sanitizada via sanitize_title do job (ignorando qualquer proposta de slug fictícia proposta por IAs ou variações baseadas no título H1). Isso garante URLs limpas, focadas e com score de otimização de URL máximo e infalível nos auditores de SEO do WordPress.
  • Remoção de Termos Policiais Excessivos (Forçando Menos, Flutuando Mais): Eliminamos a linguagem excessivamente coerciva (“OBRIGATÓRIO / INEGOCIÁVEL”) que estava causando travamento cognitivo nos modelos mais rápidos (Gemini Flash). O prompt agora adota um tom editorial seguro e assertivo de elite, facilitando o cumprimento de regras e a criatividade textual natural.
  • Garantição e Destaque das LSIs (Anti-Lost-in-the-Middle): Movemos as Keywords Secundárias (LSI) para o topo do prompt de conteúdo do Redator. Criamos a instrução de que cada LSI inserida deve ser obrigatoriamente destacada com a tag <strong> para servir como marcador visual para o leitor. Isso impede que a LLM ignore as LSIs e simultaneamente resolve o problema de falta de negritos semânticos distribuídos pelo texto.
  • Quebra Absoluta da Monotonía de Layout (Ritmo Flutuante por H2): Injetamos a diretriz para a IA variar intencionalmente a quantidade de parágrafos entre seções H2 (ex: seção 1 com 2 parágrafos, seção 2 com 4 parágrafos, seção 3 com 3 parágrafos) e intercale os tamanhos de parágrafos de 1 a 4 linhas, evitando o visual robótico de blocos uniformes idênticos.
  • Tabelas/Listas Sempre Precedidas de Introdução: Reforçamos a regra que proíbe elementos visuais “soltos” ou descontextualizados colados logo após os títulos. Agora, cada elemento deve vir obrigatoriamente precedido de pelo menos um curto parágrafo de introdução contextualizadora.
  • Resolução do FAQ na Contagem: Esclarecemos no prompt que as perguntas e respostas da seção de FAQ não devem ser somadas nem inflar a contagem de tamanho do corpo principal do post.

[2026-05-28 12:20] – Resolução de Inflamento de Post, Excesso de Negritos e Ativação Coordenada de Tabelas/Citações (v4.1)

  • Status: Sucesso
  • Arquivos Modificados:
  • class-gap-engine-openai.php (Ajuste no prompt do outline para injeção programática inteligente de [Tabela] e [Citação])
  • class-gap-engine-gemini.php (Ajuste no prompt do outline para injeção programática inteligente de [Tabela] e [Citação])
  • class-gap-engine-claude.php (Ajuste no prompt do outline para injeção programática inteligente de [Tabela] e [Citação])
  • class-gap-processor.php (Substituição da restrição obsessiva de contagem matemática total de palavras por metas exatas de parágrafos estruturados curtos por H2. Inserida proibição absoluta contra superlotação de negritos na Keyword Principal)
  • Alterações:
  • Erradicação do Pecado de 11-12 Parágrafos/H2: Identificamos que a IA cometia esse pecado devido à contradição entre a meta de “1.500 palavras” e os parágrafos curtos de 15-30 palavras. Removemos as metas matemáticas numéricas infladas de palavras totais do Redator, reorientando a IA a focar estritamente na estrutura e metas de parágrafos curtos por H2 (2-3 para small, 3-4 para medium, 4-5 para large). Isso normaliza o tamanho indicativo dos posts corporais e resgata um ritmo visual perfeitamente humano!
  • Morte do Excesso de Negritos na Keyword: Injetada regra de banimento absoluto proibindo a IA de negritar a Keyword Principal mais do que 2 a 3 vezes ao longo de todo o post, direcionando o negrito (<strong>) de forma contextual apenas para termos conceituais ricos (LSI) e dados.
  • Geração Coordenada de Tabelas e Citações: O Preparador de Outlines nas 3 engines foi instruído na regra 6 a selecionar inteligentemente pelo menos um H2 estratégico e marcar em suas notas de contexto a tag [Tabela] ou [Citação]. Isso ativa organicamente a geração condicional desses elementos de forma 100% natural, contextualizada e harmônica!

[2026-05-28 10:20] – Refatoração Semântica do Prompt Mestre v4.0 (O Fluxo de Elite)

  • Status: Sucesso
  • Arquivos Modificados:
  • class-gap-engine-claude.php (Outline de alta fidelidade calibrado com H1 como diretor, 5-8 H2s para médio, e cravadas 5 perguntas no FAQ)
  • class-gap-processor.php (Novo mapeamento estrito dos 4 níveis de profundidade técnica em replace_placeholders e refatoração completa do prompt do Redator em get_content_prompt com parágrafos rítmicos flutuantes curtíssimos de 2-4 linhas / 15-30 palavras, e condicionalidade estrita contra tabelas/citações descontextualizadas)
  • Alterações:
  • H1 como Diretor Soberano: Ajustado o Preparador de Outlines nas 3 engines (OpenAI, Gemini e Claude) para garantir que a quantidade de seções H2 geradas reflita perfeitamente qualquer promessa numérica contida no título principal (ex: se o H1 prometer “7 Dicas”, o outline gerará exatamente 7 H2s correspondentes).
  • Calibração de Volume de H2s: Ajustado o tamanho médio (medium) de posts para gerar entre 5 a 8 seções H2.
  • Mapeamento de 4 Profundidades: O placeholder {{DEPTH}} agora injeta de forma ultra clara os 4 níveis de complexidade (Básico, Intermediário, Avançado ou Especialista) para evitar sobreposição ou tecnicismo indevido nas redações de nível médio.
  • Parágrafos Ultra Curtos (2 a 4 Linhas / 15 a 30 Palavras): Calibrado o prompt do Redator com regras rígidas de ritmicidade flutuante dinâmica inegociável, forçando a IA a criar posts altamente escaneáveis e fluidos na tela com variação contínua no tamanho de parágrafos consecutivos (ex: 2 linhas, 4 linhas, 2 linhas, 3 linhas).
  • Condicionalidade Rígida de Elementos: Tabelas e citações agora são estritamente proibidas a menos que sejam solicitadas de forma explícita nas notas de contexto do outline ([Tabela] ou [Citação]), eliminando inserções descontextualizadas. Além disso, toda lista de itens (<ul>/<ol>) deve ser obrigatoriamente antecedida por um parágrafo introdutório de apoio para dar fluxo.
  • FAQ Schema Cravado: O FAQ condicional agora gera exatamente 5 perguntas frequentes de forma integrada com o nosso parser nativo de FAQ Schema estruturado JSON-LD.

[2026-05-27 23:00] – Restauração Definitiva do FAQ no Wizard, Calibragem por 4 Níveis de Profundidade, Estabilização do Gemini, Prompt de Imagem com Marca d’Água e UI de Custos Reais [v1.4.7]

  • Status: Sucesso
  • Arquivos Modificados:
  • geraaipro.php (Versão do plugin e constante de bootstrap incrementadas para 1.4.7)
  • class-gap-admin.php (Correção definitiva de FAQ com salvamento explícito da flag faq no array_merge de $saved_settings no Passo 1; envio explícito de faq via FormData no JS do Passo 2 e leitura resiliente de $_POST['faq'] ?? $current_settings['faq'] ?? '0'; adicionado o Gemini 3.0 Flash a R$ 0,29 nos cards de estimativas reais e reajustados Claude e GPT Premium para ‘Testando…’)
  • class-gap-processor.php (Ampliação do regex de captura de FAQ no pós-processamento para suportar de forma robusta e flexível tags H3 e H4; implementada a injeção do panorama total de 4 Níveis de Profundidade no placeholder {{DEPTH}} no Prompt Mestre; atualizado o prompt de imagens Nano Banana com resolução 4k, higienização estrita contra aspas duplas e inserção dinâmica de marca d’água semitransparente com o nome do site)
  • class-gap-engine-gemini.php (Calibrada a temperatura padrão da linha Gemini 2.x/2.0 para 0.7 após validação prática do usuário; unificada e simplificada a injeção condicional do thinkingConfig para qualquer modelo da linha Gemini 3.x de forma robusta e livre de erros HTTP 400)
  • skill_gemini-api.md (Seção 7 atualizada registrando as medições exatas de faturamento e detalhando os 4 Níveis de Profundidade para as IAs)
  • Alterações:
  • A Resolução Definitiva e Blindagem do FAQ no Wizard (Bypass de Perdas):
    • Identificamos e corrigimos de vez o gargalo estrutural que omitia o FAQ no Wizard: além do array_merge seguro resgatando as chaves do banco no outline (Passo 1), forçamos o salvamento explícito da chave 'faq' no array final.
    • Blindamos o pipeline implementando o envio da flag faq ativamente via AJAX no JS do Passo 2 e ajustando o receptor ajax_generate_content para ler a flag com prioridade do POST. Isso garante que a flag seja propagada ao prompt mestre sob qualquer circunstância.
  • Prompt de Imagem Enriquecido e Altamente Sanitizado:
    • Atualizamos o prompt de geração de imagens das Nano Bananas no processador principal: adicionamos a tag 4k de alta definição, realizamos higienização contra aspas duplas no título e no nome do site (o Gemini cancela a requisição se houver aspas duplas no prompt) e incorporamos uma diretiva estruturada em inglês para inserir o nome do site (obtido via get_bloginfo('name')) como marca d’água discreta e semitransparente na parte inferior.
    • Sanitizamos redundâncias do prompt anterior (como photorealistic, realistic, dslr, etc.) e eliminamos a contradição linguística de texto (“no text, no words” vs “inserir texto”) adotando uma instrução limpa, objetiva e muito mais econômica de tokens: "A professional 4k realistic DSLR photograph for a blog post about: '{clean_title}'. No accidental text or labels, except for a single discrete, semi-transparent watermark text at the bottom center saying: '{clean_site_name}'."
  • Calibragem Semântica por 4 Níveis de Profundidade no Prompt Mestre:
    • Evitamos que modelos de altíssima capacidade cognitiva como o Gemini 3.1 Pro fiquem excessivamente analíticos ou técnicos em tom moderado (“Intermediário”). O placeholder {{DEPTH}} agora injeta dinamicamente o panorama descritivo completo das 4 profundidades disponíveis do plugin para orientar semântica e comparativamente a IA sobre onde ela deve se situar na complexidade técnica da escrita.
  • Regex do FAQ Schema Ultra-Resiliente (H3 e H4):
    • Ampliamos o motor regex em finalize_and_publish_post para capturar indistintamente tags H3 e H4 na seção final de FAQ, permitindo injeção perfeitamente limpa do FAQPage JSON-LD estruturado mesmo que os modelos flutuem a hierarquia de cabeçalhos HTML.
  • Calibragem de Temperatura (0.7) e ThinkingConfig Universal (Gemini):
    • Calibramos a temperatura padrão de modelos da linha Gemini 2.x/2.0 para 0.7 após testes práticos e validação satisfatória do usuário na velocidade e qualidade.
    • Implementamos pattern matching robusto que intercepta qualquer variante Gemini 3.x (incluindo gemini-3.0-flash e novos lançamentos) e injeta o thinkingConfig correspondente (Medium para Pro e Minimal para Flash/Lite), bloqueando sumariamente qualquer erro 400 de Thinking Mode.
  • Cards Premium com Medições Reais de Produção (Fim do Achismo):
    • Remodelamos toda a grade de cards na UI administrativa para refletir com exatidão científica os dados e faturamentos medidos pelo usuário na prática:
    • Gemini 3.5 Flash: R$ 0,47 / post (Recomendado, leitura excelente).
    • Gemini 3.0 Flash: R$ 0,29 / post (Melhor Custo-Benefício, boa qualidade).
    • GPT-5.4 Mini: R$ 0,30 / post (Belo equilíbrio OpenAI).
    • Claude 4.5 Sonnet / GPT-5.4 Premium: Marcados com status “Testando…” conforme os prints de produção do usuário.
    • Incorporamos as medições completas do usuário (incluindo o Gemini 3.1 Flash Lite a R$ 0,26 e o Gemini 3.1 Pro a R$ 2,01) no texto didático de rodapé das configurações.
  • Cards Premium com Medições Reais de Produção (Fim do Achismo):
    • Remodelamos toda a grade de cards na UI administrativa para refletir com exatidão científica os dados e faturamentos medidos pelo usuário na prática:
    • Gemini 3.5 Flash: R$ 0,47 / post (Recomendado, leitura excelente).
    • Gemini 3.0 Flash: R$ 0,29 / post (Melhor Custo-Benefício, boa qualidade).
    • GPT-5.4 Mini: R$ 0,30 / post (Belo equilíbrio OpenAI).
    • Claude 4.5 Sonnet / GPT-5.4 Premium: Marcados com status “Testando…” conforme os prints de produção do usuário.
    • Incorporamos as medições completas do usuário (incluindo o Gemini 3.1 Flash Lite a R$ 0,26 e o Gemini 3.1 Pro a R$ 2,01) no texto didático de rodapé das configurações.

[2026-05-27 20:20] – Alinhamento e Correção de Argumentos da API Nano Banana Original (Gemini 2.5 Flash Image) [v1.4.6]

  • Status: Sucesso
  • Arquivos Modificados:
  • geraaipro.php (Versão do plugin e constante de bootstrap incrementadas para 1.4.6)
  • class-gap-engine-gemini.php (Ajustada a estrutura JSON de requisição da imagem para o motor Gemini 2.5 Flash Image)
  • Alterações:
  • Correção de Erro de Argumento Inválido (Imagem Nano Banana Original):
    • Identificamos a causa raiz da falha de criação de imagem no modelo Gemini 2.5 Flash Image (gemini-2.5-flash-image): a API REST v1beta oficial rejeitava a estrutura de payload baseada em responseFormat.image.aspectRatio, retornando erro HTTP 400 (Invalid value at 'generation_config.response_format.image.aspect_ratio').
    • Corrigimos o payload no driver utilizando a mesma estrutura de alta fidelidade que funciona com absoluto sucesso em ambientes corporativos de automação (n8n): reestruturamos para consumir as chaves 'responseModalities' => ['Image'] (com casing correto) e 'imageConfig' => ['aspectRatio' => $aspect_ratio], garantindo aprovação estrita dos argumentos pela API e a geração perfeita do asset de destaque.

[2026-05-27 20:00] – Calibragem Dinâmica de Temperatura e Inteligência Determinística para Gemini 2.5 [v1.4.5]

  • Status: Sucesso
  • Arquivos Modificados:
  • geraaipro.php (Versão do plugin e constante de bootstrap incrementadas para 1.4.5)
  • class-gap-engine-gemini.php (Ajuste fino de temperatura dinâmica: forçada a temperatura 0.7 para modelos da linha Gemini 2.x/2.0 e mantida a temperatura 1.0 estrita para a linha Gemini 3.x com raciocínio)
  • Alterações:
  • Calibragem Dinâmica de Temperatura (Determinação vs Criatividade):
    • Identificamos uma inconsistência de latência e coerência semântica ao operar o modelo Gemini 2.5 Flash (gemini-2.5-flash) sob a temperatura padrão 1.0. Por ser um modelo da geração anterior (sem o mecanismo de raciocínio rígido da linha 3.x), temperaturas elevadas induzem maior entropia linguística, o que causava atraso excessivo no processamento das APIs determinísticas (geração de outlines, títulos H1 e palavras-chave sugeridas) e desvios de conformidade com a palavra-chave.
    • Implementamos inteligência condicional no driver que detecta se o modelo selecionado pertence às séries gemini-2.5 ou gemini-2.0 e reduz a temperatura automaticamente para 0.7, resgatando velocidade instantânea de geração e fidelidade estrita às regras do prompt (como inclusão obrigatória da keyword no H1).
    • Preservamos a temperatura estrita em 1.0 para os modelos da geração gemini-3.x para atender de forma perfeita aos requisitos rígidos do Thinking Mode e evitar loops de raciocínio profundo da API.

[2026-05-27 19:50] – Resolução Dinâmica de Thinking Mode do Gemini, Ajuste Fino de Custos e Polimento no Painel [v1.4.4]

  • Status: Sucesso
  • Arquivos Modificados:
  • geraaipro.php (Versão do plugin e constantes de bootstrap incrementadas para 1.4.4)
  • class-gap-engine-gemini.php (Implementação de inteligência de injeção condicional do thinkingConfig no driver base para banir erros HTTP 400 em modelos antigos ou linhas Pro da API do Gemini)
  • class-gap-admin.php (Atualização e polimento estratégico do texto informativo de viabilidade e custos de imagens Nano Banana Original vs OpenAI, tornando a UX muito mais direta e objetiva)
  • Alterações:
  • Injeção Condicional e Mapeamento Inteligente de Pensamento (Thinking Mode):
    • Corrigido o erro crítico HTTP 400 (Thinking level is not supported for this model) no modelo premium recomendado Gemini 2.5 Flash (gemini-2.5-flash), omitindo por completo a chave thinkingConfig no payload generationConfig.
    • Corrigido o erro HTTP 400 (Thinking level MINIMAL is not supported...) no modelo de alta fidelidade Gemini 3.1 Pro (gemini-3.1-pro-preview), mapeando-o ativamente para injetar 'thinkingLevel' => 'medium', o que é perfeitamente suportado de forma oficial.
    • Preservado o nível de economia ultra-agressiva 'thinkingLevel' => 'minimal' exclusivamente para os modelos da linha Flash que suportam pensamento (como gemini-3.1-flash-lite e gemini-3.5-flash).
  • Polimento e Objetividade do Texto de Transparência de Custos (UI Admin):
    • Redesenhamos o parágrafo informativo do cabeçalho de configurações no painel administrativo, eliminando explicações longas de bastidores em favor de uma chamada concisa de valor comercial da nova Fila Assíncrona e das métricas reais em produção:
    • Fila Assíncrona: Focada em estabilidade, eliminação de timeouts e zero duplicação de tokens.
    • Métricas e Cotação: Baseadas em cotação fixa $1.00 USD = R$ 5.00 BRL com uso de Gemini 2.5 Flash / GPT-5.4 Mini e imagens via Nano Banana Original (Gemini 2.5 Image a $0.039/imagem).

[2026-05-27 19:30] – Documentação Oficial das Variantes Nano Banana e cURL de Geração Multimodal Gemini 2.5 [v1.4.3]

  • Status: Sucesso
  • Arquivos Modificados:
  • skill_gemini-api.md (Adicionados cURL de requisição REST v1beta para o modelo gemini-2.5-flash-image e o detalhamento técnico comparativo e conceitual do ecossistema Nano Banana na API Gemini)
  • Alterações:
  • Especificações Oficiais do Ecossistema Nano Banana de Imagens:
    • Incorporamos as definições exatas de modelagem da API Gemini no manual do desenvolvedor para orientar futuras decisões do agente e manter a transparência de custos das imagens geradas por IA:
    • Nano Banana: Modelo Gemini 2.5 Flash Image (gemini-2.5-flash-image) — focado em velocidade e máxima eficiência de custos para tarefas de alto volume e baixa latência (consumo de 1.290 tokens / US$ 0.039 por imagem).
    • Nano Banana 2: Modelo pré-lançamento do Gemini 3.1 Flash Image (gemini-3.1-flash-image-preview) — contrapartida de velocidade e alta eficiência do Gemini 3 Pro Image (consumo de 1.120 tokens / US$ 0.067 por imagem).
    • Nano Banana Pro: Modelo Prévia de imagens no Gemini 3 Pro (gemini-3-pro-image-preview) — projetado para fins profissionais com o recurso avançado de Thinking Mode de imagem.
    • Injeção do Exemplo cURL de Produção:
    • Adicionado o exemplo exato de payload REST (v1beta) para geração multimodal de imagens usando o modelo ultra-econômico gemini-2.5-flash-image com formato de proporção 'aspectRatio': '16:9' encapsulado sob a propriedade 'responseFormat', garantindo a sintaxe e faturamento projetados de fábrica.

[2026-05-27 16:15] – Otimização de Custos com Gemini 3.1 Flash Lite, Restauração e Blindagem do FAQ e Transparência Real na UI [v1.4.3]

  • Status: Sucesso
  • Arquivos Modificados:
  • geraaipro.php (Versão do plugin incrementada para 1.4.3)
  • class-gap-engine-gemini.php (Adicionado o modelo de economia extrema gemini-3.1-flash-lite como padrão nativo e de fallback do construtor, injetado thinkingConfig => [thinkingLevel => minimal] no payload REST para reduzir drasticamente o faturamento de tokens de raciocínio, corrigida a modalidade de imagem para 'IMAGE' em maiúsculas e blindado o prompt de outline para geração do FAQ)
  • class-gap-engine-openai.php (Corrigido bug do tipo de dados no outline para detecção e injeção do FAQ e blindado o prompt do outline para geração obrigatória de FAQ)
  • class-gap-engine-claude.php (Corrigido bug de tipo de dados de fallback na checagem de FAQ no outline e blindado o prompt do outline para FAQ)
  • class-gap-processor.php (Adicionada diretriz ultra-rígida de proibição de markdown no prompt de conteúdo unificado, forçando o uso estrito de <strong> em vez de asteriscos)
  • class-gap-admin.php (Inserido o modelo ‘Gemini 3.5 Flash Lite (Ultra Econômico)’ mapeando para o slug real gemini-3.1-flash-lite no select de configurações administrativas e reajustadas todas as estimativas dos cards de transparência de custos para patamares reais de produção)
  • VIBE_CHECKLIST.md (Checklist atualizada com as novas correções de faturamento e estabilização de FAQ)
  • Alterações:
  • Introdução do Gemini 3.1 Flash Lite (Economia Extrema):
    • Adicionamos suporte nativo para o modelo de alta eficiência gemini-3.1-flash-lite (oficialmente nomeado como Gemini 3.5 Flash Lite comercialmente) tanto no banco quanto no select administrativo. Definido como o modelo padrão de fábrica do driver. Ele custa de 30 a 60 vezes menos que o Flash normal (Input $0.035 / 1M, Output $0.15 / 1M), derrubando o faturamento do texto de um post de 2000 palavras para meros centavos.
  • Derrubada Drástica do Faturamento do Gemini (Thinking Mode):
    • Identificamos a causa raiz de um post de teste do Gemini 3.5 Flash custar R$ 1,43: por padrão, ao processar prompts altamente estruturados como o nosso mestre, o Gemini 3.x ativa o modo de raciocínio avançado (“Thinking Mode”) e gera dezenas de milhares de “tokens de pensamento” que são cobrados como saída normal.
    • Atualizamos o método de requisição base send_request() no driver do Gemini para injetar o parâmetro 'thinkingConfig' => [ 'thinkingLevel' => 'minimal' ] e forçar 'temperature' => 1.0 dentro do payload generationConfig. Isso minimiza o processamento interno redundante e reduz os custos em mais de 90%, trazendo as despesas para a casa de frações mínimas de centavos.
  • Correção da Geração de Imagem com Gemini (Nano Banana 2):
    • Corrigido o erro de formatação do payload JSON no método generate_image() do Gemini. A API generativa REST do Google exige o enum de modalidade de imagem estritamente em maiúsculas (IMAGE). Ajustado 'responseModalities' => [ 'IMAGE' ], restaurando com sucesso a criação e download das imagens de destaque do Gemini.
  • Restauração e Blindagem do FAQ no Outline (OpenAI, Gemini e Claude):
    • Corrigido um bug transversal na checagem de tipo do FAQ no método generate_outline() de todas as engines. As classes faziam a comparação estrita $settings['faq'] === 'true', o que falhava quando as configurações decodificadas do banco passavam booleanos nativos (true) ou números (1). Substituído por uma condicional robusta e flexível idêntica à do processador.
    • Prompt Reforçado de Outline: Reformulamos o prompt do outline nas 3 engines para blindar totalmente o preenchimento da chave "faq" no JSON. O prompt agora instrui explicitamente a IA a preencher o array com pelo menos 5 perguntas relevantes caso o FAQ seja solicitado, dando exemplo de estrutura para impedir que a chave seja gerada como array vazio []. Isso resolve definitivamente a geração das Perguntas Frequentes.
  • Blindagem Anti-Markdown contra Asteriscos (**) em Negritos:
    • Para combater o vício semântico do Gemini de entregar negritos em formato Markdown convencional (**texto**), inserimos uma proibição ultra-rígida na diretriz de saída de formato do prompt unificado em class-gap-processor.php, blindando e forçando estritamente o emprego das tags HTML <strong> e </strong>.
  • Transparência de Custos Reais na UI:
    • Atualizamos a nota do card premium de faturamento no painel de configurações para reflectir o Gemini 3.5 Lite (~R$ 0,018 por post com imagem) e reajustamos a estimativa do card do GPT-5.4 Mini para os realistas R$ 0,30 por post com imagem medidos pelo usuário em produção, trazendo clareza absoluta ao painel administrativo.amento do texto de um post de 2000 palavras para meros centavos.
  • Derrubada Drástica do Faturamento do Gemini (Thinking Mode):
    • Identificamos a causa raiz de um post de teste do Gemini 3.5 Flash custar R$ 1,43: por padrão, ao processar prompts altamente estruturados como o nosso mestre, o Gemini 3.x ativa o modo de raciocínio avançado (“Thinking Mode”) e gera dezenas de milhares de “tokens de pensamento” que são cobrados como saída normal.
    • Atualizamos o método de requisição base send_request() no driver do Gemini para injetar o parâmetro 'thinkingConfig' => [ 'thinkingLevel' => 'minimal' ] e forçar 'temperature' => 1.0 dentro do payload generationConfig. Isso minimiza o processamento interno redundante e reduz os custos em mais de 90%, trazendo as despesas para a casa de frações mínimas de centavos.
  • Correção da Geração de Imagem com Gemini (Nano Banana 2):
    • Corrigido o erro de formatação do payload JSON no método generate_image() do Gemini. A API generativa REST do Google exige o enum de modalidade de imagem estritamente em maiúsculas (IMAGE). Ajustado 'responseModalities' => [ 'IMAGE' ], restaurando com sucesso a criação e download das imagens de destaque do Gemini.
  • Restauração e Blindagem do FAQ no Outline (OpenAI, Gemini e Claude):
    • Corrigido um bug transversal na checagem de tipo do FAQ no método generate_outline() de todas as engines. As classes faziam a comparação estrita $settings['faq'] === 'true', o que falhava quando as configurações decodificadas do banco passavam booleanos nativos (true) ou números (1). Substituído por uma condicional robusta e flexível idêntica à do processador.
    • Prompt Reforçado de Outline: Reformulamos o prompt do outline nas 3 engines para blindar totalmente o preenchimento da chave "faq" no JSON. O prompt agora instrui explicitamente a IA a preencher o array com pelo menos 5 perguntas relevantes caso o FAQ seja solicitado, dando exemplo de estrutura para impedir que a chave seja gerada como array vazio []. Isso resolve definitivamente a geração das Perguntas Frequentes.
  • Blindagem Anti-Markdown contra Asteriscos (**) em Negritos:
    • Para combater o vício semântico do Gemini de entregar negritos em formato Markdown convencional (**texto**), inserimos uma proibição ultra-rígida na diretriz de saída de formato do prompt unificado em class-gap-processor.php, blindando e forçando estritamente o emprego das tags HTML <strong> e </strong>.
  • Transparência de Custos Reais na UI:
    • Atualizamos a nota do card premium de faturamento no painel de configurações para reflectir o Gemini 3.5 Lite (~R$ 0,018 por post com imagem) e reajustamos a estimativa do card do GPT-5.4 Mini para os realistas R$ 0,30 por post com imagem medidos pelo usuário em produção, trazendo clareza absoluta ao painel administrativo.

[2026-05-27 14:18] – Integração do Nível de Profundidade no Prompt Mestre, Placeholders e Comparativo Visual na UI [v1.4.0]

  • Status: Sucesso
  • Arquivos Modificados:
  • geraaipro.php (Versão incrementada de 1.3.9 para 1.4.0 na constante GAP_VERSION e cabeçalho principal)
  • class-gap-processor.php (Leitura do dropdown profile_depth com mapeamento semântico detalhado e injeção do placeholder {{DEPTH}} na System Message)
  • class-gap-admin.php (Injeção de box interativo premium com abas dinâmicas em Javascript mostrando o mesmo parágrafo escrito nas 4 profundidades e script de alternância)
  • VIBE_CHECKLIST.md (Checklist atualizado marcando a entrega da integração de profundidade editorial)
  • Alterações:
  • Mapeamento Rico de Nível de Profundidade:
    • Resolvido o fato de o campo de Nível de Profundidade (profile_depth) estar anteriormente “órfão” no fluxo de processamento de texto, embora estivesse sendo perfeitamente salvo na interface.
    • Implementada a leitura ativa em replace_placeholders usando GAP_Settings::get('profile_depth', 'intermediario').
    • Criado um dicionário estrito de descritores semânticos avançados que traduz a chave crua do banco em instruções profundas e pragmáticas para os motores de inteligência artificial:
    • basico: “Básico (focado em conceitos simples, linguagem acessível, direto ao ponto e sem termos excessivamente técnicos)”
    • intermediario: “Intermediário (conteúdo equilibrado com bons detalhes, explicações claras e aprofundamento moderado)”
    • avancado: “Avançado (rico em detalhes técnicos, jargões específicos do setor, análises aprofundadas e discussões completas)”
    • especialista: “Especialista de Elite (profundidade técnica exaustiva, comparativos de alto nível, análises minuciosas de dados e insights exclusivos de mercado com tom altamente qualificado)”
  • Injeção Dinâmica no Prompt Mestre da System Message:
    • Modificado o método centralizado get_system_prompt() para incorporar o novo placeholder no fluxo descritivo da IA:
    • “Seu público-alvo é ‘{{AUDIENCE}}’, o nível de profundidade técnica exigido do seu conteúdo é ‘{{DEPTH}}’ e você deve adotar um tom de voz estritamente ‘{{TONE}}’.”
    • Isso garante que a calibragem técnica da escrita seja rigidamente respeitada em 100% dos artigos gerados (tanto no modo de geração individual Single/Wizard quanto em processamentos em lote/Bulk).
  • Comparativo Visual Interativo de Profundidade na UI (Onboarding de UX):
    • Desenvolvido e injetado um box interativo de comparação prática em TailwindCSS logo abaixo do seletor dropdown do Nível de Profundidade no painel de configurações.
    • O bloco apresenta um comparativo dinâmico em abas rápidas mostrando exatamente o mesmo parágrafo conceitual (sobre o tema “Caching de Páginas”) reescrito em cada um dos 4 níveis técnicos (Básico, Intermediário, Avançado e Especialista).
    • Criada a rotina Javascript de alta performance e latência zero gapSwitchDepthTab(level) para alternar instantaneamente o parágrafo explicativo e atualizar visualmente o estado das abas com as cores premium da paleta da marca (bg-brand-yellow e text-deep-navy), oferecendo uma excelente demonstração prática do poder do algoritmo para o usuário final.

[2026-05-27 14:10] – Otimização SEO On-Page Yoast/RankMath Estrita, Variação Rítmica, FAQ Schema Automático e Keywords Secundárias Independentes [v1.3.9]

  • Status: Sucesso
  • Arquivos Modificados:
  • geraaipro.php (Incrementada a versão do plugin de bootstrap e cabeçalho principal pelo usuário para 1.3.9)
  • class-gap-admin.php (JS do Wizard, AJAX handler de outline, interface do Bulk, parser Javascript e handler PHP de adição de jobs em massa para suportar o novo fluxo de keywords secundárias isoladas)
  • class-gap-processor.php (Integração e unificação de LSI’s de fallback no prompt, novo parser regex e injeção automatizada do FAQ Schema estruturado JSON-LD)
  • VIBE_CHECKLIST.md (Checklist de tarefas atualizado e marcado como concluído para toda a Fase 5 de Inteligência SEO e EEAT)
  • Alterações:
  • Separação de Keywords Secundárias (LSI) e Tags WP (Wizard & Bulk): Resolvemos de forma definitiva a confusão entre tags taxonomias do WordPress e palavras-chave de apoio no prompt de IA.
    • No Wizard, atualizamos o JS para capturar separadamente o campo gap-secondary e transmiti-lo via AJAX.
    • No Bulk, criamos o campo de Keywords Secundárias de lote lateral em grid na UI, redesenhamos a caixa explicativa e o placeholder suportando a 5ª coluna (Keyword, Categoria, Tags WP, Titulo Customizado, Keywords Secundárias) na planilha CSV do lote, e tratamos o fallback automático na função PHP ajax_add_bulk_jobs.
    • Os jobs agora gravam a chave secondary de forma limpa nas configurações do banco.
  • Injeção Automática de FAQ Schema estruturado JSON-LD (Single & Bulk): Desenvolvemos um parser nativo robusto em PHP no método finalize_and_publish_post que extrai as perguntas (<h3>) e respostas (<p>) da seção FAQ do texto final via expressões regulares e gera a marcação estruturada JSON-LD (application/ld+json) recomendada pelo Google, concatenando de forma limpa e segura no final de post_content. Isso confere rich snippets automáticos e indexação aprimorada no Discover/SERPs.
  • Mapeamento Semântico no Prompt com Fallback: No processador, fundimos de forma inteligente a injeção do prompt da Regra 11. Se houver secondary configurada, o prompt adota as secundárias ricas; caso contrário, recorre de forma retrocompatível à chave tags, blindando a escrita da IA de elite.
  • Variação Rítmica Extrema e Antirobotização (Regra 4): Reformulamos a instrução de tamanho de parágrafos no prompt principal para impor uma alternância e flutuação extrema no número de palavras entre parágrafos consecutivos (com exemplos claros de 15, 28, 18, 32 palavras), erradicando qualquer linearidade de layout geométrico de blocos artificiais.
  • Diretrizes Avançadas E-E-A-T & Google HCU (Etapa 5.B):
    • Perspectiva de Equipe Especialista: Atualizamos o get_system_prompt definindo a vivência técnica e experiência empírica real de mercado da equipe editorial no nicho ({{NICHE}}).
    • Experiência Prática Simulada (Regra 15): Exigimos da IA ganchos e observações reais em primeira pessoa do plural (“em nossos laboratórios”, “em nossos testes práticos observamos que…”) para chancelar a autoria e expertise.
    • Evidências Factualizadas (Regra 15): Instruímos a IA a fundamentar teorias abstratas com estatísticas plausíveis, proporções reais e dados numéricos lógicos.
    • Antirredundância HCU (Regra 16): Removemos rodeios das introduções (“neste artigo vamos…”) em favor de entregas de valor instantâneas e bloqueamos repetições de ideias em tópicos H2 subsequentes.
    • Banimento Estrito de Termos de IA (Regra 17): Criamos uma lista rígida de palavras hiperbólicas proibidas (“revolucionário”, “crucial”, “divisor de águas”, “essencial para”, “no cenário atual”, “jornada de aprendizado”, “fundamental ressaltar”) para elevar o tom à sobriedade do jornalismo técnico.

[2026-05-26 15:55] – Centralização de Prompts (OpenAI, Gemini e Claude), Controle de FAQ no JSON e Links com Fallback [v1.3.7]

  • Status: Sucesso
  • Arquivos Modificados:
  • geraaipro.php (Versão incrementada para 1.3.7 pelo usuário)
  • class-gap-processor.php (Cálculo matemático restritivo de parágrafos, remoção da chave ‘faq’ do outline JSON se desabilitado e criação de resolvedor centralizado de links internos get_internal_links com fallbacks)
  • class-gap-admin.php (Leitura e propagação correta da opção ‘faq’ no AJAX de geração manual e adoção da busca de links internos centralizada)
  • class-gap-engine-claude.php (Refatorado para consumir os prompts dinâmicos e estáticos unificados do processador core, alinhando as três engines de fábrica)
  • Alterações:
  • Alinhamento dos 3 Motores: Refatoramos a classe do Claude para ler a system message e o prompt de escrita a partir do processador central. Agora, OpenAI, Gemini e Claude compartilham 100% dos mesmos prompts de conteúdo dinâmicos.
  • Controle Preciso de Palavras (Small ~700-800 palavras): Calibramos dinamicamente o número ideal de parágrafos por H2 no prompt dividindo o target real por 28 palavras/parágrafo e encurtando o teto superior da faixa permitida. Isso restringe o estouro de palavras, cravando o tamanho small na média ideal de ~700-800 palavras (comprovado em teste real com 890 palavras) sem afetar a riqueza e burstiness natural do texto.
  • Bloqueio de Alucinação de FAQ: Se o FAQ estiver desmarcado nas opções, o plugin agora remove fisicamente a chave 'faq' de dentro do JSON do outline antes de enviá-lo para a IA. Sem chaves ou palavras referentes a FAQ no outline de entrada, eliminamos qualquer chance da IA gerar perguntas. Também passamos a ler e propagar corretamente o parâmetro faq no pipeline manual.
  • Buscador Inteligente de Links com Fallback: Desenvolvemos a função GAP_Processor::get_internal_links que pesquisa posts contendo a palavra-chave por relevância. Se nada for encontrado, tenta com as 2 primeiras palavras da keyword; em última instância, sugere os 3 posts mais recentes do blog. Isso garante que a IA sempre receba opções válidas de linkagem interna e nunca abandone a regra de links internos obrigatória.

[2026-05-26 14:40] – Mudança no Pipeline de Imagens OpenAI para Download via URL & Resolução do Erro 400 [v1.3.6]

  • Status: Sucesso
  • Arquivos Modificados:
  • geraaipro.php (Versão incrementada para 1.3.6 nas constantes globais e cabeçalho do plugin)
  • class-gap-engine-openai.php (Remoção do parâmetro response_format que causava HTTP 400 na API gpt-image-2)
  • class-gap-processor.php (Substituição de decodificação Base64 por download seguro via URL na condicional image_engine === 'openai')
  • Alterações:
  • Correção de Erro de API de Imagens (HTTP 400): Ao rodar a chamada de imagens no DALL-E 3 / gpt-image-2 pelo endpoint tradicional /v1/images/generations, a OpenAI retornava erro de requisição inválida devido ao parâmetro "response_format": "b64_json".
  • Pipeline Baseado em URL Otimizada: Ajustamos a chamada no driver de OpenAI para omitir esse parâmetro, fazendo a API responder com sucesso imediato trazendo a URL final da imagem gerada.
  • Download e Conversão WebP Nativa: O processador core foi atualizado para ler $body['data'][0]['url'], realizar o download seguro via download_url() (idêntico ao motor robusto do Unsplash), aplicar as rotinas do compressor do WordPress (WP_Image_Editor), convertendo e salvando o arquivo final no formato moderno .webp com sideloading perfeito na Galeria de Mídia. Isso erradicou o bug e consolidou o motor de imagens do GPT como 100% resiliente!

[2026-05-26 14:30] – Correção do Bug de Exclusão Física de Chaves de API no Javascript [v1.3.5]

  • Status: Sucesso
  • Arquivos Modificados:
  • geraaipro.php (Versão incrementada para 1.3.5 nas constantes globais e cabeçalho do plugin)
  • class-gap-admin.php (Correção do erro de chaves/sintaxe JS de fechamento de escopo na função gapClearApiKey)
  • Alterações:
  • Correção da Lixeira de APIs (Erro Javascript): Descobrimos e corrigimos cirurgicamente um erro clássico de sintaxe no encadeamento de escopos de chaves (}) na função Javascript gapClearApiKey no painel de configurações.
  • Sintaxe Restaurada: A função possuía apenas um fechamento de chaves para fechar simultaneamente a função e o bloco if (confirm(...)). Com a inserção da chave de fechamento ausente (}), o script foi perfeitamente parseado pelo navegador e o comportamento visual da lixeira (limpar o placeholder, marcar o input hidden de limpeza para o array gap_clear_api_keys[] e ocultar o ícone de lixeira no formulário) voltou a funcionar 100% como projetado de fábrica!

[2026-05-26 14:05] – Geração de Imagem via OpenAI (gpt-image-2) & Claude Haiku por Padrão [v1.3.4]

  • Status: Sucesso
  • Arquivos Modificados:
  • geraaipro.php (Versão incrementada para 1.3.4 nas constantes globais e cabeçalho do plugin)
  • class-gap-engine-openai.php (Implementado o método generate_image consumindo o endpoint /v1/images/generations e o modelo gpt-image-2 na qualidade medium com proporções flexíveis)
  • class-gap-engine-claude.php (Alterado o modelo padrão de fallback de fábrica no construtor para claude-haiku-4-5-20251001)
  • class-gap-admin.php (Adicionado ‘OpenAI GPT Image 2’ como motor de imagens nas configurações administrativas e geração em Massa, Claude 4.5 Haiku como modelo padrão e nota detalhada comparando custos de imagem do Gemini vs OpenAI)
  • class-gap-processor.php (Integrada condicional image_engine === 'openai' no pipeline finalizador de postagens para orquestrar sideloading, otimização e compressão WebP nativa)
  • VIBE_CHECKLIST.md (Marcado como concluído o item de roadmap de suporte ao motor de imagens da OpenAI)
  • Alterações:
  • Suporte ao Motor de Imagem OpenAI (gpt-image-2): Conforme as novas especificações da Skill_OpenAi-api.md, adicionamos suporte completo para geração de imagem por inteligência artificial utilizando a OpenAI.
  • Tratamento Multimodal de Imagens: A requisição solicita o formato b64_json na resolução ideal mapeada em múltiplos de 16 conforme aspect ratio do plugin (ex: a proporção nativa 3:2 mapeia para 1536x1024 e 16:9 mapeia para 1792x1024). A qualidade de geração é cravada na opção recomendada medium (custo equilibrado de ~$0.053 por imagem). O base64 retornado sob data[0].b64_json é tratado de forma robusta pelo processador, salvando o temporário, rodando a compressão de imagem nativa (WP_Image_Editor) e convertendo para WebP para sideloading na Galeria do WordPress.
  • Nota de Transparência de Custos Expandida: Atualizamos o card de viabilidade financeira para explicar a diferença de custos caso o usuário escolha gerar imagens pela OpenAI (R$ 0,26 extras por post) vs a econômica Nano Banana 2 do Gemini (R$ 0,015 extras por post).
  • Claude Haiku por Padrão: Em conformidade com o pedido do usuário, cravamos a escolha econômica de fábrica do Anthropic Claude para o modelo Claude 4.5 Haiku (claude-haiku-4-5-20251001) tanto no dropdown administrativo quanto no construtor de fallback do driver Claude, economizando créditos.

[2026-05-26 13:45] – Transparência de Custos na UI & Adição de GPT-2 Imagem no Roadmap [v1.3.3]

  • Status: Sucesso
  • Arquivos Modificados:
  • geraaipro.php (Versão incrementada para 1.3.3 nas constantes globais e cabeçalho do plugin)
  • class-gap-admin.php (Injetado card premium com detalhamento de custos estimados por artigo para cada modelo no topo da página de Ajuste de Configurações)
  • VIBE_CHECKLIST.md (Adicionado ao roadmap futuro o suporte ao motor de imagem da OpenAI/DALL-E 2 / GPT-2 Imagem)
  • Alterações:
  • Card de Transparência de Custos: Desenvolvemos e injetamos um box informativo visualmente deslumbrante (Tailwind Premium) no cabeçalho do painel de Configurações administrativas. Esse card detalha objetivamente a estimativa de custo de API para gerar um post aprofundado de 2000 palavras + imagem mestre do Unsplash ou Nano Banana 2. Os valores são apresentados claramente em Reais (R$), permitindo ao cliente comparar no ato da configuração:
    • Gemini 3.5 Flash: ~R$ 0,026 / post (Ultra Econômico)
    • GPT-5.4 Mini: ~R$ 0,039 / post (Recomendado)
    • Gemini 3.1 Pro: ~R$ 0,212 / post
    • Claude 4.5 Sonnet: ~R$ 0,315 / post
    • GPT-5.4 Premium: ~R$ 0,410 / post
  • Roadmap Futuro “GPT-2 Imagem”: Adicionada a meta de suporte futuro para o gerador de imagens da OpenAI (“GPT-2 Imagem” / DALL-E 2) na Fase 6 da checklist oficial de desenvolvimento, para flexibilizar a geração automática sob novos dados técnicos a serem providos.

[2026-05-26 13:30] – Incremento Global de Versão [v1.3.2]

  • Status: Sucesso
  • Arquivos Modificados:
  • geraaipro.php (Versão incrementada pelo usuário para 1.3.2 nas constantes de bootstrap e cabeçalho do plugin)
  • Alterações:
  • Incremento de Versão: A versão oficial do plugin no WordPress foi cravada pelo usuário em 1.3.2 para consolidar todas as evoluções estruturais, otimizações econômicas do parser e correções visuais implementadas com sucesso nesta iteração de Vibe Coding.

[2026-05-26 12:05] – Definição do gpt-5.4-mini como Padrão de Produção Otimizado [v1.3.1]

  • Status: Sucesso
  • Arquivos Modificados:
  • geraaipro.php (Versão incrementada pelo usuário para 1.3.1 nas constantes globais)
  • class-gap-admin.php (Ajustado o modelo padrão de fallback selecionado no dropdown da OpenAI para gpt-5.4-mini)
  • class-gap-engine-openai.php (Atualizado o fallback do construtor para gpt-5.4-mini como o motor padrão nativo do driver)
  • Alterações:
  • Ajuste de Usabilidade Econômica: Alinhamos a configuração de fábrica do plugin com a planilha oficial de preços e diretrizes de Vibe Coding.
  • OpenAI Otimizada por Padrão: O plugin passa a adotar e forçar o gpt-5.4-mini como o modelo padrão selecionado e operado tanto no banco de dados quanto na interface do usuário (em vez do caro gpt-5.4), garantindo custos operacionais extremamente enxutos em pipelines de geração em massa e Wizard.
  • Manutenção do Gemini 3.5 Flash: O modelo mestre ultra-econômico gemini-3.5-flash segue consolidado como o padrão absoluto de fábrica da Google para latência quase zero e texto virtualmente gratuito.

[2026-05-26 11:35] – Título Customizado Opcional em CSV de Lote & Ajuste de Largura da UI do Lookalike [v1.2.9]

  • Status: Sucesso
  • Arquivos Modificados:
  • geraaipro.php (Versão incrementada para 1.2.9)
  • class-gap-admin.php (Ajuste da classe visual do input de quantidade lookalike, re-escrita do parser de CSV na função ajax_add_bulk_jobs e injeção do box didático com placeholder avançado na UI)
  • Alterações:
  • Incremento de Versão: A versão global do plugin foi cravada em 1.2.9 tanto no cabeçalho do arquivo principal quanto na constante GAP_VERSION de bootstrap.
  • Largura do Input da UI Corrigida: Modificada a classe de largura do input do número de Lookalike de w-14 (56px) para w-20 (80px) nas configurações visuais de Massa (render_bulk_page). Isso expande a largura horizontal interna do campo, comportando perfeitamente 3 ou mais dígitos sem qualquer tipo de corte de visualização. Também aumentamos o valor máximo nativo do HTML de 50 para 100 para lotes de lookalikes maiores.
  • Suporte a Título Customizado no CSV de Lote: Desenvolvemos uma re-escrita estruturada no parser de string do textarea de keywords em ajax_add_bulk_jobs utilizando o interpretador seguro str_getcsv().
  • Formato CSV Expansível de 4 Colunas: A linha enviada agora suporta inteligentemente o formato: Keyword, Categoria, Tag1 | Tag2 | Tag3, Titulo Customizado.
  • Fallback Inteligente de Colunas:
    • 4 partes passadas: Processa e mapeia as 4 colunas perfeitamente.
    • 3 partes passadas: Keyword, Categoria e Tags ativas. O título fica em branco e é sugerido automaticamente via IA.
    • 2 partes passadas: Keyword e Categoria mapeadas. Tags e Título gerados automaticamente via fallbacks.
    • 1 parte passada (pura): Keyword mapeada. Categoria, tags e título gerados de forma automática conforme opções.
  • Bypass Automático de Sugestão de Título por IA: A variável de título extraída da 4ª coluna é gravada diretamente na chave 'title' das configurações do Job (settings). Com isso, o processador assíncrono em background (GAP_Processor::process_existing_job) detecta automaticamente que o título já foi fornecido e pula a requisição à API de IA para gerar um título, otimizando créditos e tempo de resposta.
  • Box Informativo de Onboarding na UI: Adicionado um belo box didático de alta fidelidade visual com design premium clean em Tailwind logo acima da caixa de digitação. Esse card explica didaticamente a estrutura dos arquivos aceitos (Simples e CSV Completo). O placeholder do próprio textarea também foi enriquecido com exemplos práticos detalhando ambas as abordagens para facilitar o uso no dia a dia.

[2026-05-26 11:05] – Botão “Limpar Histórico” com Exclusão Física Controlada e Nonce de Segurança

  • Status: Sucesso
  • Arquivos Modificados:
  • class-gap-admin.php (Inserção da lógica de POST de limpeza, exibição de banner Tailwind e botão com confirmação nativa no dashboard render_main_page)
  • Alterações:
  • Botão “Limpar Histórico” no Dashboard: Adicionado um novo botão visual premium e minimalista ao lado de “Novo Artigo” no Dashboard de Operações IA. Ele segue o visual SaaS do plugin (fundo branco, borda avermelhada leve, hover com fundo vermelho pastel suave e cursor pointer).
  • Segurança Robusta (Nonces & Privilégios): Implementada validação rigorosa com Nonce do WordPress (gap_clear_history_nonce) e verificação de privilégios de administrador (current_user_can('manage_options')) no tratamento da ação POST de limpeza para blindar a operação contra CSRF.
  • Janela de Confirmação Javascript: Integrada janela de confirmação nativa no submit do formulário, detalhando claramente ao usuário que os registros de histórico serão deletados para reiniciar a IA Lookalike, enquanto os posts publicados no WordPress permanecem 100% seguros e intactos.
  • Exclusão Física Cirúrgica (Inclusão de content_generated): A ação deleta fisicamente do banco de dados ($wpdb->query) os registros cujos status representam artigos gerados ou finalizados com sucesso ou falha (completed, published, error e agora também content_generated para cobrir rascunhos individuais parciais ou abandonados no Wizard). Isso limpa de fato o viés semântico que a IA de Lookalike puxa do banco, mas mantém intactos e seguros todos os jobs que estejam pendentes, agendados ou ativos em fila no Drip Feed do gerador em massa.
  • Banner Premium de Feedback: Se o histórico for limpo com sucesso, a página renderiza um lindo aviso inline no topo do Dashboard com design moderno Tailwind (fundo verde claro, borda e ícone elegante), confirmando o reset da base de keywords com sucesso.

[2026-05-26 11:00] – Arquivamento Lógico (Soft Delete) no Lote Bulk & Preservação do Lookalike

  • Status: Sucesso
  • Arquivos Modificados:
  • class-gap-admin.php (Alteração do fluxo de exclusão/limpeza no ajax_control_bulk_job e filtragem no ajax_get_bulk_status)
  • Alterações:
  • Preservação de Histórico e Lookalike: Resolvida a falha de dados em que a limpeza de concluídos removia fisicamente os jobs do banco. Agora, ao limpar concluídos/falhos, o plugin realiza um arquivamento lógico (Soft Delete) adicionando a flag "hide_in_queue":1 no JSON de configurações do Job, em vez de deletar fisicamente o registro do banco de dados.
  • Filtro Inteligente na Fila Bulk: A listagem e contadores da fila em lote passam a ignorar os registros que possuem a flag de ocultação, limpando instantaneamente a visualização do painel para o usuário.
  • Histórico Geral & IA Mantidos: Os posts concluídos continuam intactos no banco de dados, aparecendo permanentemente no Histórico Geral de Operações e mantendo ativa toda a base de dados histórica necessária para o algoritmo do Lookalike de Keywords da IA evitar duplicados e propor novas ideias de temas.
  • Deleção Física apenas para Pendentes: Caso o job seja cancelado/excluído ainda em estado pendente (sem ter sido gerado ou gerado erro), a deleção física do banco é mantida, poupando espaço e registros desnecessários.

[2026-05-26 10:50] – Coluna Tipo (Bulk/Single) no Histórico Geral de Operações IA

  • Status: Sucesso
  • Arquivos Modificados:
  • class-gap-admin.php (Adicionada a coluna Tipo no cabeçalho e corpo da tabela de histórico geral do painel principal render_main_page)
  • Alterações:
  • Identificação Visual Premium no Histórico: Adicionada uma nova coluna chamada Tipo na tabela do dashboard de Operações IA principal (que lista todos os posts unificados).
  • Badges Modernas SaaS: Cada registro agora exibe um badge elegante e colorido de alta fidelidade para rápida identificação visual da origem do post:
    • 📦 Bulk (azul) para posts gerados em lote/massa.
    • 👤 Single (verde) para posts gerados individualmente pelo Wizard.
  • Histórico Geral Integrado: O histórico principal agora exibe a listagem completa e unificada (Massa e Singular) em ordem cronológica reversa, mantendo a tabela de Bulk isolada e exclusiva na página de Lote conforme planejado.

[2026-05-26 10:30] – Pooling Assíncrono com setTimeout & Destravamento de Conexões no Lote Bulk

  • Status: Sucesso
  • Arquivos Modificados:
  • class-gap-admin.php (Substituição de setInterval cego por setTimeout encadeado dinâmico na resposta do AJAX no método loadQueue)
  • Alterações:
  • Pooling de Monitoramento Assíncrono Inteligente: Corrigido o problema clássico de travamento e inacessibilidade temporária do site (tanto no admin quanto na área pública) durante a geração ativa de lote no ambiente de desenvolvimento local (LocalWP).
  • Fim do Empilhamento de Requisições (Starvation): Anteriormente, o pooling utilizava um setInterval cego a cada 5 segundos. Caso o servidor estivesse sob forte processamento (geração de texto e imagens via IA em segundo plano) e demorasse para responder ao AJAX, o setInterval continuava empilhando novas requisições AJAX concorrentes em fila no servidor local. Isso consumia instantaneamente todos os poucos workers PHP disponíveis no LocalWP, travando completamente o site inteiro.
  • Solução com setTimeout Encadeado: O pooling agora só agenda a próxima verificação de fila para daqui a 5 segundos após a requisição AJAX atual retornar com absoluto sucesso ou falha, quebrando o acúmulo de requisições pendentes e mantendo o servidor local sempre livre, leve, responsivo e com navegação e UX impecáveis.

[2026-05-26 10:10] – Formato CSV Inline no Lote (Keyword, Categoria, Tags por linha) & Versão 1.2.5

  • Status: Sucesso
  • Arquivos Modificados:
  • geraaipro.php (Versão incrementada para 1.2.5 pelo usuário)
  • class-gap-admin.php (Implementado o parsing inteligente de Keyword, Categoria e Tags por linha no endpoint ajax_add_bulk_jobs)
  • class-gap-processor.php (Respeito dinâmico à categoria salva no JSON de settings do Job no método finalize_and_publish_post)
  • Alterações:
  • Formato CSV Inline no Lote (Avançado): Adicionado suporte completo para o usuário passar configurações personalizadas por linha na caixa de texto do lote. Formato aceito: Keyword, Categoria, Tag1 | Tag2 | Tag3.
  • Criação Automática e Dinâmica de Categorias: Se o usuário informar uma categoria por linha que ainda não existe no WordPress, o plugin criará a categoria automaticamente em tempo real e associará o artigo a ela. ID numérico de categoria também é aceito.
  • Retrocompatibilidade e Fallbacks: Caso o usuário digite apenas a palavra-chave de forma simples, o plugin continuará a buscar a Categoria e as Tags globais selecionadas na barra lateral de ajustes como fallback.
  • Integração no Processador: O processador core foi atualizado para ler e aplicar dinamicamente a categoria gravada individualmente no JSON de configurações (settings) do Job antes de postar, garantindo que cada artigo vá exatamente para a categoria especificada em sua linha.
  • Sincronização de Versão: O usuário incrementou a versão do plugin de 1.2.0 para 1.2.5 no cabeçalho do plugin e na constante global GAP_VERSION de geraaipro.php.

[2026-05-26 08:15] – Lookalike de Keywords com IA, Agendamento Drip Feed & Controles Globais de Fila (FASE 6.1)

  • Status: Sucesso
  • Arquivos Modificados:
  • class-gap-action-scheduler.php (Novo método dequeue_job para cancelamento de agendamentos futuros)
  • class-gap-admin.php (Filtros de isolamento Bulk, status Agendado, ações globais cancel_all/clear_all no AJAX/JS e botões na UI da fila)
  • Alterações:
  • Lookalike de Keywords com IA: Botão visual e endpoint AJAX para sugestão em massa de palavras-chave inéditas com base no histórico das últimas 50 geradas no banco, utilizando a IA primária com um prompt estratégico que bloqueia duplicações e as insere diretamente na caixa de texto de lote. [Correções de UX & Escopo]: Corrigido o bug de escopo do seletor do botão Lookalike ($('#gap-btn-lookalike')) no JS e adicionado feedback visual explícito de processamento. O botão agora é desabilitado instantaneamente e exibe o texto ⏳ Gerando com IA... enquanto a requisição AJAX está rodando, reativando ao finalizar. [Correção de Upload Clique]: Corrigido o erro de recursão infinita e travamento no clique da área de upload/dropzone. Ao acionar programaticamente o input file, o clique se propagava de volta para o elemento pai (gap-dropzone) criando um loop infinito bloqueado pelo navegador; adicionada a chamada a e.stopPropagation() no clique do input de arquivos, o que abre perfeitamente o selecionador de arquivos do sistema operacional ao clicar em qualquer lugar da dropzone ou no link “clique para importar”.
  • Agendamento Drip Feed (Fila Progressiva): Acoplada a lógica progressiva de agendamento em loop no cadastro de lote de Massa (Bulk), gravando o fuso horário correto no banco e registrando as ações no Action Scheduler ou WP-Cron. Implementado o método GAP_Action_Scheduler::dequeue_job para remover fisicamente os agendamentos futuros no WordPress ao cancelar jobs. [Expansão de Intervalos]: Adicionados intervalos adicionais de postagem mais curtos e flexíveis no dropdown do HTML (1h, 2h, 4h, 6h, 8h, além dos de 12h, 24h, 48h, 72h) com compatibilidade nativa imediata no backend PHP.
  • Status Agendado na Interface: Modificada a renderização da fila de monitoramento Javascript para exibir o badge azul ⏳ Agendado e a indicação de relógio ⏰ [Data/Hora de Disparo] se o job estiver planejado para o futuro e ainda não tiver sido iniciado.
  • Controles Globais de Fila (Cancelar & Limpar Lote): Injetados botões premium SaaS “❌ Cancelar Pendentes” e “🧹 Limpar Concluídos” no cabeçalho do painel de fila Bulk, conectados a callbacks AJAX para exclusão em lote dos jobs pendentes ou finalizados (com limpeza automática das tarefas agendadas no cron do WordPress).
  • Isolamento de Histórico Bulk: Filtrada e restrita a consulta em ajax_get_bulk_status para buscar apenas os jobs gerados via Bulk (onde settings contém "is_bulk":1), garantindo que o monitoramento da fila em lote seja limpo e focado sem misturar registros com o gerador singular (Wizard).

[2026-05-26 07:55] – Polimento de Seleção Dinâmica de Motores de Texto e Imagem no Lote Bulk

  • Status: Sucesso
  • Arquivos Modificados:
  • class-gap-admin.php (Novo dropdown visual de Motor de Imagens e envio de payload AJAX)
  • class-gap-processor.php (Ajuste no process_existing_job e finalize_and_publish_post para respeitar os motores de lote)
  • Alterações:
  • Configuração de Imagem no Lote: Adicionado dropdown visual na sidebar de Ajustes de Lote para seleção explícita do Motor de Imagens (Unsplash, Nano Banana 2 ou Nenhuma) a ser aplicado ao processar o lote de Massa. O valor é devidamente transportado via payload AJAX e armazenado nas configurações individuais do Job.
  • Dinamicidade Total nos Motores: Refatorada a leitura de $primary_engine (texto) e $image_engine (imagem) dentro do processador core. O sistema agora lê dinamicamente as opções definidas pelo usuário no momento da criação do lote a partir de $settings['engine'] e $settings['image_engine'], recorrendo às configurações globais do plugin apenas como fallback automático. Isso garante perfeita harmonia e equiparação da qualidade e inteligência entre as gerações singular e em massa.
  • Correção Terminológica: Ajustada a referência no histórico técnico e planos de modelo de “Gemini 3.1 Flash” para o termo técnico oficial de texto “Gemini 3.5 Flash”.

[2026-05-26 07:45] – Implementação da Geração em Massa (Bulk) & Fila Assíncrona com Action Scheduler (FASE 6)

  • Status: Sucesso
  • Arquivos Modificados/Criados:
  • class-gap-action-scheduler.php (Novo – Classe de Agendamento da Fila)
  • class-gap-processor.php (Adicionado método process_existing_job)
  • geraaipro.php (Carregamento e Inicialização da classe de agendamento)
  • class-gap-admin.php (Submenu, tela render_bulk_page e 3 endpoints AJAX)
  • Alterações:
  • Fila Assíncrona em Segundo Plano (Failover Inteligente): Criada a classe GAP_Action_Scheduler para orquestrar o enfileiramento dos artigos de forma assíncrona usando o Action Scheduler do WP. Adicionado um fallback automático para o WP-Cron nativo (wp_schedule_single_event) caso a biblioteca Action Scheduler não esteja ativa em ambientes isolados, garantindo resiliência em qualquer servidor sem timeouts.
  • Pipeline de Geração de Jobs Existentes: Criada a função GAP_Processor::process_existing_job que executa a geração de título, outline, links internos, conteúdo completo HTML e sideload da imagem de destaque em WebP de forma isolada, atualizando o progresso exato de cada etapa no Job ID pré-existente no banco de dados.
  • Endpoints AJAX de Lote: Implementados os endpoints gap_add_bulk_jobs (higieniza e cadastra dezenas de keywords agendando-as na fila), gap_get_bulk_status (consulta estatísticas e jobs recentes em tempo real) e gap_control_bulk_job (ações de excluir ou processar síncrono imediatamente).
  • Dashboard Bulk Premium: Desenvolvida a tela visual de Geração em Massa sob o menu Gerar em Massa. Conta com textarea, drag-and-drop para importação de arquivos .txt/.csv, configurações unificadas de lote, cards de estatísticas rápidas, pooling JS periódico de 5 segundos que atualiza dinamicamente a fila ao vivo e ações unitárias por job.

[2026-05-25 17:25] – Correção do Bug de Label no Campo Público-Alvo (Perfil Editorial)

  • Status: Sucesso
  • Arquivos Modificados:
  • class-gap-admin.php (Correção do texto da Label do Público-Alvo)
  • Alterações:
  • Correção Visual no Público-Alvo: Corrigida uma duplicação/quebra de sintaxe HTML que exibia o fragmento de código ext-sm font-bold mb-2 opacity-80">Público-Alvo de forma crua acima do input. A tag <label> foi higienizada e restaurada para sua forma padrão e limpa, garantindo a exibição perfeita da interface no painel de configurações na seção “Perfil Editorial (Cérebro da IA)”.

[2026-05-25 17:22] – Correção de Layout no Painel de Configurações & Versão 1.1.8 pelo Usuário

  • Status: Sucesso
  • Arquivos Modificados:
  • class-gap-admin.php (Correção das Divs do Painel de Ajustes)
  • geraaipro.php (Versão do Plugin incrementada para 1.1.8)
  • Alterações:
  • Correção do Bug de Layout: Resolvido o erro de fechamento de tags HTML div no painel de configurações (class-gap-admin.php). O card principal Configuração Global do Motor estava sem fechamento apropriado (</div>), fazendo com que o painel de escolha das LLMs ficasse colado e agrupado incorretamente com os painéis inferiores. Adicionado o fechamento correto das divs para isolar o bloco visualmente com espaçamento harmônico e fluidez.
  • Sincronização de Versão: O usuário incrementou a versão do plugin de 1.1.7 para 1.1.8 no cabeçalho e na constante global GAP_VERSION de geraaipro.php.

[2026-05-25 17:05] – Conversão Nativa para WebP, Tela de Carregamento Blur Premium & Versão 1.1.7 pelo Usuário

  • Status: Sucesso
  • Arquivos Modificados:
  • class-gap-processor.php (Conversão Nativa para WebP)
  • class-gap-admin.php (Tela de Carregamento e Dropdown de Proporções)
  • geraaipro.php (Versão do Plugin incrementada para 1.1.7)
  • Alterações:
  • Conversão Nativa para WebP: Aprimorado o método gap_optimize_local_image para tentar converter todas as imagens baixadas (Unsplash ou Gemini) para o formato moderno WebP usando a classe WP_Image_Editor do WordPress. Se o servidor for compatível (GD ou Imagick habilitado com WebP), a imagem é salva e convertida, e sua extensão é atualizada para .webp. Isso reduz o peso médio da imagem destacada de ~150KB para apenas 40KB – 80KB, garantindo máxima pontuação no PageSpeed!
  • Tela de Carregamento Blur Premium: Adicionado um overlay de tela inteira com design moderno de Glassmorphic Blur (backdrop-blur-md e fundo semi-transparente) que bloqueia completamente a tela durante a geração do outline, do conteúdo e da imagem. O overlay exibe um spinner rotativo premium, uma barra de progresso animada e textos dinâmicos de status (“Estruturando outline…”, “Escrevendo conteúdo de elite…”, “Salvando post e processando imagem…”). Isso impede cliques duplos que possam corromper o processo de geração.
  • Proporção Clássica 3:2 por Padrão: Alterada a seleção padrão no dropdown de proporções de imagem do wizard para 3:2 (Clássica) ao invés de 16:9.
  • Sincronização de Versão: O usuário incrementou a versão do plugin de 1.1.6 para 1.1.7 no cabeçalho e na constante global GAP_VERSION de geraaipro.php.

[2026-05-25 16:25] – Otimização Nativa de Peso e Compressão de Imagens & Versão 1.1.6 pelo Usuário

  • Status: Sucesso
  • Arquivos Modificados:
  • class-gap-processor.php (Compressão de Imagens e Redimensionamento)
  • geraaipro.php (Versão do Plugin incrementada para 1.1.6)
  • Alterações:
  • Compressão de Imagens Nativa: Adicionado o método gap_optimize_local_image ao processador. Ele utiliza a classe oficial do WordPress WP_Image_Editor (GD ou Imagick) para processar todas as imagens temporárias (baixadas do Unsplash ou geradas pelo Gemini base64) antes delas serem cadastradas na biblioteca de mídias por media_handle_sideload.
  • Redução drástica de peso: Limita a largura máxima das imagens originais a 1425px e define uma qualidade de compressão de 82 (padrão-ouro recomendado para SEO e performance de sites). Isso reduz o peso da imagem mestre na biblioteca de mídias de mais de 800KB para uma média de 120-160KB, dentro do range ideal de alta performance.
  • Sincronização de Versão: O usuário incrementou a versão do plugin de 1.1.4 para 1.1.6 no cabeçalho e na constante global GAP_VERSION de geraaipro.php.

[2026-05-25 14:35] – Alinhamento Perfeito do Nano Banana 2 com n8n, Redimensionamento Unsplash 1200px+ & Versão 1.1.4 pelo Usuário

  • Status: Sucesso
  • Arquivos Modificados:
  • class-gap-engine-gemini.php (Geração de Imagem com Gemini)
  • class-gap-processor.php (Lógica do Unsplash com Sizing)
  • geraaipro.php (Versão do Plugin incrementada para 1.1.4)
  • Alterações:
  • Alinhamento do Nano Banana 2 com o n8n: Substituído o payload JSON da requisição do Gemini para usar a estrutura exata e simplificada que está funcionando no nó n8n do usuário. Agora o responseModalities é estritamente ["Image"], e o aspectRatio do usuário é passado diretamente sob a chave imageConfig (eliminando a rejeição do enum ImageResponseFormat).
  • Redimensionamento Dinâmico do Unsplash (1200px+ & Dimensões Mínimas de 800px): Implementado o download da imagem crua (raw URL) da API do Unsplash. Agora o processador utiliza uma closure inteligente para concatenar dimensões e parâmetros de corte dinâmico do Imgix/Unsplash (&w=1200&h=X&fit=crop&q=80). Adicionalmente, garantimos que nenhuma dimensão (seja altura ou largura) fique abaixo de 800px para qualquer proporção escolhida (por exemplo, no formato 16:9 o tamanho de corte é ajustado dinamicamente para 1425x800px), cumprindo rigorosamente as diretrizes visuais do Google Discover.
  • Sincronização de Versão: O usuário incrementou a versão do plugin de 1.1.3 para 1.1.4 no cabeçalho e na constante global GAP_VERSION de geraaipro.php.

[2026-05-25 14:02] – Correção do Bug de Enums na API Nano Banana 2 & Versão 1.1.3 pelo Usuário

  • Status: Sucesso
  • Arquivos Modificados:
  • class-gap-engine-gemini.php (Mapeamento de Aspect Ratio e Image Size)
  • geraaipro.php (Versão do Plugin incrementada para 1.1.3)
  • Alterações:
  • Mapeamento de Enums da API Gemini: Corrigido o erro de INVALID_ARGUMENT (HTTP 400) retornado pela API Google AI Studio quando o aspect_ratio era enviado como "3:2" ou "16:9" e o imageSize como "2K".
  • Tradução: Implementada uma matriz de tradução estrita no método generate_image() para mapear os formatos amigáveis nos enums oficiais compatíveis com o protobuf do endpoint generateContent (exemplo: "3:2" convertido para ASPECT_RATIO_3_2, e "2K" mapeado para o enum IMAGE_SIZE_2K).
  • Sincronização de Versão: O usuário incrementou a versão do plugin de 1.1.2 para 1.1.3 no cabeçalho e na constante global GAP_VERSION de geraaipro.php.

[2026-05-25 13:16] – Versão 1.1.2 (Sincronização de Versão pelo Usuário)

  • Status: Sucesso
  • Arquivos Modificados:
  • geraaipro.php (Linhas 5 e 17)
  • Alteração:
  • O usuário incrementou manualmente a versão do plugin de 1.0.9 para 1.1.2 tanto no cabeçalho do arquivo principal quanto na constante global GAP_VERSION.

[2026-05-25 13:10] – Correção Definitiva de Imagens (Unsplash & Nano Banana 2) & Exibição de Erros

  • Status: Sucesso
  • Arquivos Modificados:
  • class-gap-engine-gemini.php (Geração de Imagem com Gemini)
  • class-gap-processor.php (Lógica do Processador de Imagem)
  • class-gap-admin.php (Dashboard e Histórico)
  • Alterações:
  • Nano Banana 2: Refatorado o método generate_image no motor Gemini para apontar para o modelo oficial de produção de imagens do AI Studio, gemini-3.1-flash-image-preview, utilizando o endpoint oficial :generateContent com o cabeçalho x-goog-api-key e nova estrutura de payload.
  • Decodificação Robusta de Mídia: Atualizado o processador para decodificar dinamicamente o base64 a partir do nó inlineData/inline_data da resposta do Gemini 3.1, mantendo compatibilidade retroativa com predictions.
  • Bypass de timeouts no Unsplash: Adicionado timeout explícito de 45 segundos nas requisições da API de busca do Unsplash (evitando cair no timeout padrão agressivo de 5s do WordPress, que causava falhas em produção).
  • Erros de Imagem no Dashboard: Atualizado o dashboard de histórico para renderizar um alerta em vermelho (⚠ Erro: [Mensagem]) abaixo do badge verde do post publicado sempre que a imagem de destaque falhar. Isso dá feedback visual imediato ao usuário sem falhar a publicação do artigo principal.
  • Segurança de Temporários: Substituído o nome parametrizado no temporário por wp_tempnam( 'gap_image_' ) padrão para evitar quebras de sanitização de arquivo em plataformas Windows/produção.

[2026-05-24] – Erradicação de Links Circulares, Limites Invioláveis e timeouts Estendidos (v5.9)

  • Status: Sucesso
  • Arquivos Modificados:
  • class-gap-engine-openai.php (Prompt de Texto)
  • class-gap-engine-gemini.php (Prompt de Texto)
  • class-gap-engine-claude.php (Prompt de Texto)
  • class-gap-processor.php (timeouts)
  • Alterações:
  • Erradicação de timeouts: Aumentado o timeout de todas as requisições principais de outlines e conteúdo de 60s/120s para 180 segundos em todas as três engines para evitar erros de timeout cURL 28 em posts longos.
  • Links Invioláveis: Atualizados prompts mestre com a regra de MÁXIMO 3 LINKS POR POST (exatamente 1 externo e no máximo 2 internos).
  • Âncoras Curtas: Limitação severa no tamanho das tags <a>, restringindo o comprimento das âncoras para 1 a 3 palavras consecutivas no máximo, proibindo links longos que englobem frases inteiras.
  • Zero Links Circulares: Reforço absoluto contra links auto-referenciais e CTAs que apontem para o próprio H1, post ou slug atual.

[2026-05-23] – UX de Exclusão de API Keys & Negritos Semânticos Flexíveis (v5.8)

  • Status: Sucesso
  • Arquivos Modificados:
  • class-gap-admin.php (UX do Painel e Backend)
  • class-gap-engine-openai.php (Prompt)
  • class-gap-engine-gemini.php (Prompt)
  • class-gap-engine-claude.php (Prompt)
  • Alterações:
  • Negritos Inteligentes e Semânticos: Reformulada a Regra 6 dos prompts de IA para aplicar tags <strong> de forma natural e distribuída ao longo das frases (destacando a Keyword principal, LSIs, numerais relevantes e conceitos estratégicos), sem excessos e sem depender exclusivamente de keywords secundárias.
  • Exclusão de API Keys: Adicionados botões visuais de lixeira (🗑️) com confirmação via Javascript nos inputs de chaves de API do painel. Criado suporte robusto no backend para interceptar o array gap_clear_api_keys e remover chaves específicas do banco de dados definitivamente, contornando o comportamento de autofill do navegador.

[2026-05-22] – Correção do Histórico, Recuperação Automática de post_id e Fallbacks (v5.7)

  • Status: Sucesso
  • Arquivos Modificados:
  • class-gap-admin.php (Histórico de Jobs e Status)
  • class-gap-processor.php (Gravação de post_id e Fallbacks)
  • Alterações:
  • post_id Retroativo e Badge Verde: Atualizada a lógica de renderização do histórico principal para fazer uma busca dinâmica via meta_key _gap_job_id para jobs que já foram concluídos/publicados, mas estavam com a coluna post_id nula no banco. O botão “Editar Post →” agora é exibido corretamente. Mapeadas as cores dos status published e completed para verde vibrante (bg-green-100 text-green-700).
  • Gravação Automática: Integrado ao método finalize_and_publish_post do processador a atualização da coluna post_id no banco no ato de publicação bem-sucedida do post.
  • Lógica de Fallback Sem Máscara: Refatorada a função run_with_fallback no processador. O sistema agora só executa fallback síncrono para a engine secundária se a chave dela estiver de fato configurada. Caso contrário, ou caso ambas falhem, o erro real retornado pela API da engine primária é exibido transparentemente, eliminando a exibição confusa do erro padrão de chave em branco da OpenAI.