The Shift from Coding to Curation

As AI agents enable parallel development, human cognitive bandwidth becomes the primary bottleneck. Rather than attempting to review every line of generated code, engineers must shift their focus upstream to defining product intent and system architecture, and downstream to verifying outcomes. Human judgment hasn't disappeared; it has relocated to where it provides the most leverage: setting quality bars, defining constraints, and deciding which projects deserve to exist.

Building a Repeatable Software Factory

A software factory is an event-driven loop (triggered by tools like GitHub issues or Slack) that handles triage, implementation, and testing in isolated environments. You should consider building one when your workflow requires consistency across multiple agents and projects.

Key components of a robust factory include:

  • Triage Labels: Using labels (e.g., ready-to-implement, needs-info) as a queue and lock mechanism to prevent multiple agents from claiming the same task.
  • Verification Budgets: Similar to performance budgets, you must balance fast, deterministic checks (linting, type checking) early in the loop with heavier, high-value checks (mutation testing, security scans) later.
  • Run Taxonomy: Classify agent runs as success, flawed, blocked, or manual. Only success should reach production, while the others re-enter the system for correction or human intervention.

Managing Risk and Comprehension Debt

Parallel agent execution creates 'comprehension debt'—where agent output outpaces human understanding. To mitigate this:

  • Avoid 'Green' Misconceptions: Agents may pass tests by modifying assertions rather than satisfying intent. Ensure your verification suite is robust and tests actual behavior.
  • Optimize for the Reviewer: A factory is only as good as the signal it provides. If a factory runs noisy, irrelevant checks, it increases overhead without improving safety.
  • Contextual Autonomy: Autonomy is not a static setting. As you build trust through verification, you can grant agents more autonomy for specific tasks, but you must remain the final arbiter for high-risk changes (e.g., authentication, billing, or migrations).

When to Build vs. Use

For many, a simple coding harness (e.g., Claude Code with well-defined specs) is sufficient. A full software factory is only necessary when you need to automate the handoff between triage, implementation, and production monitoring. If you decide to build, consider existing platforms like Factory, Warp, or HumanLayer rather than building from scratch.