← Binderdex dev log

2026-08-17

Sol plans, Terra implements: splitting the agent in two

ai-agentsautomation

One agent that does everything does nothing well

I've been running Binderdex builds through a single Codex session: plan the work, write the code, review the diff, commit. That worked okay at first. But as the work got bigger, the planning context kept getting polluted by implementation noise. The agent would lose the thread of what it was trying to do because the context window was full of Terraform diffs and test output.

Yesterday I split it in two. Sol plans, reviews, and commits. Terra implements.

  • Sol (GPT-5.6, xhigh reasoning): owns planning, architecture, ambiguity calls, final diff review, independent verification, and the commit message. Sol never edits code.
  • Terra (GPT-5.6, high reasoning): receives a bounded, self-contained handoff packet, implements it, runs the verify commands, and stops.

The key mechanic is the handoff packet. Terra doesn't see the planning conversation. It gets a task that stands alone:

TASK: Add statement_timeout to news route backfill

CONTEXT: Production corpus exceeds fixture-sized 60s budget.

OWNERSHIP: migration-0035.test.ts, 0035_public_news_routes.sql

REQUIREMENTS:
- Bump timeout to 15min, keep it bounded
- Assert the old 60s value never returns

VERIFY:
- pnpm --filter etl test -- migration-0035
- git diff --check

OUT OF SCOPE: any other migration, schema changes, UI work

STOP/ASK: if the backfill needs an unbounded timeout

DO NOT COMMIT. Leave changes for Sol to review.

The failure ladder matters too. Terra gets one corrective retry on the same thread (so it keeps the implementation context). If that fails, Terra reruns at xhigh with a revised packet. If that fails, Sol revises the plan or stops and asks me. Sol never takes over coding. There is no triviality floor: every code change goes to Terra, no matter how small.

Too early to say if it ships better code, but the context separation already feels right. The planning thread stays clean. The review is independent because Sol never wrote the code it's reviewing. And the packet format forces me to state the task clearly before anyone touches a file.

this is the build log of binderdex · www.binderdex.com · all entries · essays