The First 90 Days: What We Learned Deploying the Grid

AI agent deployment lessons from building the Covia Grid: why coordination, named guarantees, and observability decide whether a multi-agent system holds.

Chirdeep Chhabra7 min read
  • announcement
  • synthetic-workforce
  • grid

The Gap Between a Demo and a Deployment

A multi-agent demo is a controlled performance. The agents run in a happy path, the tools respond, the steps line up, and the result lands. Deploying the same kind of system so that real work depends on it is a different exercise, because the thing you are actually building is not the agents. It is the layer underneath them that has to hold when the happy path ends.

The early period of putting the Covia Grid in front of real coordination taught us more about that layer than any amount of internal testing had. What follows is an honest account of what held, what surprised us, and what we would approach differently. It is written as engineering and design lessons rather than a results table, because the durable takeaways were about how coordination has to be built, not about any single number.

Lesson One: The Hard Problems Move Downstream Fast

The intuition most teams start with, and the one we had to correct in ourselves, is that the difficulty in a multi-agent system lives in the agents. Get the prompting right, pick the right model, tune the tool descriptions, and the system works.

What we saw is that agent quality gets you to a working demo and then stops being the constraint. Once more than one agent is involved and they begin calling across systems, the failures that matter are not "the model chose poorly." They are structural. A step half-completes and leaves state inconsistent. Two agents act on the same resource with no agreement about ordering. A call crosses into a system the calling team does not own and there is no clean answer for what authority it carried.

Coordination is the discipline of deciding who may run what, where, and under whose authority, and of being able to prove afterward what actually ran. The lesson of the early period was how quickly a system crosses from "make the agent smarter" into that territory. It happens at the second agent, not the fiftieth. Anything that treats coordination as a later concern is deferring the part that actually decides whether the system is safe to depend on.

Lesson Two: Guarantees Have to Be Named Before They Can Be Trusted

When something fails in a single-agent tool, a person is usually watching and can retry. In a running multi-agent system, no one is watching most individual steps, so the questions people ask are sharper. What happens if this step fails midway? Can the same request run twice and do damage? If an agent stops halfway through a chain, what state is the world left in?

We had answers to these in the runtime, but the early period showed that having the behaviour was not enough. Teams evaluating whether to route real work through the Grid wanted the behaviour named, specified, and inspectable. "It generally recovers" is not something an engineer will stake production on. A defined execution guarantee, with clear semantics they can read, is.

That pushed us to treat the execution guarantees as a first-class, explicit contract rather than an emergent property of the implementation. The concrete lesson: at this layer, an unstated guarantee is functionally the same as no guarantee, because the people relying on it cannot build against something they have to infer.

Lesson Three: What Surprised Us Was How Much of the Work Was Vocabulary

We expected the hard parts to be mechanical. Some of the most valuable early work turned out to be about language.

When you give teams a way to talk about the authority an agent holds, the place a piece of work runs, and the limit it operates within, their reasoning about the system sharpens immediately. When those concepts are implicit, every conversation reinvents them, and subtle disagreements hide inside shared words that mean different things to different people.

Three concepts earned their keep by being named explicitly. The rule book, which is how authority is expressed and evaluated. The venue, which is where execution actually happens. The boundary, which is the limit an agent operates within. Making these first-class gave people building on the Grid a shared model, and it gave us a cleaner internal language for reasoning about failures. The surprise was that clarifying the vocabulary removed whole categories of confusion that we had assumed were technical problems.

Lesson Four: Observability Is Not a Feature You Add Later

What can you not see? In the early period this became the question we returned to most, because most of the friction in a running multi-agent system comes from the parts nobody can observe.

A single agent is easy to follow. A chain of agents acting across venues, some of them in systems you do not own, is not. When something goes wrong in that setting, the first cost is not the failure itself. It is the time spent reconstructing what happened across components that were never designed to explain themselves together.

The lesson we would carry into any new deployment is that the ability to see and attribute what ran has to be built into the coordination layer from the start, not bolted on once problems appear. Attribution tied to identity, a readable record of what executed where, and clear signals when a boundary was reached are what turn an opaque system into one an operator can actually run. Retrofitting that visibility is far harder than designing for it, because you cannot observe after the fact what the system was never built to record.

Lesson Five: What We Would Do Differently

Honest reflection means naming what we would change, so three things stand out.

We would introduce the coordination vocabulary earlier in every engagement. The teams who understood rule book, venue, and boundary up front reasoned about their own systems more clearly and hit fewer surprises. The ones who met those concepts only after a failure spent time relearning in the worst possible moment. Front-loading the shared model is cheap and pays back quickly.

We would be even more explicit, sooner, about the difference between what the runtime guarantees and what it does not. Trust at this layer is built by being precise about limits, and a clearly stated boundary on what a guarantee covers builds more confidence than an optimistic and vague claim.

And we would design for the multi-agent, multi-venue case from the first line rather than letting single-agent assumptions settle in and having to unwind them. The properties that matter, identity, authority, observability, and clean failure behaviour, are far cheaper to build in than to add once a system already exists.

What Earned Confidence

The open-core decision held up under real use. Teams that could read the runtime and the SDKs, published in the open at Covia, engaged with the coordination layer at a depth that a closed component would not have allowed. Being able to inspect how a rule book is evaluated and how a boundary is enforced turned skepticism into specific, useful questions, and those questions made the layer better.

Treating coordination as its own layer, distinct from the agents, was the decision that aged best. It is what let us give teams execution guarantees, an authority model, and attribution that hold regardless of which agents or models sit on top. The agents change constantly. The need for something underneath them that governs execution does not.

The Question the First Period Left Open

The clearest thing the early period established is that the synthetic workforce does not fail for lack of capable agents. It struggles for lack of a substrate that governs how those agents run, coordinate, and account for their work. That is the layer worth building carefully, because it is the layer everything else depends on.

If you are moving your own agents from a working demo toward something real work depends on, the useful question is not whether the agents are good enough. It is whether the layer underneath them can tell you, cleanly, who ran what, where, and under whose authority. Teams working through that transition can start with early access. The harder question to sit with is this: when your multi-agent system does something you did not expect, will you be able to prove what happened, or only guess?

Stay in the loop

One email a month. No spam. Unsubscribe any time.