01 / Plan

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?

01

Make dependencies explicit

Represent work as a graph rather than hoping independent tasks will remain independent.

Trade-off: A graph can become stale as reality changes.

02

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.

03

Agree on interfaces before fan-out

Use contracts to make task boundaries legible before multiple implementations proceed.

Trade-off: Contracts add coordination before implementation.

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.

Quote

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”
— Charles Covey-Brandt, Airbnb
Take

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
Quote

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.”
— Wilson Lin, Cursor
Take

A conflict Git never reports: the changes merge cleanly and the design still diverges.

  • Plan
Quote

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.”
— Tyson Singer, Spotify
Take

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
Quote

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).”
— Alex Kotliarskyi, Victor Zhu and Zach Brock, OpenAI
Take

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
Quote

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.”
— Alex Kotliarskyi, Victor Zhu and Zach Brock, OpenAI
Take

The human is the first concurrency limit. Symphony's answer was to move scheduling into the issue tracker instead of adding more sessions.

  • Plan
Video

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.”
Take

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
Video

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.”
Take

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
Video

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.”
Take

“Paralyze” is the captions’ hearing of “parallelize”. Quoted from YouTube’s auto-generated captions.

  • Plan
Video

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.”
Take

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
Quote

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.”
— Stoyan Nikolov et al., Google
Take

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
Quote

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”
— Stoyan Nikolov et al., Google
Take

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
Quote

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.”
— Anuar Ustayev, Datopian
Take

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
Quote

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.”
— Jeremy Hadfield, Barry Zhang and colleagues, Anthropic
  • Plan
Quote

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.”
— Steve Yegge
Take

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
Quote

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.”
— Alistair Gray, Stripe
Take

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
Quote

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”
— Geoffrey Huntley
Take

Fan out the reading and writing, but serialize the build and test.

  • Integrate
  • Plan
Quote

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.”
— Jo Kelly-Fenton, Spotify
Take

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
Quote

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.”
— Wilson Lin, Cursor
Take

Why Cursor moved from a flat swarm to planners that decompose work for narrowly scoped workers.

  • Plan
Quote

Ten agents one release

bernstein.readthedocs.io

“parallel agents are bottlenecked not by their code quality but by the convergence points in the codebase.”
— Bernstein maintainers
Take

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
Video

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.”
Take

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
Quote

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.”
— Uday Kiran Medisetty, Uber
Take

Bulk maintenance scheduled for when CI has spare capacity. Fox is Uber’s self-improving codebase agent. Machine transcript.

  • Plan
  • Integrate
Quote

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.”
— Adam Tornhill, CodeScene
Take

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
Quote

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.”
— Steve Kinney
  • Plan
  • Coordinate

Tools filed under plan

Preview · not yet reviewed by a human