Case study · our own production host

19 agents, 47 scheduled jobs, zero restarts

A governed pipeline, not a swarm. How our own agency runs on a single 4-vCPU VPS with a hard approval gate, independent verification, and two agents whose only job is to audit the others.

Get my free blueprint

what does a production multi-agent system look like

A production multi-agent system looks like a pipeline with enforced separation of duties, not a swarm of peers. On this studio's own host, 19 specialist agents run a fixed chain — gather, pattern, approve, build, verify, ship — in which the verifying agent is kept ignorant of what the building agent intended, and two further agents only audit.

Observed on the studio's own production host on 27 July 2026: 19 agents, 47 scheduled jobs, 972 sessions across 68 days, zero service restarts. No client system is described here.

Measured on our own production host

Measured on our own production host — observed on Our own production host — a 19-agent Hermes fleet on one Fedora 42 VPS (4 vCPU / 15 GiB), surveyed read-only over SSH, 27 July 2026
Specialist agentsEach with its own identity file stating its mandate and hard limits19
Scheduled jobs27 of them dispatched by the orchestrator agent into other agents47
Sessions in 68 days2026-05-20 to 2026-07-27 — roughly 14 unattended sessions a day972
Service restartsAcross 5 agent services and 9 hosted application services0
Hardware the whole fleet runs onOne Fedora Linux 42 VPS, systemd units, no Kubernetes and no container orchestration4 vCPU / 15 GiB
Host uptime at survey time9 weeks 3 days
Scheduled job status at survey timeThe six failures were dependency drift, delivery misconfiguration and upstream 5xx — none were model quality34 ok / 6 error / 7 unrun

Source: Our own production host — a 19-agent Hermes fleet on one Fedora 42 VPS (4 vCPU / 15 GiB), surveyed read-only over SSH. Observed .Read directly off the host over a read-only session. These figures show a system running, not a business outcome — the host carries no ledger for that.

The problem we were solving for ourselves

Running an agency means the same work every week: research the market, spot the patterns, decide what to build, build it, check it, ship it, then work out whether any of it was worth doing. We were the bottleneck at every one of those steps.

The obvious move — one big agent with a long prompt — fails for a reason that has nothing to do with model quality. A single agent that researches, decides, builds, and verifies its own work has no independent check on itself. It will confidently ship something wrong and then confirm that it was right. The failure is structural, not intellectual.

So we built the thing an agency actually is: specialists with defined mandates and a chain of custody between them.

The architecture: a pipeline with a hard gate

Nineteen agents, each with its own identity file stating its mandate and its hard limits, its own skills directory, and its own model configuration. The core content path runs in one direction:

research → dreamer → operator → coder → qa → publisher
(gather)   (pattern)  (approve)  (build)  (verify) (ship)

Each handoff is a real boundary, and the boundaries are written into the agents themselves. The build agent's own instructions read: "You build what Operator approved. Nothing more. Nothing less." The approval agent's read: "You are the gate between IDEA and BUILD… nothing reaches Coder without going through you."

The verification agent is the one that matters most, and it is deliberately kept ignorant:"You are independent of the build — you don't know what coder thinks the result should be; you read the manifest yourself and check the artifact against it." That single design decision is what stops the system from grading its own homework.

The same shape shows up end to end in thecontent publishing pipeline, where the publisher refuses to ship a draft the verification agent has not cleared, and in theresearch and citation ledger, where the constraint is pushed down into the data layer so a finding without a source cannot be written at all.

The two agents that produce nothing

This is the part most multi-agent designs skip. Two of the nineteen agents create no output and take no action at all — they exist purely to keep the rest honest.

An agent fleet with no auditor drifts silently. You do not find out until output quality has been degrading for a month. These two are the cheapest insurance in the system.

The orchestration layer

One agent acts as the operator and thought partner for the whole fleet, and it owns the schedule: 27 of the 47 scheduled jobs are it dispatching work into other agentsrather than doing the work itself. A representative slice of what runs unattended:

JobCadenceWhat it does
morning-feeddailyAssembles the day's inbound signal
agency-daily-digestdailyWhat the fleet did in the last 24h
subconscious-sweepdailyFleet health check
qa-daily-sweepdailyVerification pass over pending artifacts
trust-pipeline-watchdogintervalWatches the chain of custody itself
qa-to-publisher-watcherintervalMoves verified work to shipping
retention-sweepweeklyIs each track still earning its keep?
seo-recon-weekly-auditweeklySearch intelligence refresh

Twelve jobs run daily, nine weekly, and eight on continuous intervals. Across 68 days the fleet logged 972 agent sessions — roughly fourteen a day, unattended.

What it runs on

One Linux VPS: 4 vCPU, 15 GiB RAM. No Kubernetes. No container orchestration platform. No managed agent service. The agents run as plain systemd user services, behind a Caddy reverse proxy, with PostgreSQL and Valkey for state, fail2ban on the edge, and the control dashboard reachable only over a private Tailscale network — never exposed to the public internet.

At survey time all five agent services and all nine hosted application services reportedzero restarts, on a host with disk at 16%.

We mention the modest hardware deliberately. The interesting constraint in agent systems is almost never compute — it is context, state, and control. A fleet this size fits comfortably on a machine you could rent for the price of a couple of lunches.

What broke — the honest part

Of 47 scheduled jobs at survey time: 34 healthy, 6 in error, 7 never yet run. We are showing you the 6, because their pattern is the single most useful thing on this page.

Failure classJobsCause
Model entitlement drift3A provider revoked free-tier access to a model slug mid-flight. The agent got a 404 telling it to use the paid slug instead.
Delivery channel misconfiguration8Work completed successfully, then had nowhere to go — a messaging platform not enabled, or no delivery target resolved.
Upstream 5xx2Provider-side internal error. Nothing wrong on our side.
Provider unconfigured1A profile left without a model selected after a config change.

Not one of those failures was the model being wrong. Every single one was dependency drift, configuration, or an upstream outage. That is the entire argument for building guardrails before you build capability — and it is why we tell clients that the interesting engineering in agent systems lives in the plumbing, not the prompt.

The delivery-channel class is the one worth internalising: eight jobs did their work correctly and then dropped it on the floor because the last mile was not wired. An agent that completes successfully and delivers nowhere looks healthy in every metric that matters to the model and is completely useless to the business.

Two companion pieces go deeper than this section can. Thefailure rate write-up carries the verbatim error strings, the denominators behind the 34/6/7 tally, and the standing fix for each class; the schedule and uptime record covers the operating side — cadences, who dispatches what, and how a stalled job surfaces when nobody is watching.

What this case study does not prove

We would rather state the limits than let you infer something we cannot support:

What we would carry into your build

The transferable parts are not the agent count. They are the four structural decisions: separate the agent that builds from the agent that verifies; put a hard approval gate in front of the build step; give something the job of auditing the fleet with no power to act on it; and wire the last mile before you celebrate a green run.

None of that requires nineteen agents. All of it applies to your first one — the sequence for getting there is the same one described inautomating a business process with AI agents, and the calendar it usually takes is inhow long it takes to build a production AI agent.

Questions

Why 19 agents instead of one capable agent?

Because a single agent that researches, decides, builds, and verifies its own work has no independent check on itself — it will ship something wrong and then confirm it was right. Splitting build from verification, and putting a hard approval gate in front of the build, is a structural fix rather than a prompt fix. For a single well-scoped workflow, though, one agent with persistent memory is the better answer.

What hardware does a 19-agent fleet actually need?

Ours runs on a single 4 vCPU / 15 GiB VPS with disk at 16% used, as plain systemd services behind a Caddy proxy with PostgreSQL and Valkey for state. No Kubernetes and no container orchestration. Compute is rarely the binding constraint in agent systems — context, state, and control are.

How did the scheduled jobs actually fail in production?

Of 47 jobs, 34 were healthy, 6 in error, and 7 had not yet run. The 6 failures broke down as: 3 from a provider revoking free-tier access to a model mid-flight, 8 job-level delivery misconfigurations where work completed but had nowhere to go, 2 upstream 500s, and 1 profile left without a model selected. None were caused by model quality.

What is the point of an agent that produces no output?

Two of our nineteen agents create nothing: one computes fleet health and explicitly does not interpret it for action, and one audits whether each output track still earns its keep and only recommends. An agent fleet without an auditor drifts silently — you discover it a month after quality started degrading. They are the cheapest insurance in the system.

Do you run client systems the same way?

The patterns are the same — separation of build from verification, a hard approval gate, an auditing layer, and self-hosted deployment. The scale and the specific agents differ per engagement. Client architecture and metrics are covered by NDA and are not published without written permission.

Amit Kumar

Founder of I Am Agent Man. Builds and runs production AI agents on Hermes, OpenClaw, and MCP — self-hosted, model-agnostic, with persistent memory and hard cost ceilings.

Want this architecture applied to your workflow?

Tell us what eats your week. We'll scope the first agent and the guardrails it needs — free, before any invoice.

Goes straight to hello@iamagentman.com — we read every message ourselves. Prefer to answer three questions instead?Build your blueprint.

Talk to the studio

One message · reply within one business day