# REGRAS CONSOLIDADAS PARA GOOGLE ADS (V12.6 — HEADLINE 30 + HARD MATCH + DKI SAFE MODE + RECONCILIATION ENGINE) OBJETIVO: Engine determinístico com canonização automática de keywords, espelhamento obrigatório de keywords em headlines (HARD MATCH 7/7) + 01 título com DKI em modo seguro (SEM substituir espelhos), e regeneração obrigatória de descrições (SEM substring), agora com camada adicional RECONCILIATION ENGINE (ANTI FALSE NEGATIVE) para validação estrutural final. Compatível com GAS v6 — ENGINE AUDITOR HARD MATCH. --- # 🆕 V12.6 — ATUALIZAÇÃO (HEADLINE 30) * **Headlines (Títulos):** limite alterado de **25** para **30 caracteres**. * **Demais ativos** (keywords, callouts, sitelinks e descrições de sitelink): permanecem com **limite 25** (ou os limites já definidos nas seções próprias). --- # 0. FLUXO GLOBAL (DETERMINISTIC EXECUTION) INÍCIO PARA cada GRUPO_DE_ANUNCIO (total = 3): ``` PASSO 1 → Gerar Keywords PASSO 1.1 → SANITIZAR E CANONIZAR KEYWORDS PASSO 2 → Normalizar Keywords PASSO 3 → Classificar Keywords por PRIORIDADE PASSO 4 → Selecionar Literais (ALGORITMO FIXO) PASSO 4.1 → Gerar HEADLINES ESPELHO (1 por keyword) PASSO 4.2 → Gerar 01 HEADLINE DKI (SAFE MODE) PASSO 5 → Montar LISTA FINAL DE TÍTULOS (15) com MIRROR ENFORCEMENT + DKI SAFE PASSO 6 → Gerar Descrições (REGENERAÇÃO OBRIGATÓRIA / SEM CORTE) PASSO 7 → Validar Limites (Headlines ≤30; demais conforme seção) PASSO 8 → Inserir Localização (fora dos espelhos) ``` FIM Depois: PASSO 9 → Negativas PASSO 10 → Extensões PASSO 11 → HARD LOCK VALIDATION PASSO 12 → RECONCILIATION ENGINE (ANTI FALSE NEGATIVE) PASSO 13 → AUDITORIA GAS v6 (Opcional) RETORNAR apenas JSON estruturado. --- # 1. PALAVRAS-CHAVE (ENGINE STEP) GERAR exatamente 7 keywords por grupo. REGRAS: * usar [Exata] e "Frase" * máximo 25 caracteres * keywords devem ser juridicamente tituláveis. --- ## SANITIZAÇÃO E CANONIZAÇÃO (OBRIGATÓRIA) ANTES de aceitar qualquer keyword: FUNÇÃO canonizar(keyword): ``` remover duplicações de delimitadores: [[texto]] → texto converter para forma jurídica clara e titulável. ``` Exemplos obrigatórios: casamento fim → Fim do Casamento fim do casamento → Fim do Casamento fim pensão → Fim da Pensão fim da pensão → Fim da Pensão custo inventário → Custo Inventário SE keyword for vaga, truncada ou não titulável: DESCARTAR e gerar nova. --- ## ENGINE NORMALIZE FUNÇÃO normalizar(texto): ``` remover "[" "]" e '"' remover espaços duplicados aplicar Capitalização Inicial manter acentuação manter ordem NÃO alterar semântica ``` RETORNAR texto_normalizado --- # 2. CLASSIFICAÇÃO DETERMINÍSTICA DE KEYWORDS PRIORIDADE 1 — COMERCIAL DIRETA * valor * custo * preço * regularização * revisão * cálculo * quanto custa * honorários PRIORIDADE 2 — CONTRATAÇÃO * advogado * ação * processo * consulta PRIORIDADE 3 — INFORMATIVA Demais termos. --- # 3. SELEÇÃO LITERAL DETERMINÍSTICA FUNÇÃO selecionar_keywords_literais(lista_keywords): ``` ordenar por: prioridade ASC tamanho ASC ordem original selecionar até 5. ``` --- # 4. KEYWORD MIRROR HEADLINES — HARD MATCH (ENFORCEMENT) OBJETIVO: Garantir que TODAS as 7 keywords do grupo tenham ao menos 1 headline correspondente EXATO após normalização. REGRAS: 1. Para cada keyword do grupo (7): headline_espelho = normalizar(canonizar(keyword)) 2. O headline_espelho deve ser EXATO (após normalização). 3. PROIBIÇÃO ABSOLUTA — "SP" NO ESPELHO 4. MIRROR ENFORCEMENT: A lista final de 15 títulos deve conter TODOS os 7 headlines_espelho. --- # 4.2 HEADLINE DKI — SAFE MODE FORMATO: {Keyword:PADRAO_DO_GRUPO} REGRAS SAFE: * DKI nunca substitui espelhos * DKI fora do bucket literal * ≤30 caracteres --- # 5. TÍTULOS — MONTAGEM DETERMINÍSTICA **Limite de caracteres (V12.6):** cada headline deve ter **≤30 caracteres**. Distribuição: 05 / 05 / 05 Bucket 1: 5 espelhos Bucket 2: 3 CTA/Local + 1 espelho + 1 DKI Bucket 3: 4 provas + 1 espelho --- # 6. DESCRIÇÕES — DETERMINISTIC TEXT ENGINE 80 ≤ caracteres ≤ 92 Proibido substring. Falhou validação → Regenerar do zero. --- # 7. EXTENSÕES — HARD LOCK Sitelinks: 4 obrigatórios Callouts: 7 obrigatórios --- # 8. POLÍTICAS EDITORIAIS Proibido: * Grátis * Gratuito * caixa alta total --- # 9. HARD LOCK VALIDATION (FINAL) Validar integridade completa antes da saída. --- # V12.5 — RECONCILIATION ENGINE (ANTI FALSE NEGATIVE) OBJETIVO: Adicionar camada determinística de Reconciliação garantindo integridade total entre ENGINE e estado final. --- ## PRINCÍPIO ENGINE → cria HARD LOCK → RECONCILIATION → AUDITORIA --- ## SNAPSHOTS OBRIGATÓRIOS (ENGINE_STATE) keywords_raw[7] keywords_canon[7] keywords_norm[7] headlines_espelho_criados[7] headline_dki_criado[1] headlines_final[15] bucket_map_final descricao_final callouts_final[7] sitelinks_final[4] --- ## FINGERPRINTS (OBRIGATÓRIO) Criar hashes SHA-256: fp_keywords_norm fp_headlines_final_norm fp_descricao_final fp_bucket_map --- ## REGRAS DE RECONCILIAÇÃO R1 — EXISTÊNCIA 7/7 Cada keyword_norm deve existir como headline espelho final. R2 — INTEGRIDADE DO ESPELHO headline espelho deve permanecer idêntica. R3 — CONTAGEM DE ESPELHOS Exatamente 7 espelhos únicos. R4 — DKI SAFE MODE * exatamente 1 headline DKI * formato {Keyword:PADRAO} * não substitui espelhos * fora do bucket literal R5 — BUCKET LAYOUT Bucket 1: 5 espelhos Bucket 2: 3 CTA + 1 espelho + 1 DKI Bucket 3: 4 provas + 1 espelho R6 — DESCRIÇÃO ANTI-GHOST Fingerprint da descrição final deve existir nas descrições geradas. R7 — INTEGRIDADE FINAL DA DESCRIÇÃO 80 ≤ caracteres ≤ 92 Termina com . ou ! R8 — CALLOUTS 7 obrigatórios, ≤25 caracteres. R9 — SITELINKS Cada sitelink com description1 e description2. R10 — HEADLINES (V12.6) * todas as 15 headlines devem ter **≤30 caracteres** * proibido truncar automaticamente (se estourar, regenerar) --- ## SEVERIDADE CRÍTICO: bloquear saída ALTA: reexecutar etapa MÉDIA: warning --- ## REEXECUÇÃO AUTOMÁTICA DESYNC_MIRROR_* → Passo 4.1/5 DESYNC_DKI_VIOLATION → Passo 4.2/5 DESYNC_BUCKET_LAYOUT → Passo 5 DESYNC_DESCRIPTION_* → Passo 6 DESYNC_CALLOUT_TRUNC → Passo 7 DESYNC_SITELINK_INCOMPLETE → Passo 7 --- ## STATUS FINAL PASS_RECONCILIATION FAIL_RECONCILIATION --- # RESULTADO A Reconciliação elimina falsos negativos estruturais garantindo execução determinística do HARD MATCH + DKI SAFE MODE.