{
  "_comment": "Fonte de verdade para versões dos agent files. Atualizar quando modules/ ou index.ts mudarem. Use scripts/validate-agents.js para detectar drifts.",
  "worker_version": "2.6.1",
  "worker_hash_date": "2026-05-12",
  "agents": {
    "master-orchestrator": {
      "version": "2.0.7",
      "last_synced": "2026-04-15",
      "depends_on": [
        "index.ts:fetch",
        "index.ts:endpoints",
        "modules/utils.ts:VALID_EVENT_NAMES"
      ],
      "critical_sections": [
        "endpoints",
        "event_names",
        "secret_names",
        "phases"
      ],
      "status": "synced"
    },
    "server-tracking": {
      "version": "2.0.7",
      "last_synced": "2026-04-15",
      "depends_on": [
        "index.ts:fetch",
        "modules/db.ts:saveLead",
        "modules/db.ts:upsertProfile",
        "index.ts:bindings"
      ],
      "critical_sections": [
        "endpoint /track",
        "secret names",
        "D1 binding",
        "identity graph"
      ],
      "status": "synced"
    },
    "meta-agent": {
      "version": "2.0.7",
      "last_synced": "2026-04-15",
      "depends_on": [
        "modules/dispatch/meta.ts:sendMetaCapi",
        "contracts/api-versions.json:meta"
      ],
      "critical_sections": [
        "Meta CAPI version v25.0",
        "endpoint pattern",
        "event names"
      ],
      "status": "synced"
    },
    "google-agent": {
      "version": "2.0.7",
      "last_synced": "2026-04-15",
      "depends_on": [
        "modules/dispatch/ga4.ts:sendGA4Mp",
        "contracts/api-versions.json:google"
      ],
      "critical_sections": [
        "GA4 Measurement Protocol endpoint",
        "event names"
      ],
      "status": "synced"
    },
    "tiktok-agent": {
      "version": "2.0.7",
      "last_synced": "2026-04-15",
      "depends_on": [
        "modules/dispatch/tiktok.ts:sendTikTokApi",
        "contracts/api-versions.json:tiktok"
      ],
      "critical_sections": [
        "TikTok Events API v1.3",
        "endpoint pattern",
        "event names"
      ],
      "status": "synced"
    },
    "youtube-agent": {
      "version": "2.0.7",
      "last_synced": "2026-04-15",
      "depends_on": [
        "contracts/api-versions.json:youtube"
      ],
      "critical_sections": [
        "video milestone events: video_25/50/75/video_complete",
        "YT IFrame API"
      ],
      "status": "synced"
    },
    "pinterest-agent": {
      "version": "1.0.0",
      "last_synced": "2026-04-15",
      "depends_on": [
        "modules/dispatch/platforms.ts:sendPinterestCapi",
        "contracts/api-versions.json:pinterest"
      ],
      "critical_sections": [
        "Pinterest Conversions API v5",
        "PINTEREST_ACCESS_TOKEN",
        "PINTEREST_AD_ACCOUNT_ID"
      ],
      "status": "synced"
    },
    "reddit-agent": {
      "version": "1.0.0",
      "last_synced": "2026-04-15",
      "depends_on": [
        "modules/dispatch/platforms.ts:sendRedditCapi",
        "contracts/api-versions.json:reddit"
      ],
      "critical_sections": [
        "Reddit Conversions API v2.0",
        "REDDIT_ACCESS_TOKEN",
        "REDDIT_AD_ACCOUNT_ID"
      ],
      "status": "synced"
    },
    "linkedin-agent": {
      "version": "1.0.0",
      "last_synced": "2026-04-15",
      "depends_on": [
        "modules/dispatch/platforms.ts:sendLinkedInCapi",
        "contracts/api-versions.json:linkedin"
      ],
      "critical_sections": [
        "LinkedIn Conversions API 202401",
        "LINKEDIN_ACCESS_TOKEN",
        "LINKEDIN_AD_ACCOUNT_ID"
      ],
      "status": "synced"
    },
    "spotify-agent": {
      "version": "1.0.0",
      "last_synced": "2026-04-15",
      "depends_on": [
        "modules/dispatch/platforms.ts:sendSpotifyCapi",
        "contracts/api-versions.json:spotify"
      ],
      "critical_sections": [
        "Spotify Conversions API v1",
        "SPOTIFY_ACCESS_TOKEN",
        "SPOTIFY_AD_ACCOUNT_ID"
      ],
      "status": "synced"
    },
    "bing-agent": {
      "version": "1.0.0",
      "last_synced": "2026-04-15",
      "depends_on": [
        "contracts/api-versions.json:bing",
        "extracted-skill/tracking-events-generator/cdpTrack.ts:msclkid"
      ],
      "critical_sections": [
        "Microsoft Advertising UET Tag",
        "msclkid click ID",
        "Enhanced Conversions SHA-256"
      ],
      "status": "synced"
    },
    "whatsapp-ctwa-setup-agent": {
      "version": "2.0.7",
      "last_synced": "2026-04-15",
      "depends_on": [
        "modules/dispatch/whatsapp.ts:sendWhatsApp",
        "modules/dispatch/whatsapp.ts:processWhatsAppWebhook"
      ],
      "critical_sections": [
        "WHATSAPP_ACCESS_TOKEN",
        "WHATSAPP_PHONE_NUMBER_ID",
        "WA_WEBHOOK_VERIFY_TOKEN"
      ],
      "status": "synced"
    },
    "whatsapp-agent": {
      "version": "1.0.0",
      "last_synced": "2026-04-15",
      "depends_on": [
        "modules/dispatch/whatsapp.ts:sendWhatsApp",
        "modules/nurture.ts:scheduleNurture"
      ],
      "critical_sections": [
        "WHATSAPP_ACCESS_TOKEN",
        "WA_NOTIFY_NUMBER",
        "CALLMEBOT_PHONE"
      ],
      "status": "synced"
    },
    "intelligence-agent": {
      "version": "2.0.7",
      "last_synced": "2026-04-15",
      "depends_on": [
        "modules/intelligence.ts:runIntelligenceAgent"
      ],
      "critical_sections": [
        "cron schedule: 0 2 * * 7 + 0 3 1 * *",
        "endpoint /track",
        "secret names",
        "ROAS utm_content segmentation"
      ],
      "status": "synced"
    },
    "fraud-detection-agent": {
      "version": "2.0.7",
      "last_synced": "2026-04-15",
      "depends_on": [
        "modules/ml/fraud.ts:checkFraudGate",
        "modules/ml/fraud.ts:handleFraudAlerts",
        "schema-fraud.sql"
      ],
      "critical_sections": [
        "fraud score threshold 80",
        "KV blocklist",
        "endpoints /api/fraud/"
      ],
      "status": "synced"
    },
    "ml-clustering-agent": {
      "version": "2.0.7",
      "last_synced": "2026-04-15",
      "depends_on": [
        "modules/ml/segmentation.ts:handleSegmentationCluster",
        "schema-segmentation.sql"
      ],
      "critical_sections": [
        "Workers AI model bge-m3",
        "endpoints /api/segmentation/",
        "D1 binding"
      ],
      "status": "synced"
    },
    "bidding-agent": {
      "version": "2.0.7",
      "last_synced": "2026-04-15",
      "depends_on": [
        "modules/ml/bidding.ts:handleBiddingRecommend",
        "schema-bidding.sql"
      ],
      "critical_sections": [
        "endpoints /api/bidding/",
        "segment multipliers"
      ],
      "status": "synced"
    },
    "ab-ltv-agent": {
      "version": "2.0.7",
      "last_synced": "2026-04-15",
      "depends_on": [
        "modules/ml/ltv.ts:predictLtv",
        "modules/ml/ltv.ts:getLtvAbVariation",
        "schema-ab-ltv.sql"
      ],
      "critical_sections": [
        "Workers AI model @cf/ibm-granite/granite-4.0-h-micro",
        "endpoints /api/ltv/"
      ],
      "status": "synced"
    },
    "ab-testing-agent": {
      "version": "1.0.0",
      "last_synced": "2026-04-15",
      "depends_on": [
        "index.ts:fetch"
      ],
      "critical_sections": [
        "cookie cdp_ab_variant",
        "sticky sessions HttpOnly",
        "D1 identity_graph last_variant_seen"
      ],
      "status": "synced"
    },
    "utm-agent": {
      "version": "2.1.0",
      "last_synced": "2026-04-15",
      "depends_on": [
        "modules/utm/utm-enricher.ts:enrichPayloadWithUTM",
        "server-edge-tracker/config/utm-mapping.json"
      ],
      "critical_sections": [
        "UTM obfuscation pattern SHA256",
        "hash truncation length (8)",
        "utm_term injetado após scoreQuizAnswers()"
      ],
      "status": "synced"
    },
    "lead-scoring-agent": {
      "version": "1.0.0",
      "last_synced": "2026-04-15",
      "depends_on": [
        "modules/ml/quiz.ts:scoreQuizAnswers",
        "modules/ml/quiz.ts:saveQuizSession",
        "schema-quiz.sql"
      ],
      "critical_sections": [
        "QuizStart/QuizAnswer/QuizComplete event names",
        "Granite 4.0 Micro scoring",
        "qualification: comprador | interessado | curioso | perdido",
        "utm_term injetado com qualification"
      ],
      "status": "synced"
    },
    "match-quality-agent": {
      "version": "1.0.0",
      "last_synced": "2026-04-15",
      "depends_on": [
        "modules/ml/matchquality.ts:autoEnrichPayload",
        "modules/ml/matchquality.ts:logMatchQuality",
        "modules/ml/matchquality.ts:analyzeMatchQuality"
      ],
      "critical_sections": [
        "EMQ thresholds: email>=40%, fbp>=30%, composite>=45%",
        "match_quality_log tabela",
        "alertMatchQuality() via CallMeBot"
      ],
      "status": "synced"
    },
    "security-enterprise-agent": {
      "version": "2.0.7",
      "last_synced": "2026-04-15",
      "depends_on": [
        "modules/ml/fraud.ts:checkFraudGate",
        "modules/dispatch/whatsapp.ts:verifyHmac"
      ],
      "critical_sections": [
        "env.DB.prepare",
        "env.GEO_CACHE",
        "HMAC validation WEBHOOK_SECRET_TICTO"
      ],
      "status": "synced"
    },
    "attribution-agent": {
      "version": "2.0.7",
      "last_synced": "2026-04-15",
      "depends_on": [
        "modules/db.ts:saveLead",
        "modules/dispatch/meta.ts:sendMetaCapi",
        "modules/dispatch/tiktok.ts:sendTikTokApi"
      ],
      "critical_sections": [
        "env.DB.prepare",
        "env.META_ACCESS_TOKEN",
        "env.TIKTOK_ACCESS_TOKEN"
      ],
      "status": "synced"
    },
    "devops-agent": {
      "version": "2.0.7",
      "last_synced": "2026-04-15",
      "depends_on": [
        "wrangler.toml",
        "schema.sql",
        "schema-segmentation.sql",
        "schema-bidding.sql",
        "schema-ab-ltv.sql",
        "schema-fraud.sql",
        "schema-ltv-feedback.sql",
        "schema-quiz.sql",
        "schema-sales-engine.sql"
      ],
      "critical_sections": [
        "D1 binding names",
        "secret names",
        "schema execution order (inclui schema-ltv-feedback.sql)",
        "Workers AI binding"
      ],
      "status": "synced"
    },
    "validator-agent": {
      "version": "2.0.7",
      "last_synced": "2026-04-15",
      "depends_on": [
        "index.ts",
        "modules/",
        "all agents"
      ],
      "critical_sections": [
        "canonical event names 25",
        "canonical secret names",
        "canonical endpoints"
      ],
      "status": "synced"
    },
    "ltv-predictor-agent": {
      "version": "2.0.7",
      "last_synced": "2026-04-15",
      "depends_on": [
        "modules/ml/ltv.ts:predictLtv"
      ],
      "critical_sections": [
        "@cf/ibm-granite/granite-4.0-h-micro model name"
      ],
      "status": "synced"
    },
    "database-agent": {
      "version": "2.0.7",
      "last_synced": "2026-04-15",
      "depends_on": [
        "schema.sql",
        "schema-segmentation.sql",
        "schema-bidding.sql",
        "schema-ab-ltv.sql",
        "schema-fraud.sql",
        "schema-indexes.sql",
        "schema-ltv-feedback.sql",
        "schema-quiz.sql",
        "schema-sales-engine.sql"
      ],
      "critical_sections": [
        "table count (31 tabelas)",
        "binding: DB",
        "KV: GEO_CACHE",
        "main = index.ts"
      ],
      "status": "synced"
    },
    "performance-agent": {
      "version": "2.0.7",
      "last_synced": "2026-04-15",
      "depends_on": [
        "index.ts:GET /health"
      ],
      "critical_sections": [
        "env.DB.prepare",
        "env.GEO_CACHE"
      ],
      "status": "synced"
    },
    "dashboard-agent": {
      "version": "2.0.7",
      "last_synced": "2026-04-15",
      "depends_on": [
        "modules/intelligence.ts:runIntelligenceAgent"
      ],
      "critical_sections": [
        "env.DB.prepare",
        "env.GEO_CACHE"
      ],
      "status": "synced"
    },
    "browser-tracking": {
      "version": "2.0.7",
      "last_synced": "2026-04-15",
      "depends_on": [
        "extracted-skill/tracking-events-generator/cdpTrack.js"
      ],
      "critical_sections": [
        "endpoint /track",
        "event_id deduplication",
        "cdp_uid cookie"
      ],
      "status": "synced"
    },
    "debug-agent": {
      "version": "2.0.7",
      "last_synced": "2026-04-15",
      "depends_on": [
        "index.ts",
        "all endpoints"
      ],
      "critical_sections": [
        "endpoint /track",
        "endpoint /health",
        "endpoint /validate-install",
        "D1 binding"
      ],
      "status": "synced"
    },
    "evo-crm-agent": {
      "version": "1.0.0",
      "last_synced": "2026-04-27",
      "depends_on": [
        "modules/dispatch/crm.ts:pushLeadToCrm",
        "modules/dispatch/crm.ts:normalizePhone"
      ],
      "critical_sections": [
        "OAuth2 client_credentials",
        "EVO_CRM_BASE_URL",
        "EVO_CRM_INBOX_ID",
        "phone normalization E.164",
        "localizations pt-BR/en-US/es-ES"
      ],
      "status": "synced"
    },
    "performance-optimization-agent": {
      "version": "2.0.7",
      "last_synced": "2026-04-15",
      "depends_on": [
        "index.ts",
        "modules/"
      ],
      "critical_sections": [
        "env.GEO_CACHE (not env.CACHE_KV)"
      ],
      "status": "synced"
    },
    "master-feedback-loop": {
      "version": "2.0.7",
      "last_synced": "2026-04-15",
      "depends_on": [
        "all agents"
      ],
      "critical_sections": [
        "env.DB.prepare",
        "cron schedule"
      ],
      "status": "synced"
    },
    "page-analyzer": {
      "version": "1.0.0",
      "last_synced": "2026-04-15",
      "depends_on": [
        "extracted-skill/tracking-events-generator/cdpTrack.js"
      ],
      "critical_sections": [
        "CTAs detection",
        "forms detection",
        "nicho identification"
      ],
      "status": "synced"
    },
    "premium-tracking-intelligence-agent": {
      "version": "1.0.0",
      "last_synced": "2026-04-15",
      "depends_on": [
        "extracted-skill/tracking-events-generator/engagement-scoring.js",
        "extracted-skill/tracking-events-generator/micro-events.js"
      ],
      "critical_sections": [
        "engagement score",
        "intention level",
        "behavioral data"
      ],
      "status": "synced"
    },
    "tracking-plan-agent": {
      "version": "1.0.0",
      "last_synced": "2026-04-15",
      "depends_on": [
        "modules/utils.ts:VALID_EVENT_NAMES"
      ],
      "critical_sections": [
        "canonical event names 25",
        "event taxonomy by business type"
      ],
      "status": "synced"
    },
    "webhook-agent": {
      "version": "1.0.0",
      "last_synced": "2026-04-15",
      "depends_on": [
        "index.ts:POST /webhook/ticto",
        "modules/dispatch/whatsapp.ts:verifyHmac"
      ],
      "critical_sections": [
        "WEBHOOK_SECRET_TICTO",
        "HMAC-SHA256 validation",
        "Purchase event dispatch"
      ],
      "status": "synced"
    },
    "domain-setup-agent": {
      "version": "1.0.0",
      "last_synced": "2026-04-15",
      "depends_on": [
        "wrangler.toml:routes"
      ],
      "critical_sections": [
        "same-domain routing",
        "SITE_DOMAIN var",
        "first-party cookie domain"
      ],
      "status": "synced"
    },
    "r2-setup-agent": {
      "version": "1.0.0",
      "last_synced": "2026-04-15",
      "depends_on": [
        "wrangler.toml:r2_buckets",
        "modules/db.ts:writeAuditLog"
      ],
      "critical_sections": [
        "binding AUDIT_LOGS",
        "bucket cdp-edge-logs",
        "audit log format"
      ],
      "status": "synced"
    },
    "email-agent": {
      "version": "1.0.0",
      "last_synced": "2026-04-15",
      "depends_on": [
        "modules/nurture.ts:scheduleNurture"
      ],
      "critical_sections": [
        "RESEND_API_KEY",
        "RESEND_FROM_EMAIL",
        "nurture sequences D+1/D+3/D+7"
      ],
      "status": "synced"
    },
    "fingerprint-agent": {
      "version": "1.0.0",
      "last_synced": "2026-04-15",
      "depends_on": [
        "modules/db.ts:generateEdgeFingerprint",
        "modules/db.ts:saveEdgeFingerprint",
        "modules/db.ts:resurrectUTM"
      ],
      "critical_sections": [
        "edge_fingerprints table",
        "UTM resurrection",
        "fingerprint = IP + UA + Accept-Language hash"
      ],
      "status": "synced"
    },
    "compliance-agent": {
      "version": "1.0.0",
      "last_synced": "2026-04-15",
      "depends_on": [
        "extracted-skill/tracking-events-generator/cdpTrack.js:initConsentMode"
      ],
      "critical_sections": [
        "Google Consent Mode v2",
        "ad_storage/analytics_storage denied by default",
        "LGPD/GDPR/CCPA compliance"
      ],
      "status": "synced"
    },
    "localization-agent": {
      "version": "1.0.0",
      "last_synced": "2026-04-15",
      "depends_on": [
        "modules/utils.ts:normalizePhone",
        "modules/utils.ts:normalizeCity"
      ],
      "critical_sections": [
        "E.164 phone normalization",
        "country code BR default",
        "city normalization"
      ],
      "status": "synced"
    },
    "code-guardian-agent": {
      "version": "1.0.0",
      "last_synced": "2026-04-15",
      "depends_on": [
        "all modules"
      ],
      "critical_sections": [
        "forbidden patterns: pixelbuilder/GTM/Stape/VPS",
        "Cloudflare-only enforcement",
        "no PII in console.log"
      ],
      "status": "synced"
    },
    "memory-agent": {
      "version": "1.0.0",
      "last_synced": "2026-04-15",
      "depends_on": [
        "extracted-skill/tracking-events-generator/agents/memory-agent.json"
      ],
      "critical_sections": [
        "client credentials session-only",
        "D1_DATABASE_ID",
        "KV_ID"
      ],
      "status": "synced"
    }
  },
  "change_triggers": {
    "index.ts:addNewEndpoint": "Atualizar: master-orchestrator, server-tracking, browser-tracking, debug-agent, intelligence-agent",
    "index.ts:changeSecretName": "Atualizar: devops-agent, server-tracking, intelligence-agent, whatsapp-ctwa-setup-agent, database-agent",
    "modules/utils.ts:VALID_EVENT_NAMES": "Atualizar: master-orchestrator, youtube-agent, validator-agent, browser-tracking, tracking-plan-agent",
    "modules/ml/ltv.ts:changeAIModel": "Atualizar: ml-clustering-agent, ab-ltv-agent, ltv-predictor-agent",
    "schema.sql:addTable": "Atualizar: database-agent (table count), devops-agent (migration order)",
    "wrangler.toml:addBinding": "Atualizar: devops-agent, database-agent, debug-agent",
    "contracts/api-versions.json:bumpVersion": "Atualizar: agent especialista + master-orchestrator",
    "modules/ml/quiz.ts:changeQuizFlow": "Atualizar: lead-scoring-agent, master-orchestrator, utm-agent",
    "modules/nurture.ts:changeSequences": "Atualizar: lead-scoring-agent, email-agent, whatsapp-agent"
  }
}
