What they did
Halpern runs Forem, the open-source Rails app behind DEV. Halpern put its routine engineering into autonomous loops on top of OpenHands: nine workflows covering performance, Rust, errors, tests, dependencies, issues, pull request review, merging and worktree cleanup. Loops fire about every ten minutes in isolated git worktrees, each with a cap on work in progress. A router spreads runs across Claude Opus 5.5, Gemini 4 Argon and GPT-6.1 Sol and hands off when one provider is in a rate-limit cooldown. Every open pull request is rechecked for CI failures or review comments on a 5, 10, 20 and 40 minute back-off, and the agent tries repair rounds. Halpern later built a custom dashboard over OpenHands to watch all of it.
How it went
Over a month the loops shipped 351 pull requests and average Rails request time fell from 70ms to 16ms. Halpern says it meant no longer acting as a go-between for dashboards and terminals. Running eight or nine loops at once made chat logs useless for knowing what was going on, which is why the dashboard exists. The post names problems it surfaced, such as a stale git lock wedging a worktree and orphaned worktrees left by parallel git gc runs.
Worth knowing
This post is mostly about the dashboard; the loop numbers come from Halpern's earlier post, which is summarised here. Plan for the operations side: rate-limit cooldowns, stuck worktrees and pull requests stuck in repair rounds need to be visible, or you end up reading transcripts to find out why a loop stopped.