Mermaid render test
If you can see a flow diagram below this line (not raw graph TD text), Obsidian + Mermaid + rclone-over-Tailscale all work end to end. Delete this file when you’re satisfied.
graph TD INET[Internet] --> CF[Cloudflare Tunnel + Tailscale Funnel] CF --> WH[Webhook Handlers<br/>:18790-18797] WH --> SUPA[(Supabase CCP)] WH --> HUB[HubSpot] WH --> GW[OpenClaw Gateway :18789] GW --> AGENTS[36 Agents<br/>Strategic / Ops / Automation] AGENTS --> PK[Portkey Proxy :18900] PK --> ANTH[Anthropic API] PK --> OAI[OpenAI API] PK --> MOON[Moonshot API] AGENTS --> MEM[(44 SQLite memory DBs<br/>vec0 + FTS5)] classDef external fill:#1f2937,stroke:#9ca3af,color:#f3f4f6 classDef internal fill:#065f46,stroke:#10b981,color:#ecfdf5 classDef data fill:#1e3a8a,stroke:#3b82f6,color:#dbeafe class INET,ANTH,OAI,MOON,HUB external class CF,WH,GW,AGENTS,PK internal class SUPA,MEM data
What this proves
- Mermaid renders inline in Obsidian Reading mode and Live Preview mode (
cmd-Etoggles). - GitHub web view also renders this (try pushing the file to a repo — same diagram).
- VSCode renders it if the “Markdown Preview Mermaid Support” extension is installed.
Next step after this works
Reply “vault up, mermaid renders” and we’ll start populating the real maps:
agents-map.md— 36 agents → tier → memory DB → Portkey routewebhooks-map.md— 9 ports → handler files → upstream services → Supabase tablesmcp-map.md— 8 MCP servers → tools exposed → backing servicesdata-map.md— Supabase projects → 73 CCP tables → write pathsexternal-integrations.md— HubSpot / Twilio / OpenPhone / SalesMsg / Portkey / etc.governance-map.md— CLAUDE.md → MEMORY → SAFETY-RAILS → PLAN-INDEX → 22 gatesplans-map.md— 5 active plans → blockers → cross-plan dependenciessystem.canvas— Obsidian Canvas top-level (drag/drop, embeds the 7 Mermaid blocks)
This file is a sentinel — once you confirm rendering, it has done its job and can be deleted.