Appearance
Workflows Overview
TL;DR: Sam runs five distinct workflow types simultaneously in a single agent, leading to context collision, memory pressure, and scheduling conflicts. Each workflow is complex enough to be its own specialized agent.
Sam's Five Core Workflows
[John / Slack]
│
[Sam — Single Agent]
│
┌───────────────┼───────────────────┐
│ │ │
┌──────▼─────┐ ┌──────▼──────┐ ┌────────▼────────┐
│ Funnel │ │ Creative │ │ Braze / Prospect │
│ Monitoring │ │ Pipeline │ │ Operations │
└──────┬─────┘ └──────┬──────┘ └────────┬────────┘
│ │ │
┌──────▼─────┐ ┌──────▼──────┐
│ GitHub │ │ Reporting │
│ Monitoring │ │ Cadence │
└────────────┘ └─────────────┘| Workflow | Frequency | Integrations | Output |
|---|---|---|---|
| Funnel Monitoring | 3×/day | PostHog | sam-chat updates, DM on shifts |
| Creative Pipeline | Ad hoc | Higgsfield, Shotstack, Google Drive | Creative briefs, scripts, hooks |
| Braze Operations | Weekly audits + ad hoc | Braze | Audit reports, gap analyses |
| GitHub Monitoring | Every 30min (cron) + 3×/day (heartbeat) | GitHub API | funnel-changes.md, alerts |
| Reporting Cadence | 3×/day heartbeat | PostHog, Looker, Braze | Slack channel posts |
The Overload Problem
All five workflows run inside the same agent context. Problems this causes:
Context Collision:
- A creative brief request arrives mid-heartbeat
- The agent finishes the heartbeat task but now has partial funnel data + partial creative context
- Memory from one task bleeds into the next
Schedule Conflict:
- GitHub monitoring runs via cron (30min) AND heartbeat (3×/day)
- Heartbeat combines funnel check + GitHub check + Slack monitoring + test tracking
- At the 3×/day windows, the agent is trying to do 4 things simultaneously
Memory Pressure:
- Long creative sessions (micro-bucket maps, creative briefs) use large chunks of context
- Subsequent heartbeat sessions start with less available context
MEMORY.md(419 lines) must be loaded every main session
Error Propagation:
- Loop incident (March 17): heartbeat near auto-compaction, context trimmed, tasks repeated ~100 times
- Cron timeout: GitHub check hitting 90s limit consistently
- Format bug: tool_call XML leaking into John's Slack messages
What Proper Decomposition Looks Like
Each workflow maps to a dedicated agent:
| Workflow | Becomes | Why Separate |
|---|---|---|
| Funnel Monitoring | Funnel Agent | Needs deep Sanity + PostHog access, no creative context |
| Creative Pipeline | Creative Agent | GPU-heavy tasks, different model needs, separate approval flow |
| Braze Operations | Prospect Agent | Email/SMS domain knowledge, not shared with analytics |
| GitHub Monitoring | Funnel Agent (or cron-only) | Code monitoring belongs with funnel changes |
| Reporting | Data Agent | Dedicated to aggregating and reporting metrics |
Navigate to each workflow for detailed analysis: