Case study · our own production host

47 scheduled jobs, 9 weeks of uptime, and the 7 that never ran

The schedule is the system. This is what ours looked like when we read it off the host: every job, its cadence, who dispatches it, how a failure surfaces — and the status tally we did not tidy up first.

Get my free blueprint

what an AI agent uptime record looks like

An AI agent uptime record is a list of scheduled jobs with the status of each one's last run, not a percentage. On this studio's own host the record read 47 defined jobs — 34 succeeding, 6 failing, 7 never executed — alongside zero process restarts across 14 services and nine weeks three days of host uptime.

Read off our own production host on 27 July 2026. Process health and work health are separate measurements here: every service reported zero restarts on the same day six jobs were failing.

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
Scheduled jobs defined12 daily, 9 weekly, 8 continuous interval loops, plus twice-daily engagement jobs and one `once` job47
Status tally at surveyLast run ok / last run failed / never executed34 / 6 / 7
Jobs dispatched by one orchestratorThe rest are owned directly by the agent that runs them27
Restarts across 14 systemd services5 user services (4 gateways plus a dashboard), 9 hosted application services0
Host uptime at surveyFedora Linux 42, 4 vCPU, 15 GiB, 199 GB disk at 16% used9 weeks 3 days
Container runtime or orchestration platformNative systemd units behind a Caddy reverse proxynone
Agent sessions across 68 days20 May to 27 July 2026, roughly 14 a day across 19 agents972

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 .These are counts of scheduled work and process state on one machine on one day. They are not an availability guarantee, and nothing here measures whether the agents' output was substantively correct.

Why we publish the schedule instead of an uptime percentage

Every agent vendor will tell you their system is reliable. Almost none will tell you how many scheduled jobs they run, how many were working the last time someone looked, or how they find out when one stops. An uptime percentage is easy to quote and answers none of that — it usually describes whether a web process was accepting connections, which is not the same thing as the work getting done.

So this write-up is the schedule itself. On we read our own production host over SSH, read-only, and wrote down every scheduled job, its cadence, its owner, and the status of its last run. Nothing was tidied first.

AI agent scheduled jobs reliability, as a tally

Forty-seven jobs were defined. Thirty-four had succeeded on their last run, six were in an error state, and seven had never executed at all. That last group is the one worth sitting with: a job that has never run produces no error, so it looks identical to a healthy job in any monitor built on run outcomes.

CadenceJobsWhat lives here
Daily12Work on things that accumulate overnight: the morning feed, a trends pull, the agency digest, the health sweep, lead collection
Weekly9Audits and sweeps that would be noise if run daily: the technical SEO audit, the retention sweep that asks whether each output track still earns its place
Interval loops8Continuous watchers that move an artifact between pipeline stages and should not wait for a clock
Twice daily + onceRemainderEngagement jobs that need two passes a day, plus a single one-shot

Twenty-seven of the 47 are not scheduled independently at all. They are dispatched by one orchestrator agent into the agent that owns the work — lead collection, the daily QA sweep, the publisher check, the weekly SEO audit, the retention sweep, the health sweep, and two pipeline watchdogs. That concentration is deliberate, and it is a trade: one place to change the cadence of most of the fleet, one place whose failure is felt widely. Thearchitecture write-up covers how the agents underneath it are separated.

How a failure surfaces when nobody is looking

Unattended work needs someone to notice, and the design decision that matters is that the noticer is not allowed to fix anything.

Those three roles are why the 34/6/7 tally existed to be read at all. A fleet with no reporting layer does not have a better record — it has an unknown one.

What zero restarts does and does not prove

Fourteen long-lived services — four agent gateways, a dashboard, and nine hosted applications — reported zero restarts, with the oldest continuously active since 13 July 2026 and the host itself up nine weeks and three days. There is no container runtime and no orchestration platform on this machine; the services are native systemd units behind a Caddy reverse proxy, with the dashboard reachable only over the private tailnet.

What that proves is bounded: no process crashed, no supervisor thrashed, nothing leaked badly enough to be killed. What it does not prove is that the work succeeded. On the same day, six scheduled jobs were failing. Process health and work health are different measurements, and quoting the first while the second is unmentioned is the most common way agent reliability gets oversold. The failure classes behind those six — and why none of them was the model being wrong — are broken down inthe failure rate write-up.

What we would carry into your build

  1. Alert on absence, not only on errors. Compare the age of each job's last success against its own declared cadence. Seven never-run jobs is what happens without it.
  2. Separate the watcher from the fixer. A reporting agent that can also remediate will eventually hide the thing it remediated.
  3. Treat "produced output, delivered nowhere" as a failure. It is invisible in model-level telemetry and worthless to the business.
  4. Publish the denominator internally. A reliability claim with no job count behind it cannot be checked by the person who inherits the system.

What this case study does not prove

One host, read once, on 27 July 2026. It is not an availability guarantee and not an industry benchmark. Nothing here measures whether the agents' output was substantively correct — a job that ran and produced a mediocre result counts as ok in this tally.

There are no cost figures, because this host carries no per-task cost ledger, and no client outcomes, because there is no client-side measurement to draw on and client work is under NDA. Those are different claims and we are not going to blur them. If you want the timeline side of the question rather than the operating side,the production timeline breakdown covers how long it takes to get a system to the point where it has a schedule worth reading.

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.

Questions about running agents on a schedule

What should an AI agent uptime record actually contain?

Four things, and a dashboard uptime percentage is none of them: the number of scheduled jobs defined, the status of each job’s last run, the restart count of every long-lived service, and the age of the oldest successful run against that job’s declared cadence. Ours on the survey date read 47 jobs, a 34 ok / 6 error / 7 never-run tally, zero restarts across 14 services, and nine weeks three days of host uptime.

How do you run AI agents on a schedule without someone watching them?

By making the schedule itself the system of record and giving it two kinds of watcher. Ours has interval watchdogs that move work between stages and fail loudly if it stalls, plus a daily health sweep by an agent that reports fleet state and is forbidden to fix anything. Separating the watcher from the fixer is what stops a monitoring agent from quietly papering over the thing you needed to see.

Does zero restarts mean an agent system is reliable?

It means the processes did not crash. That is worth something — it rules out memory leaks, unhandled exceptions taking a gateway down, and a supervisor thrashing — but it says nothing about whether the work inside those processes succeeded. On the same host and the same day, six scheduled jobs were failing while every service reported zero restarts. Process health and work health are different measurements and vendors routinely quote the flattering one.

What cadence should scheduled agent jobs run on?

Match the cadence to how fast the input changes and how quickly a failure needs to be noticed. Ours splits into 12 daily jobs for things that accumulate overnight, 9 weekly jobs for audits and sweeps that would be noise if run daily, and 8 continuous interval loops for work that moves an artifact between pipeline stages and should not wait for a clock.

How did you find scheduled jobs that had never run?

By reading the scheduler’s job definitions against last-run timestamps rather than looking at error output. Seven jobs had never executed. They emit no errors, so every monitor built on run outcomes reported a healthy system for as long as they sat there. Any alert worth having compares the age of a job’s last success against its own declared cadence.

Want a schedule you can actually read?

Tell us the work that should run without you. We'll scope the jobs, the cadences, and the watchers that surface a failure — 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