cdp-edge 2.3.1 → 2.3.6

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/README.md CHANGED
@@ -1,414 +1,597 @@
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.1** — Hardening Enterprise · PII removido dos logs · Script de deploy seguro (`deploy-client.js`) · WhatsApp secrets alinhados à Meta Cloud API v22.0 · `api-versions.json` v1.1.0
6
-
7
- > ⚠️ **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é.
8
-
9
- ---
10
-
11
- ## 🤖 MANIFESTO: EU, CDP EDGE
12
-
13
- *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.*
14
-
15
- **A Linha de Montagem Sincronizada (A Prova de Latência)**
16
- Meu ecossistema opera como um Cérebro de Conversão Privado na borda. Quando um evento de Lead bate no endpoint `/track`:
17
- 1. **O Escudo Frontal (Fraud Gate):** Inspeciono IP, ASN e Velocity na borda. Bloqueio bots silenciosamente antes mesmo deles carregarem.
18
- 2. **A Roleta Invisível (A/B LTV):** Faço o sorteio de prompts para testes A/B via KV Cache em ~0ms.
19
- 3. **O Cérebro Financeiro (LTV Predictor):** Rodo Machine Learning (Granite 4.0 Micro) para qualificar a intenção e gerar o LTV Preditivo.
20
- 4. **Envio para as Plataformas:** O Facebook/Google/LinkedIn recebem um payload limpo (sem bot) recheado com valor financeiro de intenção extrema.
21
- 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`).
22
-
23
- **Minha Vantagem Absoluta (A "Killer Feature")**
24
- - **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).
25
- - **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).
26
- - **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).
27
-
28
- ---
29
-
30
- ## 📋 CHANGELOG v2.3.1 Hardening Enterprise (12 de Abril de 2026)
31
-
32
- ### 🔒 Segurança & Conformidade
33
-
34
- - **PII removido dos logs:** `DeviceGraph` parou de logar `user_id` nos Workers logs — dados sensíveis nunca aparecem no Cloudflare dashboard
35
- - **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
36
- - **`.gitignore` reforçado:** `.client.env` e `wrangler.deploy.toml` explicitamente ignorados
37
- - **WhatsApp secrets alinhados à Meta Cloud API v22.0:** `resolvePhoneNumberId()` e `resolveAccessToken()` com fallback canônico → legado — backwards compat garantido
38
- - **`api-versions.json` v1.1.0:** metadata `updated_at` corrigido para `2026-04-12`
39
- - **`/health` WhatsApp:** reflete corretamente secrets com nomes canônicos ou legados
40
-
41
- ### 🔧 Deploy de Cliente — Novo Fluxo
42
-
43
- ```bash
44
- cd server-edge-tracker
45
- cp .client.env.example .client.env
46
- # preencher DATABASE_ID, SITE_DOMAIN, pixels
47
- node deploy-client.js --dry-run # valida sem subir
48
- node deploy-client.js # deploy real
49
- ```
50
-
51
- ---
52
-
53
- ## 📋 CHANGELOG v2.3.0 TypeScript Nativo (12 de Abril de 2026)
54
-
55
- ### 🔷 Worker 100% TypeScript — Migração Completa
56
-
57
- 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.
58
-
59
- **Por que TypeScript muda o jogo no CDP Edge:**
60
- - **Env tipado** — typos em nomes de secrets (`META_ACCESS_TOKEN`, `GEO_CACHE`, `DB`) viram erros em build time, nunca em produção
61
- - **TrackPayload contratado** — o shape do payload entre browser e Worker é garantido pelo compilador
62
- - **Cloudflare types nativos** — D1, KV, R2, Workers AI com autocomplete e validação de métodos
63
- - **Fraud Gate e ML seguros** — `checkFraudGate(env: Env, request: Request, payload: TrackPayload)` — nenhum `undefined` passa despercebido
64
- - **Refatoração segura** — renomear qualquer campo do `TrackPayload` lista automaticamente todos os pontos de quebra
65
-
66
- **Arquivos migrados (JS TS) 16 módulos:**
67
- - `index.ts` — entry point do Worker
68
- - `types.ts` **novo**contratos centralizados: `Env`, `TrackPayload`, `BehavioralData`, `HotmartWebhook`, `KiwifyWebhook`, `TictoWebhook`, `QueueMessage`, `PromiseResult<T>`
69
- - `modules/utils.ts`, `modules/db.ts`, `modules/intelligence.ts`
70
- - `modules/dispatch/` — `meta.ts`, `ga4.ts`, `tiktok.ts`, `platforms.ts`, `whatsapp.ts`
71
- - `modules/ml/` `ltv.ts`, `fraud.ts`, `bidding.ts`, `segmentation.ts`, `logistic.ts`, `matchquality.ts`
72
-
73
- **Infraestrutura:**
74
- - `tsconfig.json` — `target: ESNext`, `moduleResolution: "bundler"`, `strict: true`, `@cloudflare/workers-types`
75
- - `wrangler.toml` `main = "index.ts"` (TypeScript nativo via wrangler/esbuild)
76
- - `contracts/types.ts` tipos públicos exportados no pacote NPM: `QuantumEventPayload`, `AgencyContext`, `ApiVersionsConfig`
77
- - `npm run typecheck``tsc --noEmit` (225 testes passando, zero erros de compilação)
78
-
79
- **Breaking change:** nenhuma — API HTTP e comportamento em runtime são idênticos. TypeScript é invisível para o Cloudflare.
80
-
81
- ---
82
-
83
- ## 📋 CHANGELOG v2.2.5 (11 de Abril de 2026)
84
-
85
- ### 🔧 Correção de Versão Dinâmica
86
-
87
- - **Versão Dinâmica**: `bin/cdp-edge.js` e `dist/commands/install.js` agora leem a versão do `package.json` dinamicamente
88
- - **Banner Corrigido**: O banner de instalação agora mostra sempre a versão correta (`cdp-edge --version`)
89
- - **Compatibilidade**: Garante que a versão exibida no CLI e banner esteja sempre sincronizada com o `package.json`
90
-
91
- ---
92
-
93
- ## 📋 CHANGELOG v2.2.0 (10 de Abril de 2026)
94
-
95
- ### 🤖 AI Engine Upgrade — Novos Modelos
96
-
97
- - **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)
98
- - **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)
99
- - Granite continua sendo usado para naming dos segmentos pós-clustering
100
-
101
- ### 🧹 Limpeza (Zero Lixo)
102
-
103
- - Removido: detecção de emails descartáveis (mailinator, guerrilla, tempmail, etc.) do Fraud Gate e do agente `fraud-detection-agent.md`
104
- - Removido: secrets `WEBHOOK_SECRET_HOTMART` e `WEBHOOK_SECRET_KIWIFY` (wrangler + wrangler.toml)
105
-
106
- ### 🔧 Observability
107
-
108
- - Adicionado bloco `[observability]` no `wrangler.toml` (`logs.enabled = true`, `traces.enabled = false`)
109
-
110
- ---
111
-
112
- ## 📋 CHANGELOG v2.0.7 (10 de Abril de 2026)
113
-
114
- ### 🔧 Audit Completo — 45 Agentes
115
-
116
- - **Endpoints corrigidos**: `/api/tracking` → `/track`, `/api/wh/` → `/webhook/` em todos os agentes
117
- - **Secrets WhatsApp**: `WA_PHONE_ID`/`WA_ACCESS_TOKEN`/`WHATSAPP_TOKEN` → `WHATSAPP_PHONE_NUMBER_ID`/`WHATSAPP_ACCESS_TOKEN`
118
- - **`env.DB.prepare`**: corrigido em 8 agentes (attribution, crm, dashboard, debug, performance, security, master-feedback-loop)
119
- - **`env.GEO_CACHE`**: substituiu `KV.` bare em dashboard-agent, performance-agent, performance-optimization-agent
120
- - **YouTube events**: `video_milestone`/`video_progress_25/50/75` `video_25`/`video_50`/`video_75` (alinhado ao VALID_EVENT_NAMES do worker)
121
- - **LinkedIn CAPI**: endpoint `/rest/conversionEvents` + header `LinkedIn-Version: 202401` em `contracts/api-versions.json`
122
- - **Workers AI model**: `llama-3-8b-instruct` → `@cf/meta/llama-3.1-8b-instruct`
123
- - **index.ts**: Content-Length guard (413 se > 64KB), payload validation (allowlist 19 events, 512 chars, value range), PII removido dos logs
124
- - **Testes**: bugs críticos em `deduplication.test.js` corrigidos (template literals escapados, prefixo errado)
125
- - **npm**: lodash 4.17.23 → 4.18.1, node-fetch removido
126
-
127
- ---
128
-
129
- ## 📋 CHANGELOG v2.0.0 (9 de Abril de 2026)
130
-
131
- ### 🆕 Sprint Enterprise Fases 1 a 4
132
-
133
- #### Fase 1 — ML Clustering (Segmentação Dinâmica)
134
- - **`POST /api/segmentation/cluster`** — K-means / DBSCAN / Hierarchical via Workers AI
135
- - **`GET /api/segmentation/list`** Segmentos ativos com métricas
136
- - **`GET /api/segmentation/outliers`** — Detecção de outliers comportamentais
137
- - **`PUT /api/segmentation/update`** — Atualização de metadados de segmento
138
- - Schema D1: `ml_segments`, `ml_segment_members` + VIEWs otimizadas
139
- - Agente: `ml-clustering-agent.md`
140
-
141
- #### Fase 2 — Bidding Recommendations (Otimização de Bids ML)
142
- - **`POST /api/bidding/recommend`** — Bid otimizado por segmento × plataforma (Meta/Google/TikTok), calculado com fórmula `LTV × ROI target / CPA base`
143
- - **`GET /api/bidding/history`** Histórico completo de recomendações
144
- - **`GET /api/bidding/status`** — Snapshot atual das recomendações ativas por vertical
145
- - Schema D1: `bid_recommendations` + VIEW `v_active_bid_recommendations`
146
- - Agente: `bidding-agent.md`
147
-
148
- #### ✅ Fase 3 — A/B Testing de Prompts LTV
149
- - **`POST /api/ltv/ab-test/create`** — Cria experimento com múltiplas variações de system prompt
150
- - **`GET /api/ltv/ab-test/list`** — Lista experimentos com status e progresso
151
- - **`GET /api/ltv/ab-test/results`** — Accuracy score por variação + recomendação automática de winner
152
- - **`POST /api/ltv/ab-test/winner`** — Declara vencedor e retorna o prompt ganador
153
- - Integração automática: cada evento Lead sorteia a variação ativa e registra o assignment via KV cache
154
- - Schema D1: `ltv_ab_tests`, `ltv_ab_variations`, `ltv_ab_assignments` + VIEW `v_ab_test_performance`
155
- - Agente: `ab-ltv-agent.md`
156
-
157
- #### ✅ Fase 4 — Fraud Detection Engine
158
- - **Fraud Gate automático em `/track`** — roda ANTES de qualquer processamento (heurístico puro, ~2ms)
159
- - Silent drop (retorna 200 falso) — bots não detectam a defesa
160
- - **`GET /api/fraud/stats`** Dashboard de fraude (últimas 24h)
161
- - **`GET /api/fraud/alerts`** — Log de sinais detectados com filtros
162
- - **`GET /api/fraud/blocklist`** IPs/fingerprints atualmente bloqueados
163
- - **`POST /api/fraud/blocklist/add`** Bloquear IP ou fingerprint (via KV, efeito imediato)
164
- - **`DELETE /api/fraud/blocklist/remove`** Remover do blocklist
165
- - Sinais detectados: bot_score, datacenter IP, velocity attack, headless UA, sem Accept-Language
166
- - Schema D1: `fraud_signals`, `fraud_alerts` + VIEW `v_fraud_dashboard`
167
- - Agente: `fraud-detection-agent.md`
168
-
169
- ### 🔧 Fix: `wrangler.toml` atualizado
170
- - Todos os placeholders (`SEU_D1_DATABASE_ID`, `SEU_KV_NAMESPACE_ID`) substituídos pelos IDs reais da conta Cloudflare
171
- - D1: `SEU_DATABASE_ID`
172
- - KV: `SEU_KV_ID`
173
-
174
- ---
175
-
176
- ## 🏗️ ARQUITETURA QUANTUM ENTERPRISE (CLOUDFLARE NATIVE)
177
-
178
- ```mermaid
179
- graph TD
180
- User((Usuário)) -->|Interação| SDK[cdpTrack SDK + Behavior Engine]
181
- SDK -->|Edge Fetch via KV blocklist| FraudGate{🛡️ Fraud Gate}
182
- FraudGate -->|score 80: Silent Drop 200| Void[/dev/null]
183
- FraudGate -->|score < 80: Permitido| Worker[Cloudflare Worker Agent]
184
- Worker -->|Identity Graph + _cdp_uid| D1[(D1 SQL21 tabelas)]
185
- Worker -->|LTV + A/B Prompt| AI[Workers AI Granite 4.0 Micro]
186
- Worker -->|Segmento ML| Cluster[ML Clustering Engine]
187
- Cluster -->|Bid otimizado| Bidding[Bidding Recommendations]
188
- Worker -->|Background| Queue[Cloudflare Queues]
189
- Queue -->|Server Dispatch| Meta[Meta CAPI v22.0]
190
- Queue -->|Server Dispatch| Google[GA4 / Google Ads]
191
- Queue -->|Server Dispatch| TikTok[TikTok API v1.3]
192
- D1 -->|Reports| Dash[Dashboard Agent]
193
- ```
194
-
195
- ---
196
-
197
- ## 🧠 CATÁLOGO DE AGENTES ESPECIALISTAS
198
-
199
- O sistema é composto por **43+ agentes** coordenados pelo **Master Orchestrator**:
200
-
201
- ### 🧠 Núcleo de Inteligência
202
- | Agente | Função |
203
- |---|---|
204
- | **Master Orchestrator** | Coordenação centralguia todo o setup do projeto |
205
- | **Page Analyzer** | Mapeamento automático de CTAs, Forms e nicho do site |
206
- | **Validator Agent** | Auditoria de código, segurança e conformidade de APIs |
207
- | **Memory Agent** | Contexto e checkpoints da sessão por projeto |
208
- | **Intelligence Agent** | Monitoramento de versões de API (Meta v22.0+, etc) |
209
-
210
- ### 🚀 Plataformas de Anúncio
211
- | Agente | Especialidade |
212
- |---|---|
213
- | **Meta Agent** | Facebook Pixel + CAPI v22.0 + WhatsApp CTWA |
214
- | **Google Agent** | GA4 + Google Ads Enhanced Conversions |
215
- | **TikTok Agent** | TikTok Pixel + Events API v1.3 |
216
- | **LinkedIn Agent** | Insight Tag + Conversions API v2 |
217
- | **Pinterest Agent** | Tag + Conversions API v5 |
218
- | **Reddit Agent** | Pixel + Conversions API v2.0 |
219
- | **Spotify Agent** | Pixel + Conversions API v1 |
220
- | **Bing Agent** | UET Tag + Enhanced Conversions |
221
-
222
- ### 🤖 Enterprise Intelligence (Fase 1–4)
223
- | Agente | Endpoint Principal | Impacto |
224
- |---|---|---|
225
- | **ML Clustering Agent** | `POST /api/segmentation/cluster` | K-means vetorial real (bge-m3 embeddings + Granite naming) |
226
- | **Bidding Agent** | `POST /api/bidding/recommend` | -20% CPA via bid por segmento de LTV |
227
- | **A/B LTV Agent** | `POST /api/ltv/ab-test/create` | +25% precisão LTV via test de prompts |
228
- | **Fraud Detection Agent** | Auto em `/track` | Bloqueia click fraud, bots, velocity attacks |
229
-
230
- ### 🛡️ Módulos Enterprise
231
- | Agente | Função |
232
- |---|---|
233
- | **Attribution Agent** | Atribuição Multi-Touch de alta fidelidade |
234
- | **Security Agent** | Rate Limiting, AES-256 e Bot Defense |
235
- | **Compliance Agent** | LGPD e GDPR (Consent Mode v2) |
236
- | **Performance Agent** | Otimização de caches e queries D1 |
237
-
238
- ---
239
-
240
- ## 📊 BANCO DE DADOS D1 21 Tabelas
241
-
242
- ```
243
- CORE TRACKING ML & INTELLIGENCE ENTERPRISE SECURITY
244
- ───────────────── ───────────────────── ─────────────────────
245
- leads ml_segments fraud_signals
246
- events ml_segment_members fraud_alerts
247
- sessions bid_recommendations ltv_ab_tests
248
- webhook_events ltv_ab_tests ltv_ab_variations
249
- api_failures ltv_ab_variations ltv_ab_assignments
250
-
251
- VIEWS
252
- ─────────────────────────────────────────────────
253
- v_active_segments → Segmentos ML ativos com contagem de membros
254
- v_active_bid_recs → Bids ativos por plataforma/vertical
255
- v_ab_test_performance → Accuracy por variação de prompt
256
- v_fraud_dashboard → Dashboard fraude 24h
257
- ```
258
-
259
- ---
260
-
261
- ## 🔄 FLUXO ENTERPRISE COMPLETO
262
-
263
- ```
264
- POST /track (evento Lead)
265
-
266
- ├─ [1] 🛡️ Fraud Gate (KV blocklist + velocity + heurísticas) ~2ms
267
- │ ├─ score < 40 processa normalmente
268
- │ ├─ score 40-79 processa + loga suspeito (background)
269
- │ └─ score 80 → silent drop 200 + loga (background)
270
-
271
- ├─ [2] 🔮 A/B LTV Testing sorteia variação ativa (KV cache ~0ms)
272
- │ └─ passa customSystemPrompt para predictLtv()
273
-
274
- ├─ [3] 🧮 LTV Prediction — Workers AI Granite 4.0 Micro
275
- │ └─ Score 0-100 → class High/Medium/Low → valor em BRL
276
-
277
- ├─ [4] 💾 D1 Writes (background via ctx.waitUntil)
278
- │ ├─ upsertLtvProfile() tabela leads
279
- │ ├─ recordAbAssignment() → ltv_ab_assignments
280
- │ └─ resolveDeviceGraph() cross-device linking
281
-
282
- └─ [5] 📡 CAPI dispatch (Meta + GA4 + TikTok em paralelo)
283
- └─ com LTV injetado no value field
284
- ```
285
-
286
- ---
287
-
288
- ## 💻 INSTALAÇÃO E USO
289
-
290
- ### OPÇÃO 1 Instalação via npm (Recomendada)
291
-
292
- Abra o terminal dentro da pasta do projeto do cliente e rode:
293
-
294
- ```bash
295
- npx cdp-edge install
296
- ```
297
-
298
- Ou instale globalmente e use em qualquer projeto:
299
-
300
- ```bash
301
- npm install -g cdp-edge
302
- cdp-edge install . --name "Nome do Projeto"
303
- ```
304
-
305
- > ** tem o CDP Edge instalado globalmente?** Atualize para a versão mais recente:
306
- > ```bash
307
- > npm install -g cdp-edge@latest
308
- > ```
309
-
310
- ### OPÇÃO 2Instalação via Git Clone
311
-
312
- ```bash
313
- git clone https://github.com/ricardosoli777/CDP-Edge-Premium.git .
314
- ```
315
- *(O ponto no final garante que os arquivos desçam diretamente dentro da pasta atual).*
316
-
317
- ### Ativar no Claude Code
318
-
319
- ```bash
320
- claude .
321
- ```
322
- Dentro do Claude Code:
323
- ```
324
- /cdp
325
- ```
326
-
327
- ---
328
-
329
- ## 🚀 DEPLOY COMPLETO (referência)
330
-
331
- ```bash
332
- cd server-edge-tracker
333
-
334
- # 1. Schemas D1 (todos em sequência)
335
- wrangler d1 execute cdp-edge-db --file=schema.sql --remote
336
- wrangler d1 execute cdp-edge-db --file=migrate-v6.sql --remote
337
- wrangler d1 execute cdp-edge-db --file=schema-segmentation.sql --remote # Fase 1
338
- wrangler d1 execute cdp-edge-db --file=schema-bidding.sql --remote # Fase 2
339
- wrangler d1 execute cdp-edge-db --file=schema-ab-ltv.sql --remote # Fase 3
340
- wrangler d1 execute cdp-edge-db --file=schema-fraud.sql --remote # Fase 4
341
-
342
- # 2. Secrets
343
- wrangler secret put META_ACCESS_TOKEN
344
- wrangler secret put GA4_API_SECRET
345
- wrangler secret put TIKTOK_ACCESS_TOKEN
346
-
347
- # 3. Deploy
348
- wrangler deploy
349
- ```
350
-
351
- ---
352
-
353
- ## 🖱️ HUMAN-BEHAVIOR ENGINE
354
-
355
- | Evento | Pontuação |
356
- |--------|-----------|
357
- | Scroll 25–90% | +5 a +15 pts |
358
- | VSL Watch 25–100% | +10 a +50 pts |
359
- | Copy Intent (cupom, PIX) | +20 pts |
360
- | Preenchimento de campo | +10 pts |
361
- | Rage Click | -10 pts |
362
- | **Hot Lead (80+ pts)** | **Dispara High_Intent_Lead** |
363
-
364
- ---
365
-
366
- ## 📋 TODOS OS ENDPOINTS (referência rápida)
367
-
368
- ### Core Tracking
369
- | Rota | Método | Função |
370
- |---|---|---|
371
- | `/track` | POST | Evento principal (browser → CAPI) |
372
- | `/health` | GET | Smoke test completo |
373
- | `/webhook/ticto` | POST | Webhook Ticto Purchase |
374
-
375
- ### Intelligence ML
376
- | Rota | Método | Função |
377
- |---|---|---|
378
- | `/api/segmentation/cluster` | POST | Clustering K-means/DBSCAN |
379
- | `/api/segmentation/list` | GET | Segmentos ativos |
380
- | `/api/segmentation/outliers` | GET | Outliers comportamentais |
381
- | `/api/bidding/recommend` | POST | Bid otimizado por segmento |
382
- | `/api/bidding/history` | GET | Histórico de bids |
383
- | `/api/bidding/status` | GET | Status por plataforma |
384
-
385
- ### A/B Testing LTV
386
- | Rota | Método | Função |
387
- |---|---|---|
388
- | `/api/ltv/ab-test/create` | POST | Criar experimento |
389
- | `/api/ltv/ab-test/list` | GET | Listar experimentos |
390
- | `/api/ltv/ab-test/results` | GET | Accuracy por variação |
391
- | `/api/ltv/ab-test/winner` | POST | Declarar vencedor |
392
-
393
- ### Fraud Detection
394
- | Rota | Método | Função |
395
- |---|---|---|
396
- | `/api/fraud/stats` | GET | Dashboard 24h |
397
- | `/api/fraud/alerts` | GET | Log de alertas |
398
- | `/api/fraud/blocklist` | GET | Lista bloqueada |
399
- | `/api/fraud/blocklist/add` | POST | Bloquear IP/fingerprint |
400
- | `/api/fraud/blocklist/remove` | DELETE | Desbloquear |
401
-
402
- ---
403
-
404
- ## 📞 SUPORTE
405
-
406
- - **Issues**: https://github.com/ricardosoli777/CDP-Edge-Premium/issues
407
- - **Releases**: https://github.com/ricardosoli777/CDP-Edge-Premium/releases
408
-
409
- ---
410
-
411
- ### **CDP Edge — By Rica Soares**
412
- > "Dados sem inteligência são apenas ruído. No Quantum Tier Enterprise, transformamos dados em ROAS."
413
-
414
- © 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.3.6** — Retry Queue Completo & Hardening TypeScript (14 de Abril de 2026) 🔁
6
+
7
+ > **v2.3.5** UTMs Obfuscadas & Segmentação de Valor (14 de Abril de 2026) 🏷️
8
+
9
+ ### Novidades
10
+ - graphify obrigatório em todas as sessões (CLAUDE.md)
11
+ - Git hooks instalados (post-commit, post-checkout)
12
+ - Hook corrigido para UTF-8 nativo no Windows
13
+ - Redução de custo documentada (40–90% economia ao navegar grafo)
14
+ - Tripé de documentação sincronizado (README + CLAUDE.md + Business Book)
15
+
16
+ ### Correções
17
+ - Hook post-commit corrigido para encoding UTF-8
18
+ - Rebuild code-only funcional após cada commit
19
+ - Push para ts/main (CDP-Edge-Premium.ts.git) concluído
20
+
21
+ ---
22
+
23
+ ## 📋 CHANGELOG v2.3.6 — Retry Queue Completo & Hardening TypeScript (14 de Abril de 2026)
24
+
25
+ ### 🔁 Retry Queue Cobertura Total de Dispatchers
26
+
27
+ **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.
28
+
29
+ **Solução implementada:**
30
+ - `RETRY_QUEUE.send()` ativo nos 7 dispatchers: Meta, GA4, TikTok, Pinterest, Reddit, LinkedIn, Spotify
31
+ - Apenas falhas de rede (`catch`) são enfileiradas — erros HTTP 4xx não são retentados (payload rejeitado pela plataforma)
32
+ - Consumer (`queue()`) recebe `ctx: ExecutionContext` — background ops (`logMatchQuality`, `writeAuditLog`) agora funcionam no reprocessamento
33
+ - Cobertura expandida de 3 para 7 plataformas no consumer
34
+ - `Queue<QueueMessage>` adicionado ao `Env` em `types.ts`
35
+
36
+ **Fluxo de retry:**
37
+ ```
38
+ Dispatcher catch (falha de rede)
39
+ logApiFailure (D1)
40
+ → RETRY_QUEUE.send({ eventType, payload, platform })
41
+ consumer reprocessa (até 3 tentativas)
42
+ → se esgotar → DLQ (cdp-edge-dlq)
43
+ ```
44
+
45
+ ### 🔧 Hardening TypeScript
46
+
47
+ - Tipo explícito `SanitizeResult` para o objeto de sanitização em `index.ts`
48
+ - `STR_FIELDS` renomeado para `TRACKING_ID_FIELDS` (transactionId, fbclid, ttclid, gclid) — elimina conflito com `GENERIC_SANITIZE_FIELDS` (UTMs)
49
+ - Build TypeScript: zero erros, zero warnings críticos
50
+
51
+ ### Breaking Changes
52
+
53
+ - Nenhuma. API HTTP e comportamento em runtime são idênticos.
54
+
55
+ ### Migração
56
+
57
+ Nenhuma migração necessária. Se a fila `cdp-edge-retry` ainda não foi criada:
58
+ ```bash
59
+ wrangler queues create cdp-edge-retry
60
+ wrangler queues create cdp-edge-dlq
61
+ wrangler deploy
62
+ ```
63
+
64
+ ---
65
+
66
+ ## 📋 CHANGELOG v2.3.5 — UTMs Obfuscadas & Segmentação de Valor (14 de Abril de 2026)
67
+
68
+ ### 🏷️ UTM AgentNovo Agente para Segmentação de Público
69
+
70
+ **Problema resolvido:**
71
+ - 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
72
+ - Dados sensíveis (valor de preço) não devem estar visíveis na URL pública por segurança
73
+
74
+ **Solução implementada:**
75
+ - **UTMs Obfuscadas:** Valores de faixa são convertidos em hash SHA256 truncado (8 caracteres)
76
+ - `800k-1.5M` `b4e2a1c9` (obfuscado)
77
+ - Humans veem: `imovel_b4e2a1c9`
78
+ - Worker sabe: `faixa_real = "800k-1.5M"` (de-obfuscado)
79
+
80
+ - **Módulo UTM Enricher:** `server-edge-tracker/modules/utm/utm-enricher.ts`
81
+ - `obfuscateValue()` — gera hash truncado de 8 caracteres
82
+ - `deobfuscateValue()` — de-obfusca usando mapeamento
83
+ - `enrichPayloadWithUTM()` enriquece payload com segmentação
84
+ - Integração com Meta CAPI: `external_id` segmentado por hash
85
+
86
+ - **Schema D1:** `server-edge-tracker/schema-utm.sql`
87
+ - Tabela `utm_mappings` persiste mapeamento hash→valor
88
+ - Colunas em `leads`: `faixa_obfuscada`, `faixa_real`, `faixa_category`
89
+ - VIEW `leads_segmented` para dashboard e exports
90
+
91
+ - **Master Orchestrator Atualizado:** UTM Agent integrado ao fluxo (FASE 2-B)
92
+ - Ordem: Page Analyzer → **UTM Agent** → Premium Intelligence → Browser Tracking
93
+ - Arquivo: `extracted-skill/tracking-events-generator/agents/utm-agent.md`
94
+
95
+ **Fluxo de criação de projeto:**
96
+ ```
97
+ USUÁRIO INICIA CDP EDGE
98
+
99
+ FASE 1: Seleção de plataformas + credenciais
100
+
101
+ FASE 2: Page Analyzer (identifica tipo de página)
102
+
103
+ FASE 2-B: UTM Agent NOVO
104
+ Pergunta: "Qual a faixa de valor deste imóvel?"
105
+ → Gera: URL obfuscada + mapeamento hash→valor
106
+
107
+ FASE 3+: Continua fluxo normal (Premium Intelligence, Browser Tracking, etc.)
108
+ ```
109
+
110
+ **Segmentação na Meta:**
111
+ ```
112
+ Públicos criados automaticamente via external_id segmentado:
113
+ - Público LOW: cdp_uid_8a3f1d2b (500k-800k)
114
+ - Público MID: cdp_uid_b4e2a1c9 (800k-1.5M)
115
+ - Público HIGH: cdp_uid_d6c3b4e7 (1M-3M)
116
+ ```
117
+
118
+ **Remarketing futuro:**
119
+ ```sql
120
+ -- Exportar público por faixa para Meta Custom Audience
121
+ SELECT email, phone, city, state
122
+ FROM leads_segmented
123
+ WHERE faixa_real = '800k-1.5M'
124
+ AND created_at >= datetime('now', '-30 days');
125
+ ```
126
+
127
+ ### Correções
128
+
129
+ - Documentação sincronizada: README.md + CLAUDE.md + Business Book
130
+ - Versões alinhadas: package.json, CHANGELOG, README
131
+ - Referências cruzadas: agents, modules, schemas
132
+
133
+ ### Breaking Changes
134
+
135
+ - Nenhuma. API HTTP e comportamento em runtime são idênticos.
136
+
137
+ ### Migração
138
+
139
+ Para projetos existentes:
140
+ ```bash
141
+ # Aplicar schema UTM (adicional)
142
+ cd server-edge-tracker
143
+ wrangler d1 execute cdp-edge-db --file=schema-utm.sql --remote
144
+
145
+ # Configurar utm-mapping.json (manual ou via UTM Agent)
146
+ cp config/utm-mapping.json.example config/utm-mapping.json
147
+
148
+ # Deploy
149
+ wrangler deploy
150
+ ```
151
+
152
+ ---
153
+
154
+ > ⚠️ **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é.
155
+
156
+ ---
157
+
158
+ ## 🤖 MANIFESTO: EU, CDP EDGE
159
+
160
+ *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.*
161
+
162
+ **A Linha de Montagem Sincronizada (A Prova de Latência)**
163
+ Meu ecossistema opera como um Cérebro de Conversão Privado na borda. Quando um evento de Lead bate no endpoint `/track`:
164
+ 1. **O Escudo Frontal (Fraud Gate):** Inspeciono IP, ASN e Velocity na borda. Bloqueio bots silenciosamente antes mesmo deles carregarem.
165
+ 2. **A Roleta Invisível (A/B LTV):** Faço o sorteio de prompts para testes A/B via KV Cache em ~0ms.
166
+ 3. **O Cérebro Financeiro (LTV Predictor):** Rodo Machine Learning (Granite 4.0 Micro) para qualificar a intenção e gerar o LTV Preditivo.
167
+ 4. **Envio para as Plataformas:** O Facebook/Google/LinkedIn recebem um payload limpo (sem bot) recheado com valor financeiro de intenção extrema.
168
+ 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`).
169
+
170
+ **Minha Vantagem Absoluta (A "Killer Feature")**
171
+ - **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).
172
+ - **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).
173
+ - **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).
174
+
175
+ ---
176
+
177
+ ## 📋 CHANGELOG v2.3.1 — Hardening Enterprise (12 de Abril de 2026)
178
+
179
+ ### 🔒 Segurança & Conformidade
180
+
181
+ - **PII removido dos logs:** `DeviceGraph` parou de logar `user_id` nos Workers logs — dados sensíveis nunca aparecem no Cloudflare dashboard
182
+ - **Deploy seguro:** novo `deploy-client.js` 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
183
+ - **`.gitignore` reforçado:** `.client.env` e `wrangler.deploy.toml` explicitamente ignorados
184
+ - **WhatsApp secrets alinhados à Meta Cloud API v22.0:** `resolvePhoneNumberId()` e `resolveAccessToken()` com fallback canônico → legado backwards compat garantido
185
+ - **`api-versions.json` v1.1.0:** metadata `updated_at` corrigido para `2026-04-12`
186
+ - **`/health` WhatsApp:** reflete corretamente secrets com nomes canônicos ou legados
187
+
188
+ ### 🔧 Deploy de Cliente — Novo Fluxo
189
+
190
+ ```bash
191
+ cd server-edge-tracker
192
+ cp .client.env.example .client.env
193
+ # preencher DATABASE_ID, SITE_DOMAIN, pixels
194
+ node deploy-client.js --dry-run # valida sem subir
195
+ node deploy-client.js # deploy real
196
+ ```
197
+
198
+ ---
199
+
200
+ ## 📋 CHANGELOG v2.3.0 — TypeScript Nativo (12 de Abril de 2026)
201
+
202
+ ### 🔷 Worker 100% TypeScript — Migração Completa
203
+
204
+ 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.
205
+
206
+ **Por que TypeScript muda o jogo no CDP Edge:**
207
+ - **Env tipado** typos em nomes de secrets (`META_ACCESS_TOKEN`, `GEO_CACHE`, `DB`) viram erros em build time, nunca em produção
208
+ - **TrackPayload contratado** o shape do payload entre browser e Worker é garantido pelo compilador
209
+ - **Cloudflare types nativos** — D1, KV, R2, Workers AI com autocomplete e validação de métodos
210
+ - **Fraud Gate e ML seguros** — `checkFraudGate(env: Env, request: Request, payload: TrackPayload)` — nenhum `undefined` passa despercebido
211
+ - **Refatoração segura** renomear qualquer campo do `TrackPayload` lista automaticamente todos os pontos de quebra
212
+
213
+ **Arquivos migrados (JS TS) 16 módulos:**
214
+ - `index.ts` entry point do Worker
215
+ - `types.ts` **novo** contratos centralizados: `Env`, `TrackPayload`, `BehavioralData`, `HotmartWebhook`, `KiwifyWebhook`, `TictoWebhook`, `QueueMessage`, `PromiseResult<T>`
216
+ - `modules/utils.ts`, `modules/db.ts`, `modules/intelligence.ts`
217
+ - `modules/dispatch/` `meta.ts`, `ga4.ts`, `tiktok.ts`, `platforms.ts`, `whatsapp.ts`
218
+ - `modules/ml/` `ltv.ts`, `fraud.ts`, `bidding.ts`, `segmentation.ts`, `logistic.ts`, `matchquality.ts`
219
+
220
+ **Infraestrutura:**
221
+ - `tsconfig.json` — `target: ESNext`, `moduleResolution: "bundler"`, `strict: true`, `@cloudflare/workers-types`
222
+ - `wrangler.toml` `main = "index.ts"` (TypeScript nativo via wrangler/esbuild)
223
+ - `contracts/types.ts` tipos públicos exportados no pacote NPM: `QuantumEventPayload`, `AgencyContext`, `ApiVersionsConfig`
224
+ - `npm run typecheck` — `tsc --noEmit` (225 testes passando, zero erros de compilação)
225
+
226
+ **Breaking change:** nenhuma API HTTP e comportamento em runtime são idênticos. TypeScript é invisível para o Cloudflare.
227
+
228
+ ---
229
+
230
+ ## 📋 CHANGELOG v2.2.5 (11 de Abril de 2026)
231
+
232
+ ### 🔧 Correção de Versão Dinâmica
233
+
234
+ - **Versão Dinâmica**: `bin/cdp-edge.js` e `dist/commands/install.js` agora leem a versão do `package.json` dinamicamente
235
+ - **Banner Corrigido**: O banner de instalação agora mostra sempre a versão correta (`cdp-edge --version`)
236
+ - **Compatibilidade**: Garante que a versão exibida no CLI e banner esteja sempre sincronizada com o `package.json`
237
+
238
+ ---
239
+
240
+ ## 📋 CHANGELOG v2.2.0 (10 de Abril de 2026)
241
+
242
+ ### 🤖 AI Engine Upgrade — Novos Modelos
243
+
244
+ - **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)
245
+ - **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)
246
+ - Granite continua sendo usado para naming dos segmentos pós-clustering
247
+
248
+ ### 🧹 Limpeza (Zero Lixo)
249
+
250
+ - Removido: detecção de emails descartáveis (mailinator, guerrilla, tempmail, etc.) do Fraud Gate e do agente `fraud-detection-agent.md`
251
+ - Removido: secrets `WEBHOOK_SECRET_HOTMART` e `WEBHOOK_SECRET_KIWIFY` (wrangler + wrangler.toml)
252
+
253
+ ### 🔧 Observability
254
+
255
+ - Adicionado bloco `[observability]` no `wrangler.toml` (`logs.enabled = true`, `traces.enabled = false`)
256
+
257
+ ---
258
+
259
+ ## 📋 CHANGELOG v2.0.7 (10 de Abril de 2026)
260
+
261
+ ### 🔧 Audit Completo — 45 Agentes
262
+
263
+ - **Endpoints corrigidos**: `/api/tracking` → `/track`, `/api/wh/` → `/webhook/` em todos os agentes
264
+ - **Secrets WhatsApp**: `WA_PHONE_ID`/`WA_ACCESS_TOKEN`/`WHATSAPP_TOKEN` → `WHATSAPP_PHONE_NUMBER_ID`/`WHATSAPP_ACCESS_TOKEN`
265
+ - **`env.DB.prepare`**: corrigido em 8 agentes (attribution, crm, dashboard, debug, performance, security, master-feedback-loop)
266
+ - **`env.GEO_CACHE`**: substituiu `KV.` bare em dashboard-agent, performance-agent, performance-optimization-agent
267
+ - **YouTube events**: `video_milestone`/`video_progress_25/50/75` `video_25`/`video_50`/`video_75` (alinhado ao VALID_EVENT_NAMES do worker)
268
+ - **LinkedIn CAPI**: endpoint `/rest/conversionEvents` + header `LinkedIn-Version: 202401` em `contracts/api-versions.json`
269
+ - **Workers AI model**: `llama-3-8b-instruct` `@cf/meta/llama-3.1-8b-instruct`
270
+ - **index.ts**: Content-Length guard (413 se > 64KB), payload validation (allowlist 19 events, 512 chars, value range), PII removido dos logs
271
+ - **Testes**: bugs críticos em `deduplication.test.js` corrigidos (template literals escapados, prefixo errado)
272
+ - **npm**: lodash 4.17.23 → 4.18.1, node-fetch removido
273
+
274
+ ---
275
+
276
+ ## 📋 CHANGELOG v2.0.0 (9 de Abril de 2026)
277
+
278
+ ### 🆕 Sprint Enterprise — Fases 1 a 4
279
+
280
+ #### Fase 1 — ML Clustering (Segmentação Dinâmica)
281
+ - **`POST /api/segmentation/cluster`** — K-means / DBSCAN / Hierarchical via Workers AI
282
+ - **`GET /api/segmentation/list`** Segmentos ativos com métricas
283
+ - **`GET /api/segmentation/outliers`** Detecção de outliers comportamentais
284
+ - **`PUT /api/segmentation/update`** — Atualização de metadados de segmento
285
+ - Schema D1: `ml_segments`, `ml_segment_members` + VIEWs otimizadas
286
+ - Agente: `ml-clustering-agent.md`
287
+
288
+ #### Fase 2 — Bidding Recommendations (Otimização de Bids ML)
289
+ - **`POST /api/bidding/recommend`** — Bid otimizado por segmento × plataforma (Meta/Google/TikTok), calculado com fórmula `LTV × ROI target / CPA base`
290
+ - **`GET /api/bidding/history`**Histórico completo de recomendações
291
+ - **`GET /api/bidding/status`** — Snapshot atual das recomendações ativas por vertical
292
+ - Schema D1: `bid_recommendations` + VIEW `v_active_bid_recommendations`
293
+ - Agente: `bidding-agent.md`
294
+
295
+ #### Fase 3 — A/B Testing de Prompts LTV
296
+ - **`POST /api/ltv/ab-test/create`** — Cria experimento com múltiplas variações de system prompt
297
+ - **`GET /api/ltv/ab-test/list`** — Lista experimentos com status e progresso
298
+ - **`GET /api/ltv/ab-test/results`** Accuracy score por variação + recomendação automática de winner
299
+ - **`POST /api/ltv/ab-test/winner`** — Declara vencedor e retorna o prompt ganador
300
+ - Integração automática: cada evento Lead sorteia a variação ativa e registra o assignment via KV cache
301
+ - Schema D1: `ltv_ab_tests`, `ltv_ab_variations`, `ltv_ab_assignments` + VIEW `v_ab_test_performance`
302
+ - Agente: `ab-ltv-agent.md`
303
+
304
+ #### ✅ Fase 4 — Fraud Detection Engine
305
+ - **Fraud Gate automático em `/track`** roda ANTES de qualquer processamento (heurístico puro, ~2ms)
306
+ - Silent drop (retorna 200 falso) — bots não detectam a defesa
307
+ - **`GET /api/fraud/stats`** Dashboard de fraude (últimas 24h)
308
+ - **`GET /api/fraud/alerts`** — Log de sinais detectados com filtros
309
+ - **`GET /api/fraud/blocklist`** — IPs/fingerprints atualmente bloqueados
310
+ - **`POST /api/fraud/blocklist/add`**Bloquear IP ou fingerprint (via KV, efeito imediato)
311
+ - **`DELETE /api/fraud/blocklist/remove`** — Remover do blocklist
312
+ - Sinais detectados: bot_score, datacenter IP, velocity attack, headless UA, sem Accept-Language
313
+ - Schema D1: `fraud_signals`, `fraud_alerts` + VIEW `v_fraud_dashboard`
314
+ - Agente: `fraud-detection-agent.md`
315
+
316
+ ### 🔧 Fix: `wrangler.toml` atualizado
317
+ - Todos os placeholders (`SEU_D1_DATABASE_ID`, `SEU_KV_NAMESPACE_ID`) substituídos pelos IDs reais da conta Cloudflare
318
+ - D1: `SEU_DATABASE_ID`
319
+ - KV: `SEU_KV_ID`
320
+
321
+ ---
322
+
323
+ ## 🏗️ ARQUITETURA QUANTUM ENTERPRISE (CLOUDFLARE NATIVE)
324
+
325
+ ```mermaid
326
+ graph TD
327
+ User((Usuário)) -->|Interação| SDK[cdpTrack SDK + Behavior Engine]
328
+ SDK -->|Edge Fetch 1ª via KV blocklist| FraudGate{🛡️ Fraud Gate}
329
+ FraudGate -->|score 80: Silent Drop 200| Void[/dev/null]
330
+ FraudGate -->|score < 80: Permitido| Worker[Cloudflare Worker Agent]
331
+ Worker -->|Identity Graph + _cdp_uid| D1[(D1 SQL — 21 tabelas)]
332
+ Worker -->|LTV + A/B Prompt| AI[Workers AI Granite 4.0 Micro]
333
+ Worker -->|Segmento ML| Cluster[ML Clustering Engine]
334
+ Cluster -->|Bid otimizado| Bidding[Bidding Recommendations]
335
+ Worker -->|Background| Queue[Cloudflare Queues]
336
+ Queue -->|Server Dispatch| Meta[Meta CAPI v22.0]
337
+ Queue -->|Server Dispatch| Google[GA4 / Google Ads]
338
+ Queue -->|Server Dispatch| TikTok[TikTok API v1.3]
339
+ D1 -->|Reports| Dash[Dashboard Agent]
340
+ ```
341
+
342
+ ---
343
+
344
+ ## 🧠 CATÁLOGO DE AGENTES ESPECIALISTAS
345
+
346
+ O sistema é composto por **43+ agentes** coordenados pelo **Master Orchestrator**:
347
+
348
+ ### 🧠 Núcleo de Inteligência
349
+ | Agente | Função |
350
+ |---|---|
351
+ | **Master Orchestrator** | Coordenação central — guia todo o setup do projeto |
352
+ | **Page Analyzer** | Mapeamento automático de CTAs, Forms e nicho do site |
353
+ | **Validator Agent** | Auditoria de código, segurança e conformidade de APIs |
354
+ | **Memory Agent** | Contexto e checkpoints da sessão por projeto |
355
+ | **Intelligence Agent** | Monitoramento de versões de API (Meta v22.0+, etc) |
356
+
357
+ ### 🚀 Plataformas de Anúncio
358
+ | Agente | Especialidade |
359
+ |---|---|
360
+ | **Meta Agent** | Facebook Pixel + CAPI v22.0 + WhatsApp CTWA |
361
+ | **Google Agent** | GA4 + Google Ads Enhanced Conversions |
362
+ | **TikTok Agent** | TikTok Pixel + Events API v1.3 |
363
+ | **LinkedIn Agent** | Insight Tag + Conversions API v2 |
364
+ | **Pinterest Agent** | Tag + Conversions API v5 |
365
+ | **Reddit Agent** | Pixel + Conversions API v2.0 |
366
+ | **Spotify Agent** | Pixel + Conversions API v1 |
367
+ | **Bing Agent** | UET Tag + Enhanced Conversions |
368
+
369
+ ### 🤖 Enterprise Intelligence (Fase 1–4)
370
+ | Agente | Endpoint Principal | Impacto |
371
+ |---|---|---|
372
+ | **ML Clustering Agent** | `POST /api/segmentation/cluster` | K-means vetorial real (bge-m3 embeddings + Granite naming) |
373
+ | **Bidding Agent** | `POST /api/bidding/recommend` | -20% CPA via bid por segmento de LTV |
374
+ | **A/B LTV Agent** | `POST /api/ltv/ab-test/create` | +25% precisão LTV via test de prompts |
375
+ | **Fraud Detection Agent** | Auto em `/track` | Bloqueia click fraud, bots, velocity attacks |
376
+
377
+ ### 🛡️ Módulos Enterprise
378
+ | Agente | Função |
379
+ |---|---|
380
+ | **Attribution Agent** | Atribuição Multi-Touch de alta fidelidade |
381
+ | **Security Agent** | Rate Limiting, AES-256 e Bot Defense |
382
+ | **Compliance Agent** | LGPD e GDPR (Consent Mode v2) |
383
+ | **Performance Agent** | Otimização de caches e queries D1 |
384
+
385
+ ---
386
+
387
+ ## 📊 BANCO DE DADOS D1 — 21 Tabelas
388
+
389
+ ```
390
+ CORE TRACKING ML & INTELLIGENCE ENTERPRISE SECURITY
391
+ ───────────────── ───────────────────── ─────────────────────
392
+ leads ml_segments fraud_signals
393
+ events ml_segment_members fraud_alerts
394
+ sessions bid_recommendations ltv_ab_tests
395
+ webhook_events ltv_ab_tests ltv_ab_variations
396
+ api_failures ltv_ab_variations ltv_ab_assignments
397
+
398
+ VIEWS
399
+ ─────────────────────────────────────────────────
400
+ v_active_segments → Segmentos ML ativos com contagem de membros
401
+ v_active_bid_recs → Bids ativos por plataforma/vertical
402
+ v_ab_test_performance → Accuracy por variação de prompt
403
+ v_fraud_dashboard → Dashboard fraude 24h
404
+ ```
405
+
406
+ ---
407
+
408
+ ## 🔄 FLUXO ENTERPRISE COMPLETO
409
+
410
+ ```
411
+ POST /track (evento Lead)
412
+
413
+ ├─ [1] 🛡️ Fraud Gate (KV blocklist + velocity + heurísticas) ~2ms
414
+ │ ├─ score < 40 → processa normalmente
415
+ │ ├─ score 40-79 → processa + loga suspeito (background)
416
+ │ └─ score ≥ 80 → silent drop 200 + loga (background)
417
+
418
+ ├─ [2] 🔮 A/B LTV Testing — sorteia variação ativa (KV cache ~0ms)
419
+ │ └─ passa customSystemPrompt para predictLtv()
420
+
421
+ ├─ [3] 🧮 LTV Prediction — Workers AI Granite 4.0 Micro
422
+ │ └─ Score 0-100 → class High/Medium/Low → valor em BRL
423
+
424
+ ├─ [4] 💾 D1 Writes (background via ctx.waitUntil)
425
+ │ ├─ upsertLtvProfile() → tabela leads
426
+ │ ├─ recordAbAssignment() → ltv_ab_assignments
427
+ │ └─ resolveDeviceGraph() → cross-device linking
428
+
429
+ └─ [5] 📡 CAPI dispatch (Meta + GA4 + TikTok em paralelo)
430
+ └─ com LTV injetado no value field
431
+ ```
432
+
433
+ ---
434
+
435
+ ## 💻 INSTALAÇÃO E USO
436
+
437
+ ### OPÇÃO 1 — Instalação via npm (Recomendada)
438
+
439
+ Abra o terminal dentro da pasta do projeto do cliente e rode:
440
+
441
+ ```bash
442
+ npx cdp-edge install
443
+ ```
444
+
445
+ Ou instale globalmente e use em qualquer projeto:
446
+
447
+ ```bash
448
+ npm install -g cdp-edge
449
+ cdp-edge install . --name "Nome do Projeto"
450
+ ```
451
+
452
+ > **Já tem o CDP Edge instalado globalmente?** Atualize para a versão mais recente:
453
+ > ```bash
454
+ > npm install -g cdp-edge@latest
455
+ > ```
456
+
457
+ ### OPÇÃO 2 — Instalação via Git Clone
458
+
459
+ ```bash
460
+ git clone https://github.com/ricardosoli777/CDP-Edge-Premium.git .
461
+ ```
462
+ *(O ponto no final garante que os arquivos desçam diretamente dentro da pasta atual).*
463
+
464
+ ### Ativar no Claude Code
465
+
466
+ ```bash
467
+ claude .
468
+ ```
469
+ Dentro do Claude Code:
470
+ ```
471
+ /cdp
472
+ ```
473
+
474
+ ---
475
+
476
+ ## 🚀 DEPLOY COMPLETO (referência)
477
+
478
+ ```bash
479
+ cd server-edge-tracker
480
+
481
+ # 1. Schemas D1 (todos em sequência)
482
+ wrangler d1 execute cdp-edge-db --file=schema.sql --remote
483
+ wrangler d1 execute cdp-edge-db --file=migrate-v6.sql --remote
484
+ wrangler d1 execute cdp-edge-db --file=schema-segmentation.sql --remote # Fase 1
485
+ wrangler d1 execute cdp-edge-db --file=schema-bidding.sql --remote # Fase 2
486
+ wrangler d1 execute cdp-edge-db --file=schema-ab-ltv.sql --remote # Fase 3
487
+ wrangler d1 execute cdp-edge-db --file=schema-fraud.sql --remote # Fase 4
488
+
489
+ # 2. Secrets
490
+ wrangler secret put META_ACCESS_TOKEN
491
+ wrangler secret put GA4_API_SECRET
492
+ wrangler secret put TIKTOK_ACCESS_TOKEN
493
+
494
+ # 3. Deploy
495
+ wrangler deploy
496
+ ```
497
+
498
+ ---
499
+
500
+ ## 🗺️ NAVEGANDO O CÓDIGO COM GRAPHIFY
501
+
502
+ O **graphify** gera um mapa de conhecimento navegável do projeto (nós, arestas, comunidades). Antes de qualquer trabalho de código:
503
+
504
+ ```bash
505
+ # 1. Verifique se o grafo existe
506
+ ls graphify-out/GRAPH_REPORT.md
507
+
508
+ # 2. Se não existe ou está desatualizado, gere:
509
+ /graphify .
510
+
511
+ # 3. Navegue o grafo para entender arquitetura
512
+ /graphify query "como funciona o fraud gate?"
513
+ /graphify query "identity graph → ltv prediction"
514
+ /graphify path "cdp_uid" "cloudflare d1"
515
+ ```
516
+
517
+ ### O que o grafo fornece
518
+
519
+ - **God Nodes**: abstrações centrais (D1, Meta CAPI v22.0, Intelligence Agent, ML Clustering)
520
+ - **65 comunidades**: grupos lógicos (Multi-Platform Agent Layer, ML Bidding, Browser SDK, etc.)
521
+ - **Surprising Connections**: relações inferidas entre conceitos que você não sabia que eram similares
522
+ - **Redução de custo**: navegar grafo = até 40% menos tokens vs. ler arquivos brutos
523
+
524
+ ### Exemplo de uso
525
+
526
+ **❌ Não faça:**
527
+ > "Ler 50 arquivos para entender como o fraud gate conecta com o LTV predictor"
528
+
529
+ **✅ Faça:**
530
+ > `/graphify query "fraud gate → ltv predictor"` — resposta instantânea com caminho completo, arquivos fonte e nível de confiança
531
+
532
+ O grafo fica atualizado automaticamente após cada `git commit` (via hook).
533
+
534
+ ---
535
+
536
+ ## 🖱️ HUMAN-BEHAVIOR ENGINE
537
+
538
+ | Evento | Pontuação |
539
+ |--------|-----------|
540
+ | Scroll 25–90% | +5 a +15 pts |
541
+ | VSL Watch 25–100% | +10 a +50 pts |
542
+ | Copy Intent (cupom, PIX) | +20 pts |
543
+ | Preenchimento de campo | +10 pts |
544
+ | Rage Click | -10 pts |
545
+ | **Hot Lead (80+ pts)** | **Dispara High_Intent_Lead** |
546
+
547
+ ---
548
+
549
+ ## 📋 TODOS OS ENDPOINTS (referência rápida)
550
+
551
+ ### Core Tracking
552
+ | Rota | Método | Função |
553
+ |---|---|---|
554
+ | `/track` | POST | Evento principal (browser → CAPI) |
555
+ | `/health` | GET | Smoke test completo |
556
+ | `/webhook/ticto` | POST | Webhook Ticto Purchase |
557
+
558
+ ### Intelligence ML
559
+ | Rota | Método | Função |
560
+ |---|---|---|
561
+ | `/api/segmentation/cluster` | POST | Clustering K-means/DBSCAN |
562
+ | `/api/segmentation/list` | GET | Segmentos ativos |
563
+ | `/api/segmentation/outliers` | GET | Outliers comportamentais |
564
+ | `/api/bidding/recommend` | POST | Bid otimizado por segmento |
565
+ | `/api/bidding/history` | GET | Histórico de bids |
566
+ | `/api/bidding/status` | GET | Status por plataforma |
567
+
568
+ ### A/B Testing LTV
569
+ | Rota | Método | Função |
570
+ |---|---|---|
571
+ | `/api/ltv/ab-test/create` | POST | Criar experimento |
572
+ | `/api/ltv/ab-test/list` | GET | Listar experimentos |
573
+ | `/api/ltv/ab-test/results` | GET | Accuracy por variação |
574
+ | `/api/ltv/ab-test/winner` | POST | Declarar vencedor |
575
+
576
+ ### Fraud Detection
577
+ | Rota | Método | Função |
578
+ |---|---|---|
579
+ | `/api/fraud/stats` | GET | Dashboard 24h |
580
+ | `/api/fraud/alerts` | GET | Log de alertas |
581
+ | `/api/fraud/blocklist` | GET | Lista bloqueada |
582
+ | `/api/fraud/blocklist/add` | POST | Bloquear IP/fingerprint |
583
+ | `/api/fraud/blocklist/remove` | DELETE | Desbloquear |
584
+
585
+ ---
586
+
587
+ ## 📞 SUPORTE
588
+
589
+ - **Issues**: https://github.com/ricardosoli777/CDP-Edge-Premium/issues
590
+ - **Releases**: https://github.com/ricardosoli777/CDP-Edge-Premium/releases
591
+
592
+ ---
593
+
594
+ ### **CDP Edge — By Rica Soares**
595
+ > "Dados sem inteligência são apenas ruído. No Quantum Tier Enterprise, transformamos dados em ROAS."
596
+
597
+ © 2026 CDP Edge Premium. Todos os direitos reservados.