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,333 @@
1
+ # =============================================================================
2
+ # COPY REVIEW LOOP — Workflow Iterativo (Loop Max 3)
3
+ # Pipeline: @apolo escreve → @zeus valida → @temis compliance → loop/escala
4
+ # =============================================================================
5
+
6
+ workflow:
7
+ id: copy-review-loop
8
+ name: "Copy Review Loop"
9
+ version: "1.0"
10
+ description: >
11
+ Loop iterativo de revisao de copy com max 3 iteracoes. @apolo escreve,
12
+ @zeus valida usando copy-quality-gate (score 1-15), @temis revisa
13
+ compliance. Se score insuficiente, volta para @apolo com feedback
14
+ especifico. Na 3a falha, escala para @atena que decide entre
15
+ reescrever do zero, aprovar com ressalvas ou pivotar angulo.
16
+
17
+ trigger: manual
18
+ estimated_duration: "1-2 dias uteis"
19
+ priority: high
20
+ type: iterative_loop
21
+
22
+ # ---------------------------------------------------------------------------
23
+ # FASES
24
+ # ---------------------------------------------------------------------------
25
+ phases:
26
+ - phase_1: "Escrita Inicial"
27
+ - phase_2: "Validacao de Qualidade"
28
+ - phase_3: "Revisao de Compliance"
29
+ - phase_loop: "Iteracao de Ajustes (max 3)"
30
+ - phase_escalation: "Escalacao para @atena"
31
+
32
+ # ---------------------------------------------------------------------------
33
+ # CONFIGURACAO DO LOOP
34
+ # ---------------------------------------------------------------------------
35
+ loop_config:
36
+ max_iterations: 3
37
+ current_iteration: 0
38
+ loop_start_step: escrever_copy
39
+ loop_end_step: compliance_review
40
+ exit_conditions:
41
+ - "Score >= 10 E compliance aprovado"
42
+ - "max_iterations atingido (escala para @atena)"
43
+ state_file: "docs/copy-review/loop-state.yaml"
44
+
45
+ # ---------------------------------------------------------------------------
46
+ # SCORING
47
+ # ---------------------------------------------------------------------------
48
+ scoring:
49
+ system: "copy-quality-gate"
50
+ scale: "1-15"
51
+ dimensions:
52
+ - name: "Clareza"
53
+ weight: 1
54
+ description: "Mensagem clara e facilmente compreensivel"
55
+ - name: "Persuasao"
56
+ weight: 2
57
+ description: "Poder de convencimento e gatilhos emocionais"
58
+ - name: "Mecanismo"
59
+ weight: 2
60
+ description: "Mecanismo unico bem explicado e convincente"
61
+ - name: "Proof Elements"
62
+ weight: 1
63
+ description: "Provas sociais, dados, cases, autoridade"
64
+ - name: "CTA"
65
+ weight: 1
66
+ description: "Call-to-action claro, urgente e especifico"
67
+ - name: "Consistencia"
68
+ weight: 1
69
+ description: "Tom e narrativa consistentes do inicio ao fim"
70
+ - name: "Hook"
71
+ weight: 2
72
+ description: "Poder de atencao nos primeiros 30 segundos"
73
+ thresholds:
74
+ aprovado:
75
+ min_score: 10
76
+ action: "Prosseguir para compliance"
77
+ label: "APROVADO"
78
+ ajustes:
79
+ min_score: 7
80
+ max_score: 9
81
+ action: "Retornar para @apolo com feedback especifico"
82
+ label: "AJUSTES"
83
+ reescrever:
84
+ min_score: 0
85
+ max_score: 6
86
+ action: "Escalar para @atena"
87
+ label: "REESCREVER"
88
+
89
+ # ---------------------------------------------------------------------------
90
+ # SEQUENCIA DE STEPS
91
+ # ---------------------------------------------------------------------------
92
+ sequence:
93
+
94
+ # =========================================================================
95
+ # FASE 1 — ESCRITA INICIAL (@apolo)
96
+ # =========================================================================
97
+ - step: escrever_copy
98
+ phase: 1
99
+ agent: "@apolo"
100
+ action: "*escrever-copy"
101
+ description: >
102
+ Escreve a copy solicitada seguindo o briefing, posicionamento e
103
+ avatar definidos. Na primeira iteracao, escreve do zero. Nas
104
+ iteracoes subsequentes, aplica o feedback especifico do @zeus
105
+ sobre os pontos fracos identificados.
106
+ inputs:
107
+ - "Briefing da copy (tipo: VSL, ad, email, pagina)"
108
+ - "docs/estrategia/avatar-profile.md (se existir)"
109
+ - "docs/estrategia/posicionamento.md (se existir)"
110
+ - "docs/copy-review/feedback-iteration-{n}.md (se iteracao > 1)"
111
+ outputs:
112
+ - "docs/copy-review/copy-draft-v{n}.md"
113
+ requires: null
114
+ next: validar_copy
115
+ on_failure: "Usar template de copy padrao como base"
116
+ validation:
117
+ type: checklist
118
+ criteria: >
119
+ Copy completa conforme tipo solicitado, todas as secoes
120
+ presentes, mecanismo unico articulado, CTA definido.
121
+ iteration_behavior:
122
+ first_iteration: "Escrever do zero seguindo briefing"
123
+ subsequent_iterations: >
124
+ Aplicar feedback especifico de docs/copy-review/feedback-iteration-{n-1}.md.
125
+ Focar nas dimensoes com score mais baixo. NAO reescrever
126
+ secoes que ja atingiram score alto.
127
+
128
+ # =========================================================================
129
+ # FASE 2 — VALIDACAO DE QUALIDADE (@zeus)
130
+ # =========================================================================
131
+ - step: validar_copy
132
+ phase: 2
133
+ agent: "@zeus"
134
+ action: "*copy-quality-gate"
135
+ description: >
136
+ Avalia a copy usando o sistema de scoring copy-quality-gate.
137
+ Score de 1-15 baseado em 7 dimensoes. Gera feedback detalhado
138
+ e especifico para cada dimensao abaixo do esperado.
139
+ inputs:
140
+ - "docs/copy-review/copy-draft-v{n}.md"
141
+ - "docs/estrategia/avatar-profile.md (se existir)"
142
+ - "docs/estrategia/posicionamento.md (se existir)"
143
+ outputs:
144
+ - "docs/copy-review/quality-report-v{n}.md"
145
+ - "docs/copy-review/feedback-iteration-{n}.md (se score < 10)"
146
+ requires: escrever_copy
147
+ next: decision_gate
148
+ on_failure: "Gerar report com score minimo e feedback generico"
149
+ validation:
150
+ type: verdict
151
+ criteria: >
152
+ Score >= 10: APROVADO — prosseguir para compliance.
153
+ Score 7-9: AJUSTES — gerar feedback especifico por dimensao.
154
+ Score < 7: REESCREVER — escalar se 3a iteracao.
155
+
156
+ - step: decision_gate
157
+ phase: 2
158
+ agent: "@zeus"
159
+ action: "*decision-gate"
160
+ description: >
161
+ Ponto de decisao baseado no score e numero de iteracoes.
162
+ Roteia o fluxo para o proximo passo correto: compliance
163
+ (se aprovado), loop (se ajustes), ou escalacao (se 3a falha
164
+ ou score muito baixo).
165
+ inputs:
166
+ - "docs/copy-review/quality-report-v{n}.md"
167
+ - "Numero da iteracao atual"
168
+ outputs:
169
+ - "docs/copy-review/decision-log.md (append)"
170
+ requires: validar_copy
171
+ next: "condicional"
172
+ on_failure: "Escalar para @atena em caso de erro no gate"
173
+ validation:
174
+ type: routing
175
+ criteria: >
176
+ Roteamento baseado em score e iteracao.
177
+ routing_rules:
178
+ - condition: "score >= 10"
179
+ next: compliance_review
180
+ log: "APROVADO — prosseguindo para compliance"
181
+ - condition: "score 7-9 AND iteracao < 3"
182
+ next: escrever_copy
183
+ log: "AJUSTES — iteracao {n+1}, feedback enviado para @apolo"
184
+ feedback_required:
185
+ - "Dimensoes com score abaixo da media"
186
+ - "Exemplo concreto do problema"
187
+ - "Sugestao especifica de melhoria"
188
+ - "Secao exata que precisa de ajuste"
189
+ - condition: "score < 7 AND iteracao < 3"
190
+ next: escrever_copy
191
+ log: "REESCREVER — problemas graves identificados"
192
+ feedback_required:
193
+ - "Listagem completa de problemas"
194
+ - "Recomendacao de reescrita por secao"
195
+ - "Referencia ao briefing original"
196
+ - condition: "iteracao >= 3 AND score < 10"
197
+ next: escalacao_atena
198
+ log: "ESCALACAO — 3 iteracoes sem aprovacao"
199
+
200
+ # =========================================================================
201
+ # FASE 3 — REVISAO DE COMPLIANCE (@temis)
202
+ # =========================================================================
203
+ - step: compliance_review
204
+ phase: 3
205
+ agent: "@temis"
206
+ action: "*compliance-copy-review"
207
+ description: >
208
+ Revisao de compliance da copy aprovada: claims verificaveis,
209
+ promessas legais, disclaimers necessarios, CONAR, CDC,
210
+ politicas da plataforma de destino (Meta, Google, WhatsApp).
211
+ inputs:
212
+ - "docs/copy-review/copy-draft-v{n}.md (versao aprovada)"
213
+ - "docs/copy-review/quality-report-v{n}.md"
214
+ - "Plataforma de destino (Meta Ads, Google Ads, email, WhatsApp)"
215
+ outputs:
216
+ - "docs/copy-review/compliance-report.md"
217
+ - "docs/copy-review/copy-final.md (se aprovado)"
218
+ - "docs/copy-review/compliance-fixes.md (se ajustes necessarios)"
219
+ requires: decision_gate
220
+ next: finalizar_copy
221
+ on_failure: "Listar violacoes e retornar para @apolo corrigir"
222
+ validation:
223
+ type: verdict
224
+ criteria: >
225
+ APROVADO: Copy em compliance total — gerar copy final.
226
+ AJUSTES: Correcoes menores de compliance — @apolo aplica.
227
+ BLOQUEADO: Violacoes criticas — retornar para ajustes.
228
+ compliance_checks:
229
+ - "Claims de resultado com evidencia ou disclaimer"
230
+ - "Garantia conforme CDC"
231
+ - "Sem linguagem discriminatoria"
232
+ - "Politica de plataforma respeitada"
233
+ - "Disclaimers obrigatorios presentes"
234
+
235
+ - step: finalizar_copy
236
+ phase: 3
237
+ agent: "@apolo"
238
+ action: "*finalizar-copy"
239
+ description: >
240
+ Aplica ajustes finais de compliance (se houver) e gera a versao
241
+ final da copy pronta para uso. Mantem a eficacia da copy
242
+ enquanto atende todas as exigencias de compliance.
243
+ inputs:
244
+ - "docs/copy-review/compliance-fixes.md (se existir)"
245
+ - "docs/copy-review/copy-draft-v{n}.md"
246
+ outputs:
247
+ - "docs/copy-review/copy-final.md"
248
+ - "docs/copy-review/loop-summary.md"
249
+ requires: compliance_review
250
+ next: null
251
+ on_failure: "Gerar copy final com disclaimers mesmo sem ajustes perfeitos"
252
+ validation:
253
+ type: checklist
254
+ criteria: >
255
+ Copy final com: todas as correcoes de compliance aplicadas,
256
+ score de qualidade mantido, versao final marcada, log de
257
+ iteracoes documentado.
258
+
259
+ # =========================================================================
260
+ # FASE ESCALACAO — DECISAO @atena
261
+ # =========================================================================
262
+ - step: escalacao_atena
263
+ phase: escalation
264
+ agent: "@atena"
265
+ action: "*decidir-escalacao-copy"
266
+ description: >
267
+ @atena recebe o historico completo das 3 iteracoes, scores,
268
+ feedbacks e decide entre 3 opcoes: reescrever do zero com novo
269
+ angulo, aprovar com ressalvas documentadas, ou pivotar o angulo
270
+ estrategico completamente.
271
+ inputs:
272
+ - "docs/copy-review/copy-draft-v1.md"
273
+ - "docs/copy-review/copy-draft-v2.md"
274
+ - "docs/copy-review/copy-draft-v3.md"
275
+ - "docs/copy-review/quality-report-v1.md"
276
+ - "docs/copy-review/quality-report-v2.md"
277
+ - "docs/copy-review/quality-report-v3.md"
278
+ - "docs/copy-review/decision-log.md"
279
+ - "docs/estrategia/posicionamento.md (se existir)"
280
+ outputs:
281
+ - "docs/copy-review/escalation-decision.md"
282
+ requires: decision_gate
283
+ next: "condicional"
284
+ on_failure: "Aprovar com ressalvas como fallback minimo"
285
+ validation:
286
+ type: decision
287
+ criteria: >
288
+ @atena deve escolher uma das 3 opcoes com justificativa.
289
+ options:
290
+ - id: reescrever_zero
291
+ label: "Reescrever do Zero"
292
+ description: >
293
+ Descarta todas as versoes e reinicia o loop com novo
294
+ angulo estrategico. Reset do contador de iteracoes.
295
+ next_step: escrever_copy
296
+ resets_iteration: true
297
+ max_resets: 1
298
+ requires: "Novo angulo definido por @atena"
299
+
300
+ - id: aprovar_ressalvas
301
+ label: "Aprovar com Ressalvas"
302
+ description: >
303
+ Aprova a melhor versao (maior score) com ressalvas
304
+ documentadas. Segue para compliance com notas.
305
+ next_step: compliance_review
306
+ requires: "Lista de ressalvas documentada"
307
+
308
+ - id: pivotar_angulo
309
+ label: "Pivotar Angulo"
310
+ description: >
311
+ Muda completamente o angulo estrategico. Requer novo
312
+ posicionamento antes de reiniciar o loop.
313
+ next_step: null
314
+ triggers_workflow: "Novo briefing estrategico necessario"
315
+ requires: "Justificativa do pivot e novo angulo sugerido"
316
+
317
+ # ---------------------------------------------------------------------------
318
+ # CONFIGURACAO GLOBAL
319
+ # ---------------------------------------------------------------------------
320
+ config:
321
+ max_iterations: 3
322
+ max_resets: 1
323
+ scoring_system: "copy-quality-gate"
324
+ approval_threshold: 10
325
+ adjustment_threshold: 7
326
+ compliance_required: true
327
+ track_iteration_history: true
328
+
329
+ failure_handling:
330
+ global_escalation: "@atena"
331
+ on_max_iterations: "Escalar para @atena com historico completo"
332
+ on_compliance_block: "Retornar para @apolo com fixes especificos"
333
+ on_critical_failure: "Pausar loop, preservar estado, notificar usuario"