3 MIN READ

Waking up to 57 pull requests

What happens when I let an orchestrator pick its own work overnight.

Let me set the stage. I’m on vacation for the week with family, so I can’t put the time I typically do into my projects. The one I’m sinking most of my time into I’m QA / UAT testing before I go live, so a lot of it is very attention driven. This means my backlog is pretty light, and I need to sit down and do some planning. But I only get a couple hours to put in work at night, and I have unspent tokens that expire in the morning.1I’ve written before about why unused tokens are the cheap resource and attention is the expensive one, in Attention is the bottleneck.

What would you do?

I’ll tell you what I have done normally… Nothing.

I get plenty of value out of my AI subscriptions normally, a bit of unspent capacity isn’t the end of the world.

But also I’m leaving something on the table…

So I’ve been trying a new idea.

Agent-directed enhancementsAsk a frontier model to identify and implement an enhancement or refinement to the platform

I’ve done a lot of work on “one-shot” implementations: give an agent a well-specified unit of work and let it run to a PR. This adds one stage in front of that. Identify a problem worth fixing, then implement it. Same guardrails, same gates, the agent just picks the target.

I find that it’s been a cool way of moving some products forward while I’ve been heads down on features that require me to drive. It gets into the weeds on the small enhancements where the ceremony of dispatching them kills the ROI, or where I’m honestly just too busy.

Handing off another layer

I think of this as a hoist of my ownership level.

I treat my agents as a development team: I have a dev team, a PM team, a QA team, and I run the pod like a product owner. I work the backlog and set direction, they drive the implementation and verification.

This hands off one more tier. The agents are the ones in the code every day. They run into the friction and the small problems, and then they smooth them over and make them invisible to me. This gives them permission to fix those instead.

The setup

The guardrails and development environment are the same ones they work in every day. Agents get the repo’s SDLC, docs, patterns, skills, and standards. CI and integration requirements are well defined and have an automated review. Nothing new was built for this.

An orchestrator runs the loop. When one story lands the next branches off its tail, so what comes out is a stack of PRs. GitHub’s new stacked pull requests feature handles this as a first-class workflow, with a merge commit per PR. This matters: if I don’t agree with a story I can drop that layer without unwinding everything after it.

Last night I widened it. I have a skill that drives a graph of GitHub issues to completion: it finds the unblocked frontier, dispatches one implementer per issue into its own worktree, reviews the result, lands the PR, and repeats. I co-opted it. The whole prompt was:

TEXT
$orchestrate-issues except instead of issues have 1 lane of polish
enhancements, 1 lane of incremental enhancements and 1 freeform lane.
have agents decide what they believe is needed. each lane can create a
pr stack. and i will review them in the morning

That’s it. Three lanes:

  • Polish: make what we have better
  • Incremental enhancement: move us a step forward
  • Freeform: everything’s fair game

Then I went to bed.

The output

I woke up to 57 pull requests. While writing this I’m now up to 61. Interpret that how you will about my writing speed vs development speed.

I’ve read through a good chunk of the titles, and everything I’ve seen is the kind of small-scope polish I wish I had time to think about… doc alignment, CLI argument validation, observability enhancements.

I expect to merge all of them. They all passed CI and review before landing in the stack, and if I don’t agree with any, dropping a layer is cheap.

I also burned through 85% of my remaining usage.

What I don’t know yet is how much work this has offloaded onto me. 61 PRs is a lot to understand and review, and that’s attention that could go somewhere else. Whether this nets out positive is the actual question.

Anyway, enough time procrastinating the reviews. For now I’ll say Mission Accomplished.

← ALL POSTSSAY HELLO →