cdp-edge 2.3.8 → 2.5.1

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 (29) hide show
  1. package/README.md +304 -639
  2. package/bin/cdp-edge.js +3 -2
  3. package/dist/commands/validate.js +248 -84
  4. package/dist/sdk/cdpTrack.js +2095 -0
  5. package/dist/sdk/cdpTrack.min.js +64 -0
  6. package/dist/sdk/install-snippet.html +10 -0
  7. package/extracted-skill/tracking-events-generator/agents/devops-agent.md +22 -0
  8. package/extracted-skill/tracking-events-generator/agents/intelligence-agent.md +53 -0
  9. package/extracted-skill/tracking-events-generator/agents/lead-scoring-agent.md +282 -0
  10. package/extracted-skill/tracking-events-generator/agents/master-orchestrator.md +60 -6
  11. package/extracted-skill/tracking-events-generator/agents/match-quality-agent.md +304 -0
  12. package/extracted-skill/tracking-events-generator/agents/utm-agent.md +285 -154
  13. package/extracted-skill/tracking-events-generator/anti-blocking.js +1 -1
  14. package/extracted-skill/tracking-events-generator/cdpTrack.js +10 -18
  15. package/extracted-skill/tracking-events-generator/engagement-scoring.js +2 -2
  16. package/extracted-skill/tracking-events-generator/micro-events.js +1 -1
  17. package/extracted-skill/tracking-events-generator/models/quiz-funnel.md +83 -19
  18. package/extracted-skill/tracking-events-generator/tracking.config.js +3 -3
  19. package/package.json +5 -1
  20. package/scripts/build-sdk.js +106 -0
  21. package/server-edge-tracker/index.ts +174 -6
  22. package/server-edge-tracker/modules/intelligence.ts +155 -2
  23. package/server-edge-tracker/modules/ml/quiz.ts +343 -0
  24. package/server-edge-tracker/modules/ml/roas.ts +255 -0
  25. package/server-edge-tracker/modules/nurture.ts +257 -0
  26. package/server-edge-tracker/modules/utils.ts +2 -0
  27. package/server-edge-tracker/schema-quiz.sql +52 -0
  28. package/server-edge-tracker/schema-sales-engine.sql +113 -0
  29. package/templates/quiz-funnel.md +83 -19
package/README.md CHANGED
@@ -1,639 +1,304 @@
1
- # 🚀 CDP Edge — Quantum Tracking Enterprise
2
-
3
- **Padrão Quantum Tracking: 100% Cloudflare Edge.** Sem GTM. Sem Stape. Sem cookies de terceiros.
4
-
5
- > **v2.3.8** — Fix Definitivo: api-versions.json (14 de Abril de 2026) 🔒
6
-
7
- > **v2.3.7** — Infraestrutura Git & Contratos de API (14 de Abril de 2026) 🛠️
8
-
9
- > **v2.3.6** — Retry Queue Completo & Hardening TypeScript (14 de Abril de 2026) 🔁
10
-
11
- > **v2.3.5**UTMs Obfuscadas & Segmentação de Valor (14 de Abril de 2026) 🏷️
12
-
13
- ### Novidades
14
- - graphify obrigatório em todas as sessões (CLAUDE.md)
15
- - Git hooks instalados (post-commit, post-checkout)
16
- - Hook corrigido para UTF-8 nativo no Windows
17
- - Redução de custo documentada (40–90% economia ao navegar grafo)
18
- - Tripé de documentação sincronizado (README + CLAUDE.md + Business Book)
19
-
20
- ### Correções
21
- - Hook post-commit corrigido para encoding UTF-8
22
- - Rebuild code-only funcional após cada commit
23
- - Push para ts/main (CDP-Edge-Premium.ts.git) concluído
24
-
25
- ---
26
-
27
- ## 📋 CHANGELOG v2.3.8 Fix Definitivo: api-versions.json (14 de Abril de 2026)
28
-
29
- ### 🔒 Causa Raiz Eliminada
30
-
31
- **Problema:** `contracts/api-versions.json` aparecia como "M" (modified) após cada `npm publish` porque o `build.js` copia `extracted-skill/tracking-events-generator/contracts/` → `contracts/` como parte do `prepare` script — sobrescrevendo a versão atualizada com a versão antiga da fonte.
32
-
33
- **Fix:** a fonte (`extracted-skill/tracking-events-generator/contracts/api-versions.json`) foi atualizada para `v1.1.0` e sincronizada com `contracts/api-versions.json`. Agora ambos os arquivos são idênticos — o build copia e o resultado é sempre limpo.
34
-
35
- ### Arquivos corrigidos
36
- - `contracts/api-versions.json` — `agent` atualizado para v2.3.8
37
- - `extracted-skill/tracking-events-generator/contracts/api-versions.json` — sincronizado com contracts/ (fonte do build)
38
-
39
- ### Breaking Changes
40
- - Nenhuma.
41
-
42
- ---
43
-
44
- ## 📋 CHANGELOG v2.3.7 — Infraestrutura Git & Contratos de API (14 de Abril de 2026)
45
-
46
- ### 🛠️ Infraestrutura Git
47
-
48
- - **`.gitattributes`** criado — força LF em todos os arquivos de texto, elimina o falso "M" por conversão CRLF no Windows de forma permanente para qualquer clone futuro
49
- - **`core.autocrlf=false`** desativado localmente para que `.gitattributes` tenha controle total dos line endings
50
- - **`.gitignore`** `server-edge-tracker/dist-check/` adicionado (output do `wrangler deploy --dry-run` não deve ser versionado)
51
-
52
- ### 📋 Contratos de API
53
-
54
- - **`contracts/api-versions.json`** — versão `1.0.0` → `1.1.0`
55
- - `updated_at` atualizado para `2026-04-14`
56
- - `last_updated_by` reflete `Intelligence Agent CDP Edge v2.3.6`
57
- - `next_review_date` atualizado para `2026-05-14`
58
-
59
- ### Breaking Changes
60
-
61
- - Nenhuma.
62
-
63
- ---
64
-
65
- ## 📋 CHANGELOG v2.3.6 Retry Queue Completo & Hardening TypeScript (14 de Abril de 2026)
66
-
67
- ### 🔁 Retry Queue Cobertura Total de Dispatchers
68
-
69
- **Problema resolvido:** a infraestrutura de retry (`RETRY_QUEUE` + consumer + DLQ) estava 100% montada no `wrangler.toml` e no `index.ts`, mas `RETRY_QUEUE.send()` nunca era chamado. Eventos perdidos por falha de rede ficavam mortos no D1.
70
-
71
- **Solução implementada:**
72
- - `RETRY_QUEUE.send()` ativo nos 7 dispatchers: Meta, GA4, TikTok, Pinterest, Reddit, LinkedIn, Spotify
73
- - Apenas falhas de rede (`catch`) são enfileiradas — erros HTTP 4xx não são retentados (payload rejeitado pela plataforma)
74
- - Consumer (`queue()`) recebe `ctx: ExecutionContext` — background ops (`logMatchQuality`, `writeAuditLog`) agora funcionam no reprocessamento
75
- - Cobertura expandida de 3 para 7 plataformas no consumer
76
- - `Queue<QueueMessage>` adicionado ao `Env` em `types.ts`
77
-
78
- **Fluxo de retry:**
79
- ```
80
- Dispatcher catch (falha de rede)
81
- → logApiFailure (D1)
82
- RETRY_QUEUE.send({ eventType, payload, platform })
83
- consumer reprocessa (até 3 tentativas)
84
- se esgotar DLQ (cdp-edge-dlq)
85
- ```
86
-
87
- ### 🔧 Hardening TypeScript
88
-
89
- - Tipo explícito `SanitizeResult` para o objeto de sanitização em `index.ts`
90
- - `STR_FIELDS` renomeado para `TRACKING_ID_FIELDS` (transactionId, fbclid, ttclid, gclid) — elimina conflito com `GENERIC_SANITIZE_FIELDS` (UTMs)
91
- - Build TypeScript: zero erros, zero warnings críticos
92
-
93
- ### Breaking Changes
94
-
95
- - Nenhuma. API HTTP e comportamento em runtime são idênticos.
96
-
97
- ### Migração
98
-
99
- Nenhuma migração necessária. Se a fila `cdp-edge-retry` ainda não foi criada:
100
- ```bash
101
- wrangler queues create cdp-edge-retry
102
- wrangler queues create cdp-edge-dlq
103
- wrangler deploy
104
- ```
105
-
106
- ---
107
-
108
- ## 📋 CHANGELOG v2.3.5 UTMs Obfuscadas & Segmentação de Valor (14 de Abril de 2026)
109
-
110
- ### 🏷️ UTM Agent Novo Agente para Segmentação de Público
111
-
112
- **Problema resolvido:**
113
- - Múltiplos anúncios com diferentes faixas de valor (ex: imóveis 500k-800k, 800k-1.5M, 1M-3M) precisam ser segmentados corretamente para o Meta criar públicos separados
114
- - Dados sensíveis (valor de preço) não devem estar visíveis na URL pública por segurança
115
-
116
- **Solução implementada:**
117
- - **UTMs Obfuscadas:** Valores de faixa são convertidos em hash SHA256 truncado (8 caracteres)
118
- - `800k-1.5M` `b4e2a1c9` (obfuscado)
119
- - Humans veem: `imovel_b4e2a1c9`
120
- - Worker sabe: `faixa_real = "800k-1.5M"` (de-obfuscado)
121
-
122
- - **Módulo UTM Enricher:** `server-edge-tracker/modules/utm/utm-enricher.ts`
123
- - `obfuscateValue()` gera hash truncado de 8 caracteres
124
- - `deobfuscateValue()` — de-obfusca usando mapeamento
125
- - `enrichPayloadWithUTM()` — enriquece payload com segmentação
126
- - Integração com Meta CAPI: `external_id` segmentado por hash
127
-
128
- - **Schema D1:** `server-edge-tracker/schema-utm.sql`
129
- - Tabela `utm_mappings` persiste mapeamento hashvalor
130
- - Colunas em `leads`: `faixa_obfuscada`, `faixa_real`, `faixa_category`
131
- - VIEW `leads_segmented`para dashboard e exports
132
-
133
- - **Master Orchestrator Atualizado:** UTM Agent integrado ao fluxo (FASE 2-B)
134
- - Ordem: Page Analyzer → **UTM Agent** → Premium Intelligence → Browser Tracking
135
- - Arquivo: `extracted-skill/tracking-events-generator/agents/utm-agent.md`
136
-
137
- **Fluxo de criação de projeto:**
138
- ```
139
- USUÁRIO INICIA CDP EDGE
140
-
141
- FASE 1: Seleção de plataformas + credenciais
142
-
143
- FASE 2: Page Analyzer (identifica tipo de página)
144
-
145
- FASE 2-B: UTM Agent NOVO
146
- → Pergunta: "Qual a faixa de valor deste imóvel?"
147
- → Gera: URL obfuscada + mapeamento hash→valor
148
-
149
- FASE 3+: Continua fluxo normal (Premium Intelligence, Browser Tracking, etc.)
150
- ```
151
-
152
- **Segmentação na Meta:**
153
- ```
154
- Públicos criados automaticamente via external_id segmentado:
155
- - Público LOW: cdp_uid_8a3f1d2b (500k-800k)
156
- - Público MID: cdp_uid_b4e2a1c9 (800k-1.5M)
157
- - Público HIGH: cdp_uid_d6c3b4e7 (1M-3M)
158
- ```
159
-
160
- **Remarketing futuro:**
161
- ```sql
162
- -- Exportar público por faixa para Meta Custom Audience
163
- SELECT email, phone, city, state
164
- FROM leads_segmented
165
- WHERE faixa_real = '800k-1.5M'
166
- AND created_at >= datetime('now', '-30 days');
167
- ```
168
-
169
- ### Correções
170
-
171
- - Documentação sincronizada: README.md + CLAUDE.md + Business Book
172
- - Versões alinhadas: package.json, CHANGELOG, README
173
- - Referências cruzadas: agents, modules, schemas
174
-
175
- ### Breaking Changes
176
-
177
- - Nenhuma. API HTTP e comportamento em runtime são idênticos.
178
-
179
- ### Migração
180
-
181
- Para projetos existentes:
182
- ```bash
183
- # Aplicar schema UTM (adicional)
184
- cd server-edge-tracker
185
- wrangler d1 execute cdp-edge-db --file=schema-utm.sql --remote
186
-
187
- # Configurar utm-mapping.json (manual ou via UTM Agent)
188
- cp config/utm-mapping.json.example config/utm-mapping.json
189
-
190
- # Deploy
191
- wrangler deploy
192
- ```
193
-
194
- ---
195
-
196
- > ⚠️ **REGRA DE OURO (SQUAD):** Todas as atualizações, correções ou novas features devem OBRIGATORIAMENTE ser documentadas de forma sincronizada neste `README.md`, no arquivo de instruções `CLAUDE.md` e no dossiê de diretoria `CDP-EDGE-BUSINESS-BOOK.md`. Nenhuma alteração passa sem esse tripé.
197
-
198
- ---
199
-
200
- ## 🤖 MANIFESTO: EU, CDP EDGE
201
-
202
- *Eu não sou um simples "script de pixel". Eu sou uma arquitetura **Enterprise Tier 10** nascida e construída 100% nativa na infraestrutura da Cloudflare.*
203
-
204
- **A Linha de Montagem Sincronizada (A Prova de Latência)**
205
- Meu ecossistema opera como um Cérebro de Conversão Privado na borda. Quando um evento de Lead bate no endpoint `/track`:
206
- 1. **O Escudo Frontal (Fraud Gate):** Inspeciono IP, ASN e Velocity na borda. Bloqueio bots silenciosamente antes mesmo deles carregarem.
207
- 2. **A Roleta Invisível (A/B LTV):** Faço o sorteio de prompts para testes A/B via KV Cache em ~0ms.
208
- 3. **O Cérebro Financeiro (LTV Predictor):** Rodo Machine Learning (Granite 4.0 Micro) para qualificar a intenção e gerar o LTV Preditivo.
209
- 4. **Envio para as Plataformas:** O Facebook/Google/LinkedIn recebem um payload limpo (sem bot) recheado com valor financeiro de intenção extrema.
210
- 5. **Máquina Autônoma (Background):** Meu banco SQLite (D1) retroalimenta os processos de Clustering (Fase 1) e Bidding (Fase 2) de forma autônoma pelas costas do usuário (`ctx.waitUntil`).
211
-
212
- **Minha Vantagem Absoluta (A "Killer Feature")**
213
- - **A Extinção da Latência:** Destruo concorrentes como GTM/Stape mitigando a latência do servidor (+150ms) para as antenas da Cloudflare Brasileira (~5ms). Custando absurdamente menos (Tier Free ou $5/mês na infraestrutura).
214
- - **Cookies Indestrutíveis:** Meus *First-Party Cookies Seguros* originam diretamente da nuvem, imunes hoje às varreduras massivas de 24 horas usadas por AdBlockers e Safari (Apple ITP).
215
- - **Filas Inquebráveis (Fail-Safe + Queues):** Se a AI Cloudflare cair ocasionalmente, eu recuo pro LTV $0. Se a Meta CAPI espirrar 500 downtime, o sistema guarda religiosamente os seus eventos caros em *Cloudflare Queues* e faz o retry sucessivo. Sou incansável na garantia de Event Match Quality (EMQ).
216
-
217
- ---
218
-
219
- ## 📋 CHANGELOG v2.3.1 Hardening Enterprise (12 de Abril de 2026)
220
-
221
- ### 🔒 Segurança & Conformidade
222
-
223
- - **PII removido dos logs:** `DeviceGraph` parou de logar `user_id` nos Workers logs — dados sensíveis nunca aparecem no Cloudflare dashboard
224
- - **Deploy seguro:** novo `deploy-client.js` — lê credenciais de `.client.env` (gitignored), gera `wrangler.deploy.toml` temporário, faz deploy e autodestrói o arquivo. Credenciais de cliente nunca entram no repo
225
- - **`.gitignore` reforçado:** `.client.env` e `wrangler.deploy.toml` explicitamente ignorados
226
- - **WhatsApp secrets alinhados à Meta Cloud API v22.0:** `resolvePhoneNumberId()` e `resolveAccessToken()` com fallback canônico → legado — backwards compat garantido
227
- - **`api-versions.json` v1.1.0:** metadata `updated_at` corrigido para `2026-04-12`
228
- - **`/health` WhatsApp:** reflete corretamente secrets com nomes canônicos ou legados
229
-
230
- ### 🔧 Deploy de Cliente — Novo Fluxo
231
-
232
- ```bash
233
- cd server-edge-tracker
234
- cp .client.env.example .client.env
235
- # preencher DATABASE_ID, SITE_DOMAIN, pixels
236
- node deploy-client.js --dry-run # valida sem subir
237
- node deploy-client.js # deploy real
238
- ```
239
-
240
- ---
241
-
242
- ## 📋 CHANGELOG v2.3.0 TypeScript Nativo (12 de Abril de 2026)
243
-
244
- ### 🔷 Worker 100% TypeScript Migração Completa
245
-
246
- Todo o código server-side (`server-edge-tracker/`) foi migrado de JavaScript para **TypeScript nativo**. O Wrangler compila diretamente o `.ts` via esbuild — sem etapa de build separada, sem configuração extra.
247
-
248
- **Por que TypeScript muda o jogo no CDP Edge:**
249
- - **Env tipado** — typos em nomes de secrets (`META_ACCESS_TOKEN`, `GEO_CACHE`, `DB`) viram erros em build time, nunca em produção
250
- - **TrackPayload contratado** — o shape do payload entre browser e Worker é garantido pelo compilador
251
- - **Cloudflare types nativos** — D1, KV, R2, Workers AI com autocomplete e validação de métodos
252
- - **Fraud Gate e ML seguros** — `checkFraudGate(env: Env, request: Request, payload: TrackPayload)` — nenhum `undefined` passa despercebido
253
- - **Refatoração segura** — renomear qualquer campo do `TrackPayload` lista automaticamente todos os pontos de quebra
254
-
255
- **Arquivos migrados (JS TS) 16 módulos:**
256
- - `index.ts` entry point do Worker
257
- - `types.ts` **novo** contratos centralizados: `Env`, `TrackPayload`, `BehavioralData`, `HotmartWebhook`, `KiwifyWebhook`, `TictoWebhook`, `QueueMessage`, `PromiseResult<T>`
258
- - `modules/utils.ts`, `modules/db.ts`, `modules/intelligence.ts`
259
- - `modules/dispatch/` `meta.ts`, `ga4.ts`, `tiktok.ts`, `platforms.ts`, `whatsapp.ts`
260
- - `modules/ml/` `ltv.ts`, `fraud.ts`, `bidding.ts`, `segmentation.ts`, `logistic.ts`, `matchquality.ts`
261
-
262
- **Infraestrutura:**
263
- - `tsconfig.json` `target: ESNext`, `moduleResolution: "bundler"`, `strict: true`, `@cloudflare/workers-types`
264
- - `wrangler.toml` `main = "index.ts"` (TypeScript nativo via wrangler/esbuild)
265
- - `contracts/types.ts` tipos públicos exportados no pacote NPM: `QuantumEventPayload`, `AgencyContext`, `ApiVersionsConfig`
266
- - `npm run typecheck` `tsc --noEmit` (225 testes passando, zero erros de compilação)
267
-
268
- **Breaking change:** nenhuma — API HTTP e comportamento em runtime são idênticos. TypeScript é invisível para o Cloudflare.
269
-
270
- ---
271
-
272
- ## 📋 CHANGELOG v2.2.5 (11 de Abril de 2026)
273
-
274
- ### 🔧 Correção de Versão Dinâmica
275
-
276
- - **Versão Dinâmica**: `bin/cdp-edge.js` e `dist/commands/install.js` agora leem a versão do `package.json` dinamicamente
277
- - **Banner Corrigido**: O banner de instalação agora mostra sempre a versão correta (`cdp-edge --version`)
278
- - **Compatibilidade**: Garante que a versão exibida no CLI e banner esteja sempre sincronizada com o `package.json`
279
-
280
- ---
281
-
282
- ## 📋 CHANGELOG v2.2.0 (10 de Abril de 2026)
283
-
284
- ### 🤖 AI Engine Upgrade — Novos Modelos
285
-
286
- - **LTV Prediction**: `@cf/meta/llama-3.1-8b-instruct` → **`@cf/ibm-granite/granite-4.0-h-micro`** (menor latência, otimizado para edge e function calling)
287
- - **ML Clustering**: algoritmo LLM simulado → **K-means vetorial real** com embeddings `@cf/baai/bge-m3` (distância cosseno, K-means++ inicialização, silhouette score real)
288
- - Granite continua sendo usado para naming dos segmentos pós-clustering
289
-
290
- ### 🧹 Limpeza (Zero Lixo)
291
-
292
- - Removido: detecção de emails descartáveis (mailinator, guerrilla, tempmail, etc.) do Fraud Gate e do agente `fraud-detection-agent.md`
293
- - Removido: secrets `WEBHOOK_SECRET_HOTMART` e `WEBHOOK_SECRET_KIWIFY` (wrangler + wrangler.toml)
294
-
295
- ### 🔧 Observability
296
-
297
- - Adicionado bloco `[observability]` no `wrangler.toml` (`logs.enabled = true`, `traces.enabled = false`)
298
-
299
- ---
300
-
301
- ## 📋 CHANGELOG v2.0.7 (10 de Abril de 2026)
302
-
303
- ### 🔧 Audit Completo — 45 Agentes
304
-
305
- - **Endpoints corrigidos**: `/api/tracking` → `/track`, `/api/wh/` → `/webhook/` em todos os agentes
306
- - **Secrets WhatsApp**: `WA_PHONE_ID`/`WA_ACCESS_TOKEN`/`WHATSAPP_TOKEN` → `WHATSAPP_PHONE_NUMBER_ID`/`WHATSAPP_ACCESS_TOKEN`
307
- - **`env.DB.prepare`**: corrigido em 8 agentes (attribution, crm, dashboard, debug, performance, security, master-feedback-loop)
308
- - **`env.GEO_CACHE`**: substituiu `KV.` bare em dashboard-agent, performance-agent, performance-optimization-agent
309
- - **YouTube events**: `video_milestone`/`video_progress_25/50/75` → `video_25`/`video_50`/`video_75` (alinhado ao VALID_EVENT_NAMES do worker)
310
- - **LinkedIn CAPI**: endpoint `/rest/conversionEvents` + header `LinkedIn-Version: 202401` em `contracts/api-versions.json`
311
- - **Workers AI model**: `llama-3-8b-instruct` → `@cf/meta/llama-3.1-8b-instruct`
312
- - **index.ts**: Content-Length guard (413 se > 64KB), payload validation (allowlist 19 events, 512 chars, value range), PII removido dos logs
313
- - **Testes**: bugs críticos em `deduplication.test.js` corrigidos (template literals escapados, prefixo errado)
314
- - **npm**: lodash 4.17.23 → 4.18.1, node-fetch removido
315
-
316
- ---
317
-
318
- ## 📋 CHANGELOG v2.0.0 (9 de Abril de 2026)
319
-
320
- ### 🆕 Sprint Enterprise — Fases 1 a 4
321
-
322
- #### ✅ Fase 1 — ML Clustering (Segmentação Dinâmica)
323
- - **`POST /api/segmentation/cluster`** — K-means / DBSCAN / Hierarchical via Workers AI
324
- - **`GET /api/segmentation/list`** — Segmentos ativos com métricas
325
- - **`GET /api/segmentation/outliers`** — Detecção de outliers comportamentais
326
- - **`PUT /api/segmentation/update`** — Atualização de metadados de segmento
327
- - Schema D1: `ml_segments`, `ml_segment_members` + VIEWs otimizadas
328
- - Agente: `ml-clustering-agent.md`
329
-
330
- #### ✅ Fase 2 — Bidding Recommendations (Otimização de Bids ML)
331
- - **`POST /api/bidding/recommend`** — Bid otimizado por segmento × plataforma (Meta/Google/TikTok), calculado com fórmula `LTV × ROI target / CPA base`
332
- - **`GET /api/bidding/history`** — Histórico completo de recomendações
333
- - **`GET /api/bidding/status`** — Snapshot atual das recomendações ativas por vertical
334
- - Schema D1: `bid_recommendations` + VIEW `v_active_bid_recommendations`
335
- - Agente: `bidding-agent.md`
336
-
337
- #### ✅ Fase 3 — A/B Testing de Prompts LTV
338
- - **`POST /api/ltv/ab-test/create`** — Cria experimento com múltiplas variações de system prompt
339
- - **`GET /api/ltv/ab-test/list`** — Lista experimentos com status e progresso
340
- - **`GET /api/ltv/ab-test/results`** — Accuracy score por variação + recomendação automática de winner
341
- - **`POST /api/ltv/ab-test/winner`** — Declara vencedor e retorna o prompt ganador
342
- - Integração automática: cada evento Lead sorteia a variação ativa e registra o assignment via KV cache
343
- - Schema D1: `ltv_ab_tests`, `ltv_ab_variations`, `ltv_ab_assignments` + VIEW `v_ab_test_performance`
344
- - Agente: `ab-ltv-agent.md`
345
-
346
- #### ✅ Fase 4 — Fraud Detection Engine
347
- - **Fraud Gate automático em `/track`** — roda ANTES de qualquer processamento (heurístico puro, ~2ms)
348
- - Silent drop (retorna 200 falso) — bots não detectam a defesa
349
- - **`GET /api/fraud/stats`** — Dashboard de fraude (últimas 24h)
350
- - **`GET /api/fraud/alerts`** — Log de sinais detectados com filtros
351
- - **`GET /api/fraud/blocklist`** — IPs/fingerprints atualmente bloqueados
352
- - **`POST /api/fraud/blocklist/add`** — Bloquear IP ou fingerprint (via KV, efeito imediato)
353
- - **`DELETE /api/fraud/blocklist/remove`** — Remover do blocklist
354
- - Sinais detectados: bot_score, datacenter IP, velocity attack, headless UA, sem Accept-Language
355
- - Schema D1: `fraud_signals`, `fraud_alerts` + VIEW `v_fraud_dashboard`
356
- - Agente: `fraud-detection-agent.md`
357
-
358
- ### 🔧 Fix: `wrangler.toml` atualizado
359
- - Todos os placeholders (`SEU_D1_DATABASE_ID`, `SEU_KV_NAMESPACE_ID`) substituídos pelos IDs reais da conta Cloudflare
360
- - D1: `SEU_DATABASE_ID`
361
- - KV: `SEU_KV_ID`
362
-
363
- ---
364
-
365
- ## 🏗️ ARQUITETURA QUANTUM ENTERPRISE (CLOUDFLARE NATIVE)
366
-
367
- ```mermaid
368
- graph TD
369
- User((Usuário)) -->|Interação| SDK[cdpTrack SDK + Behavior Engine]
370
- SDK -->|Edge Fetch 1ª via KV blocklist| FraudGate{🛡️ Fraud Gate}
371
- FraudGate -->|score ≥ 80: Silent Drop 200| Void[/dev/null]
372
- FraudGate -->|score < 80: Permitido| Worker[Cloudflare Worker Agent]
373
- Worker -->|Identity Graph + _cdp_uid| D1[(D1 SQL — 21 tabelas)]
374
- Worker -->|LTV + A/B Prompt| AI[Workers AI Granite 4.0 Micro]
375
- Worker -->|Segmento ML| Cluster[ML Clustering Engine]
376
- Cluster -->|Bid otimizado| Bidding[Bidding Recommendations]
377
- Worker -->|Background| Queue[Cloudflare Queues]
378
- Queue -->|Server Dispatch| Meta[Meta CAPI v22.0]
379
- Queue -->|Server Dispatch| Google[GA4 / Google Ads]
380
- Queue -->|Server Dispatch| TikTok[TikTok API v1.3]
381
- D1 -->|Reports| Dash[Dashboard Agent]
382
- ```
383
-
384
- ---
385
-
386
- ## 🧠 CATÁLOGO DE AGENTES ESPECIALISTAS
387
-
388
- O sistema é composto por **43+ agentes** coordenados pelo **Master Orchestrator**:
389
-
390
- ### 🧠 Núcleo de Inteligência
391
- | Agente | Função |
392
- |---|---|
393
- | **Master Orchestrator** | Coordenação central — guia todo o setup do projeto |
394
- | **Page Analyzer** | Mapeamento automático de CTAs, Forms e nicho do site |
395
- | **Validator Agent** | Auditoria de código, segurança e conformidade de APIs |
396
- | **Memory Agent** | Contexto e checkpoints da sessão por projeto |
397
- | **Intelligence Agent** | Monitoramento de versões de API (Meta v22.0+, etc) |
398
-
399
- ### 🚀 Plataformas de Anúncio
400
- | Agente | Especialidade |
401
- |---|---|
402
- | **Meta Agent** | Facebook Pixel + CAPI v22.0 + WhatsApp CTWA |
403
- | **Google Agent** | GA4 + Google Ads Enhanced Conversions |
404
- | **TikTok Agent** | TikTok Pixel + Events API v1.3 |
405
- | **LinkedIn Agent** | Insight Tag + Conversions API v2 |
406
- | **Pinterest Agent** | Tag + Conversions API v5 |
407
- | **Reddit Agent** | Pixel + Conversions API v2.0 |
408
- | **Spotify Agent** | Pixel + Conversions API v1 |
409
- | **Bing Agent** | UET Tag + Enhanced Conversions |
410
-
411
- ### 🤖 Enterprise Intelligence (Fase 1–4)
412
- | Agente | Endpoint Principal | Impacto |
413
- |---|---|---|
414
- | **ML Clustering Agent** | `POST /api/segmentation/cluster` | K-means vetorial real (bge-m3 embeddings + Granite naming) |
415
- | **Bidding Agent** | `POST /api/bidding/recommend` | -20% CPA via bid por segmento de LTV |
416
- | **A/B LTV Agent** | `POST /api/ltv/ab-test/create` | +25% precisão LTV via test de prompts |
417
- | **Fraud Detection Agent** | Auto em `/track` | Bloqueia click fraud, bots, velocity attacks |
418
-
419
- ### 🛡️ Módulos Enterprise
420
- | Agente | Função |
421
- |---|---|
422
- | **Attribution Agent** | Atribuição Multi-Touch de alta fidelidade |
423
- | **Security Agent** | Rate Limiting, AES-256 e Bot Defense |
424
- | **Compliance Agent** | LGPD e GDPR (Consent Mode v2) |
425
- | **Performance Agent** | Otimização de caches e queries D1 |
426
-
427
- ---
428
-
429
- ## 📊 BANCO DE DADOS D1 — 21 Tabelas
430
-
431
- ```
432
- CORE TRACKING ML & INTELLIGENCE ENTERPRISE SECURITY
433
- ───────────────── ───────────────────── ─────────────────────
434
- leads ml_segments fraud_signals
435
- events ml_segment_members fraud_alerts
436
- sessions bid_recommendations ltv_ab_tests
437
- webhook_events ltv_ab_tests ltv_ab_variations
438
- api_failures ltv_ab_variations ltv_ab_assignments
439
-
440
- VIEWS
441
- ─────────────────────────────────────────────────
442
- v_active_segments → Segmentos ML ativos com contagem de membros
443
- v_active_bid_recs → Bids ativos por plataforma/vertical
444
- v_ab_test_performance → Accuracy por variação de prompt
445
- v_fraud_dashboard → Dashboard fraude 24h
446
- ```
447
-
448
- ---
449
-
450
- ## 🔄 FLUXO ENTERPRISE COMPLETO
451
-
452
- ```
453
- POST /track (evento Lead)
454
-
455
- ├─ [1] 🛡️ Fraud Gate (KV blocklist + velocity + heurísticas) ~2ms
456
- │ ├─ score < 40 → processa normalmente
457
- │ ├─ score 40-79 → processa + loga suspeito (background)
458
- │ └─ score ≥ 80 → silent drop 200 + loga (background)
459
-
460
- ├─ [2] 🔮 A/B LTV Testing — sorteia variação ativa (KV cache ~0ms)
461
- │ └─ passa customSystemPrompt para predictLtv()
462
-
463
- ├─ [3] 🧮 LTV Prediction — Workers AI Granite 4.0 Micro
464
- │ └─ Score 0-100 → class High/Medium/Low → valor em BRL
465
-
466
- ├─ [4] 💾 D1 Writes (background via ctx.waitUntil)
467
- │ ├─ upsertLtvProfile() → tabela leads
468
- │ ├─ recordAbAssignment() → ltv_ab_assignments
469
- │ └─ resolveDeviceGraph() → cross-device linking
470
-
471
- └─ [5] 📡 CAPI dispatch (Meta + GA4 + TikTok em paralelo)
472
- └─ com LTV injetado no value field
473
- ```
474
-
475
- ---
476
-
477
- ## 💻 INSTALAÇÃO E USO
478
-
479
- ### OPÇÃO 1 — Instalação via npm (Recomendada)
480
-
481
- Abra o terminal dentro da pasta do projeto do cliente e rode:
482
-
483
- ```bash
484
- npx cdp-edge install
485
- ```
486
-
487
- Ou instale globalmente e use em qualquer projeto:
488
-
489
- ```bash
490
- npm install -g cdp-edge
491
- cdp-edge install . --name "Nome do Projeto"
492
- ```
493
-
494
- > **Já tem o CDP Edge instalado globalmente?** Atualize para a versão mais recente:
495
- > ```bash
496
- > npm install -g cdp-edge@latest
497
- > ```
498
-
499
- ### OPÇÃO 2 — Instalação via Git Clone
500
-
501
- ```bash
502
- git clone https://github.com/ricardosoli777/CDP-Edge-Premium.git .
503
- ```
504
- *(O ponto no final garante que os arquivos desçam diretamente dentro da pasta atual).*
505
-
506
- ### Ativar no Claude Code
507
-
508
- ```bash
509
- claude .
510
- ```
511
- Dentro do Claude Code:
512
- ```
513
- /cdp
514
- ```
515
-
516
- ---
517
-
518
- ## 🚀 DEPLOY COMPLETO (referência)
519
-
520
- ```bash
521
- cd server-edge-tracker
522
-
523
- # 1. Schemas D1 (todos em sequência)
524
- wrangler d1 execute cdp-edge-db --file=schema.sql --remote
525
- wrangler d1 execute cdp-edge-db --file=migrate-v6.sql --remote
526
- wrangler d1 execute cdp-edge-db --file=schema-segmentation.sql --remote # Fase 1
527
- wrangler d1 execute cdp-edge-db --file=schema-bidding.sql --remote # Fase 2
528
- wrangler d1 execute cdp-edge-db --file=schema-ab-ltv.sql --remote # Fase 3
529
- wrangler d1 execute cdp-edge-db --file=schema-fraud.sql --remote # Fase 4
530
-
531
- # 2. Secrets
532
- wrangler secret put META_ACCESS_TOKEN
533
- wrangler secret put GA4_API_SECRET
534
- wrangler secret put TIKTOK_ACCESS_TOKEN
535
-
536
- # 3. Deploy
537
- wrangler deploy
538
- ```
539
-
540
- ---
541
-
542
- ## 🗺️ NAVEGANDO O CÓDIGO COM GRAPHIFY
543
-
544
- O **graphify** gera um mapa de conhecimento navegável do projeto (nós, arestas, comunidades). Antes de qualquer trabalho de código:
545
-
546
- ```bash
547
- # 1. Verifique se o grafo existe
548
- ls graphify-out/GRAPH_REPORT.md
549
-
550
- # 2. Se não existe ou está desatualizado, gere:
551
- /graphify .
552
-
553
- # 3. Navegue o grafo para entender arquitetura
554
- /graphify query "como funciona o fraud gate?"
555
- /graphify query "identity graph → ltv prediction"
556
- /graphify path "cdp_uid" "cloudflare d1"
557
- ```
558
-
559
- ### O que o grafo fornece
560
-
561
- - **God Nodes**: abstrações centrais (D1, Meta CAPI v22.0, Intelligence Agent, ML Clustering)
562
- - **65 comunidades**: grupos lógicos (Multi-Platform Agent Layer, ML Bidding, Browser SDK, etc.)
563
- - **Surprising Connections**: relações inferidas entre conceitos que você não sabia que eram similares
564
- - **Redução de custo**: navegar grafo = até 40% menos tokens vs. ler arquivos brutos
565
-
566
- ### Exemplo de uso
567
-
568
- **❌ Não faça:**
569
- > "Ler 50 arquivos para entender como o fraud gate conecta com o LTV predictor"
570
-
571
- **✅ Faça:**
572
- > `/graphify query "fraud gate → ltv predictor"` — resposta instantânea com caminho completo, arquivos fonte e nível de confiança
573
-
574
- O grafo fica atualizado automaticamente após cada `git commit` (via hook).
575
-
576
- ---
577
-
578
- ## 🖱️ HUMAN-BEHAVIOR ENGINE
579
-
580
- | Evento | Pontuação |
581
- |--------|-----------|
582
- | Scroll 25–90% | +5 a +15 pts |
583
- | VSL Watch 25–100% | +10 a +50 pts |
584
- | Copy Intent (cupom, PIX) | +20 pts |
585
- | Preenchimento de campo | +10 pts |
586
- | Rage Click | -10 pts |
587
- | **Hot Lead (80+ pts)** | **Dispara High_Intent_Lead** |
588
-
589
- ---
590
-
591
- ## 📋 TODOS OS ENDPOINTS (referência rápida)
592
-
593
- ### Core Tracking
594
- | Rota | Método | Função |
595
- |---|---|---|
596
- | `/track` | POST | Evento principal (browser → CAPI) |
597
- | `/health` | GET | Smoke test completo |
598
- | `/webhook/ticto` | POST | Webhook Ticto Purchase |
599
-
600
- ### Intelligence ML
601
- | Rota | Método | Função |
602
- |---|---|---|
603
- | `/api/segmentation/cluster` | POST | Clustering K-means/DBSCAN |
604
- | `/api/segmentation/list` | GET | Segmentos ativos |
605
- | `/api/segmentation/outliers` | GET | Outliers comportamentais |
606
- | `/api/bidding/recommend` | POST | Bid otimizado por segmento |
607
- | `/api/bidding/history` | GET | Histórico de bids |
608
- | `/api/bidding/status` | GET | Status por plataforma |
609
-
610
- ### A/B Testing LTV
611
- | Rota | Método | Função |
612
- |---|---|---|
613
- | `/api/ltv/ab-test/create` | POST | Criar experimento |
614
- | `/api/ltv/ab-test/list` | GET | Listar experimentos |
615
- | `/api/ltv/ab-test/results` | GET | Accuracy por variação |
616
- | `/api/ltv/ab-test/winner` | POST | Declarar vencedor |
617
-
618
- ### Fraud Detection
619
- | Rota | Método | Função |
620
- |---|---|---|
621
- | `/api/fraud/stats` | GET | Dashboard 24h |
622
- | `/api/fraud/alerts` | GET | Log de alertas |
623
- | `/api/fraud/blocklist` | GET | Lista bloqueada |
624
- | `/api/fraud/blocklist/add` | POST | Bloquear IP/fingerprint |
625
- | `/api/fraud/blocklist/remove` | DELETE | Desbloquear |
626
-
627
- ---
628
-
629
- ## 📞 SUPORTE
630
-
631
- - **Issues**: https://github.com/ricardosoli777/CDP-Edge-Premium/issues
632
- - **Releases**: https://github.com/ricardosoli777/CDP-Edge-Premium/releases
633
-
634
- ---
635
-
636
- ### **CDP Edge — By Rica Soares**
637
- > "Dados sem inteligência são apenas ruído. No Quantum Tier Enterprise, transformamos dados em ROAS."
638
-
639
- © 2026 CDP Edge Premium. Todos os direitos reservados.
1
+ # 🚀 CDP Edge — Quantum Tracking Enterprise
2
+
3
+ **Padrão Quantum Tracking: 100% Cloudflare Edge.** Sem GTM. Sem Stape. Sem cookies de terceiros.
4
+
5
+ > **v2.5.1** — SDK Bundle + Diagnóstico Pós-Deploy + Gap Fixes (15 de Abril de 2026) 🛠️
6
+ > **v2.3.9** — Quiz Scoring Engine + Sales Engine (14 de Abril de 2026) 🤖💰
7
+ > **v2.3.8** — Fix Definitivo: api-versions.json (14 de Abril de 2026) 🔒
8
+
9
+ ---
10
+
11
+ ## 📋 CHANGELOG v2.5.1SDK Bundle + Diagnóstico Pós-Deploy + Gap Fixes (15 de Abril de 2026) 🛠️
12
+
13
+ ### SDK Bundle — cdpTrack.min.js pronto para `<script src="">`
14
+ - `npm run sdk:build` `dist/sdk/cdpTrack.min.js` (41.6 kB, IIFE, `window.cdpTrack`)
15
+ - Um único arquivo sem dependências externas — cola no site e funciona
16
+ - `dist/sdk/install-snippet.html` com snippet pronto para antes do `</body>`
17
+
18
+ ### Diagnóstico Pós-Deploy `cdp-edge validate <url>`
19
+ ```bash
20
+ cdp-edge validate https://meusite.com.br
21
+ cdp-edge validate https://meusite.com.br --worker https://worker.meusite.workers.dev
22
+ ```
23
+ Verifica automaticamente:
24
+ - Página carrega `cdpTrack.min.js` e Meta Pixel
25
+ - Worker `/health` (D1, KV, AI, secrets)
26
+ - Worker `/validate-install` (D1 write+read, KV, AI, secrets críticos)
27
+ - `POST /track` aceita evento sintético 200
28
+
29
+ ### Gap Fixes Críticos
30
+ - **Endpoint**: `/api/tracking` → `/track` em todos os módulos SDK
31
+ - **utm_term**: injetado pelo Worker após quiz scoring (nunca pelo cliente)
32
+ - **TikTok ttp**: cookie `_ttp` capturado e enviado ao Worker
33
+ - **ROAS por origem**: segmentado por `utm_content` (quiz_* vs video_* vs landing_* vs ctwa_*)
34
+
35
+ ### Novos Agentes
36
+ - `lead-scoring-agent.md` — quiz de qualificação + análise dimensional Granite
37
+ - `match-quality-agent.md` — guardião EMQ com cron 2h e alerta CallMeBot
38
+
39
+ ---
40
+
41
+ ## 📋 CHANGELOG v2.3.9 — Quiz Scoring Engine + Sales Engine (14 de Abril de 2026) 🤖💰
42
+
43
+ ### O que foi adicionado
44
+
45
+ **ROAS Feedback Loop** (`modules/ml/roas.ts`)
46
+ - Cruza leads com compras reais por campanha no D1
47
+ - Calcula: `conversion_rate`, `revenue_per_lead`, `ltv_accuracy` (valida o modelo preditivo)
48
+ - Recomendação automática de bid: `increase | maintain | decrease | pause`
49
+ - Relatório semanal via CallMeBot com top campanhas e alertas
50
+ - Persiste histórico em `roas_reports` + VIEW `v_roas_latest`
51
+
52
+ **Nurture Engine** (`modules/nurture.ts`)
53
+ - Sequências automáticas pós-quiz por qualificação:
54
+ - `interessado` → D+1, D+3, D+7 (WhatsApp)
55
+ - `curioso` D+2, D+5 (conteúdo)
56
+ - `comprador` contato imediato via hot lead (já existente)
57
+ - `perdido` `cohort_label = excluded` (remove do remarketing)
58
+ - `scheduleNurture()` chamado no QuizComplete em background
59
+ - `runNurtureQueue()` executado pelo Intelligence Agent (cron diário)
60
+ - D1: `nurture_sequences` + VIEWs de fila e stats
61
+
62
+ **Lookalike Dinâmico** (`syncMetaLookalikeSeed()` em intelligence.ts)
63
+ - Seed de Lookalike com compradores CONFIRMADOS (Purchase event) — não apenas high_intent
64
+ - Une compradores reais + leads qualificados como `comprador` no quiz
65
+ - Atualiza `cohort_label = buyer_confirmed` nos perfis
66
+ - Persiste histórico em `lookalike_seeds`
67
+ - Roda automaticamente no cron semanal do Intelligence Agent
68
+
69
+ **Schema D1**: `schema-sales-engine.sql` `roas_reports`, `nurture_sequences`, `lookalike_seeds` + 5 VIEWs
70
+
71
+ ### Migração
72
+ ```bash
73
+ cd server-edge-tracker
74
+ wrangler d1 execute cdp-edge-db --file=schema-sales-engine.sql --remote
75
+ wrangler deploy
76
+ ```
77
+
78
+ ---
79
+
80
+ ## 📋 CHANGELOG v2.4.0 — Quiz Scoring Engine (14 de Abril de 2026) 🤖
81
+
82
+ **Quiz Scoring Engine** (`modules/ml/quiz.ts`) análise dimensional automática via Granite 4.0 Micro:
83
+ - Detecta o TIPO de cada pergunta: `urgency | budget | timeline | fit | engagement | awareness | objection`
84
+ - Atribui peso automático por dimensão (budget/urgency=5, fit=4, timeline=3, engagement=2)
85
+ - Score ponderado → `comprador | interessado | curioso | perdido`
86
+ - Fallback heurístico por palavras-chave quando AI indisponível
87
+ - `quiz_sessions` no D1 com breakdown completo por dimensão
88
+
89
+ **Integração no pipeline `/track`**:
90
+ - `QuizComplete` + `quiz_answers[]` scoring antes do LTV
91
+ - `intentionLevel` qualificado alimenta LTV Prediction `comprador` = LTV High automático
92
+ - `QuizComplete` adicionado ao `LTV_EVENTS`
93
+
94
+ **Migração**: `wrangler d1 execute cdp-edge-db --file=schema-quiz.sql --remote`
95
+
96
+ ---
97
+
98
+ ## 📋 CHANGELOG v2.3.8 — Fix Definitivo: api-versions.json (14 de Abril de 2026) 🔒
99
+
100
+ `build.js` copia `extracted-skill/.../contracts/` → `contracts/` no `prepare` script. A fonte estava na v1.0.0, sobrescrevendo o arquivo correto a cada `npm publish`. Ambos os arquivos agora sincronizados em v1.1.0.
101
+
102
+ ---
103
+
104
+ > ⚠️ **REGRA DE OURO (SQUAD):** Todas as atualizações devem ser documentadas de forma sincronizada em `README.md`, `CLAUDE.md` e `CDP-EDGE-BUSINESS-BOOK.md`. Nenhuma alteração passa sem esse tripé.
105
+
106
+ ---
107
+
108
+ ## 🤖 MANIFESTO: EU, CDP EDGE
109
+
110
+ *Eu não sou um simples "script de pixel". Eu sou uma arquitetura **Enterprise Tier 10** nascida e construída 100% nativa na infraestrutura da Cloudflare.*
111
+
112
+ Quando um evento de Lead bate no endpoint `/track`:
113
+ 1. **Fraud Gate:** Bloqueio bots silenciosamente antes de qualquer processamento (~2ms via KV)
114
+ 2. **Quiz Scoring Engine:** Classifico as respostas do quiz com Granite 4.0 Micro `comprador | interessado | curioso | perdido`
115
+ 3. **A/B LTV Testing:** Sorteio de prompt via KV Cache em ~0ms
116
+ 4. **LTV Predictor:** Machine Learning para qualificar intenção e gerar valor preditivo em BRL
117
+ 5. **Nurture Scheduler:** Agendar sequência de follow-up baseada na qualificação (background)
118
+ 6. **CAPI Dispatch:** Meta/GA4/TikTok recebem payload limpo com LTV e intention injetados
119
+ 7. **Sales Engine:** Semanalmente, calculo ROAS real por campanha e atualizo o seed de Lookalike com compradores confirmados
120
+
121
+ ---
122
+
123
+ ## 🏗️ ARQUITETURA QUANTUM ENTERPRISE
124
+
125
+ ```
126
+ POST /track (QuizComplete)
127
+
128
+ ├─ [1] 🛡️ Fraud Gate (KV blocklist + velocity) ~2ms
129
+ ├─ [2] 🤖 Quiz Scoring Engine (Granite 4.0 Micro) comprador/interessado/curioso/perdido
130
+ ├─ [3] 🔮 A/B LTV Sorting (KV cache ~0ms)
131
+ ├─ [4] 🧮 LTV Prediction (Granite 4.0 Micro) intent qualificado High LTV
132
+ ├─ [5] 💾 D1 Writes background (quiz_sessions + leads + nurture_sequences)
133
+ └─ [6] 📡 CAPI paralelo (Meta v22.0 + GA4 + TikTok v1.3)
134
+
135
+ Cron semanal (Intelligence Agent):
136
+ ├─ ROAS Feedback — cruza leads × purchases por campanha → bid recommendation
137
+ ├─ Nurture Queue envia D+1/D+3/D+7 para leads qualificados
138
+ ├─ Lookalike Seed — compradores confirmados → Meta Custom Audience
139
+ ├─ LTV Model Training — regressão logística com dados reais
140
+ └─ A/B LTV Auto-winner — declara vencedor quando amostra suficiente
141
+ ```
142
+
143
+ ---
144
+
145
+ ## 📊 BANCO DE DADOS D1 — 25 Tabelas + 12 VIEWs
146
+
147
+ ```
148
+ CORE TRACKING ML & INTELLIGENCE SALES ENGINE
149
+ ────────────── ───────────────────── ──────────────────
150
+ leads ml_segments roas_reports
151
+ events ml_segment_members nurture_sequences
152
+ sessions bid_recommendations lookalike_seeds
153
+ webhook_events ltv_ab_tests quiz_sessions
154
+ api_failures ltv_ab_variations
155
+ device_graph ltv_ab_assignments
156
+ user_profiles fraud_signals
157
+ intelligence_logs fraud_alerts
158
+ messaging_history match_quality_logs
159
+ automation_rules utm_mappings
160
+ edge_fingerprints
161
+
162
+ VIEWS (12)
163
+ ──────────────────────────────────────────────────────────────────
164
+ v_active_segments v_active_bid_recs
165
+ v_ab_test_performance v_fraud_dashboard
166
+ v_quiz_qualification_summary v_quiz_dimension_impact
167
+ v_roas_latest v_nurture_pending
168
+ v_nurture_stats v_quiz_session_summary
169
+ v_leads_segmented v_ltv_feedback
170
+ ```
171
+
172
+ ---
173
+
174
+ ## 🧠 CATÁLOGO DE MÓDULOS ML
175
+
176
+ | Módulo | Arquivo | Função |
177
+ |---|---|---|
178
+ | **Quiz Scoring** | `modules/ml/quiz.ts` | Análise dimensional automática das respostas |
179
+ | **LTV Prediction** | `modules/ml/ltv.ts` | Score 0-100 + valor BRL via Granite + A/B test |
180
+ | **Fraud Gate** | `modules/ml/fraud.ts` | Detecção de bots e fraude na borda |
181
+ | **ML Clustering** | `modules/ml/segmentation.ts` | K-means vetorial com bge-m3 embeddings |
182
+ | **Bidding ML** | `modules/ml/bidding.ts` | Recomendação de bid por segmento × plataforma |
183
+ | **ROAS Feedback** | `modules/ml/roas.ts` | ROAS real por campanha, alimenta bidding |
184
+ | **Match Quality** | `modules/ml/matchquality.ts` | Score de qualidade de dados para CAPI |
185
+ | **Logistic** | `modules/ml/logistic.ts` | Regressão logística para LTV model treinável |
186
+ | **Nurture Engine** | `modules/nurture.ts` | Sequências automáticas pós-qualificação |
187
+
188
+ ---
189
+
190
+ ## 🧠 CATÁLOGO DE AGENTES
191
+
192
+ | Categoria | Agente | Função |
193
+ |---|---|---|
194
+ | Orquestração | `master-orchestrator.md` | Coordena todo o setup |
195
+ | Análise | `page-analyzer.md` | Detecta CTAs, forms e nicho |
196
+ | Plataformas | `meta-agent.md`, `google-agent.md`, `tiktok-agent.md`... | Especialistas por plataforma |
197
+ | Infra | `server-tracking.md`, `devops-agent.md` | Arquitetura Cloudflare |
198
+ | Enterprise | `ml-clustering-agent.md` | Segmentação dinâmica ML |
199
+ | Enterprise | `bidding-agent.md` | Bids ML por segmento |
200
+ | Enterprise | `ab-ltv-agent.md` | A/B testing de prompts LTV |
201
+ | Enterprise | `fraud-detection-agent.md` | Detecção de fraude na borda |
202
+ | Monitoramento | `intelligence-agent.md` | Cron ROAS, Nurture, Lookalike, LTV training |
203
+
204
+ ---
205
+
206
+ ## 📋 TODOS OS ENDPOINTS
207
+
208
+ ### Core
209
+ | Rota | Método | Função |
210
+ |---|---|---|
211
+ | `/track` | POST | Evento principal — Fraud Gate → Quiz Scoring → LTV → CAPI |
212
+ | `/health` | GET | Smoke test D1 + KV + AI |
213
+ | `/webhook/ticto` | POST | Purchase webhook (HMAC) |
214
+ | `/export/customer-match` | GET | Export leads para Google Ads |
215
+
216
+ ### ML Clustering (Fase 1)
217
+ | Rota | Método | Função |
218
+ |---|---|---|
219
+ | `/api/segmentation/cluster` | POST | K-means vetorial (bge-m3 + Granite) |
220
+ | `/api/segmentation/list` | GET | Segmentos ativos |
221
+ | `/api/segmentation/outliers` | GET | Outliers comportamentais |
222
+ | `/api/segmentation/update` | PUT | Atualiza metadados |
223
+
224
+ ### Bidding (Fase 2)
225
+ | Rota | Método | Função |
226
+ |---|---|---|
227
+ | `/api/bidding/recommend` | POST | Bid por segmento × plataforma |
228
+ | `/api/bidding/history` | GET | Histórico de recomendações |
229
+ | `/api/bidding/status` | GET | Snapshot atual |
230
+
231
+ ### A/B LTV (Fase 3)
232
+ | Rota | Método | Função |
233
+ |---|---|---|
234
+ | `/api/ltv/ab-test/create` | POST | Cria experimento |
235
+ | `/api/ltv/ab-test/list` | GET | Lista experimentos |
236
+ | `/api/ltv/ab-test/results` | GET | Accuracy por variação |
237
+ | `/api/ltv/ab-test/winner` | POST | Declara vencedor |
238
+
239
+ ### Fraud (Fase 4)
240
+ | Rota | Método | Função |
241
+ |---|---|---|
242
+ | `/api/fraud/stats` | GET | Dashboard 24h |
243
+ | `/api/fraud/alerts` | GET | Log de sinais |
244
+ | `/api/fraud/blocklist` | GET | IPs bloqueados |
245
+ | `/api/fraud/blocklist/add` | POST | Bloquear |
246
+ | `/api/fraud/blocklist/remove` | DELETE | Desbloquear |
247
+
248
+ ---
249
+
250
+ ## 🚀 DEPLOY COMPLETO
251
+
252
+ ```bash
253
+ cd server-edge-tracker
254
+
255
+ # Schemas D1 (ordem corretatodos idempotentes)
256
+ wrangler d1 execute cdp-edge-db --file=schema.sql --remote
257
+ wrangler d1 execute cdp-edge-db --file=migrate-v6.sql --remote
258
+ wrangler d1 execute cdp-edge-db --file=schema-segmentation.sql --remote
259
+ wrangler d1 execute cdp-edge-db --file=schema-bidding.sql --remote
260
+ wrangler d1 execute cdp-edge-db --file=schema-ab-ltv.sql --remote
261
+ wrangler d1 execute cdp-edge-db --file=schema-fraud.sql --remote
262
+ wrangler d1 execute cdp-edge-db --file=schema-indexes.sql --remote
263
+ wrangler d1 execute cdp-edge-db --file=migrate-v7.sql --remote
264
+ wrangler d1 execute cdp-edge-db --file=schema-utm.sql --remote
265
+ wrangler d1 execute cdp-edge-db --file=schema-quiz.sql --remote # Fase 6
266
+ wrangler d1 execute cdp-edge-db --file=schema-sales-engine.sql --remote # Fase 7
267
+
268
+ # Secrets
269
+ wrangler secret put META_ACCESS_TOKEN
270
+ wrangler secret put GA4_API_SECRET
271
+ wrangler secret put TIKTOK_ACCESS_TOKEN
272
+
273
+ # Deploy
274
+ wrangler deploy
275
+ ```
276
+
277
+ ---
278
+
279
+ ## 💻 INSTALAÇÃO
280
+
281
+ ```bash
282
+ npx cdp-edge install
283
+ # ou
284
+ npm install -g cdp-edge
285
+ cdp-edge install . --name "Nome do Projeto"
286
+ ```
287
+
288
+ ---
289
+
290
+ ## 🗺️ GRAPHIFY Navegando o Código
291
+
292
+ ```bash
293
+ /graphify . # gera o mapa
294
+ /graphify query "como funciona o quiz scoring?" # exploração BFS
295
+ /graphify query "nurture engine → meta audience" # exploração DFS
296
+ /graphify path "quiz_answers" "meta capi" # menor caminho
297
+ ```
298
+
299
+ ---
300
+
301
+ ### **CDP Edge By Rica Soares**
302
+ > "Dados sem inteligência são apenas ruído. No Quantum Tier Enterprise, transformamos dados em ROAS."
303
+
304
+ © 2026 CDP Edge Premium. Todos os direitos reservados.