AI Coding Agents Go Enterprise: From Solo Assistant to Orchestrated Fleet

·11 min read·Evergreen Tools Team

For two years the coding-agent story was a race between editors: which assistant completes the line, which one refactors the module, which one owns the repository. In 2026 the interesting work moved up a layer. The question stopped being which agent to pick and became how to run many agents, against real repositories, under real controls. UiPath announced UiPath for Coding Agents on May 12, 2026, a platform-wide integration it described as making every coding agent enterprise deployable, launching with Anthropic's Claude Code and OpenAI's Codex and adding Cursor, GitHub Copilot, and Gemini through the year. On September 9, 2026 it added Maestro Flow, developer-first orchestration for coding agents. Here is what actually shipped, and how to design for it.

Orchestrating a fleet, not picking a tool

Orchestrating a fleet, not picking a tool

1. What Actually Shipped

The May 12, 2026 announcement matters less as a product and more as a category marker. UiPath took the coding agents enterprises already use and placed them inside the orchestration and governance layer it already sells to large organisations. The claim is integration breadth: the same controls, audit trails, and deployment machinery that govern RPA robots now govern Claude Code and Codex, with Cursor, GitHub Copilot, and Gemini on the roadmap. Maestro Flow, announced September 9, 2026, pushed further toward a developer-first orchestration surface, so a platform team can define how coding agents are invoked, in what order, and with which permissions.

# agents.registry.yaml - who may run, and with what
agents:
  - id: claude-code
    vendor: anthropic
    skills: [read, edit, run_tests, commit]
    denied: [push_protected_branch, unrestricted_shell]
  - id: codex
    vendor: openai
    skills: [read, edit, run_tests]
    denied: [push_protected_branch, unrestricted_shell]
sources_of_truth:
  policy: git://platform/policy.git
  capability_report: s3://ai-telemetry/capability/weekly.json

2. The Harness Is the Product

A model is a component; a coding agent is a harness around it. The same model behaves like a different product depending on how tools are exposed, how context is assembled, how retries are handled, and how permissions are gated. That is why platform teams now version their harness the way they version services. When two teams report that the same agent is brilliant on one codebase and useless on another, the variable is usually the harness and the repository, not the model weights.

# policy_gate.py - deny by default, promote only on evidence
POLICY = {
    "read_file":   {"risk": "low",  "requires_eval": None},
    "run_tests":   {"risk": "low",  "requires_eval": None},
    "push_branch": {"risk": "high", "requires_eval": "branch_safety_v3"},
    "shell_exec":  {"risk": "high", "requires_eval": "shell_containment_v2"},
}

def allow(agent, skill, evals):
    rule = POLICY[skill]
    if rule["requires_eval"] is None:
        return skill in agent["skills"]
    score = evals.get(rule["requires_eval"], {}).get(agent["id"], 0.0)
    return score > 0.9

3. Sandboxing Stops Being Optional

The moment an agent can run shell commands, install packages, and push to a branch, isolation becomes a hard requirement rather than a nice-to-have. The 2026 default for enterprise deployment is remote coding sandboxes backed by microVMs such as Kata Containers, Firecracker, or gVisor, with every execution getting its own kernel plus network isolation, usage caps, and tenancy boundaries. This is the difference between letting an agent work and letting an agent loose.

# sandbox.spec.yaml - one kernel per run, no exceptions
runtime: microvm
isolation: firecracker        # alternatives: kata-containers, gvisor
network:
  default: deny_all_egress
  allow: [pypi.org, registry.npmjs.org]
resources:
  vcpu: 4
  memory_gb: 8
  wall_clock_max: 30m
tenancy: single_use_ephemeral
secrets: injected_at_runtime_only
One kernel per run: microVM isolation

One kernel per run: microVM isolation

4. Governance as Code

The patterns converging in 2026 all treat policy as a first-class artifact. Permissions are granted per skill, not per model: reading files and running tests are cheap and low-risk; pushing to a protected branch or executing arbitrary shell commands are not, and they earn their own gates. Every tool call is logged, every trajectory is retained, and autonomy is expanded only when a specific eval passes. Code sample 2 is the smallest useful version of that policy gate.

# trajectory.py - capture is the step nobody can reconstruct later
import json, time

def record(agent_id, tool, args, result, latency_ms, ok):
    return {
        "agent": agent_id,
        "ts": time.time(),
        "tool": tool,
        "args": args,
        "ok": ok,
        "latency_ms": latency_ms,
        "result_digest": digest(result),
    }

# append one JSON object per line; never sample, never truncate silently
# this file is the only artifact that turns a cost centre into a capability report

5. A Reference Architecture

Four components keep recurring. A registry that lists which agents may run and with which skills. A router that picks the agent for a task based on measured capability rather than brand loyalty. A sandbox that gives each run its own kernel and its own budget. And a telemetry sink that turns every trajectory into data you can score. Code sample 1 sketches the registry entry, code sample 3 sketches the sandbox spec, and code sample 5 ties routing to measured quality per dollar.

# router.py - spend where quality is measured, not hoped for
def choose_agent(task, registry, capability_report):
    candidates = [a for a in registry if task.skill in a["skills"]]
    if not candidates:
        raise NoEligibleAgent(task.skill)
    scored = [
        (a["id"], capability_report[a["id"]][task.skill] / a["cost_index"])
        for a in candidates
    ]
    scored.sort(key=lambda pair: pair[1], reverse=True)
    return scored[0][0]   # best measured quality per dollar, per skill

6. What to Do This Quarter

Three moves. First, inventory which coding agents are already running in your organisation, because they almost certainly are, sanctioned or not. Second, write your policy down as code, per skill, and make the default deny. Third, instrument one production agent end to end and use it to build your first capability report. The fleet is coming either way; the only question is whether you can see it.

7. The Build-versus-Buy Question

What vendors actually sell is the governance surface: the console, the audit trail, the approval workflow, and the integration catalogue. The underlying patterns, registry, router, sandbox, and telemetry, are portable and reproducible with open-source pieces. So the honest answer is to buy the surface and own the policy. If your policy lives in a vendor's proprietary format, you have rented your autonomy model rather than built it, and migrating later means re-deriving every gate from scratch. Keep the policy file in your own repository and treat the vendor as one implementation of it.

8. Failure Modes to Plan For

Three failure modes show up in almost every fleet. Agent sprawl, where teams quietly wire up unsanctioned agents and the platform team learns about them during an incident. Silent capability drift, where a model or harness update changes behaviour without anyone re-running evals. And budget blowout, where a retry loop turns a cheap task into an expensive one at three in the morning. None of these are exotic; each has a boring control. A registry catches sprawl. A weekly eval catches drift. A per-run cost ceiling and a circuit breaker catch blowout. Plan for all three on day one, because retrofitting them after an incident is how these projects get cancelled.

Policy as code, permissions per skill

Policy as code, permissions per skill

📌 Frequently Asked Questions

What is UiPath for Coding Agents?

A platform-wide integration announced May 12, 2026 that runs coding agents inside UiPath's orchestration and governance layer, launching with Anthropic's Claude Code and OpenAI's Codex.

Which agents are supported?

Claude Code and OpenAI Codex at launch, with Cursor, GitHub Copilot, and Gemini added through 2026.

Why microVM sandboxes?

They give each agent execution its own kernel and network isolation, so a runaway agent cannot reach production systems or other tenants.

What is Maestro Flow?

A developer-first orchestration surface for coding agents, announced September 9, 2026, that lets teams define how agents are invoked and what they are permitted to do.

Do I need a vendor to do this?

No. The registry, router, sandbox, and telemetry patterns work at small scale with open-source building blocks; vendors mainly sell the governance surface around them.