The industry is stuck on the wrong question. "Can AI agents write production code?" was answered a while ago — yes, obviously, and faster than most teams. The question that actually decides whether your business survives the experience is different: when an AI agent writes production code, who is allowed to ship it?
We run AI agents on live commercial systems every day — including a high-volume commerce platform that takes real payments from real customers around the clock. Not a demo. Not a sandbox with training wheels. Production, with money moving through it. And in all our agent work, no agent has ever deployed a single line to production on its own. Not because the agents aren't capable. Because the system is designed so they can't.
This is the operating model we've converged on. We call it the perfect handoff, and it borrows from something much older than AI: the separation of duties that banks, aviation, and every serious engineering organization figured out long before software existed.
Two agents, one human, three jobs
The naive way to use an AI agent is to give one agent everything — read access, write access, deploy access — and supervise it in real time. That's not delegation; it's babysitting with extra steps, and the moment your attention slips, your production system is one confident mistake away from an incident.
We split the work into three roles that never blur:
- The verifier plans and checks — and touches nothing. One agent owns architecture, specification, and verification. It inspects the live system directly — real endpoints, real headers, real database state — and writes precise work orders. It has no write access to any release repository. Ever. Its power is knowledge, not keys.
- The executor writes code — and can't ship it. A second agent, running in a separate environment, takes the work order and implements it. It works on a branch and opens a pull request. That is the ceiling of its authority. It cannot merge, cannot deploy, cannot touch production configuration. Branch protection enforces this at the platform level — it's a rule the agent physically cannot break, not a policy it's asked to follow.
- The human holds every key. One person reviews the pull request, merges it, and owns the deploy. Every credential that moves money or touches customer data stays in human hands. When a task genuinely requires a credential, the agent writes a script — with guards that refuse to run against the wrong environment — and the human runs it in their own shell. The secret never enters the agent's context at all.
Notice what this structure buys you. The agent that verifies is not the agent that wrote the code — so verification is honest, the same reason you don't let authors review their own work. The agent that writes code can't ship it — so a bad change dies in review instead of in production. And the human's attention is spent where it matters: on the diff and the decision, not on watching an agent type.
The handoff is a document, not a conversation
Here's the part most teams get wrong. The two agents never talk to each other. They exchange written artifacts through a shared channel: work orders travel one way, completion reports travel back. Every handoff is dated, specific, and self-contained — readable by an agent with zero memory of anything that came before.
That constraint sounds like friction. It's actually the whole trick. AI agents don't share memory, and their context resets constantly. Any workflow that depends on an agent "remembering" what another agent meant is a workflow that fails silently and unpredictably. Writing the handoff down forces precision: exactly which files, exactly which changes, exactly which tests prove it worked. If the work order is ambiguous, the ambiguity surfaces before the code is written — when it's cheap — instead of after it ships.
The side effect is an audit trail no meeting-driven team can match. Every change to the system traces back to a written order, a written report, and a human merge decision. When something needs investigating six weeks later, the record exists — not as someone's recollection, but as documents.
Never trust a claim you can verify. Agents are confident by design — confidently right and confidently wrong in the same tone of voice. So nothing in our pipeline is accepted on an agent's word: the live system is checked before work begins, automated gates block any release that fails its checks, and "done" means verified live, not "the agent said it's done."
What the failures taught us
This model wasn't designed on a whiteboard. Every rule in it was paid for. A few of the lessons, stripped to their pattern:
- A green checkmark is only as good as what it's wired to. We once shipped a safety control that passed every check — because it wasn't connected to anything. Now every new control must prove it can fail before we trust that it passes. A gate that can't block isn't a gate; it's decoration.
- Stale knowledge is worse than no knowledge. An agent recalling last week's state of the system will act on it with total confidence. The fix is cultural and absolute: live state outranks any document, and any document outranks memory. Fetch, don't recall.
- Fail closed, always. Every external destination in our stack — payment processor, database, messaging — reads its configuration from the environment and refuses to run if that configuration is missing. No fallbacks to production defaults. A preview environment that quietly talks to production because someone forgot a variable is how test orders become real charges.
What this means if you're buying software
Every agency will tell you they "use AI" now. Most of them mean an engineer with a chat window. That's fine — but it's not an operating model, and it doesn't compound. The real leverage arrives when agent work is structured: separated duties, written handoffs, machine-enforced boundaries, and a human decision at every irreversible step.
For our clients, the outcome looks like this: features and fixes move at agent speed — work that used to take a sprint lands in days — while every change still passes through automated gates and a human merge. You get the velocity of AI with the provenance of traditional engineering. Not one or the other.
The perfect handoff isn't about limiting what AI can do. It's about making AI's speed safe to use on systems that matter. The teams that figure this out will ship circles around the ones still arguing about whether to trust the model. The answer is: you don't trust the model. You trust the process — and you build the process so trust is never required.
Let's build something real.
Tell us about your project. We'll respond within one business day with a clear next step — no sales pitch, no runaround.
Start a Project