Capable was the easy part, operational was the work

OpenClaw is a capable harness, not a bad one, but it is heavy to manoeuvre and hard to keep stable, and its patches keep breaking things. NanoClaw applies the lessons it taught me in a lean harness I own.

The OpenClaw experiment taught me what an agent fleet needs to stay stable in production. NanoClaw is where I applied it.

Two Telegram bot chats side by side, the same request to make a Singapore haze newsletter covering all the articles online. OpenClaw bot has no harness customisation, so it reads the articles but groups them by title into a newsletter and returns a three page PDF, flagged as grouped by title with quality uncertain. Three numbered notes point out why it falls short: it never asked what the analyst meant, it reads the full articles but groups them by title rather than by content, so the newsletter's quality is left uncertain. NanoClaw bot first asks whether to process each article in full and group them into themed sections, understands the analyst wants the full content, then plans to fetch every article, embed the full text and cluster by theme, spawns fetch, embed, cluster and write subagents, and returns a twelve page PDF digest of 23 articles grouped into four themes with every item cited. Simplified for illustration.
Same request to both bots: a Singapore haze newsletter covering every article online, delivered as a PDF. OpenClaw has none of the harness customisation, so it reads the articles but groups them by title, and three notes mark why the result is a gamble (it never asked what I meant, and title-based grouping leaves the quality uncertain). NanoClaw asks what I actually want, then fetches every article, embeds and clusters the full text across subagents, and returns a themed digest with each item cited. Simplified for illustration.

OpenClaw is capable, the harness is the hard part

The agents OpenClaw ran were genuinely capable. The cost was keeping it running. Instructions sprawl across AGENTS, SOUL and IDENTITY files, its frequent patches break what worked yesterday, every server holds a key, and no budget caps a runaway. The lessons were sound, the ground under them kept shifting.

NanoClaw applies the lessons in a harness I own

So I rebuilt on NanoClaw, lean and mine, and folded each lesson in. A spec gives an agent a Problem and acceptance criteria before it spawns, so its purpose is measurable, not guessed. A subagent definition makes each subagent a contract: a description that routes work to it and an output format its caller reads. Loop engineering gives a scheduled agent a criterion it cannot renegotiate and a separate checker. Its model is a per-role dial, so each role runs on the cheapest tier that clears its bar. And a patch is now a change I choose, not one that breaks me on a Tuesday.

The gateway is what makes the fleet operational

The rest is infrastructure, and it hangs off one seam. Every agent calls one gateway instead of its own provider, and the operational problems solve themselves there: every key lives in one box so a leaked agent leaks nothing, a budget caps a runaway, a provider swap or fallback is one setting, and every call's cost and trace lands in one place with no agent instrumented. On separate servers each was a per-box chore or absent. This is the line between a demo and a fleet you can run and watch.

The honest limit

Operational is not finished. The gateway everything routes through is now a single point of failure, though recovery is one setting: repoint the agents at a provider. Observability and budgets are wired, but the evals and guardrails are set up more than used, and the roster is still a seed I am watching.

The bottom line

OpenClaw was the lesson, NanoClaw is applying it. The agents were never the hard part, capability came cheap. The work was everything that keeps a capable agent stable enough to operate: a purpose you can measure, a contract you can verify, a model you can afford, a lean harness whose patches are mine, and one gateway holding the keys, the budgets and the traces. That is the difference between a capable experiment and a fleet I can actually run.

Title card: capable was the easy part, operational was the work. The Telegram mockup: the same haze newsletter request to OpenClaw bot and NanoClaw bot, side by side. Point 1 of 4: OpenClaw is capable, the harness is the hard part to keep stable. Point 2 of 4: NanoClaw applies the lessons in a lean harness I own. Point 3 of 4: the gateway is what makes the fleet operational. Point 4 of 4: operational, not finished, the gateway is now a single point of failure. Closing card: read next, the OpenClaw experiment, the model gateway, and a model per agent.
The whole note in a few cards, the two bots included. Swipe or use the dots.