Scheduling the work
What should run at once, what depends on what, and what needs a longer time horizon?
Scheduling is no longer just picking the next ticket. Dependencies, budgets, and work that spans different time horizons change the degree of safe concurrency.
What should run in parallel, and what must wait?
Separate task selection from execution
Schedule work against dependencies and shared constraints; let execution continue without constant supervision.
Trade-off: Scheduling is only as good as its visibility into resources.
The comparison: dependency graphs make ordering visible; schedulers decide what to run; contracts make fan-out safer. None guarantees a good decomposition.
WHAT TO WATCHA task marked independent that later blocked another.
What practitioners say
Everything on plan in the research log →Accelerating Large-Scale Test Migration with LLMs
airbnb.tech · 1. File Validation and Refactor Steps
“The step-based approach also made it simple to run migrations on hundreds of files concurrently”
Planning that removes the coordination problem: each test file is its own unit with its own validation gates, so nothing shares state. 75% of target files migrated in four hours, though some long-tail files needed 50 to 100 retries.
- Plan
- Verify
Agent swarms and the new model economics
cursor.com · Split-brain design
“Two planners, unaware of each other, implement the same concept in different ways in different parts of the codebase.”
A conflict Git never reports: the changes merge cleanly and the design still diverges.
- Plan
Agents Don’t Do Standups: Building the Post-Engineer Engineering Org — Mike Spitz, PFF
youtube.com · Mike Spitz, PFF · from 7:40
“when we automatically create all of the tickets, we structure it in a manner so that the tickets are made so none of them are blocking each other and if there are ones that are blocking each other, that information is flagged up and highlighted.”
Quoted from YouTube’s auto-generated captions.
- Plan
AI agent pull requests stuck in merge conflicts: what broke in our merge path and what we changed
dev.to
“Two agents working on two unrelated screens will still collide on the last line of that file.”
At one point 38 of 62 open agent PRs were in conflict, mostly on a shared append-only stylesheet. Six fixes to the merge path took merged PRs from 68 to 112 a week. The post says it was written by one of the company’s agents.
- Integrate
- Plan
AI Changed How Spotify Builds. What We Learned (and Fixed) About Quality at Higher Velocity
engineering.atspotify.com · Fleet Updates
“This year, an automated dependency upgrade passed our checks, but still failed in production, impacting end users. We are responding by strengthening safeguards, expanding rollback capacity, and scheduling automated changes during owning teams’ working hours.”
Scheduling as a mitigation: when automated changes land is tied to when the humans who own the code are around to catch a failure.
- Plan
- Verify
An open-source spec for Codex orchestration: Symphony
openai.com · Turning our issue tracker into an agent orchestrator
“Agents only start working on tasks that aren’t blocked, so execution unfolds naturally and optimally in parallel for this DAG (a sequence of execution steps).”
The unit being scheduled is the ticket and its dependencies, not the agent session. Agents also file follow-up issues that are evaluated and scheduled later, and crashed or stalled agents are restarted.
- Plan
An open-source spec for Codex orchestration: Symphony
openai.com · The ceiling of interactive coding agents
“In practice, most people could comfortably manage three to five sessions at a time before context switching became painful. Beyond that, productivity dropped.”
The human is the first concurrency limit. Symphony's answer was to move scheduling into the issue tracker instead of adding more sessions.
- Plan
Building Blocks for Uber’s Software Factory— Uday Kiran Medisetty & Adam Huda, Uber
youtube.com · Uday Kiran Medisetty and Adam Huda, Uber · from 16:30
“We don’t want thousands of loops being set up across the company without any bounds. You have a managed surface that you go to to set up the loop. So it runs on Sunday when we know we have better uh CI capacity available.”
They also cap how many diffs engineers see on Monday morning: the loops are scheduled around CI capacity and reviewer attention. Quoted from YouTube’s auto-generated captions.
- Plan
- Integrate
Building world-class engineering teams in the age of AI - The Pragmatic Summit
youtube.com · Thomas Dohmke · from 16:22
“now you have your backlog in your pull requests. And that’s the bottleneck now because you can’t review all of that. And then there are going to be agents that review all that code and auto merge and auto deploy it, and what you get is the Homer Simpson car.”
In the same session, Atlassian’s CTO reports PRs per engineer up 89%. Speakers are inferred from what they say; quoted from YouTube’s auto-generated captions.
- Verify
- Plan
Building your own software factory — Eric Zakariasson, Cursor
youtube.com · Eric Zakariasson, Cursor · from 18:23
“if you have two different tasks working on the same part of the codebase, you’re going to get merge conflicts. So you need to still like plan out scope and paralyze uh the work. Um and one like one unit of work can always be one agent.”
“Paralyze” is the captions’ hearing of “parallelize”. Quoted from YouTube’s auto-generated captions.
- Plan
Gas Town: The Good, The Bad, The Ugly
tenzinwangdhen.com · The Good
“Came back to find 6 PRs merged, and only one blocked on a dependency.”
He had handed out seven beads before dinner.
- Plan
Harness Engineering: How to Build Software When Humans Steer, Agents Execute — Ryan Lopopolo, OpenAI
youtube.com · Ryan Lopopolo, OpenAI · from 37:04
“with each engineer producing three to five PRs per day, even on a team of three, merge conflicts were super miserable, right? Because these PRs tended to be pretty big, we were working on the same parts of the code base.”
Two fixes: restructure the code so less of it overlaps, and keep PRs open for less time. PRs stayed open waiting for human review, so a review agent now runs on every push and blocks a merge on serious findings. Quoted from YouTube’s auto-generated captions.
- Integrate
- Verify
- Plan
How is Google using AI for internal code migrations?
arxiv.org · VI. Joda time to Java time migration
“The continuous availability of code reviewers is also not guaranteed all the time, so we need to only migrate parts of the codebase where we have bandwidth to land the changes.”
Reviewer capacity used as a scheduling input. Work is split into chunks that can be reviewed separately, sharded by owner, and aimed at the parts of the codebase whose reviewers have time.
- Plan
- Verify
How is Google using AI for internal code migrations?
arxiv.org · VIII-D. Landing the changes: a human process
“We needed to slow down some of the migration work to avoid overwhelming the teams that had to do the reviews”
In the JUnit3 to JUnit4 migration (5,359 files in three months), Google deliberately capped how many changes it generated each week, because reviewers, not generation, set the pace.
- Verify
- Plan
How to Run Multiple AI Agents at Once | AI Learned Today ep. 6
youtube.com · 10:36
“now I think the bottleneck is around just creating the work.”
From Datopian's CTO, who uses Gas Town as his main orchestrator. Later in the episode, at about 18:05, he puts his time at roughly 80% planning and watching the agents and 20% debugging. Quoted from YouTube's auto-generated captions.
- Plan
How we built our multi-agent research system
anthropic.com
“For instance, most coding tasks involve fewer truly parallelizable tasks than research, and LLM agents are not yet great at coordinating and delegating to other agents in real time.”
- Plan
Inside Steve Yegge’s Software Factory: Lessons from Running 50 Agents
re-cinq.com · Transcript, turn starting 08:13
“And so, like, at the end of the week, I find out that they've launched like 46 game features.”
This was during a week he had declared "dry dock": nothing was to launch and there was no game work. Instructions alone did not hold the scope. Quoted from the page's machine-generated transcript.
- Plan
Minions: Stripe’s one-shot, end-to-end coding agents—Part 2
stripe.dev · Devboxes, hot and ready
“Humans should be able to give many agents logically separate work. Agents should have clean environments and working directories: it unnecessarily wastes tokens on resolution if agents are interfering with one another’s changes.”
Stripe keeps a warm pool of identical devboxes, with repositories cloned and Bazel and type-checking caches already warm, and gives each task its own box.
- Isolate
- Plan
Ralph Wiggum as a “software engineer”
ghuntley.com
“If you were to fan out to a couple of hundred subagents and then tell those subagents to run the build and test of an application, what you’ll get is bad form back pressure. Thus, the instruction above is that only a single subagent should be used for validation”
Fan out the reading and writing, but serialize the build and test.
- Integrate
- Plan
Rewriting All of Spotify’s Codebase All the Time
infoq.com · The Biggest Tool - Standardization
“We want to get rid of the 20% of our codebase that looks and behaves differently to the rest of our codebase. If we do that, our code becomes extremely predictable. It becomes much easier to write our prompts, and also to review our code.”
Standardization as a concurrency tool: when every component looks the same, one fleet-wide change and its review scale across all of them.
- Plan
- Verify
Scaling long-running autonomous coding
cursor.com · Learning to coordinate
“With no hierarchy, agents became risk-averse. They avoided difficult tasks and made small, safe changes instead. No agent took responsibility for hard problems or end-to-end implementation.”
Why Cursor moved from a flat swarm to planners that decompose work for narrowly scoped workers.
- Plan
Ten agents one release
bernstein.readthedocs.io
“parallel agents are bottlenecked not by their code quality but by the convergence points in the codebase.”
Ten parallel tickets produced three conflicts, all in one file where every command is registered. Their fix is structural: split registration into per-package files that the entry point discovers.
- Integrate
- Plan
The Multi-Agent Architecture That Actually Ships — Luke Alvoeiro, Factory
youtube.com · Luke Alvoeiro, Factory · from 9:25
“agents conflict. They step on each other’s changes. They duplicate work. They make inconsistent architectural decisions. And so the coordination overhead ends up eating up the speed gains all the while you’re burning tokens.”
Factory’s Missions run features one after another and parallelize only read-only work, such as research and code review. Quoted from YouTube’s auto-generated captions.
- Plan
- Coordinate
Uber’s AI infra, from the inside
newsletter.pragmaticengineer.com · Transcript, 1:15:02
“every Sunday, when we don’t have that much CI load, it will generate a new PR for this service using that code cleanup.”
Bulk maintenance scheduled for when CI has spare capacity. Fox is Uber’s self-improving codebase agent. Machine transcript.
- Plan
- Integrate
Why Merge Conflicts became the new Agentic Bottleneck
adamtornhill.substack.com
“Recurring merge conflicts are the canary telling you that there is a misalignment between a) the work you do, and b) the type of work your architecture supports.”
He argues stacked PRs and smarter queues patch symptoms. His fix is to find hotspots and change coupling, then split them along domain boundaries so parallel tasks land in different places.
- Plan
- Integrate
Worktrees (AI Development Setup)
stevekinney.com
“So partition by ownership before you start any agents. If you can write down who owns what up front, the branches will probably merge cleanly.”
- Plan
- Coordinate
Tools filed under plan
- agent-orchestratorTakes tickets with declared dependencies, sorts them into parallel waves, runs an agent per task in its own worktree and opens one PR per task.
- agent-taskgraph-protocolA protocol for Claude Code and Codex agent teams: spec freeze, durable roles, isolated workers, independent review and evidence-backed delivery.
- AIWorkHubA local control plane in VS Code and MCP that coordinates several model workers through dependency-aware task graphs, durable project memory and evidence-based review.
- BeadsTrack tasks and dependencies as multiple agents work on a codebase.
- code-system-graphMaps APIs, events, schemas, packages, databases and ownership across repositories so agents can check the impact of a change before making it.
- First TreeOpen-source orchestration that puts several coding agents on one backlog, runs them in parallel and lands everything as a reviewed pull request.
- graph (gwaghmar)Plans agent work as a dependency graph of small nodes that are cached, validated and retried one by one.
- multi-agent-orchestrator-skillAn agent skill that splits a large task into a reviewed plan, then supervises worker agents in isolated worktrees with scoped prompts, validation and restarts.
- Open OrchestratorExploring orchestration of autonomous software work.
- opencode-madAn OpenCode plugin that splits a task into parallel subtasks, each in its own worktree, with planner, reviewer and file-ownership roles.
- OrdewellRun tasks separately, then bring successful results into an integration branch.
- OrkestraA deterministic DAG scheduler and integration kernel for agent-directed work.
- PactContract-first decomposition so agents can build behind typed interfaces.
- PlanuA spec-driven MCP server that locks the spec, plan and task list, then lets agents change only the files a manifest names.
- red-queenA deterministic state machine that moves Jira or GitHub tickets through spec, code, review, test and human gates, dispatching Claude Code workers between phases.
- RepoHelixA cross-repository contract graph that lets agents reason about how a change to an interface affects other repositories.
- SpecGraphAn approach to graph-shaped specifications and their relationships.
- OmORoutes work to specialised agents as background tasks with dependency graphs and per-provider concurrency caps; an experimental team mode adds a mailbox and file-locked task claims.