drm-core 1.0.0 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (47) hide show
  1. package/cli/index.js +396 -201
  2. package/package.json +1 -1
  3. package/scaffold/.drm-core/checklists/campanha-pre-launch.md +49 -0
  4. package/scaffold/.drm-core/checklists/compliance-google.md +46 -0
  5. package/scaffold/.drm-core/checklists/compliance-meta.md +49 -0
  6. package/scaffold/.drm-core/checklists/compliance-tiktok.md +46 -0
  7. package/scaffold/.drm-core/checklists/compliance-vsl.md +48 -0
  8. package/scaffold/.drm-core/checklists/copy-quality-gate.md +55 -0
  9. package/scaffold/.drm-core/checklists/funil-pre-launch.md +66 -0
  10. package/scaffold/.drm-core/checklists/whatsapp-compliance.md +49 -0
  11. package/scaffold/.drm-core/data/agent-config.yaml +220 -0
  12. package/scaffold/.drm-core/data/workflow-chains.yaml +374 -0
  13. package/scaffold/.drm-core/tasks/analise/diagnostico-funil.md +314 -0
  14. package/scaffold/.drm-core/tasks/compliance/revisar-ad-meta.md +242 -0
  15. package/scaffold/.drm-core/tasks/copy/escrever-ad-meta.md +191 -0
  16. package/scaffold/.drm-core/tasks/copy/escrever-email-sequence.md +237 -0
  17. package/scaffold/.drm-core/tasks/copy/escrever-msgs-whatsapp.md +220 -0
  18. package/scaffold/.drm-core/tasks/copy/escrever-pagina-vendas.md +276 -0
  19. package/scaffold/.drm-core/tasks/copy/escrever-vsl-full.md +235 -0
  20. package/scaffold/.drm-core/tasks/direcao-criativa/criar-conceito.md +249 -0
  21. package/scaffold/.drm-core/tasks/direcao-criativa/validar-criativo.md +202 -0
  22. package/scaffold/.drm-core/tasks/estrategia/criar-briefing.md +274 -0
  23. package/scaffold/.drm-core/tasks/estrategia/pesquisa-mercado.md +200 -0
  24. package/scaffold/.drm-core/tasks/funil/arquitetar-funil-vsl.md +228 -0
  25. package/scaffold/.drm-core/tasks/funil/fluxo-whatsapp-backend.md +291 -0
  26. package/scaffold/.drm-core/tasks/trafego/escalar-campanha.md +256 -0
  27. package/scaffold/.drm-core/tasks/trafego/montar-campanha-meta.md +303 -0
  28. package/scaffold/.drm-core/templates/ad-meta-template.md +391 -0
  29. package/scaffold/.drm-core/templates/avatar-template.md +468 -0
  30. package/scaffold/.drm-core/templates/briefing-estrategico-template.md +462 -0
  31. package/scaffold/.drm-core/templates/compliance-report-template.md +86 -0
  32. package/scaffold/.drm-core/templates/estrutura-campanha-template.md +492 -0
  33. package/scaffold/.drm-core/templates/funil-vsl-template.md +470 -0
  34. package/scaffold/.drm-core/templates/msgs-whatsapp-template.md +516 -0
  35. package/scaffold/.drm-core/templates/pagina-vendas-template.md +517 -0
  36. package/scaffold/.drm-core/templates/relatorio-template.md +313 -0
  37. package/scaffold/.drm-core/templates/vsl-curta-template.md +341 -0
  38. package/scaffold/.drm-core/templates/vsl-full-template.md +780 -0
  39. package/scaffold/.drm-core/templates/vsl-mini-template.md +360 -0
  40. package/scaffold/.drm-core/workflows/backend-whatsapp.yaml +395 -0
  41. package/scaffold/.drm-core/workflows/campanha-trafego.yaml +465 -0
  42. package/scaffold/.drm-core/workflows/copy-review-loop.yaml +333 -0
  43. package/scaffold/.drm-core/workflows/funil-vsl-completo.yaml +544 -0
  44. package/scaffold/.drm-core/workflows/lancamento-produto.yaml +402 -0
  45. package/scaffold/.drm-core/workflows/microlead-pipeline.yaml +408 -0
  46. package/scaffold/.drm-core/workflows/otimizacao-cycle.yaml +394 -0
  47. package/scaffold/.drm-core/workflows/reativacao-cycle.yaml +468 -0
@@ -0,0 +1,465 @@
1
+ # =============================================================================
2
+ # CAMPANHA TRAFEGO — Workflow de Criacao de Campanha (6 Fases)
3
+ # Pipeline: objetivo → conceito C.A.S.H. → ads → producao → compliance → campanha
4
+ # =============================================================================
5
+
6
+ workflow:
7
+ id: campanha-trafego
8
+ name: "Campanha de Trafego"
9
+ version: "1.0"
10
+ description: >
11
+ Pipeline completo para criacao de campanha de trafego pago no Meta Ads.
12
+ Desde a definicao do objetivo ate a configuracao final com bid strategy
13
+ BIDCAP, publicos, kill rules e testes A/B.
14
+
15
+ trigger: manual
16
+ estimated_duration: "3-5 dias uteis"
17
+ priority: high
18
+
19
+ # ---------------------------------------------------------------------------
20
+ # FASES
21
+ # ---------------------------------------------------------------------------
22
+ phases:
23
+ - phase_1: "Objetivo e Briefing"
24
+ - phase_2: "Conceito Criativo (C.A.S.H.)"
25
+ - phase_3: "Copy dos Anuncios"
26
+ - phase_4: "Producao de Criativos"
27
+ - phase_5: "Compliance de Ads"
28
+ - phase_6: "Configuracao da Campanha"
29
+
30
+ # ---------------------------------------------------------------------------
31
+ # SEQUENCIA DE STEPS
32
+ # ---------------------------------------------------------------------------
33
+ sequence:
34
+
35
+ # =========================================================================
36
+ # FASE 1 — OBJETIVO E BRIEFING (@atena)
37
+ # =========================================================================
38
+ - step: definir_objetivo
39
+ phase: 1
40
+ agent: "@atena"
41
+ action: "*definir-objetivo-campanha"
42
+ description: >
43
+ Define objetivo da campanha: conversao, leads, trafego, awareness.
44
+ Especifica KPIs alvo (CPA, CPL, ROAS, CTR), budget disponivel,
45
+ periodo da campanha, produto/oferta a ser promovido, destino
46
+ do trafego (LP, VSL, WhatsApp, formulario).
47
+ inputs:
48
+ - "Produto/oferta a promover"
49
+ - "Budget disponivel"
50
+ - "Historico de campanhas (se existir)"
51
+ - "docs/estrategia/avatar-profile.md (se existir)"
52
+ outputs:
53
+ - "docs/trafego/briefing-campanha.md"
54
+ requires: null
55
+ next: briefing_criativo
56
+ on_failure: "Solicitar informacoes minimas: objetivo, budget, produto"
57
+ validation:
58
+ type: checklist
59
+ criteria: >
60
+ Deve conter: objetivo da campanha (1 primario), KPIs alvo
61
+ com valores numericos, budget diario e total, periodo,
62
+ produto descrito, URL de destino, publico-alvo resumido.
63
+
64
+ - step: briefing_criativo
65
+ phase: 1
66
+ agent: "@atena"
67
+ action: "*briefing-criativo"
68
+ description: >
69
+ Prepara briefing criativo para a equipe: tom de comunicacao,
70
+ referencias visuais, do's and don'ts, mensagem-chave, USP,
71
+ restricoes de plataforma (Meta Ads policies relevantes).
72
+ inputs:
73
+ - "docs/trafego/briefing-campanha.md"
74
+ - "docs/estrategia/posicionamento.md (se existir)"
75
+ outputs:
76
+ - "docs/trafego/briefing-criativo.md"
77
+ requires: definir_objetivo
78
+ next: conceito_cash
79
+ on_failure: "Definir minimo: tom, mensagem-chave, 2 referencias"
80
+ validation:
81
+ type: checklist
82
+ criteria: >
83
+ Briefing com: tom de comunicacao definido, mensagem-chave
84
+ em 1 frase, 3+ referencias visuais, do's and don'ts,
85
+ restricoes de plataforma listadas.
86
+
87
+ # =========================================================================
88
+ # FASE 2 — CONCEITO CRIATIVO C.A.S.H. (@zeus)
89
+ # =========================================================================
90
+ - step: conceito_cash
91
+ phase: 2
92
+ agent: "@zeus"
93
+ action: "*conceito-cash"
94
+ description: >
95
+ Desenvolve conceito criativo usando framework C.A.S.H.:
96
+ Conceito (ideia central), Angulo (perspectiva de abordagem),
97
+ Estilo (formato visual/narrativo), Hook (gancho de atencao).
98
+ Gera 3-5 angulos de ataque distintos.
99
+ inputs:
100
+ - "docs/trafego/briefing-criativo.md"
101
+ - "docs/trafego/briefing-campanha.md"
102
+ - "docs/estrategia/avatar-profile.md (se existir)"
103
+ outputs:
104
+ - "docs/trafego/conceito-cash.md"
105
+ requires: briefing_criativo
106
+ next: validar_hooks
107
+ on_failure: "Gerar mais angulos partindo de dores diferentes do avatar"
108
+ validation:
109
+ type: checklist
110
+ criteria: >
111
+ Deve conter: 1 Conceito central definido, 3-5 Angulos
112
+ distintos (cada um com justificativa), Estilo por angulo
113
+ (UGC, talking head, motion graphics, etc), 3+ Hooks
114
+ por angulo (gancho textual e visual).
115
+ cash_framework:
116
+ conceito: "Ideia central unica que diferencia a campanha"
117
+ angulo: "Perspectiva emocional/racional de abordagem"
118
+ estilo: "Formato visual e narrativo do criativo"
119
+ hook: "Primeiros 3 segundos que capturam atencao"
120
+
121
+ - step: validar_hooks
122
+ phase: 2
123
+ agent: "@zeus"
124
+ action: "*validar-hooks"
125
+ description: >
126
+ Valida e rankeia hooks gerados: avalia poder de atencao (scroll
127
+ stop), relevancia para o avatar, alinhamento com angulo,
128
+ compliance preliminary. Seleciona top 3-5 para producao.
129
+ inputs:
130
+ - "docs/trafego/conceito-cash.md"
131
+ - "docs/trafego/briefing-campanha.md"
132
+ outputs:
133
+ - "docs/trafego/hooks-validados.md"
134
+ requires: conceito_cash
135
+ next: escrever_ads
136
+ on_failure: "Gerar novos hooks com tecnicas alternativas (curiosidade, medo, desejo)"
137
+ validation:
138
+ type: checklist
139
+ criteria: >
140
+ Cada hook com: score de atencao (1-10), score de relevancia
141
+ (1-10), formato (texto/visual/audio), variante A/B sugerida,
142
+ compliance flag (verde/amarelo/vermelho).
143
+
144
+ # =========================================================================
145
+ # FASE 3 — COPY DOS ANUNCIOS (@apolo)
146
+ # =========================================================================
147
+ - step: escrever_ads
148
+ phase: 3
149
+ agent: "@apolo"
150
+ action: "*escrever-ads"
151
+ description: >
152
+ Escreve 3-5 variacoes de anuncios por angulo selecionado.
153
+ Cada variacao com: primary text (3 tamanhos: curto/medio/longo),
154
+ headline, description, CTA. Formatos: feed, stories, reels.
155
+ inputs:
156
+ - "docs/trafego/conceito-cash.md"
157
+ - "docs/trafego/hooks-validados.md"
158
+ - "docs/trafego/briefing-criativo.md"
159
+ - "docs/estrategia/avatar-profile.md (se existir)"
160
+ outputs:
161
+ - "docs/trafego/ads-copy-completa.md"
162
+ requires: validar_hooks
163
+ next: producao_video_ads
164
+ on_failure: "Revisar com @zeus — ajustar hook ou angulo"
165
+ validation:
166
+ type: checklist
167
+ criteria: >
168
+ Minimo 3 variacoes por angulo, cada uma com: primary text
169
+ (curto <=125 chars, medio <=250, longo <=500), headline
170
+ <=40 chars, description <=30 chars, CTA selecionado,
171
+ angulo e hook identificados.
172
+
173
+ # =========================================================================
174
+ # FASE 4 — PRODUCAO DE CRIATIVOS (PARALELO: @hefesto + @afrodite)
175
+ # =========================================================================
176
+ - step: producao_video_ads
177
+ phase: 4
178
+ agent: "@hefesto"
179
+ action: "*produzir-video-ads"
180
+ parallel_with: producao_estatico_ads
181
+ description: >
182
+ Produz briefing de video para cada variacao de anuncio: roteiro
183
+ de video (15s, 30s, 60s), instrucoes de edicao, storyboard
184
+ simplificado, assets necessarios, formato por posicionamento
185
+ (9:16 stories/reels, 1:1 feed, 4:5 feed).
186
+ inputs:
187
+ - "docs/trafego/ads-copy-completa.md"
188
+ - "docs/trafego/hooks-validados.md"
189
+ - "docs/trafego/briefing-criativo.md"
190
+ outputs:
191
+ - "docs/trafego/producao/video-ads-briefing.md"
192
+ - "docs/trafego/producao/storyboards-ads.md"
193
+ requires: escrever_ads
194
+ next: compliance_ads
195
+ on_failure: "Simplificar para formatos estaticos com motion minimo"
196
+ validation:
197
+ type: checklist
198
+ criteria: >
199
+ Cada video com: roteiro timestamped, formato de aspecto
200
+ definido, duracao (15s/30s/60s), hook visual nos primeiros
201
+ 3s, CTA visual no final, assets listados.
202
+
203
+ - step: producao_estatico_ads
204
+ phase: 4
205
+ agent: "@afrodite"
206
+ action: "*produzir-estatico-ads"
207
+ parallel_with: producao_video_ads
208
+ description: >
209
+ Cria briefing de criativos estaticos e carrossel: layout por
210
+ formato (1:1, 4:5, 9:16), hierarquia visual, texto na imagem
211
+ (regra 20% Meta), cores, tipografia, CTA visual.
212
+ inputs:
213
+ - "docs/trafego/ads-copy-completa.md"
214
+ - "docs/trafego/hooks-validados.md"
215
+ - "docs/trafego/briefing-criativo.md"
216
+ outputs:
217
+ - "docs/trafego/producao/estatico-ads-briefing.md"
218
+ - "docs/trafego/producao/carrossel-ads-briefing.md"
219
+ requires: escrever_ads
220
+ next: compliance_ads
221
+ on_failure: "Reduzir texto na imagem e simplificar layout"
222
+ validation:
223
+ type: checklist
224
+ criteria: >
225
+ Cada estatico com: layout definido, texto <=20% da imagem,
226
+ hierarquia visual clara, CTA visivel, versoes por formato
227
+ (1:1, 4:5, 9:16), carrossel com 3-5 cards.
228
+
229
+ # =========================================================================
230
+ # FASE 5 — COMPLIANCE DE ADS (@temis)
231
+ # =========================================================================
232
+ - step: compliance_ads
233
+ phase: 5
234
+ agent: "@temis"
235
+ action: "*compliance-ads-review"
236
+ description: >
237
+ Revisao de compliance especifica para Meta Ads: politicas de
238
+ publicidade, claims verificaveis, imagens/video permitidos,
239
+ targeting restrictions, special ad categories, disclaimers,
240
+ texto na imagem (regra 20%).
241
+ inputs:
242
+ - "docs/trafego/ads-copy-completa.md"
243
+ - "docs/trafego/producao/video-ads-briefing.md"
244
+ - "docs/trafego/producao/estatico-ads-briefing.md"
245
+ - "docs/trafego/producao/carrossel-ads-briefing.md"
246
+ outputs:
247
+ - "docs/trafego/compliance/ads-compliance-report.md"
248
+ - "docs/trafego/compliance/alteracoes-obrigatorias.md"
249
+ requires:
250
+ - producao_video_ads
251
+ - producao_estatico_ads
252
+ next: aplicar_compliance_ads
253
+ on_failure: "Bloquear ads com violacoes criticas, permitir ajustes menores"
254
+ validation:
255
+ type: verdict
256
+ criteria: >
257
+ APROVADO: Todos os ads em compliance com Meta Ads policies.
258
+ AJUSTES: Alteracoes menores necessarias (listadas).
259
+ BLOQUEADO: Violacoes que causariam rejeicao ou ban.
260
+ meta_policies_check:
261
+ - "Sem claims de saude nao verificados"
262
+ - "Sem promessas de renda/resultado financeiro garantido"
263
+ - "Sem before/after proibidos"
264
+ - "Texto na imagem <=20%"
265
+ - "Sem conteudo sensacional ou clickbait extremo"
266
+ - "Special ad category verificada (se aplicavel)"
267
+ - "Landing page consistente com ad"
268
+
269
+ - step: aplicar_compliance_ads
270
+ phase: 5
271
+ agent: "@apolo"
272
+ action: "*aplicar-correcoes-ads"
273
+ description: >
274
+ Aplica correcoes de compliance nos ads mantendo eficacia e
275
+ persuasao. Reformula claims, ajusta headlines, adiciona disclaimers.
276
+ inputs:
277
+ - "docs/trafego/compliance/alteracoes-obrigatorias.md"
278
+ - "docs/trafego/ads-copy-completa.md"
279
+ outputs:
280
+ - "docs/trafego/ads-copy-completa.md (atualizado)"
281
+ - "docs/trafego/compliance/compliance-applied-log.md"
282
+ requires: compliance_ads
283
+ next: estrutura_campanha
284
+ on_failure: "Escalar para @temis re-revisao"
285
+ validation:
286
+ type: checklist
287
+ criteria: >
288
+ Todas as correcoes aplicadas, log documentado, sem
289
+ violacoes remanescentes.
290
+
291
+ # =========================================================================
292
+ # FASE 6 — CONFIGURACAO DA CAMPANHA (@hermes)
293
+ # =========================================================================
294
+ - step: estrutura_campanha
295
+ phase: 6
296
+ agent: "@hermes"
297
+ action: "*estruturar-campanha"
298
+ description: >
299
+ Define estrutura completa da campanha no Meta Ads Manager:
300
+ nivel campanha (objetivo, special ad category, budget type),
301
+ nivel ad set (publicos, posicionamentos, bid strategy, schedule),
302
+ nivel ad (criativos, formatos, tracking).
303
+ inputs:
304
+ - "docs/trafego/briefing-campanha.md"
305
+ - "docs/trafego/ads-copy-completa.md"
306
+ - "docs/trafego/producao/video-ads-briefing.md"
307
+ - "docs/trafego/producao/estatico-ads-briefing.md"
308
+ outputs:
309
+ - "docs/trafego/campanha/estrutura-campanha.md"
310
+ requires: aplicar_compliance_ads
311
+ next: bid_strategy
312
+ on_failure: "Simplificar estrutura para 1 campanha, 2-3 ad sets"
313
+ validation:
314
+ type: checklist
315
+ criteria: >
316
+ Estrutura com: objetivo alinhado ao briefing, naming convention
317
+ definida, hierarquia campanha>adset>ad documentada, budget
318
+ allocation por ad set.
319
+
320
+ - step: bid_strategy
321
+ phase: 6
322
+ agent: "@hermes"
323
+ action: "*configurar-bid-strategy"
324
+ description: >
325
+ Configura bid strategy BIDCAP: define bid cap por objetivo
326
+ (CPA alvo ou CPL alvo), logica de escalonamento, regras de
327
+ aumento/reducao de bid baseado em performance.
328
+ inputs:
329
+ - "docs/trafego/campanha/estrutura-campanha.md"
330
+ - "docs/trafego/briefing-campanha.md"
331
+ outputs:
332
+ - "docs/trafego/campanha/bid-strategy.md"
333
+ requires: estrutura_campanha
334
+ next: publicos_targeting
335
+ on_failure: "Fallback para Lowest Cost com budget control"
336
+ validation:
337
+ type: checklist
338
+ criteria: >
339
+ BIDCAP definido com: bid cap inicial, regra de aumento
340
+ (+10-20% se delivery baixo), regra de reducao (-10% se CPA
341
+ acima do alvo), periodo de aprendizado respeitado (48-72h),
342
+ fallback strategy se BIDCAP nao performar.
343
+ bidcap_config:
344
+ initial_bid: "CPA alvo * 0.8"
345
+ increase_rule: "+10-20% se delivery < 80% do budget"
346
+ decrease_rule: "-10% se CPA > 120% do alvo"
347
+ learning_period: "48-72h sem alteracoes"
348
+ fallback: "Lowest Cost com Daily Budget"
349
+
350
+ - step: publicos_targeting
351
+ phase: 6
352
+ agent: "@hermes"
353
+ action: "*configurar-publicos"
354
+ description: >
355
+ Define publicos para cada ad set: Lookalike (seeds, %), Custom
356
+ Audiences (website, engagement, customer list), Interests,
357
+ Broad (sem targeting). Exclusoes definidas.
358
+ inputs:
359
+ - "docs/trafego/campanha/estrutura-campanha.md"
360
+ - "docs/trafego/briefing-campanha.md"
361
+ - "docs/estrategia/avatar-profile.md (se existir)"
362
+ outputs:
363
+ - "docs/trafego/campanha/publicos-targeting.md"
364
+ requires: bid_strategy
365
+ next: kill_rules
366
+ on_failure: "Comecar com broad e refinar apos dados iniciais"
367
+ validation:
368
+ type: checklist
369
+ criteria: >
370
+ Minimo 3 publicos distintos: 1 Lookalike, 1 Interest-based,
371
+ 1 Broad/Open. Cada publico com: nome, tipo, tamanho estimado,
372
+ exclusoes, ad set associado.
373
+
374
+ - step: kill_rules
375
+ phase: 6
376
+ agent: "@hermes"
377
+ action: "*definir-kill-rules"
378
+ description: >
379
+ Define kill rules para cada nivel (campanha, ad set, ad):
380
+ metricas de corte, thresholds, periodo de avaliacao, acoes
381
+ automaticas, regras de escalonamento.
382
+ inputs:
383
+ - "docs/trafego/campanha/estrutura-campanha.md"
384
+ - "docs/trafego/campanha/bid-strategy.md"
385
+ - "docs/trafego/briefing-campanha.md"
386
+ outputs:
387
+ - "docs/trafego/campanha/kill-rules.md"
388
+ requires: publicos_targeting
389
+ next: teste_ab
390
+ on_failure: "Usar kill rules conservadoras padrao"
391
+ validation:
392
+ type: checklist
393
+ criteria: >
394
+ Kill rules por nivel com metricas e thresholds definidos.
395
+ kill_rules_default:
396
+ ad_level:
397
+ - "CTR < 1% apos 1000 impressoes → pausar ad"
398
+ - "CPA > 150% do alvo apos 48h → pausar ad"
399
+ - "Frequencia > 3 em 7 dias → pausar ad"
400
+ - "Hook rate < 25% (video) → pausar ad"
401
+ adset_level:
402
+ - "CPA > 130% do alvo apos 72h → reduzir budget 50%"
403
+ - "0 conversoes apos 2x CPA em spend → pausar ad set"
404
+ - "CPM > 2x media da conta → investigar"
405
+ campaign_level:
406
+ - "ROAS < 1.0 apos 7 dias → avaliar pivot"
407
+ - "Budget > 80% gasto sem conversoes → pausar campanha"
408
+
409
+ - step: teste_ab
410
+ phase: 6
411
+ agent: "@hermes"
412
+ action: "*planejar-teste-ab"
413
+ description: >
414
+ Planeja estrutura de teste A/B: variaveis a testar (hook, copy,
415
+ criativo, publico, bid), hipoteses, tamanho de amostra, duracao
416
+ do teste, criterio de vitoria, sequencia de testes.
417
+ inputs:
418
+ - "docs/trafego/campanha/estrutura-campanha.md"
419
+ - "docs/trafego/ads-copy-completa.md"
420
+ - "docs/trafego/campanha/publicos-targeting.md"
421
+ outputs:
422
+ - "docs/trafego/campanha/teste-ab-plan.md"
423
+ requires: kill_rules
424
+ next: null
425
+ on_failure: "Comecar com teste simples: 1 variavel (hook)"
426
+ validation:
427
+ type: checklist
428
+ criteria: >
429
+ Plano com: variavel isolada por teste, hipotese documentada,
430
+ tamanho de amostra minimo (100 conversoes ou 1000 cliques),
431
+ duracao minima (7 dias), metrica de vitoria (CPA ou CTR),
432
+ sequencia de testes priorizada (hook > copy > criativo >
433
+ publico > bid).
434
+ teste_sequence:
435
+ - priority: 1
436
+ variable: "Hook (primeiros 3 segundos)"
437
+ metric: "Hook rate, CTR"
438
+ - priority: 2
439
+ variable: "Copy (primary text)"
440
+ metric: "CTR, CPA"
441
+ - priority: 3
442
+ variable: "Criativo (formato)"
443
+ metric: "CTR, CPM"
444
+ - priority: 4
445
+ variable: "Publico"
446
+ metric: "CPA, ROAS"
447
+ - priority: 5
448
+ variable: "Bid strategy"
449
+ metric: "CPA, Delivery"
450
+
451
+ # ---------------------------------------------------------------------------
452
+ # CONFIGURACAO GLOBAL
453
+ # ---------------------------------------------------------------------------
454
+ config:
455
+ default_bid_strategy: "BIDCAP"
456
+ min_ads_per_angle: 3
457
+ max_angles: 5
458
+ compliance_blocking: true
459
+ parallel_production: true
460
+ learning_period_hours: 72
461
+
462
+ failure_handling:
463
+ global_escalation: "@atena"
464
+ max_retries_per_step: 2
465
+ on_critical_failure: "Pausar campanha, revisar estrategia com @atena"