Barnum, Esq.
Digital CMO
Core trick
Runs one isolated agent per marketing channel over raw platform exports, and reports NULL rather than zero for stages a channel does not measure.
Tags
Description
Digital CMO
README excerpt
# Agentic CMO
A CMO agent that lives in Snowflake. One orchestrator manages one isolated agent per marketing channel: Google Ads, LinkedIn Ads, billboards, outbound email, email reply threads, conferences, SEO and GEO. Each channel agent reads its own raw platform export and reports what it actually measures. Where channels share a funnel (MQL, SQL, cost per SQL, CAC) the CMO compares them on it, writes decision memos, and plans next year in the CFO's language. A channel that does not measure a stage reports NULL, never zero.
Built on Snowflake Cortex Agents, Cortex Analyst, `AI_COMPLETE` and Claude.
```
FRONTEND --REST + SSE--> FASTAPI BACKEND --PAT--> SNOWFLAKE (CMO_DB)
|
deterministic routes |-- SQL --------------------> CORE views + procs
/now/review |-- parallel Agent Run -----> CH_GOOGLE.AGENT CH_LINKEDIN.AGENT ...
|-- stream ----------------> CORE.CMO_AGENT (synthesizes the memo)
channel onboarding |-- stage / AI_COMPLETE ---> CH_<X> schema per channel
CORE CHANNEL_REGISTRY FUNNEL_FACT (union of active MAP views) MQL_TO_SQL_RATE
ASSUMPTIONS ALLOCATION DECISION_LOG MAPPING_HISTORY FUNNEL_SV CMO_AGENT
CH_<X> UPLOADS stage RAW_* tables MAP view SV REPORT() RECONCILE() AGENT
```
- **Isolation.** Each channel has its own schema, raw tables, semantic view and agent. A channel agent's tools touch only its schema. The CMO reads only `CORE`