Quickstart
Welcome to the Ascend GTM Ops platform docs. This page is the five-minute entry point for any agent (human or AI) opening the repo for the first time.
What this repo is
The Ascend GTM Ops platform delivers GTM automation for Ascend and its agency-managed tenants. Runtime is 100% on the Cloudflare edge — Workers + KV + D1 + Vectorize + R2 + AI Gateway.
Canonical stack reference: docs/CURRENT-STACK.md.
If anything in this site conflicts with that file, that file wins.
The three MCP surfaces
| Surface | Use for | Auth |
|---|---|---|
Composio (pr_8AjnN9gdcrYt Ascend / pr_ZMOhNqFRKhVj Kahuna) | OAuth SaaS — HubSpot, Salesforce, Google, Slack, Gong, Apollo, SEMrush, Gamma, QuickBooks, Vercel, etc. | x-consumer-api-key |
| Pipedream Connect | SaaS gap-fill where Composio doesn’t cover (currently Google Tag Manager). Per ADR-061. | Workspace OAuth Bearer minted per call |
| ascend-side-channel | Stateless LLM + AWS — llm_invoke, claude, web_fetch, perplexity_search, aws_bedrock_invoke, aws_ses_send, aws_textract. | Authorization: Bearer $ASCEND_GATEWAY_TOKEN |
V5 (ascend-gateway-v5) is retired as of 2026-05-20 per
ADR-065.
Do not call its endpoints.
Pick the right MCP
Look up the toolkit in the
toolkit registry.
The vendor column tells you which MCP server to call:
COMPOSIO→mcp__composio-{tenant}__*PIPEDREAM→mcp__pipedream-{toolkit}-{tenant}__*- (V5_CALL_API entries are historical — the Worker is retired.)
If the toolkit isn’t listed, treat it as a gap and file under ADR-058 Path 2 (defaults to Pipedream Connect per ADR-061).
The five carry-forward invariants
Post-V5, the canonical invariants collapse to:
- Composio owns OAuth end-to-end for every SaaS toolkit it covers. Pipedream Connect is the sanctioned gap-fill.
- Fail-fast, no retries in the request path. 30s
AbortControllertimeout on every outbound fetch. - OAuth 2.1 + Streamable HTTP on every MCP surface (spec
2025-11-25). No SSE. - Every LLM call routes through AI Gateway (
ascend-prod). Background/cron defaults to DeepSeek. - Sources of truth: KV (config), D1 (audit), Vectorize (facts-embedded), R2 (backups), GitHub (code), Composio (OAuth), Mem0 (memory). No others without an ADR.
What lives where
- Architecture decisions → ADRs under
docs/decisions/. - System architecture →
docs/architecture/. - Composio routing + capability registries →
docs/composio/. - Tool inventories + requirements →
docs/requirements/. - Multi-session project status → GitHub Projects v2 (the markdown LEDGER is archived).
- Operational state (latest session) →
HANDOVER.mdat repo root.
Editing docs
Read the doc-platform skill at
.claude/skills/doc-platform/SKILL.md before adding or changing any
doc. It covers frontmatter schema (check #26), last_verified refresh
(check #27), AGENTS.md regeneration (check #28), and semantic-drift CI
(check #31).
Next reads
AGENTS.md— full agent context.HANDOVER.md— last session’s state.docs/CURRENT-STACK.md— canonical stack.- ADR-063 — why this doc platform exists.