drm-core 1.0.0 → 1.3.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.
- package/cli/index.js +396 -201
- package/package.json +1 -1
- package/scaffold/.claude/CLAUDE.md +65 -0
- package/scaffold/.claude/settings.json +30 -0
- package/scaffold/.claude/settings.local.json +8 -0
- package/scaffold/.drm-core/agents/afrodite.md +10 -0
- package/scaffold/.drm-core/agents/apolo.md +9 -0
- package/scaffold/.drm-core/agents/atena.md +9 -0
- package/scaffold/.drm-core/agents/cronos.md +9 -0
- package/scaffold/.drm-core/agents/hefesto.md +10 -0
- package/scaffold/.drm-core/agents/hermes.md +9 -0
- package/scaffold/.drm-core/agents/poseidon.md +9 -0
- package/scaffold/.drm-core/agents/temis.md +9 -0
- package/scaffold/.drm-core/agents/zeus.md +10 -0
- package/scaffold/.drm-core/checklists/campanha-pre-launch.md +49 -0
- package/scaffold/.drm-core/checklists/compliance-google.md +46 -0
- package/scaffold/.drm-core/checklists/compliance-meta.md +49 -0
- package/scaffold/.drm-core/checklists/compliance-tiktok.md +46 -0
- package/scaffold/.drm-core/checklists/compliance-vsl.md +48 -0
- package/scaffold/.drm-core/checklists/copy-quality-gate.md +55 -0
- package/scaffold/.drm-core/checklists/funil-pre-launch.md +66 -0
- package/scaffold/.drm-core/checklists/whatsapp-compliance.md +49 -0
- package/scaffold/.drm-core/data/agent-config.yaml +220 -0
- package/scaffold/.drm-core/data/workflow-chains.yaml +374 -0
- package/scaffold/.drm-core/rules/interaction-patterns.md +138 -0
- package/scaffold/.drm-core/tasks/analise/diagnostico-funil.md +314 -0
- package/scaffold/.drm-core/tasks/compliance/revisar-ad-meta.md +242 -0
- package/scaffold/.drm-core/tasks/copy/escrever-ad-meta.md +191 -0
- package/scaffold/.drm-core/tasks/copy/escrever-email-sequence.md +237 -0
- package/scaffold/.drm-core/tasks/copy/escrever-msgs-whatsapp.md +220 -0
- package/scaffold/.drm-core/tasks/copy/escrever-pagina-vendas.md +276 -0
- package/scaffold/.drm-core/tasks/copy/escrever-vsl-full.md +235 -0
- package/scaffold/.drm-core/tasks/direcao-criativa/criar-conceito.md +249 -0
- package/scaffold/.drm-core/tasks/direcao-criativa/validar-criativo.md +202 -0
- package/scaffold/.drm-core/tasks/estrategia/criar-briefing.md +221 -0
- package/scaffold/.drm-core/tasks/estrategia/pesquisa-mercado.md +200 -0
- package/scaffold/.drm-core/tasks/funil/arquitetar-funil-vsl.md +228 -0
- package/scaffold/.drm-core/tasks/funil/fluxo-whatsapp-backend.md +291 -0
- package/scaffold/.drm-core/tasks/trafego/escalar-campanha.md +256 -0
- package/scaffold/.drm-core/tasks/trafego/montar-campanha-meta.md +303 -0
- package/scaffold/.drm-core/templates/ad-meta-template.md +391 -0
- package/scaffold/.drm-core/templates/avatar-template.md +468 -0
- package/scaffold/.drm-core/templates/briefing-estrategico-template.md +462 -0
- package/scaffold/.drm-core/templates/compliance-report-template.md +86 -0
- package/scaffold/.drm-core/templates/estrutura-campanha-template.md +492 -0
- package/scaffold/.drm-core/templates/funil-vsl-template.md +470 -0
- package/scaffold/.drm-core/templates/msgs-whatsapp-template.md +516 -0
- package/scaffold/.drm-core/templates/pagina-vendas-template.md +517 -0
- package/scaffold/.drm-core/templates/relatorio-template.md +313 -0
- package/scaffold/.drm-core/templates/vsl-curta-template.md +341 -0
- package/scaffold/.drm-core/templates/vsl-full-template.md +780 -0
- package/scaffold/.drm-core/templates/vsl-mini-template.md +360 -0
- package/scaffold/.drm-core/workflows/backend-whatsapp.yaml +395 -0
- package/scaffold/.drm-core/workflows/campanha-trafego.yaml +465 -0
- package/scaffold/.drm-core/workflows/copy-review-loop.yaml +333 -0
- package/scaffold/.drm-core/workflows/funil-vsl-completo.yaml +544 -0
- package/scaffold/.drm-core/workflows/lancamento-produto.yaml +402 -0
- package/scaffold/.drm-core/workflows/microlead-pipeline.yaml +408 -0
- package/scaffold/.drm-core/workflows/otimizacao-cycle.yaml +394 -0
- package/scaffold/.drm-core/workflows/reativacao-cycle.yaml +468 -0
|
@@ -0,0 +1,394 @@
|
|
|
1
|
+
# =============================================================================
|
|
2
|
+
# OTIMIZACAO CYCLE — Workflow Iterativo (Loop)
|
|
3
|
+
# Pipeline: diagnostico → decisao → execucao → compliance → medicao → loop
|
|
4
|
+
# =============================================================================
|
|
5
|
+
|
|
6
|
+
workflow:
|
|
7
|
+
id: otimizacao-cycle
|
|
8
|
+
name: "Ciclo de Otimizacao"
|
|
9
|
+
version: "1.0"
|
|
10
|
+
description: >
|
|
11
|
+
Ciclo continuo de otimizacao de funil e campanha. @cronos diagnostica
|
|
12
|
+
gargalos comparando metricas reais vs benchmarks, @atena decide qual
|
|
13
|
+
agente deve intervir usando decision tree, o agente designado executa
|
|
14
|
+
a correcao, @temis revisa se compliance foi afetado, @cronos mede
|
|
15
|
+
resultado antes/depois. Loop continua ate meta atingida ou hipoteses
|
|
16
|
+
esgotadas.
|
|
17
|
+
|
|
18
|
+
trigger: manual
|
|
19
|
+
estimated_duration: "continuo (ciclos de 3-7 dias)"
|
|
20
|
+
priority: high
|
|
21
|
+
type: iterative_loop
|
|
22
|
+
|
|
23
|
+
# ---------------------------------------------------------------------------
|
|
24
|
+
# FASES
|
|
25
|
+
# ---------------------------------------------------------------------------
|
|
26
|
+
phases:
|
|
27
|
+
- phase_1: "Diagnostico de Performance"
|
|
28
|
+
- phase_2: "Decisao e Roteamento"
|
|
29
|
+
- phase_3: "Execucao da Correcao"
|
|
30
|
+
- phase_4: "Compliance (se aplicavel)"
|
|
31
|
+
- phase_5: "Medicao de Resultado"
|
|
32
|
+
- phase_loop: "Loop ate meta ou hipoteses esgotadas"
|
|
33
|
+
|
|
34
|
+
# ---------------------------------------------------------------------------
|
|
35
|
+
# CONFIGURACAO DO LOOP
|
|
36
|
+
# ---------------------------------------------------------------------------
|
|
37
|
+
loop_config:
|
|
38
|
+
max_iterations: 10
|
|
39
|
+
current_iteration: 0
|
|
40
|
+
min_measurement_period: "72h"
|
|
41
|
+
exit_conditions:
|
|
42
|
+
- "Meta de KPI atingida"
|
|
43
|
+
- "Todas as hipoteses testadas sem melhoria"
|
|
44
|
+
- "max_iterations atingido"
|
|
45
|
+
- "Budget esgotado"
|
|
46
|
+
state_file: "docs/otimizacao/cycle-state.yaml"
|
|
47
|
+
|
|
48
|
+
# ---------------------------------------------------------------------------
|
|
49
|
+
# BENCHMARKS DE REFERENCIA
|
|
50
|
+
# ---------------------------------------------------------------------------
|
|
51
|
+
benchmarks:
|
|
52
|
+
funil:
|
|
53
|
+
opt_in_rate: "25-40%"
|
|
54
|
+
vsl_view_rate: "30-50%"
|
|
55
|
+
vsl_completion_rate: "15-30%"
|
|
56
|
+
checkout_conversion: "3-8%"
|
|
57
|
+
bump_take_rate: "20-40%"
|
|
58
|
+
upsell_take_rate: "10-25%"
|
|
59
|
+
downsell_take_rate: "15-30%"
|
|
60
|
+
trafego:
|
|
61
|
+
ctr_link: "1-3%"
|
|
62
|
+
cpc: "R$ 0.50-2.00"
|
|
63
|
+
cpl: "R$ 3-15"
|
|
64
|
+
cpa: "Varia por ticket"
|
|
65
|
+
roas: ">= 2.0"
|
|
66
|
+
hook_rate: "25-40%"
|
|
67
|
+
hold_rate: "15-25%"
|
|
68
|
+
frequency_max: 3
|
|
69
|
+
email:
|
|
70
|
+
open_rate: "20-35%"
|
|
71
|
+
click_rate: "2-5%"
|
|
72
|
+
unsubscribe_rate: "< 0.5%"
|
|
73
|
+
whatsapp:
|
|
74
|
+
response_rate: "40-70%"
|
|
75
|
+
conversion_rate: "5-15%"
|
|
76
|
+
|
|
77
|
+
# ---------------------------------------------------------------------------
|
|
78
|
+
# DECISION TREE
|
|
79
|
+
# ---------------------------------------------------------------------------
|
|
80
|
+
decision_tree:
|
|
81
|
+
- gargalo: "Hook rate baixo (< 25%)"
|
|
82
|
+
problema: "Criativo nao para o scroll"
|
|
83
|
+
agente: "@zeus"
|
|
84
|
+
acao: "Reescrever hooks com novos angulos"
|
|
85
|
+
prioridade: "P0"
|
|
86
|
+
|
|
87
|
+
- gargalo: "CTR baixo (< 1%) com hook rate OK"
|
|
88
|
+
problema: "Copy do ad nao converte clique"
|
|
89
|
+
agente: "@apolo"
|
|
90
|
+
acao: "Reescrever primary text e headline"
|
|
91
|
+
prioridade: "P0"
|
|
92
|
+
|
|
93
|
+
- gargalo: "CPA alto com CTR OK"
|
|
94
|
+
problema: "Publico ou bid strategy inadequados"
|
|
95
|
+
agente: "@hermes"
|
|
96
|
+
acao: "Ajustar publicos, bid cap, exclusoes"
|
|
97
|
+
prioridade: "P0"
|
|
98
|
+
|
|
99
|
+
- gargalo: "Opt-in rate baixo (< 25%)"
|
|
100
|
+
problema: "Pagina de captura nao converte"
|
|
101
|
+
agente: "@afrodite"
|
|
102
|
+
acao: "Redesenhar LP acima da dobra"
|
|
103
|
+
co_agente: "@apolo"
|
|
104
|
+
co_acao: "Reescrever headline e CTA da captura"
|
|
105
|
+
prioridade: "P1"
|
|
106
|
+
|
|
107
|
+
- gargalo: "VSL view rate baixo (< 30%)"
|
|
108
|
+
problema: "Lead nao assiste a VSL"
|
|
109
|
+
agente: "@apolo"
|
|
110
|
+
acao: "Reescrever pre-frame e headline da pagina VSL"
|
|
111
|
+
prioridade: "P1"
|
|
112
|
+
|
|
113
|
+
- gargalo: "VSL completion rate baixo (< 15%)"
|
|
114
|
+
problema: "VSL perde audiencia no meio"
|
|
115
|
+
agente: "@apolo"
|
|
116
|
+
acao: "Identificar ponto de queda e reescrever secao"
|
|
117
|
+
prioridade: "P1"
|
|
118
|
+
|
|
119
|
+
- gargalo: "Checkout conversion baixo (< 3%)"
|
|
120
|
+
problema: "Funil perde no checkout"
|
|
121
|
+
agente: "@poseidon"
|
|
122
|
+
acao: "Otimizar fluxo de checkout, reduzir friccao"
|
|
123
|
+
co_agente: "@apolo"
|
|
124
|
+
co_acao: "Melhorar microcopy e urgencia no checkout"
|
|
125
|
+
prioridade: "P0"
|
|
126
|
+
|
|
127
|
+
- gargalo: "Email open rate baixo (< 20%)"
|
|
128
|
+
problema: "Subject lines fracas"
|
|
129
|
+
agente: "@apolo"
|
|
130
|
+
acao: "Reescrever subject lines com A/B test"
|
|
131
|
+
prioridade: "P2"
|
|
132
|
+
|
|
133
|
+
- gargalo: "WhatsApp response rate baixo (< 40%)"
|
|
134
|
+
problema: "Mensagens nao engajam"
|
|
135
|
+
agente: "@apolo"
|
|
136
|
+
acao: "Reescrever mensagens com tom mais pessoal"
|
|
137
|
+
prioridade: "P2"
|
|
138
|
+
|
|
139
|
+
- gargalo: "Frequencia alta (> 3)"
|
|
140
|
+
problema: "Criativo saturado"
|
|
141
|
+
agente: "@zeus"
|
|
142
|
+
acao: "Desenvolver novo conceito C.A.S.H."
|
|
143
|
+
co_agente: "@hefesto"
|
|
144
|
+
co_acao: "Produzir novos criativos"
|
|
145
|
+
prioridade: "P0"
|
|
146
|
+
|
|
147
|
+
# ---------------------------------------------------------------------------
|
|
148
|
+
# SEQUENCIA DE STEPS
|
|
149
|
+
# ---------------------------------------------------------------------------
|
|
150
|
+
sequence:
|
|
151
|
+
|
|
152
|
+
# =========================================================================
|
|
153
|
+
# FASE 1 — DIAGNOSTICO DE PERFORMANCE (@cronos)
|
|
154
|
+
# =========================================================================
|
|
155
|
+
- step: coletar_metricas
|
|
156
|
+
phase: 1
|
|
157
|
+
agent: "@cronos"
|
|
158
|
+
action: "*coletar-metricas"
|
|
159
|
+
description: >
|
|
160
|
+
Coleta metricas de performance de todas as etapas do funil e campanha:
|
|
161
|
+
Meta Ads (CTR, CPC, CPL, CPA, ROAS, frequencia, hook rate),
|
|
162
|
+
funil (opt-in rate, view rate, completion rate, checkout CVR),
|
|
163
|
+
email (open rate, click rate), WhatsApp (response rate, CVR).
|
|
164
|
+
inputs:
|
|
165
|
+
- "Meta Ads Manager (via Meta MCP)"
|
|
166
|
+
- "Plataforma de funil (analytics)"
|
|
167
|
+
- "Plataforma de email (metricas)"
|
|
168
|
+
- "Plataforma de WhatsApp (metricas)"
|
|
169
|
+
- "docs/otimizacao/cycle-state.yaml (estado anterior)"
|
|
170
|
+
outputs:
|
|
171
|
+
- "docs/otimizacao/metricas-atuais.md"
|
|
172
|
+
requires: null
|
|
173
|
+
next: diagnosticar_gargalo
|
|
174
|
+
on_failure: "Coletar metricas disponiveis, marcar indisponiveis"
|
|
175
|
+
validation:
|
|
176
|
+
type: checklist
|
|
177
|
+
criteria: >
|
|
178
|
+
Metricas coletadas de todas as fontes disponiveis, periodo
|
|
179
|
+
definido (ultimos 3-7 dias), dados comparados com periodo
|
|
180
|
+
anterior (se existir).
|
|
181
|
+
|
|
182
|
+
- step: diagnosticar_gargalo
|
|
183
|
+
phase: 1
|
|
184
|
+
agent: "@cronos"
|
|
185
|
+
action: "*diagnosticar-gargalo"
|
|
186
|
+
description: >
|
|
187
|
+
Compara metricas atuais com benchmarks de referencia. Identifica
|
|
188
|
+
gargalo principal (metrica mais distante do benchmark), gargalos
|
|
189
|
+
secundarios, e prioriza por impacto no resultado final (ROAS).
|
|
190
|
+
Calcula impacto estimado se gargalo for resolvido.
|
|
191
|
+
inputs:
|
|
192
|
+
- "docs/otimizacao/metricas-atuais.md"
|
|
193
|
+
- "Benchmarks de referencia (definidos no workflow)"
|
|
194
|
+
- "docs/otimizacao/historico-diagnosticos.md (se existir)"
|
|
195
|
+
outputs:
|
|
196
|
+
- "docs/otimizacao/diagnostico-v{n}.md"
|
|
197
|
+
requires: coletar_metricas
|
|
198
|
+
next: decisao_roteamento
|
|
199
|
+
on_failure: "Listar todos os gargalos sem priorizar"
|
|
200
|
+
validation:
|
|
201
|
+
type: checklist
|
|
202
|
+
criteria: >
|
|
203
|
+
Diagnostico com: gargalo principal identificado, metrica
|
|
204
|
+
atual vs benchmark, impacto estimado no ROAS, prioridade
|
|
205
|
+
(P0/P1/P2), gargalos secundarios listados.
|
|
206
|
+
|
|
207
|
+
# =========================================================================
|
|
208
|
+
# FASE 2 — DECISAO E ROTEAMENTO (@atena)
|
|
209
|
+
# =========================================================================
|
|
210
|
+
- step: decisao_roteamento
|
|
211
|
+
phase: 2
|
|
212
|
+
agent: "@atena"
|
|
213
|
+
action: "*decisao-otimizacao"
|
|
214
|
+
description: >
|
|
215
|
+
Analisa diagnostico e usa decision tree para rotear a correcao
|
|
216
|
+
ao agente correto. Define: qual agente corrige, qual acao
|
|
217
|
+
especifica, hipotese a testar, metrica de sucesso, prazo
|
|
218
|
+
de medicao.
|
|
219
|
+
inputs:
|
|
220
|
+
- "docs/otimizacao/diagnostico-v{n}.md"
|
|
221
|
+
- "Decision tree (definido no workflow)"
|
|
222
|
+
- "docs/otimizacao/historico-decisoes.md (se existir)"
|
|
223
|
+
outputs:
|
|
224
|
+
- "docs/otimizacao/decisao-v{n}.md"
|
|
225
|
+
- "docs/otimizacao/briefing-correcao-v{n}.md"
|
|
226
|
+
requires: diagnosticar_gargalo
|
|
227
|
+
next: executar_correcao
|
|
228
|
+
on_failure: "Testar hipotese mais conservadora primeiro"
|
|
229
|
+
validation:
|
|
230
|
+
type: checklist
|
|
231
|
+
criteria: >
|
|
232
|
+
Decisao com: agente designado, acao especifica, hipotese
|
|
233
|
+
documentada ("Se X, entao Y"), metrica de sucesso com
|
|
234
|
+
threshold, prazo de medicao (minimo 72h).
|
|
235
|
+
decision_output:
|
|
236
|
+
agente_designado: "Baseado no decision tree"
|
|
237
|
+
acao: "Descricao especifica da correcao"
|
|
238
|
+
hipotese: "Se [correcao], entao [metrica] deve [melhorar em X%]"
|
|
239
|
+
metrica_sucesso: "Metrica especifica com threshold"
|
|
240
|
+
prazo_medicao: "72h minimo"
|
|
241
|
+
|
|
242
|
+
# =========================================================================
|
|
243
|
+
# FASE 3 — EXECUCAO DA CORRECAO (AGENTE DESIGNADO)
|
|
244
|
+
# =========================================================================
|
|
245
|
+
- step: executar_correcao
|
|
246
|
+
phase: 3
|
|
247
|
+
agent: "dinamico (definido em decisao_roteamento)"
|
|
248
|
+
action: "dinamico (definido em decisao_roteamento)"
|
|
249
|
+
description: >
|
|
250
|
+
O agente designado na Fase 2 executa a correcao especifica
|
|
251
|
+
conforme o briefing. Pode ser: @apolo (copy), @zeus (hooks/conceito),
|
|
252
|
+
@hermes (campanha/bid), @poseidon (funil), @afrodite (design),
|
|
253
|
+
@hefesto (criativo).
|
|
254
|
+
inputs:
|
|
255
|
+
- "docs/otimizacao/briefing-correcao-v{n}.md"
|
|
256
|
+
- "docs/otimizacao/diagnostico-v{n}.md"
|
|
257
|
+
- "Assets atuais que serao modificados"
|
|
258
|
+
outputs:
|
|
259
|
+
- "docs/otimizacao/correcao-v{n}.md"
|
|
260
|
+
- "Assets modificados (varia por agente)"
|
|
261
|
+
requires: decisao_roteamento
|
|
262
|
+
next: compliance_check
|
|
263
|
+
on_failure: "Documentar bloqueio e escalar para @atena"
|
|
264
|
+
validation:
|
|
265
|
+
type: checklist
|
|
266
|
+
criteria: >
|
|
267
|
+
Correcao executada conforme briefing, assets modificados
|
|
268
|
+
documentados, versao anterior preservada para rollback,
|
|
269
|
+
hipotese mantida na correcao.
|
|
270
|
+
|
|
271
|
+
# =========================================================================
|
|
272
|
+
# FASE 4 — COMPLIANCE (SE APLICAVEL) (@temis)
|
|
273
|
+
# =========================================================================
|
|
274
|
+
- step: compliance_check
|
|
275
|
+
phase: 4
|
|
276
|
+
agent: "@temis"
|
|
277
|
+
action: "*compliance-check-otimizacao"
|
|
278
|
+
description: >
|
|
279
|
+
Verifica se a correcao afetou compliance. So executa revisao
|
|
280
|
+
completa se a correcao envolveu copy ou criativo. Para
|
|
281
|
+
correcoes tecnicas (bid, publico, funil flow) faz check rapido.
|
|
282
|
+
inputs:
|
|
283
|
+
- "docs/otimizacao/correcao-v{n}.md"
|
|
284
|
+
- "Assets modificados"
|
|
285
|
+
- "docs/compliance/compliance-report.md (original)"
|
|
286
|
+
outputs:
|
|
287
|
+
- "docs/otimizacao/compliance-check-v{n}.md"
|
|
288
|
+
requires: executar_correcao
|
|
289
|
+
next: medir_resultado
|
|
290
|
+
on_failure: "Bloquear publicacao da correcao ate compliance OK"
|
|
291
|
+
validation:
|
|
292
|
+
type: conditional
|
|
293
|
+
criteria: >
|
|
294
|
+
Se correcao envolve copy/criativo: revisao completa de compliance.
|
|
295
|
+
Se correcao e tecnica: check rapido (politicas de plataforma).
|
|
296
|
+
APROVADO: Prosseguir para medicao.
|
|
297
|
+
AJUSTES: Corrigir antes de publicar.
|
|
298
|
+
conditions:
|
|
299
|
+
copy_or_creative_change:
|
|
300
|
+
review_type: "full"
|
|
301
|
+
checks: ["claims", "disclaimers", "Meta policies", "CONAR"]
|
|
302
|
+
technical_change:
|
|
303
|
+
review_type: "quick"
|
|
304
|
+
checks: ["Meta policies basicas"]
|
|
305
|
+
|
|
306
|
+
# =========================================================================
|
|
307
|
+
# FASE 5 — MEDICAO DE RESULTADO (@cronos)
|
|
308
|
+
# =========================================================================
|
|
309
|
+
- step: medir_resultado
|
|
310
|
+
phase: 5
|
|
311
|
+
agent: "@cronos"
|
|
312
|
+
action: "*medir-resultado-otimizacao"
|
|
313
|
+
description: >
|
|
314
|
+
Apos periodo minimo de medicao (72h), coleta novas metricas e
|
|
315
|
+
compara com baseline (antes da correcao). Calcula variacao
|
|
316
|
+
percentual, significancia estatistica (se volume suficiente),
|
|
317
|
+
impacto no ROAS global.
|
|
318
|
+
inputs:
|
|
319
|
+
- "docs/otimizacao/metricas-atuais.md (baseline)"
|
|
320
|
+
- "docs/otimizacao/decisao-v{n}.md (hipotese e metrica)"
|
|
321
|
+
- "Dados pos-correcao (minimo 72h)"
|
|
322
|
+
outputs:
|
|
323
|
+
- "docs/otimizacao/resultado-v{n}.md"
|
|
324
|
+
- "docs/otimizacao/historico-diagnosticos.md (append)"
|
|
325
|
+
requires: compliance_check
|
|
326
|
+
next: avaliar_continuidade
|
|
327
|
+
on_failure: "Estender periodo de medicao para 7 dias"
|
|
328
|
+
validation:
|
|
329
|
+
type: comparison
|
|
330
|
+
criteria: >
|
|
331
|
+
Comparacao antes/depois com: metrica alvo, valor antes,
|
|
332
|
+
valor depois, variacao percentual, significancia
|
|
333
|
+
(volume minimo: 100 conversoes ou 1000 cliques), impacto
|
|
334
|
+
no ROAS, veredicto (MELHOROU / NEUTRO / PIOROU).
|
|
335
|
+
|
|
336
|
+
- step: avaliar_continuidade
|
|
337
|
+
phase: 5
|
|
338
|
+
agent: "@atena"
|
|
339
|
+
action: "*avaliar-continuidade-ciclo"
|
|
340
|
+
description: >
|
|
341
|
+
Avalia se o ciclo deve continuar: meta atingida? Hipoteses
|
|
342
|
+
restantes? Budget disponivel? Decide entre: continuar loop
|
|
343
|
+
(proximo gargalo), manter correcao e escalar, ou encerrar
|
|
344
|
+
ciclo com report final.
|
|
345
|
+
inputs:
|
|
346
|
+
- "docs/otimizacao/resultado-v{n}.md"
|
|
347
|
+
- "docs/otimizacao/cycle-state.yaml"
|
|
348
|
+
- "KPIs alvo do projeto"
|
|
349
|
+
outputs:
|
|
350
|
+
- "docs/otimizacao/continuidade-v{n}.md"
|
|
351
|
+
- "docs/otimizacao/cycle-state.yaml (atualizado)"
|
|
352
|
+
requires: medir_resultado
|
|
353
|
+
next: "condicional"
|
|
354
|
+
on_failure: "Encerrar ciclo com report do que foi tentado"
|
|
355
|
+
validation:
|
|
356
|
+
type: routing
|
|
357
|
+
criteria: >
|
|
358
|
+
Roteamento baseado em resultado e estado do ciclo.
|
|
359
|
+
routing_rules:
|
|
360
|
+
- condition: "Meta de KPI atingida"
|
|
361
|
+
next: null
|
|
362
|
+
action: "Encerrar ciclo com report de sucesso"
|
|
363
|
+
- condition: "Melhoria detectada mas meta nao atingida"
|
|
364
|
+
next: coletar_metricas
|
|
365
|
+
action: "Novo ciclo com proximo gargalo"
|
|
366
|
+
- condition: "Sem melhoria e hipoteses restantes"
|
|
367
|
+
next: coletar_metricas
|
|
368
|
+
action: "Novo ciclo com hipotese alternativa"
|
|
369
|
+
- condition: "Sem melhoria e sem hipoteses"
|
|
370
|
+
next: null
|
|
371
|
+
action: "Encerrar ciclo — pivotar estrategia"
|
|
372
|
+
- condition: "Piorou"
|
|
373
|
+
next: executar_correcao
|
|
374
|
+
action: "Rollback para versao anterior"
|
|
375
|
+
- condition: "max_iterations atingido"
|
|
376
|
+
next: null
|
|
377
|
+
action: "Encerrar ciclo com report completo"
|
|
378
|
+
|
|
379
|
+
# ---------------------------------------------------------------------------
|
|
380
|
+
# CONFIGURACAO GLOBAL
|
|
381
|
+
# ---------------------------------------------------------------------------
|
|
382
|
+
config:
|
|
383
|
+
max_iterations: 10
|
|
384
|
+
min_measurement_period: "72h"
|
|
385
|
+
rollback_enabled: true
|
|
386
|
+
compliance_on_copy_changes: true
|
|
387
|
+
track_all_iterations: true
|
|
388
|
+
preserve_baselines: true
|
|
389
|
+
|
|
390
|
+
failure_handling:
|
|
391
|
+
global_escalation: "@atena"
|
|
392
|
+
on_max_iterations: "Gerar report final com todos os testes e resultados"
|
|
393
|
+
on_critical_failure: "Rollback para ultimo estado estavel"
|
|
394
|
+
on_regression: "Rollback imediato + investigacao da causa"
|