Orchestrating Fleet-Scale AI Coding Agents with Temporal Workflows

macroscope · Tech · 2026 · source Agentic: yes · promotional bias: med · source-backed · extracted with prompt 0.5.6 (schema v2)

Generated from extraction.json — do not edit by hand. Every claim cites verbatim source evidence; stated means the quote directly asserts the claim, implied means it supports it indirectly.

Problem

Domain: Fleet-scale AI coding-agent orchestration and code review automation

Macroscope needed reliable infrastructure for long-running code-understanding, code-review, and coding-agent workflows that could survive failures, coordinate external events, run untrusted code safely, and let engineers manage many autonomous coding tasks without constant manual steering.

Constraints:

Architecture

Macroscope uses Temporal as the durable orchestration substrate for its code intelligence product and Murmur coding-agent fleet. Core Macroscope features run as workflows for PR check runs, Slack question-answering, GitHub webhook state updates, scheduled automations, and fan-out code review. Murmur adds isolated cloud VMs per coding agent, event-driven agent turns from GitHub/CI/review comments, MCP-based fleet control, decoupled VM and agent lifecycles, Temporal Proxy trust boundaries, JWT-scoped worker access, and workflow version pinning for long-running jobs.

Diagram confidence: reconstructed (reconstructed from prose).

flowchart LR
  GitHub_events["GitHub events"] --> Temporal_workflows["Temporal workflows"]
  Temporal_workflows --> Code_review_child_workflows["Code review child workflows"]
  Code_review_child_workflows --> Macroscope_review_agents["Macroscope review agents"]
  Macroscope_review_agents --> GitHub_events
  Temporal_workflows --> Agent_harness["Agent harness"]
  Agent_harness --> Slack_API_interface["Slack/API interface"]
  Temporal_workflows --> VM_pool_workflow["VM pool workflow"]
  VM_pool_workflow --> Coding_agent_VM["Coding agent VM"]
  Murmur_control_plane["Murmur control plane"] --> VM_pool_workflow
  Murmur_control_plane --> MCP_interface["MCP interface"]
  Murmur_control_plane --> Coding_agent_VM
  Coding_agent_VM --> Temporal_Proxy["Temporal Proxy"]
  Temporal_Proxy --> Temporal_workflows
  CI_review_feedback["CI/review feedback"] --> Coding_agent_VM
  Coding_agent_VM --> Verification_tools["Verification tools"]
Drag to pan · scroll or use +/− to zoom · reconstructed from the source's described component topology

Components

Component Role Interacts with
GitHub events PR opens, commits, review comments, and CI failures that drive Macroscope and Murmur workflows. Temporal workflows
Temporal workflows Durable orchestration layer for check runs, agent harnesses, webhook state updates, scheduled jobs, and Murmur tasks. Code review child workflows, Agent harness, VM pool workflow, Temporal Proxy
Code review child workflows Parallel Temporal child workflows that review separate PR functions and surface partial findings. Macroscope review agents
Macroscope review agents Correctness, approvability, and custom review agents that analyze code and produce review decisions. GitHub events, Engineering dashboards
Agent harness Workflow-backed system that answers natural-language questions and exposes tool-call traces. Slack/API interface, Temporal workflows
Murmur control plane Orchestrates coding-agent tasks, fleet state, event delivery, and user interaction. VM pool workflow, Coding agent VM, MCP interface
VM pool workflow Long-running workflow that keeps available VMs warm and manages VM lifecycle separately from agent work. Coding agent VM
Coding agent VM Untrusted sandbox with code checkout, customer environment, tools, and the selected coding agent. Temporal Proxy, CI/review feedback, Verification tools
Temporal Proxy Trust-boundary layer between Temporal Cloud and untrusted VMs. Coding agent VM, Temporal workflows
CI/review feedback External checks, human comments, Macroscope bugs, and Cursor bugs that wake agent turns. Coding agent VM
Verification tools Execution and visual verification tools such as Playwright screenshots used by agents to check work. Coding agent VM
MCP interface Local Claude/Codex orchestration interface for spawning and managing remote Murmur agents. Murmur control plane

Data flow

GitHub, Slack, CI, review comments, and scheduled events trigger Temporal workflows. For code review, child workflows fan out over PR changes and emit partial findings. For Murmur, a task starts or wakes a VM sandbox, runs a coding agent, lets it write code, open PRs, respond to CI and review events, verify with tools such as Playwright, and eventually produce a merge-ready PR.

3 supporting quotes
“all of those custom check runs, anytime a PR is open and we need to run all of that, they all get their own discrete state machine through Temporal.”transcript, stated
“All of those webhooks that get delivered to Macroscop's backend trigger workflows that update our state internally.”transcript, stated
“it can create a plan, it can write code against that plan, it can open PRs, it's listening for comments on those PRs from humans, from review bots”transcript, stated

Why this architecture

Macroscope uses Temporal because AI code workflows are long-running, event-driven, failure-prone, and need inspection. Murmur adds VM isolation and event-driven self-verification because coding agents need real environments, CI, code review, and tool execution to complete tasks without constant user nudging.

3 supporting quotes
“this allows us to make sure that that state machine is durable. If we deploy, if things go down, if we need to replay anything, if we need to debug anything”transcript, stated
“complex tasks, whether it's a feature or a large project or some re-architecture or complex engineering tasks, really require um agents that are that are capable of self-verifying their work.”transcript, stated
“the VM, which is going to be running all of the customer's code, is very much on the other side of the trust boundary.”transcript, stated

Models used: Claude Code · Codex · Large Language Models

Scale

Alternatives considered (roads not taken)

Manage several coding agents manually in local tabs and worktrees

Rejected because: The team found three to five concurrent Claude sessions painful to shepherd and difficult to keep moving.

“you've got three Claude sessions and like three, four, maybe five Claude sessions is like the absolute most that you can manage”transcript, stated

Rely on chat agents without real self-verification environments

Rejected because: Complex tasks go off the rails when agents cannot run, test, and verify their work.

“coding agents often go off the rails or aren't able to kind of complete these tasks end to end is they don't have the proper environment to self-verify their work.”transcript, stated

Keep VM lifecycle tied to agent lifecycle

Rejected because: Decoupling lets idle VMs shut down while agents wait for PR review or CI, reducing cost.

“we've made a very intentional decision to decouple a workflow that manages the life cycle of the VM from the life cycle of the agent.”transcript, stated
“if the VM needs to idle to save cost while that's happening, this is something that we can easily manage with these decoupled workflows.”transcript, stated

Let untrusted VMs connect directly to Temporal Cloud

Rejected because: The VM executes customer code, so Temporal Proxy and JWT-scoped access enforce the trust boundary.

“in between Temporal Cloud and the untrusted VM layer is Temporal Proxy.”transcript, stated
“It is making GRPC calls with its minted JWT, and that ensures that it can only talk to the, you know, worker in the task queue that is provisioned for that VM.”transcript, stated

Patterns

durable-execution (orchestration)

Temporal gives each PR check run, agent harness, webhook update, scheduled automation, and Murmur VM/agent lifecycle a durable workflow state machine.

“Everything in Macroscop is a workflow and the way that it works is it depends on the feature.”transcript, stated
“this allows us to make sure that that state machine is durable.”transcript, stated

multi-agent-orchestration (orchestration)

Murmur lets engineers spawn and coordinate fleets of remote coding agents, including fan-out through a local Claude/Codex session using MCP.

“Murmur is a tool that helps you orchestrate a fleet of coding coding agents.”transcript, stated
“use Claude as a orchestrator. So, I'm going to go to my notes here cuz I've written a more complex task.”transcript, stated

safety-policy-enforcement (security)

Each Murmur agent runs in an isolated cloud VM, optionally in the customer's VPC, with Temporal access constrained through proxy and JWT task-queue scoping.

“every agent that you spawn using Murmur is a sandbox. It's a sandbox living in a cloud VM.”transcript, stated
“you can bring your own cloud. If you want to have these VMs spawn in your VPC because you want it to connect to microservices that are behind your VPN, no problem.”transcript, stated

eval-driven-development (evaluation)

Murmur agents verify work by running tools, taking screenshots, reflecting on output, responding to CI failures, and addressing review-bot findings.

“It then ran a headless browser to take take screenshots of the work that it did. And it then reflected on those screenshots”transcript, stated
“the other 19 were CI failures, and responding to macroscope bugs, and, you know, we use Cursor as well.”transcript, stated

human-in-the-loop-gate (safety)

Murmur reacts to human PR comments and returns merge-ready work that can still receive additional manual steering.

“it's listening for comments on those PRs from humans, from review bots like macroscope or whatever set of review bots you use.”transcript, stated
“a clean merge ready PR that then is ready for maybe some additional steering from you manually.”transcript, stated

observability-tracing (operations)

Temporal exposes workflow state and tool calls for debugging check runs and natural-language agent harnesses.

“if we need to replay anything, if we need to debug anything, we can see everything that is happening uh for each of those check runs in Temporal.”transcript, stated
“if we need to see which tool calls our agent is making to better understand how to answer a customer's question, we can see all of that in the Temporal workflows.”transcript, stated

async-message-orchestration (orchestration)

Murmur turns PR comments, CI failures, and review bot findings into queued events that wake the VM and start another agent turn.

“this VM will, um see a new event get queued up. And that event is a PR comment from me.”transcript, stated
“now this VM is going to wake up, Claude is going to start running, it's going to get my prompt, and it's going to do another agent turn.”transcript, stated

Tradeoffs

Use Temporal as the workflow substrate across the product.

Chose Durable workflow state machines over Ad hoc request handlers or polling-based orchestration.

Rationale: Temporal gives durability, replay, debugging, child workflows, webhook-triggered state, and scheduled automation across code-review and agent workflows.

“all of those custom check runs, anytime a PR is open and we need to run all of that, they all get their own discrete state machine through Temporal.”transcript, stated
“We can't just rely on the GitHub API to power all of this.”transcript, stated

Run each coding agent in a cloud VM sandbox.

Chose Dedicated VM per agent over Local chat-only agent sessions.

Rationale: The VM gives agents code checkout, tools, environment access, screenshots, CI feedback, and customer-network connectivity while isolating execution.

“Each of these have spawned distinct remote VMs with their own checkout of whatever code bases they need access to”transcript, stated
“each with a full hermetic replica of our environment.”transcript, stated

Expose Murmur through MCP as well as a web UI.

Chose Local Claude/Codex orchestration of remote VMs over Only managing tasks through Murmur's web dashboard.

Rationale: Engineers already work in terminals, and MCP enables conversational fan-out and fan-in over a remote fleet.

“most of our team that uses this product, we're actually not creating tasks in the UI. Why? We're all in our terminals anyway”transcript, stated
“Some of them might be single tasks, some of them might be um sort of independent tasks, and then you can use that same cloud session to fan back in.”transcript, stated

Keep backfilled execution untrusted.

Chose Temporal Proxy and JWT-scoped worker/task-queue access over Trusting VM workers as Temporal Cloud peers.

Rationale: Customer-code execution requires treating the VM side as untrusted while still letting workflows progress.

“From the VM's perspective, it's just it has no access to Temporal Cloud.”transcript, stated
“all of the from Temporal Cloud's perspective, all of the traffic it's seeing is trusted.”transcript, stated

Gotchas (what bit them)

Manual multi-agent coding sessions hit an ergonomic ceiling.

Root cause: Engineers had to shepherd several Claude tabs and worktrees, making three to five sessions the practical maximum.

Resolution: Use Murmur as a remote fleet control plane with VM sandboxes and MCP orchestration.

“three, four, maybe five Claude sessions is like the absolute most that you can manage before you're like you know, pulling your hair out”transcript, stated

Coding agents drift without execution-based self-verification.

Root cause: Chat interfaces do not provide the environment needed to run, inspect, and verify complex engineering work.

Resolution: Run each agent in a VM with code checkout, CI/review feedback, and tools such as Playwright screenshots.

“they don't have the proper environment to self-verify their work. And so they just make things up sometimes.”transcript, stated
“made the code change. It then ran a headless browser to take take screenshots of the work that it did.”transcript, stated

Always-on VMs would waste infrastructure while agents wait.

Root cause: Agent workflows can pause for review comments or CI completion even when no compute is needed.

Resolution: Decouple VM lifecycle from agent workflow lifecycle so VMs can idle or shut down independently.

“maybe the PR is open and now we're waiting waiting for review comments to come in waiting for CI to complete.”transcript, stated
“if the VM needs to idle to save cost while that's happening, this is something that we can easily manage with these decoupled workflows.”transcript, stated

Customer-code execution creates a hard trust-boundary problem.

Root cause: The VM executes arbitrary customer code and cannot be treated as trusted infrastructure.

Resolution: Place Temporal Proxy between Temporal Cloud and VM workers and scope access with minted JWTs.

“Everything that the VM is doing is untrusted.”transcript, stated
“It is making GRPC calls with its minted JWT, and that ensures that it can only talk to the, you know, worker in the task queue that is provisioned for that VM.”transcript, stated

Long-running workflows complicate backwards compatibility.

Root cause: Murmur VM workflows can run for many hours or days while the product continues changing.

Resolution: Use workflow version pinning and Temporal worker controller support.

“some of these workflows these that are running for a VM could be out many hours or even days.”transcript, stated
“we use a combination of pinning the version of the workflows and Temporal's worker controller system”transcript, stated

Evaluation

Macroscope evaluates code review through bug-detection and F1 benchmarks, customer auto-approval rates, and internal productivity metrics. Murmur demos show self-verification via screenshots, CI failures, review-bot findings, and merge-ready PR completion.

Metrics: 40% average automatic PR approval for customers using approvability · Highest bug-detection rate on Macroscope's benchmark · Highest F1 score in a Martian benchmark among compared tools · 20 turns for a Notion integration task, with 19 turns responding to CI and review findings · Reported 32 work weeks of output in one week for an internal Murmur user

3 supporting quotes
“we had the highest bug detection rate.”transcript, stated
“against the same set of competitors showed that on F1 score, which is a combined score of precision and recall, uh Macroscopy also scores the highest”transcript, stated
“Murmur took 20 turns. I'm scrolling and scrolling and scrolling. And the first turn was actually building the Notion integration, and the other 19 were CI failures”transcript, stated

Outcomes

The talk reports strong internal and customer metrics, but the 32x productivity claim is self-measured and should be treated as directional evidence rather than a general sustained productivity guarantee.

3 supporting quotes
“40% on average of their PRs are automatically approved by Macroscop. 40%.”transcript, stated
“it was then merge ready. So, that kind of gives you a sense for the self-driving aspect of the product.”transcript, stated
“32 work weeks worth of output in one week is what a tool like this orchestrating multiple agents allows you to yield”transcript, stated