cdp-edge 2.3.1 → 2.3.5

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