Ascend GTM Platform — Architecture Diagrams
Ascend GTM Platform — Architecture Diagrams
Two diagrams. The technical diagram is for engineers and agents. The marketing-simplified diagram is for the external site and client decks.
See ADR-059 for the naming convention (platform = “Ascend GTM Platform”; V5 Worker = component name only).
Technical Diagram
Five nodes covering the full execution surface post-cutover (2026-05-19, ADR-057).
graph TD Consumer["Consumer\nClaude Code · Cursor · Codex · Windsurf · HTTP"]
subgraph Platform["Ascend GTM Platform"] Composio["Composio MCP\n(canonical OAuth SaaS layer)\nHubSpot · Salesforce · Google\nSlack · Gong · Apollo · SEMrush\n993+ tools — Composio owns OAuth end-to-end\nADR-057"] V5Worker["V5 Gateway Worker\n(frozen fallback — CF edge)\nllm_invoke · aws_* · web_fetch\ncall_api · batch_execute · discover_apis\nFrozen 2026-05-15"] Mem0["Mem0\n(long-term memory)\nmcp.mem0.ai\nReplaced Hindsight 2026-05-19"] AIGateway["AI Gateway\n(LLM observability)\nascend-prod\nEvery LLM call routes here\nInvariant #12"] end
subgraph CFStores["Cloudflare Stores (V5 Worker only)"] KV["KV\nHot path — ≤10ms\ntenant_auth, api_config\ntokens (AWS+Anthropic only)"] D1["D1\nCold path only\nerror_ledger · kv_audit · decision_log"] Vectorize["Vectorize\ncapability_index\nclient-knowledge RAG"] R2["R2\nBackups"] end
SaaSAPIs["Upstream SaaS APIs\nHubSpot · Salesforce · Google · Slack\nGong · Apollo · SEMrush + 993 more"] AWSServices["AWS Services\nBedrock · SES · Textract"]
Consumer -->|"MCP Streamable HTTP\nOAuth 2.1 — spec 2025-11-25"| Composio Consumer -->|"MCP Streamable HTTP\nBearer token"| V5Worker Consumer -->|"MCP"| Mem0
Composio -->|"OAuth 2.0 managed"| SaaSAPIs V5Worker --> KV V5Worker --> D1 V5Worker --> Vectorize V5Worker --> R2 V5Worker -->|"SigV4 signed"| AWSServices V5Worker --> AIGateway AIGateway -->|"LLM APIs"| SaaSAPIsKey invariants visible in this diagram
| Invariant | Where it appears |
|---|---|
| #1 Single plane | Only one V5 Worker box (context-worker plane retired ADR-054 P2) |
| #2 KV-only hot path | KV is the only store the V5 Worker touches on the request path |
| #4 Streamable HTTP | All Consumer → Platform edges use Streamable HTTP transport |
| #5 Composio owns OAuth | SaaS APIs reached only through Composio, never directly from V5 Worker |
| #6 No DOs | No Durable Object box in this diagram (all DO classes removed post-cutover) |
| #12 AI Gateway | Every LLM call routes through AI Gateway node |
Marketing-Simplified Diagram
Three nodes. No implementation details. For ascendgtm.net/platform, client decks, and onboarding materials.
graph LR Agents["Your AI Agents\nClaude Code · Cursor · Codex\nWindsurf · n8n · HTTP clients"]
Platform["Ascend GTM Platform\nManaged OAuth · Multi-tenant\nContext memory · LLM routing\n993+ GTM tools"]
SaaS["Your SaaS Stack\nHubSpot · Salesforce · Google Ads\nGA4 · Gmail · Slack · Gong\nApollo · SEMrush · LinkedIn\n+ any API"]
Agents <-->|"MCP (Streamable HTTP)"| Platform Platform <-->|"OAuth 2.0 managed"| SaaSCopy guidance for this diagram
- “Managed OAuth” — do not say “automated token refresh” or “zero-config auth” (over-promise)
- “Multi-tenant” — correct; Ascend and Kahuna are separate projects with billing isolation
- “Context memory” — correct; Mem0 provides cross-session long-term memory
- “LLM routing” — correct; AI Gateway routes and observes every LLM call
- “993+ GTM tools” — sourced from Composio’s catalog count as of 2026-05-19; verify before publishing
Do NOT use: “AI-native”, “install revenue rhythms”, “autonomous GTM agent”, or any invented compound. Industry-standard terms only (per global CLAUDE.md copy rule).