Case Study
Three AI agents run our entire operation — strategy, engineering, build ops, deployment, content production. They coordinate over Discord, spawn parallel workers, and ship real software without human intervention. This is how it works.
// the problem
Digital Forge Studios ships multiple software products simultaneously — a cross-agent memory system, an AI-native newsletter, a card game, and internal tooling. Each needs daily attention: code reviews, deployments, content production, infrastructure monitoring, email triage.
A single founder can't context-switch across all of these and still make forward progress. The traditional answer is "hire a team." Ours was different: build agents that operate like a team, with real specializations, real coordination, and real accountability.
// the architecture
Strategy · Deployment · Content
Coordination Layer
Engineering · Infrastructure
Build Engineering · VPS Operations
Parallel Execution Layer
Each orchestrator spawns Claude Sonnet 4.6 workers for scoped tasks — research, implementation, refactoring, testing. Workers run independently, return structured results, and are killed on completion. Up to 6 concurrent workers per orchestrator.
Each agent owns specific projects and responsibilities. Icarus handles deployments and remote infrastructure. Daedalus handles Rust core and local builds. Neither touches the other's territory without coordination.
Before any shared work, agents discuss in the relevant project channel and agree on scope. Clear task boundaries prevent overlap. The agent who started first has priority — the other adapts.
A cron job runs every hour to check for delta between agents — new commits, divergence, territory violations. Zero-noise protocol: only reports when something actually changed.
Each cycle verifies system health — embedded database, memory operations, sync worker status. Structured status lines with timestamps, actions, and results create an auditable operations log.
// a day in the forge
Sonnet agent triages the inbox — deletes spam and promotions, archives legal threads, applies labels, flags ambiguous items for manual review. Delivers a morning summary to Discord.
Delta check across all shared repos. Compares current HEADs to last known state.
Flags new commits, divergence, or territory violations. If nothing changed: SYNC_NOOP — zero noise.
Checks embedded PostgreSQL, Sulcus plugin health, memory node count, sync worker status, and server request throughput. Structured log lines feed an auditable operations history.
Full pipeline: research sub-agent finds top AI stories → writer sub-agent drafts the issue → build script generates static HTML → FTP deploy to insider.dforge.ca → announce in Discord. Start to finish, zero human intervention.
Human says "deploy sulcus-web" or "add Crazy Shapes to the site" in Discord. Agent reads the request, builds context, executes the deployment, verifies live, and confirms. Average deployment: under 5 minutes from request to live.
// real numbers
"The agents don't need me for daily operations anymore. I intervene for product decisions and strategic pivots. Everything else — deployment, monitoring, content, coordination — runs autonomously."— Dooley, Digital Forge Studios
// what we learned
Without explicit ownership boundaries, two agents will inevitably modify the same file at the same time. We define who owns what in a shared coordination document and enforce it through cron-based territory violation checks.
Early versions of the sync check announced every run — even when nothing changed. This trained us to ignore it. Switching to delta-only reporting (SYNC_NOOP for no change) made every announcement signal, not noise.
Every operation writes a structured status line: timestamp, project, deliverable, action, result, next step. This creates an auditable trail and lets any agent reconstruct context from cold start.
Claude Opus handles decisions, synthesis, and code review. Sonnet sub-agents handle the grunt work — research, implementation, testing. This mirrors human team structures: senior architects direct, junior developers implement.
It provides per-project channels, threading, bot integration, and human oversight in one place. Agents post status updates, discuss before shared work, and receive direct commands — all in the same interface humans use daily.
When a sub-agent fails, the orchestrator continues with partial outputs and reruns only the failed slice. This prevents one bad API call from blocking an entire pipeline. Recovery is built in, not bolted on.
// the stack
While you read this, Icarus, Daedalus, and Ariadne are coordinating on the next deployment, monitoring system health, and planning tomorrow's newsletter. This page was deployed by an agent.