Ven Agency — Operating Infrastructure Plan

Version: 1.0
Date: 14 February 2026
Author: Charlie (Chief Operating Systems Architect)
Status: Draft for Andy & Steve review


1. Executive Summary

Ven Agency runs a production AI operations stack that most agencies don't have at all. The Mac Mini + OpenClaw + dual-agent (Charlie/Tom) setup already handles email triage, client reporting, ad management, payroll, and support tickets autonomously. But it has clear single points of failure, manual bottlenecks, and unrealised potential.

This plan upgrades the existing system across five architectural planes — Control, Knowledge, Execution, Interface, and Safety — to reach Minimum Viable Autonomous Agency (MVAA) within 90 days. The core architectural shift is a two-tier agent model: PAs (Charlie, Tom, Sammy, Brian) become pure orchestrators who spawn ephemeral specialist agents per-job. PAs don't do the work — they define it, dispatch it, and relay results. This keeps PAs fast, jobs isolated, and costs controlled.

The key additions:

The goal: reduce human involvement in routine operations by ~70%, eliminate bus-factor risk on Andy, and give Steve/James real-time operational intelligence without asking for it.

Estimated implementation cost: ~$200-400/month incremental API spend. No new hardware required (MBA already available as secondary node).


2. Current-State Audit

2.1 System Map

┌─────────────────────────────────────────────────────────────────┐
│                    MAC MINI (PRIMARY HOST)                       │
│  ┌──────────┐  ┌──────────┐  ┌──────────┐  ┌──────────────┐   │
│  │ Charlie  │  │   Tom    │  │Sub-Agents│  │  Cron/Launchd │   │
│  │ (Opus)   │←→│ (Opus)   │  │(Codex/   │  │  (15-min      │   │
│  │ Andy ops │  │ Steve ops│  │ Sonnet)  │  │   heartbeats) │   │
│  └────┬─────┘  └────┬─────┘  └────┬─────┘  └──────┬────────┘   │
│       │              │             │               │             │
│  ┌────┴──────────────┴─────────────┴───────────────┴──────┐     │
│  │              OpenClaw Runtime (Node.js)                 │     │
│  │  Skills (50+) │ Memory │ Knowledge Graph │ Sessions     │     │
│  └────────────────────────────┬────────────────────────────┘     │
│                               │                                  │
│  ┌────────────────────────────┴────────────────────────────┐     │
│  │                    Integration Layer                      │    │
│  │  Gmail API │ Calendar │ ClickUp │ Wise │ GA4 │ Meta │    │    │
│  │  GSC │ Google Ads │ GTM │ Cloudflare │ RunCloud │ DO  │    │   │
│  └──────────────────────────────────────────────────────────┘    │
└─────────────────────────────────────────────────────────────────┘
         │              │                │
    ┌────┴────┐   ┌─────┴─────┐   ┌─────┴──────┐
    │Telegram │   │  GitHub   │   │ Cloudflare  │
    │(Control)│   │ (Code)    │   │ Pages (Web) │
    └─────────┘   └───────────┘   └─────────────┘

2.2 Single Points of Failure

Component Risk Impact Mitigation (Current)
Mac Mini hardware Medium Total outage — all agents, automations, and integrations stop None (no failover node)
Mac Mini power/network Medium Same as above Tailscale provides remote access, but no auto-recovery
Andy's knowledge HIGH Bus factor = 1 for ops procedures, client context, credential access Memory files + skills partially document, but not comprehensive
OpenClaw process crash Low Agents go silent until restart launchd auto-restart, but no health monitoring
Google Auth tokens Low All Gmail/Calendar/Sheets/Docs integrations fail Auto-refresh via google-auth.js, but single token file
ClickUp API Low Task creation/updates fail Scripts retry, but no queue/fallback
Anthropic rate limits Medium Charlie/Tom go silent or degrade Manual model switching documented, not automated

2.3 Bottlenecks by Function

Sales (James):

Delivery (Megan + Vietnam team):

Operations (Andy):

Business Development (Steve):


3. Future-State Architecture (5 Planes)

3.1 Control Plane — Orchestration, Routing, Cost, Evolution

┌───────────────────────────────────────────────────┐
│                  CONTROL PLANE                     │
│                                                    │
│  ┌─────────────┐  ┌──────────────┐  ┌──────────┐ │
│  │Model Router  │  │Cost Observer │  │Evolution │ │
│  │             │  │              │  │Engine    │ │
│  │ Opus→decisions│ │ Per-agent    │  │Daily     │ │
│  │ Codex→code   │  │ spend track  │  │drift     │ │
│  │ Flash→bulk   │  │ anomaly alert│  │detection │ │
│  │ Sonnet→mid   │  │ weekly report│  │self-patch│ │
│  └──────┬──────┘  └──────┬───────┘  └────┬─────┘ │
│         │                │               │        │
│  ┌──────┴────────────────┴───────────────┴──────┐ │
│  │           Orchestration Bus (OpenClaw)         │ │
│  │  Session mgmt │ Cron scheduler │ Event bus    │ │
│  │  Health checks │ Failover logic │ Audit log   │ │
│  └───────────────────────────────────────────────┘ │
└───────────────────────────────────────────────────┘

Model Router (upgrade existing):

Cost Observatory (new):

Evolution Engine (new):

3.2 Knowledge Plane — Memory, Vector, Graph, KB

┌───────────────────────────────────────────────────┐
│                 KNOWLEDGE PLANE                    │
│                                                    │
│  ┌──────────┐  ┌──────────┐  ┌─────────────────┐ │
│  │  Memory   │  │ Vector   │  │Knowledge Graph  │ │
│  │  System   │  │ Store    │  │(Entity/Relation)│ │
│  │          │  │          │  │                 │ │
│  │ Daily .md │  │ ChromaDB │  │ graph.json      │ │
│  │ MEMORY.md │  │ or Qdrant│  │ GPT-4o-mini     │ │
│  │ Per-agent │  │ Local    │  │ Incremental     │ │
│  └─────┬────┘  └─────┬────┘  └────────┬────────┘ │
│        │             │                │           │
│  ┌─────┴─────────────┴────────────────┴─────────┐ │
│  │          Unified Retrieval Layer               │ │
│  │  memory_search → vector_search → graph_query  │ │
│  │  Ranked fusion │ Source citations │ Confidence │ │
│  └──────────────────────┬────────────────────────┘ │
│                         │                          │
│  ┌──────────────────────┴────────────────────────┐ │
│  │              KB Ingestion Pipeline             │ │
│  │  Telegram drop → type detect → extract →      │ │
│  │  chunk (512 tokens) → embed → vector store    │ │
│  │  Supported: URL, PDF, DOCX, TXT, MD, HTML     │ │
│  └───────────────────────────────────────────────┘ │
│                                                    │
│  ┌───────────────────────────────────────────────┐ │
│  │           CRM / Contact Intelligence           │ │
│  │  Gmail contacts │ Calendar attendees │ ClickUp │ │
│  │  Dedupe │ Role classification │ Last touch     │ │
│  │  Relationship score │ Meeting prep briefs      │ │
│  └───────────────────────────────────────────────┘ │
└───────────────────────────────────────────────────┘

Vector Store Selection:

KB Ingestion Pipeline (new skill: kb-ingest):

CRM/Contact Intelligence (new skill: crm-contacts):

3.3 Execution Plane — Agents, Council, Automation

┌───────────────────────────────────────────────────────────────┐
│                     EXECUTION PLANE                            │
│                                                                │
│  ═══════════════════ TIER 1: PAs ═══════════════════          │
│  (Always running, human-facing, orchestration only)            │
│                                                                │
│  ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐            │
│  │ Charlie │ │  Tom    │ │ Sammy   │ │ Brian   │            │
│  │📋 Andy  │ │🔧 Steve │ │📊 Megan │ │🎯 James │            │
│  │ Opus 4.6│ │ Opus 4.6│ │ Sonnet  │ │ Sonnet  │            │
│  │ PA/Orch │ │ PA/Orch │ │ PA/Orch │ │ PA/Orch │            │
│  └────┬────┘ └────┬────┘ └────┬────┘ └────┬────┘            │
│       │           │           │           │                   │
│  ═════╪═══════════╪═══════════╪═══════════╪═══════════════   │
│       │           │           │           │                   │
│  ═══ TIER 2: SPECIALIST AGENTS (Spawned per-job, die after) ══│
│                                                                │
│  Charlie spawns:        Tom spawns:                            │
│  ├─ Onboarder          ├─ Client Health Monitor               │
│  ├─ Payroll Generator  ├─ Support Diagnostician               │
│  ├─ Invoice Processor  └─ Compliance Checker                  │
│  ├─ KB Ingestor                                               │
│  └─ Cost Reporter      Sammy spawns:                          │
│                        ├─ Report Builder (per client)         │
│  Brian spawns:         ├─ Ad Anomaly Investigator             │
│  ├─ Prospect Researcher├─ SEO Auditor                         │
│  ├─ Outreach Drafter   ├─ Creative Analyst                    │
│  ├─ Pipeline Reporter  └─ Competitor Scanner                  │
│  └─ Meeting Prepper                                           │
│                                                                │
│  ┌────────────────────────────────────────────────────────┐   │
│  │         Shared Services (Available to all agents)       │   │
│  │  ChromaDB │ Contact Store │ Cost Observatory │ Gmail    │   │
│  │  Calendar │ ClickUp │ Wise │ Google Ads │ Meta Ads     │   │
│  └────────────────────────────────────────────────────────┘   │
│                                                                │
│  ┌───────────────────────────────────────────────┐           │
│  │              AI COUNCIL (Monthly)              │           │
│  │  Spawned by Tom or Charlie on schedule         │           │
│  │                                                │           │
│  │  ┌──────────┐ ┌──────────┐ ┌──────────┐      │           │
│  │  │ Growth   │ │ Revenue  │ │ Skeptic  │      │           │
│  │  │Strategist│ │ Guardian │ │ Operator │      │           │
│  │  └────┬─────┘ └────┬─────┘ └────┬─────┘      │           │
│  │       │            │            │              │           │
│  │  ┌────┴────┐  ┌────┴────────────┴──────┐      │           │
│  │  │ Team    │  │  Council Moderator     │      │           │
│  │  │Dynamics │  │  (reconcile + rank)    │      │           │
│  │  │Architect│  │                        │      │           │
│  │  └─────────┘  └────────────────────────┘      │           │
│  └───────────────────────────────────────────────┘           │
│                                                                │
│  ┌───────────────────────────────────────────────┐           │
│  │           Cron & Automation Layer              │           │
│  │  Gmail intake (15m) │ Heartbeats (15m)        │           │
│  │  Follow-up tracker │ Maintenance forwarder     │           │
│  │  Cost observatory (daily) │ Contact sync (daily)│          │
│  │  KB ingestion (on-demand) │ Evolution (daily)  │           │
│  │  Council review (monthly) │ Meeting prep (1h)  │           │
│  └───────────────────────────────────────────────┘           │
└───────────────────────────────────────────────────────────────┘

AI Council System (new):

The Council runs monthly (or on-demand via /council). It's a structured multi-perspective business review.

Personas:

Persona Focus Model Prompt Seed
Growth Strategist Market gaps, new services, client expansion, partnerships Sonnet 4.5 "You are an aggressive growth advisor for a 13-year-old digital agency. Identify the 3 highest-leverage growth opportunities..."
Revenue Guardian Margin protection, pricing, cash flow, cost reduction Sonnet 4.5 "You are a conservative CFO advisor. Identify revenue risks, pricing gaps, cost overruns..."
Skeptical Operator What could go wrong, resource constraints, technical debt Sonnet 4.5 "You are a risk-focused operations critic. Identify the top 5 things that could break..."
Team Dynamics Architect Capacity, morale, hiring gaps, skill development Sonnet 4.5 "You are an HR strategist. Assess team capacity, identify burnout risk, hiring priorities..."
Council Moderator Reconcile disagreements, rank insights, produce final report Opus 4.6 "You have received 4 advisor perspectives. Reconcile conflicts, rank the top 10 insights..."

Data inputs (auto-collected):

Flow:

  1. Data collection sub-agent gathers inputs → council/data/YYYY-MM.json
  2. Each persona runs as a spawned sub-agent (Sonnet 4.5, ~$0.50 each)
  3. Outputs collected → fed to Moderator (Opus, ~$2)
  4. Final report → council/reports/YYYY-MM.md
  5. Summary → Telegram (Steve + Andy) with link to full report
  6. Action items → ClickUp tasks (with approval gate)

Estimated cost per council run: ~$4-6

3.4 Interface Plane — Telegram, ClickUp, Gmail, Client-Facing

┌───────────────────────────────────────────────────┐
│                 INTERFACE PLANE                     │
│                                                    │
│  TELEGRAM (Primary Control)                        │
│  ┌─────────────────────────────────────────────┐  │
│  │ Topics:                                      │  │
│  │  #general    — Charlie/Tom direct chat       │  │
│  │  #cron       — Automation status/alerts      │  │
│  │  #council    — AI Council reports            │  │
│  │  #kb         — Knowledge base ingestion      │  │
│  │  #sales      — Pipeline updates, lead alerts │  │
│  │  #support    — Support ticket flow           │  │
│  │  #costs      — API spend reports/alerts      │  │
│  │  #meetings   — Prep briefs, action items     │  │
│  └─────────────────────────────────────────────┘  │
│                                                    │
│  CLICKUP (Task Management)                         │
│  ┌─────────────────────────────────────────────┐  │
│  │ Spaces: Ven Agency │ Clients │ Internal      │  │
│  │ Auto-created: email intake, support tickets, │  │
│  │   council actions, meeting actions, follow-ups│  │
│  │ Statuses: Open → In Progress → Review →      │  │
│  │           Approved → Done                     │  │
│  └─────────────────────────────────────────────┘  │
│                                                    │
│  GMAIL (Communication)                             │
│  ┌─────────────────────────────────────────────┐  │
│  │ Inbound: auto-triage → classify → ClickUp   │  │
│  │ Outbound: draft → Telegram approve → send    │  │
│  │ Labels: For-Charlie, Ann's Clients,          │  │
│  │   Maintenance, Processed, AWAITING REPLY     │  │
│  └─────────────────────────────────────────────┘  │
│                                                    │
│  CLIENT-FACING                                     │
│  ┌─────────────────────────────────────────────┐  │
│  │ Reports: Cloudflare Pages (auto-deployed)    │  │
│  │ Humanizer: ALL external text passes through  │  │
│  │ Approval: No client comms without human sign │  │
│  └─────────────────────────────────────────────┘  │
└───────────────────────────────────────────────────┘

Telegram Topic Structure (upgrade):

3.5 Safety & Quality Plane

┌───────────────────────────────────────────────────┐
│              SAFETY & QUALITY PLANE                 │
│                                                    │
│  ┌──────────────┐  ┌──────────────┐              │
│  │ Approval     │  │ Humanizer    │              │
│  │ Gates        │  │ (Mandatory)  │              │
│  │              │  │              │              │
│  │ • External   │  │ All external │              │
│  │   emails     │  │ text passes  │              │
│  │ • Payments   │  │ through AI   │              │
│  │ • Client     │  │ pattern      │              │
│  │   comms      │  │ detection +  │              │
│  │ • Hiring     │  │ rewrite      │              │
│  │ • Public     │  │              │              │
│  │   posts      │  │ Cost: ~$0.01 │              │
│  └──────────────┘  └──────────────┘              │
│                                                    │
│  ┌──────────────┐  ┌──────────────┐              │
│  │ Audit Trail  │  │ Guardrails   │              │
│  │              │  │              │              │
│  │ Every action │  │ • No send    │              │
│  │ logged to    │  │   without    │              │
│  │ session      │  │   approval   │              │
│  │ transcripts  │  │ • No delete  │              │
│  │              │  │   without    │              │
│  │ Searchable   │  │   confirm    │              │
│  │ via memory   │  │ • No payment │              │
│  │ + vector     │  │   >threshold │              │
│  │              │  │ • Rate limits│              │
│  │ Retention:   │  │   on all APIs│              │
│  │ 90 days      │  │ • Sensitive  │              │
│  │ active,      │  │   data never │              │
│  │ archive      │  │   in logs    │              │
│  └──────────────┘  └──────────────┘              │
│                                                    │
│  ┌──────────────────────────────────────────────┐ │
│  │         Verification Layer                     │ │
│  │  • Payroll: mandatory checklist before send   │ │
│  │  • Reports: data accuracy spot-check          │ │
│  │  • Drafts: signature + formatting validation  │ │
│  │  • Sub-agent output: never trust financials   │ │
│  └──────────────────────────────────────────────┘ │
└───────────────────────────────────────────────────┘

Failover Architecture:

PRIMARY: Mac Mini (Ven's Mac mini)
    │
    ├── Heartbeat monitor: Mac Mini → MBA every 5 min
    │   (Script: curl health endpoint via Tailscale)
    │
    ▼
SECONDARY: MacBook Air (Max's host)
    │
    ├── OpenClaw installed, config synced
    ├── Shared skills repo (git pull on failover)
    ├── Google auth tokens replicated
    │
    ▼
FAILOVER TRIGGER:
    3 consecutive missed heartbeats (15 min) →
    MBA auto-starts OpenClaw with failover config →
    Telegram notification: "⚠️ Failover active — MBA running"
    
RECOVERY:
    Mac Mini comes back → health check passes →
    MBA gracefully stops → Telegram: "✅ Primary restored"

Observability Stack:

What How Where Frequency
Agent health OpenClaw session status Telegram #cron Every heartbeat
API costs Cost Observatory script Telegram #costs + dashboard Daily summary, instant alerts
Cron failures consecutiveErrors check Telegram (immediate) Every heartbeat
Disk space df -h check Telegram (if <10GB) Daily
Memory usage vm_stat + process check Telegram (if >80%) Hourly
Git sync GitHub push status Silent unless failure Hourly
Google auth Token expiry check Telegram (if <24h) Daily
Backup status Google Drive upload verify Telegram (if failed) Daily

4. Agentic Org Chart

4.1 Humans

Person Role AI Agent AI-Augmented Responsibilities Remaining Manual
Andy Dir. Operations Charlie 📋 Strategy approval, vendor relationships, team 1:1s, complex client escalations Approve/reject gates, financial sign-off, hiring decisions
Steve Managing Director Tom 🔧 Business strategy, key client relationships, growth decisions Council review, major client meetings, partnership decisions
James Sales & Marketing Dir. Brian 🎯 Lead qualification, pipeline tracking, outreach drafting, follow-up automation Meeting attendance, relationship building, closing deals
Megan Digital Marketing Mgr. Sammy 📊 Campaign monitoring, report generation, anomaly detection, data collection Creative review, strategy calls, client relationship

4.2 AI Architecture: Two-Tier Model

Core principle: PAs don't do the work. PAs define and spawn the workers.

Each PA is an agent factory — it knows the specs for every specialist agent it can spawn, routes incoming requests to the right specialist, and reports results back to its human. Specialists are ephemeral: spawned per-job, given clean context, and terminated on completion.

This means:


TIER 1: Personal Assistants (Always Running)

Charlie 📋 — Andy's PA

Tom 🔧 — Steve's PA

Sammy 📊 — Megan's PA

Brian 🎯 — James's PA


TIER 2: Specialist Agents (Spawned Per-Job, Ephemeral)

Specialists are spawned by PAs via sessions_spawn. Each gets a focused task, clean context, relevant data, and a timeout. They do the work and return results to the PA, who relays to the human.

Key design rules:

Charlie's Specialists

Specialist Trigger Model Timeout What It Does
Onboarder /onboard <client> Sonnet 5 min Creates client folder, ClickUp checklist, Drive folder, researches company, drafts welcome email
Payroll Generator "Generate payslips for [month]" Sonnet 5 min Reads team data, calculates pay, generates HTML payslips → PDF
Invoice Processor Invoice email/attachment Flash 3 min Extracts amount/vendor/currency, creates Wise quote, returns for approval
KB Ingestor /kb <url> Flash 2 min Fetches URL, chunks, embeds, stores in vector DB
Cost Reporter Daily cron (6pm) Flash 2 min Parses session logs, aggregates spend by agent/model, generates summary
Meeting Prepper 1h before calendar event Sonnet 3 min Looks up attendees in contact store, pulls recent emails/tasks, generates briefing
Evolution Auditor Daily cron (3am) Flash 3 min Diffs OpenClaw docs against workspace, flags drift, suggests updates

Tom's Specialists

Specialist Trigger Model Timeout What It Does
Support Diagnostician support@ email detected Sonnet 5 min Classifies severity, runs site health check, diagnoses issue, proposes fix
Client Health Monitor Weekly cron (Monday) Sonnet 5 min Pulls all client metrics (ads, SEO, site health), scores health, flags at-risk
Compliance Checker Monthly cron Flash 3 min Reviews SOPs vs actual practice, flags gaps
SOP Enforcer On-demand or cron Flash 2 min Checks specific procedure compliance against documented standards

Sammy's Specialists

Specialist Trigger Model Timeout What It Does
Report Builder /report <client> <period> or monthly cron Sonnet 5 min Collects API data, generates insights, builds web presentation, deploys
Ad Anomaly Investigator Anomaly detection alert (3x daily) Sonnet 3 min Root cause analysis on detected anomaly, recommends action
SEO Auditor /seo <client> or monthly cron Sonnet 5 min Pulls GSC/DataForSEO data, identifies opportunities, generates audit
Creative Analyst Weekly cron Flash 3 min Analyses ad creative performance, detects fatigue, suggests refreshes
Competitor Scanner /competitor <client> or monthly cron Sonnet 5 min Ad library research, SERP comparison, positioning analysis
Copy Extractor /copy <client> Sonnet 3 min Pulls existing RSA copy from Google Ads, fills gaps to 15/4
Campaign Builder "Build campaigns from [sheet URL]" Sonnet 5 min Reads Google Sheet plan, creates campaigns/ad groups/keywords/ads

Brian's Specialists

Specialist Trigger Model Timeout What It Does
Prospect Researcher New lead or /research <company> Sonnet 3 min Web research, LinkedIn lookup, ABN check, company brief
Outreach Drafter "Draft email for " Sonnet 3 min Writes first-touch or follow-up email per James's SOP
Pipeline Reporter Weekly cron (Monday) Flash 2 min Scans ClickUp pipeline, summarises stage counts, flags stale leads
Meeting Prepper 1h before sales meeting Sonnet 3 min Pulls contact history, recent emails, company research, generates brief
Follow-up Chaser Heartbeat trigger (AWAITING REPLY >3d) Sonnet 2 min Drafts chase email for stale leads

Shared Specialists (Any PA Can Spawn)

Specialist Model What It Does
Coder Codex 5.3 Writes/edits code, scripts, deploys
Web Researcher Sonnet Structured web research, source compilation
Document Drafter Sonnet + Humanizer Writes client-facing docs, proposals, emails (always through humanizer)
Data Collector Flash Pulls raw data from APIs (Meta, Google Ads, GA4, GSC) and normalises

AI Council Agents — New (Spawned Monthly)

Agent Focus Data Consumed Output
Growth Strategist Market opportunities, service expansion, client upsell Client list, revenue, market trends, competitor intel Growth opportunities report
Revenue Guardian Margin analysis, pricing, cost control, cash flow Wise data, API costs, team costs, client fees Financial health report
Skeptical Operator Risk identification, technical debt, failure modes System health, incident history, single points of failure Risk assessment
Team Dynamics Architect Capacity planning, morale indicators, hiring needs Team structure, leave data, workload distribution Team health report
Council Moderator Synthesis, conflict resolution, priority ranking All 4 advisor reports Final council report with ranked actions

4.3 Org Chart (Visual)

                 TIER 1: PERSONAL ASSISTANTS
                 (Always on, human-facing)

                    ┌──────────────────┐
                    │   Steve (MD)     │
                    │   + Tom 🔧 PA    │
                    └────────┬─────────┘
                             │
          ┌──────────────────┼──────────────────┐
          │                  │                  │
   ┌──────┴───────┐  ┌──────┴───────┐  ┌───────┴───────┐
   │ Andy (Ops)   │  │ James        │  │ Megan         │
   │ + Charlie 📋 │  │ (Sales)      │  │ (Marketing)   │
   │   PA (Opus)  │  │ + Brian 🎯   │  │ + Sammy 📊    │
   └──────┬───────┘  │   PA (Snnt)  │  │   PA (Snnt)   │
          │          └──────┬───────┘  └───────┬───────┘
          │                 │                  │
  ════════╪═════════════════╪══════════════════╪════════
          │                 │                  │
          │    TIER 2: SPECIALIST AGENTS       │
          │    (Spawned per-job, ephemeral)     │
          │                 │                  │
   ┌──────┴───────┐  ┌─────┴────────┐  ┌──────┴───────┐
   │ Onboarder    │  │ Prospect     │  │ Report       │
   │ Payroll Gen  │  │ Researcher   │  │ Builder      │
   │ Invoice Proc │  │ Outreach     │  │ Ad Anomaly   │
   │ KB Ingestor  │  │ Drafter      │  │ Investigator │
   │ Cost Reporter│  │ Pipeline     │  │ SEO Auditor  │
   │ Meeting Prep │  │ Reporter     │  │ Creative     │
   │ Evolution    │  │ Meeting Prep │  │ Analyst      │
   │ Auditor      │  │ Follow-up    │  │ Competitor   │
   └──────────────┘  │ Chaser       │  │ Scanner      │
                     └──────────────┘  └──────────────┘
   Tom 🔧 spawns:
   ┌──────────────┐
   │ Support      │
   │ Diagnostician│
   │ Client Health│
   │ Monitor      │
   │ Compliance   │
   │ Checker      │
   └──────────────┘

   ┌───────────────────── SHARED ─────────────────────┐
   │ Coder │ Web Researcher │ Doc Drafter │ Data       │
   │ Collector │ ChromaDB │ Contact Store │ Cost Obs   │
   └───────────────────────────────────────────────────┘

   ┌─────────────────────────────────────┐
   │      AI COUNCIL (Monthly/On-Demand) │
   │  Growth │ Revenue │ Skeptic │ Team  │
   │  ──── Council Moderator (Opus) ──── │
   └─────────────────────────────────────┘

5. New Operating Cadence

Daily

Time (AEDT) What Trigger Where Owner
06:00 Contact sync + relationship scoring Cron Background Charlie
06:30 Morning briefing (calendar + meeting prep) Cron Telegram #meetings Charlie
07:00 Gmail triage summary (overnight emails) Cron Telegram #general Charlie
07:00 Ad performance overnight summary Cron Telegram (Megan) Sammy
Every 15m Heartbeat (Gmail, cron health, follow-ups) Cron Silent / Telegram on alert Charlie
Every 15m Maintenance email forwarding Cron Background Script
1h before meeting Meeting prep brief Calendar trigger Telegram #meetings Charlie
18:00 Daily cost summary Cron Telegram #costs Charlie
03:00 Evolution engine (drift detection) Cron Telegram #cron (if action needed) Charlie

Weekly

Day What Trigger Where Owner
Monday 09:00 Pipeline review (leads, follow-ups due) Cron Telegram #sales Sales Intel
Monday 09:30 Client health dashboard refresh Cron Cloudflare Pages Sammy
Wednesday 09:00 API cost weekly report + trends Cron Telegram #costs Charlie
Friday 16:00 Week-in-review (tasks completed, pending, blocked) Cron Telegram #general Charlie
Friday 16:30 Memory maintenance (daily → MEMORY.md distillation) Cron Background Charlie

Monthly

When What Trigger Where Owner
1st Monday AI Council session Cron Telegram #council + report Council agents
1st week Client report generation (all active clients) Cron Cloudflare Pages + email Sammy + Charlie
1st week Vietnam team payroll Manual trigger by Andy Files + Gmail drafts Charlie
Mid-month Competitor intel report Cron Telegram + ClickUp Sammy
Last Friday Skill audit (unused/broken skills) Cron Telegram #cron Evolution Engine

Quarterly

When What Trigger Where Owner
Q start OKR review + goal reset Manual Telegram + ClickUp Steve + Andy
Q start Infrastructure review (failover test, backup verify) Cron Telegram #cron Charlie
Q start Client retention analysis Cron Telegram #council Revenue Guardian

6. Top 10 High-Leverage Automation Blueprints

6.1 Client Onboarding

Trigger: Andy sends /onboard <client name> in Telegram or creates ClickUp task with "Onboarding" tag

Agent chain:

  1. Charlie receives command → spawns Onboarder specialist with client details
  2. Onboarder creates client folder structure in ~/ven-clients/<client>/
  3. Onboarder creates ClickUp onboarding checklist (templated)
  4. Onboarder pulls company info (web research, LinkedIn, ABN lookup)
  5. Onboarder creates Google Drive folder, shared doc for credentials
  6. Onboarder drafts welcome email → returns to Charlie → Charlie presents to Andy for approval
  7. Charlie notifies Sammy to spawn tracking setup for new domains

Data touched: ClickUp, ven-clients/, Google Drive, Gmail Approval gates: Welcome email requires Andy approval; ad account access requests require client confirmation Failure modes: Missing client info → Charlie asks Andy; API failures → retry 3x then alert Cost control: Flash for research, Sonnet for drafts (~$0.30 total) Telegram command: /onboard Acme Corp — SEO + Google Ads — contact: jane@acme.com

6.2 Delivery QA

Trigger: Cron (weekly) or manual /qa <client>

Agent chain:

  1. Sammy spawns Report Builder specialist for the client
  2. Report Builder pulls latest data (Meta, Google, GA4, GSC) via Data Collector
  3. Report Builder compares report figures against raw API data
  4. Report Builder checks all links, runs mobile rendering test via Smooth CLI
  5. Report Builder returns discrepancy report → Sammy creates ClickUp task if needed

Data touched: Cloudflare Pages reports, ad APIs, GA4, GSC Approval gates: None (automated check, human reviews flags) Failure modes: API rate limits → backoff + retry; stale data → flag staleness Cost control: Flash for comparison (~$0.10) Telegram command: /qa all or /qa clientname

6.3 Sales Follow-Up

Trigger: Gmail follow-up tracker (runs on heartbeat, every 15 min)

Agent chain:

  1. Brian's heartbeat detects stale AWAITING REPLY tasks
  2. Brian spawns Follow-up Chaser specialist per stale lead
  3. Chaser checks Gmail for replies in the thread
  4. If reply detected → updates ClickUp status → returns to Brian → Brian notifies James
  5. If no reply >3 days → Chaser drafts chase email → returns to Brian → Brian presents to James for approval
  6. If no reply >7 days → Brian escalates to Steve

Data touched: ClickUp, Gmail, Telegram Approval gates: All chase emails require James approval Failure modes: Gmail API down → retry next heartbeat; thread detection false positive → human review Cost control: Flash for classification, Sonnet for drafts (~$0.05 per run) Telegram command: /followups (show all pending)

6.4 Invoice & Payment

Trigger: Wise webhook or manual /pay <vendor> <amount>

Agent chain:

  1. Charlie receives invoice (email attachment or Telegram forward)
  2. Extract amount, vendor, currency via Flash
  3. Cross-reference with expected payments (vendor list)
  4. Create Wise quote → Telegram with details → Andy approves
  5. Execute transfer → log to payments/YYYY-MM.json
  6. Apply Gmail label, update ClickUp task

Data touched: Wise API, Gmail, ClickUp, payment log Approval gates: ALL payments require Andy confirmation (no auto-pay) Failure modes: OCR extraction error → show raw + ask Andy; Wise API error → retry + alert Cost control: Flash for extraction (~$0.02) Telegram command: /pay LeBlanc 32000000 VND (creates quote for approval)

6.5 Hiring Pipeline

Trigger: New email to careers@ven.com.au or manual /screen <role>

Agent chain:

  1. Charlie detects application email
  2. Charlie spawns CV Screener specialist with CV attachment + job description
  3. CV Screener extracts CV, evaluates against JD criteria
  4. CV Screener returns shortlist verdict + reasoning → Charlie creates ClickUp task
  5. If strong candidate → Charlie spawns Document Drafter for acknowledgement email → Andy approves
  6. If rejected → batch weekly: Charlie spawns Drafter for polite rejections → Andy approves

Data touched: Gmail, ClickUp, recruitment vault files Approval gates: All candidate communications require Andy approval Failure modes: PDF extraction failure → flag for manual review; JD not found → ask Andy Cost control: Flash for initial filter, Sonnet for detailed evaluation (~$0.15 per CV) Telegram command: /screen "Senior Developer" (screen all pending CVs for role)

6.6 Content Pipeline

Trigger: Cron (weekly) or manual /content <client>

Agent chain:

  1. SEO audit pulls keyword opportunities (GSC + DataForSEO)
  2. Content strategist sub-agent identifies gaps vs competitors
  3. Creates content brief with target keywords, headings, word count
  4. Draft brief → ClickUp task assigned to Megan
  5. Megan reviews/assigns to writer

Data touched: GSC, DataForSEO, competitor sites, ClickUp Approval gates: Content briefs require Megan approval before writing begins Failure modes: API data stale → flag recency; keyword cannibalisation detected → alert Cost control: Flash for data pull, Sonnet for brief (~$0.40) Telegram command: /content "Pure Harvest" — blog ideas for Q2

6.7 Incident Response (Support Tickets)

Trigger: Email to support@ven.com.au (auto-forwarded) or manual /support

Agent chain:

  1. Tom detects support email (via heartbeat or forwarding automation)
  2. Tom spawns Support Diagnostician specialist with email content + client context
  3. Diagnostician classifies severity (P1-P4)
  4. Diagnostician creates ClickUp task with formatted description
  5. Diagnostician runs initial diagnosis (site health check, error logs via RunCloud)
  6. Diagnostician returns proposed fix → Tom presents to Steve for approval
  7. On approval, Tom spawns Coder specialist to implement fix → verifies → Tom drafts client response → Steve approves

Data touched: Gmail, ClickUp, RunCloud, client sites, Telegram Approval gates: Fix implementation requires Steve approval; client response requires Steve approval Failure modes: Can't access server → escalate to Andy; diagnosis unclear → escalate with raw data Cost control: Flash for classification, Sonnet for diagnosis (~$0.30) Telegram command: /support status (show all open tickets)

6.8 SOP Enforcement

Trigger: Evolution Engine daily cron (3am AEDT)

Agent chain:

  1. Pull latest OpenClaw docs + best practices
  2. Diff against workspace files (AGENTS.md, SOUL.md, skills/)
  3. Classify changes: breaking / enhancement / irrelevant (Flash)
  4. Check skill usage stats (last 30 days)
  5. Flag unused skills, outdated configs, missing documentation
  6. Create ClickUp tasks for significant updates → Telegram summary

Data touched: OpenClaw docs, workspace files, skill configs, ClickUp Approval gates: Config changes require Andy approval; skill deprecation requires Andy approval Failure modes: Git pull failure → retry; false positive drift → human review Cost control: Flash for classification (~$0.05) Telegram command: /audit (run manual SOP check)

6.9 Client Reporting

Trigger: Cron (monthly, 1st week) or manual /report <client> <period>

Agent chain:

  1. Sammy collects data (Meta, Google Ads, GA4, GSC) via ven-data-collector
  2. Normalises into report template
  3. Generates insights via Sonnet (what changed, why, recommended actions)
  4. Humanizer pass on all text
  5. Builds interactive web presentation
  6. Deploys to Cloudflare Pages
  7. Generates email summary → Gmail draft → Andy/Megan approves → sends

Data touched: All ad/analytics APIs, Cloudflare Pages, Gmail, ClickUp Approval gates: Report content requires Megan review; email requires Andy approval Failure modes: API data gaps → flag missing metrics; deploy failure → retry + alert Cost control: Flash for data collection, Sonnet for insights, ~$1-2 per report Telegram command: /report "MRH" feb-2026

6.10 Ad Anomaly Response

Trigger: Anomaly detection cron (runs 3x daily)

Agent chain:

  1. Sammy pulls performance data (Meta + Google)
  2. Compares against rolling 7-day averages
  3. Detects: spend spikes, CPA increases >25%, CTR drops >15%, budget exhaustion, creative fatigue
  4. If anomaly detected: a. Root cause analysis (audience saturation? creative fatigue? competitor pressure? tracking issue?) b. Recommended action (pause creative, adjust budget, swap audience, check tracking) c. Alert → Telegram with severity + recommendation
  5. If P1 (>50% spend anomaly or tracking failure) → immediate alert to Andy + Megan
  6. Creates ClickUp task with full analysis

Data touched: Meta Marketing API, Google Ads API, GA4 (for conversion verification) Approval gates: No automated campaign changes — all recommendations require Megan approval Failure modes: API timeout → retry; false positive → confidence threshold (>80% to alert) Cost control: Flash for data pull + comparison, Sonnet for root cause (~$0.20) Telegram command: /anomaly check (run manual scan)


7. SOP & Knowledge Refactor Plan

7.1 Where SOPs Live

Type Location Reason
Agent behaviour AGENTS.md, SOUL.md Core identity, loaded every session
Technical procedures skills/<name>/SKILL.md Modular, shareable, version-controlled
Business SOPs ClickUp Docs (linked from skills) Human-editable, accessible to non-technical team
Client-specific ~/ven-clients/<client>/ Isolated per client, Tom-maintained
Reference docs ~/charlie/reference/ Static reference material
Runbooks skills/<name>/SKILL.md Operational procedures embedded in skills

Rule: If it's executable by an AI agent → skill. If it's reference for humans → ClickUp Doc. If it's both → skill with ClickUp link.

7.2 KB Ingestion Pipeline

INPUT                    PROCESS                   STORAGE
─────                    ───────                   ───────
Telegram /kb <url>  ──→  web_fetch + clean    ──→  ChromaDB (vectors)
Telegram forward doc ──→  pdftotext/pandoc    ──→  + metadata JSON
Gmail attachment    ──→  type detect          ──→  + source citation
Manual file drop    ──→  chunk (512 tok)      ──→  Backed up to
                    ──→  embed (text-embed-3) ──→  Google Drive (daily)
                    ──→  store + index        ──→

RETRIEVAL
─────────
Query ──→ 1. memory_search (MEMORY.md + memory/*.md)
      ──→ 2. vector_search (ChromaDB, top-5)
      ──→ 3. graph_query (knowledge graph, entity relationships)
      ──→ Ranked fusion (dedup + confidence score)
      ──→ Response with [Source: path#line] citations

Skill: kb-ingest (new)

7.3 Retrieval Logic

Three-tier retrieval (executed in parallel, results fused):

  1. Memory search (existing) — semantic search over MEMORY.md + daily files

  2. Vector search (new) — ChromaDB similarity search

  3. Knowledge graph (existing) — entity/relationship traversal

Fusion: Results ranked by relevance score, deduplicated, top-10 presented with citations.

7.4 Drift Detection

Evolution Engine (daily cron, 3am AEDT):

  1. OpenClaw best practices:

  2. Workspace health:

  3. Config drift:

  4. Output: memory/evolution/YYYY-MM-DD.md + Telegram alert if action needed

7.5 Workspace File Evolution

File Current Role Future Role Changes
AGENTS.md Agent behaviour rules Same + evolution engine compliance target Add version tracking
SOUL.md Personality/tone Same (immutable unless Andy requests) None
MEMORY.md Long-term memory Same + vector-backed supplement Add KB cross-references
TOOLS.md Local config notes Same + auto-updated by evolution engine Add last-verified dates
HEARTBEAT.md Heartbeat checklist Same + auto-maintained pending tasks Add priority levels
Daily memory files Raw session logs Same + auto-tagged for retrieval tier Add structured metadata

8. 90-Day Implementation Roadmap

Phase 1: Foundation (Days 0–30)

Goal: Cost visibility, failover readiness, KB infrastructure

Week Deliverable Effort Dependencies
1 Cost Observatory v1 — Parse OpenClaw logs, daily spend report to Telegram 1 day Access to session logs
1 Failover health check — Mac Mini → MBA ping script (5-min interval) 0.5 day MBA Tailscale configured
2 ChromaDB setup — Install, configure, test embeddings locally 1 day None
2 KB Ingestion skill v1/kb <url> command, web pages only 1 day ChromaDB running
3 CRM Contact sync v1 — Gmail + Calendar → contacts.json, daily cron 1.5 days None
3 Meeting prep briefs v1 — Calendar scan → attendee lookup → Telegram 1 day Contact sync running
4 Telegram topic structure — Create ops group with topic channels 0.5 day None
4 MBA failover config — OpenClaw config, Google auth tokens, skill sync 1 day MBA access

Phase 1 milestone: Cost tracking live, KB accepting URLs, meeting prep running, failover tested.

Phase 2: Intelligence (Days 31–60)

Goal: AI Council, Sales Intelligence, enhanced KB

Week Deliverable Effort Dependencies
5 AI Council v1 — 4 persona prompts, moderator, manual trigger via /council 2 days None
5 Council data collector — Auto-pull revenue, client, team, cost data 1 day Cost Observatory
6 Brian (sales ops upgrades) — Pipeline tracking, lead enrichment, follow-up automation 2 days CRM Contact sync
6 KB Ingestion v2 — PDF/DOCX support, Gmail attachment auto-ingest 1 day ChromaDB
7 Sammy v1 — Automated ad performance monitoring, anomaly alerting 2 days Existing anomaly-detection skill
7 Vector-backed retrieval — Three-tier fusion (memory + vector + graph) 1 day ChromaDB + KB
8 Client onboarding automation/onboard command, templated setup 1 day CRM + ClickUp
8 Meeting → Action extraction — Transcript ingestion, ClickUp task creation 1 day KB Ingestion

Phase 2 milestone: AI Council run completed, Sales Intel tracking pipeline, Sammy monitoring ads, KB handling multiple doc types.

Phase 3: Autonomy (Days 61–90)

Goal: Self-evolution, full cadence, MVAA

Week Deliverable Effort Dependencies
9 Evolution Engine v1 — Daily drift detection, skill audit, config compliance 1.5 days None
9 SOP enforcement automation — Auto-flag outdated skills, unused procedures 0.5 day Evolution Engine
10 Full operating cadence — All daily/weekly/monthly crons configured and tested 1 day All Phase 1-2 systems
10 Client reporting automation v2 — End-to-end with Sammy data collection 1 day Sammy
11 Failover drill — Full simulation: Mac Mini down, MBA takes over, recovers 0.5 day Phase 1 failover
11 Cost Observatory v2 — Dashboard on Cloudflare Pages, 30-day trends, per-agent breakdown 1 day Phase 1 Cost Observatory
12 MVAA validation — Run full week with minimal human intervention, measure automation rate Ongoing Everything
12 Documentation — Update all workspace files to reflect new architecture 1 day Everything

MVAA Milestone (Day 90):


9. Risk Register & Controls

# Risk Likelihood Impact Control
1 Mac Mini failure (hardware, power, network) Medium Critical — all operations stop Phase 1: MBA failover with 15-min detection. Future: cloud VPS tertiary
2 API cost blowout (model misrouting, infinite loops) Medium High — unexpected $500+ bills Cost Observatory with daily alerts, per-agent spend caps, automatic model downgrade on threshold
3 Data breach via AI agent (credentials leaked in output, PII in logs) Low Critical — client trust, legal Sensitive data never in logs, humanizer strips internal refs, audit trail for all external sends
4 Wrong email sent to client (AI draft approved without reading) Medium High — client trust damage Mandatory approval gates, Telegram preview before send, humanizer pass, signature validation
5 Sub-agent hallucination in financials HIGH High — wrong payslips, invoices Payroll verification skill mandatory, never trust sub-agent financial data, source file cross-check
6 Google auth token expiry Low Medium — all Google services down Daily token expiry check, 24h advance warning, documented refresh procedure
7 Anthropic rate limiting (429s during peak) Medium Medium — agents degrade Automatic failover to Gemini Flash for non-critical tasks, documented model switching
8 Client data cross-contamination Low High — wrong data in wrong report Strict client directory isolation, per-client data fetching, report QA automation
9 Over-automation — human skills atrophy Medium Medium — team can't operate without AI Monthly manual-operation drill, documented procedures for AI-down scenarios
10 AI Council groupthink (all personas converge) Low Low — missed risks Diverse persona prompts, explicit disagreement incentives, human review of all recommendations
11 Credential rotation missed Medium Medium — service interruption Cron job checking all API key expiry dates, 30-day advance warning
12 Client perceives AI-generated communication Medium High — trust erosion Humanizer mandatory on ALL external text, Andy/Steve final review on important comms

10. Minimum Inputs Still Needed From Ven

From Andy

# Input Why Priority
1 MBA failover authorisation — confirm MBA can run OpenClaw as warm standby Required for failover architecture P1
2 Telegram topic group creation — create group, add bots, enable topics Required for interface plane P1
3 Monthly revenue/fee data — or point to where invoices/fees are tracked Required for AI Council + Revenue Guardian P2
4 Approved client onboarding checklist — what steps are always needed Required for onboarding automation P2
5 Meeting recording tool preference — Fathom, Otter, or manual transcript upload Required for meeting → action pipeline P3
6 Budget threshold for auto-alerts — at what $ amount should payments always alert Required for payment automation guardrails P2
7 Content pipeline approval — does Megan want AI-generated content briefs? Required for content automation P3

From Steve

# Input Why Priority
1 Support ticket SLA targets — P1 response time, P2, P3, P4 Required for Support Diagnostician escalation rules P2
2 Client health criteria — what makes a client "at risk" vs "healthy" Required for client health scoring P2
3 AI Council review commitment — will Steve review monthly council reports? Required to justify council build P2
4 Key client relationship ownership — which clients should route to Steve vs James Required for Sales Intel routing P3

From James

# Input Why Priority
1 Pipeline stages — current stages in ClickUp or mental model Required for Brian (sales ops upgrades) P2
2 Follow-up cadence preferences — 3 days? 5 days? per lead type Required for follow-up automation P2
3 Meeting prep preferences — what info is useful before client calls Required for meeting prep briefs P3

Assumptions Made (Flag for Review)

  1. MBA is available as failover — assumed from TOOLS.md reference to Max's MBA host
  2. ChromaDB can run on Mac Mini — confirmed compatible (Python, macOS arm64)
  3. Monthly API budget ~$200-400 — based on current spend patterns + new capabilities
  4. Megan is open to AI-assisted monitoring — not confirmed, assumed from existing anomaly-detection skill usage
  5. James uses ClickUp for pipeline — not confirmed, may use spreadsheet or mental model
  6. Meeting transcripts available — assumed Fathom or equivalent is in use or planned
  7. All Google APIs remain on current auth — no new OAuth scopes needed for contact sync (already have Gmail + Calendar)
  8. Steve reads Telegram regularly — council reports and support approvals route there
  9. Vietnam team doesn't need direct AI agent access — work assignments come through Andy/Steve
  10. Client fees are trackable — via Wise transfers or invoice records

Appendix A: Cost Estimates

Component Monthly Cost Notes
Existing API spend (Opus + Codex + Flash) ~$150-250 Current baseline
ChromaDB embeddings (text-embedding-3-small) ~$5-10 Depends on ingestion volume
AI Council (monthly) ~$5 4 Sonnet advisors + 1 Opus moderator
Brian (sales ops upgrades) ~$20-30 Daily contact sync + meeting prep
Sammy (ad monitoring) ~$30-40 3x daily checks across clients
Cost Observatory ~$2-5 Log parsing + report generation
Evolution Engine ~$5-10 Daily drift checks (Flash)
KB Ingestion ~$5-15 Depends on documents ingested
Total incremental ~$70-110 On top of existing baseline
Total estimated ~$250-350/month Full autonomous stack

Appendix B: File/Directory Structure (New)

~/charlie/
├── contacts/
│   ├── contacts.json          # Unified contact store
│   └── enrichment/            # Per-contact enrichment data
├── council/
│   ├── data/                  # Monthly data snapshots
│   └── reports/               # Council output reports
├── costs/
│   ├── daily/                 # Daily cost JSONs
│   └── dashboard/             # Static HTML dashboard
├── kb/
│   └── ingestion-log.json     # What's been ingested
├── scripts/
│   ├── cost-observatory.js    # Cost tracking
│   ├── contact-sync.js        # CRM contact sync
│   ├── meeting-prep.js        # Calendar → brief
│   ├── failover-health.sh     # Mac Mini → MBA ping
│   └── evolution-engine.js    # Drift detection
├── skills/                    # (symlink to ~/ven-skills/)
│   ├── kb-ingest/             # NEW
│   ├── crm-contacts/          # NEW
│   ├── sales-intel/           # NEW
│   ├── megan-bot/             # NEW
│   ├── ai-council/            # NEW
│   ├── cost-observatory/      # NEW
│   └── evolution-engine/      # NEW
└── .vector-store/
    └── chroma/                # ChromaDB data

End of plan. Ready for review.