To fix this, I built agents-concerto. It isn't a standalone app, but an orchestration layer for Claude Code. Think of it as a conductor and a set of players; the conductor manages the flow but never touches an instrument, ensuring the final merge always stays in human hands.
The system relies on a strict set of constraints to maintain quality:
Two-party authority: No agent that writes code is allowed to approve or merge it.Worktree isolation: Every agent operates in its own git worktree to avoid messing up the local checkout.No auto-merge: The process stops exactly at "PR ready."Model by complexity: The model isn't tied to a role; it's picked based on the complexity tier of the task.
The Logic of Acceptance Criteria #
The biggest shift in my AI workflow was treating acceptance criteria as test specs rather than human notes. Using a Given-When-Then format (Given X
, when Y
, then Z
), the system ensures that every requirement has an observable result.
This criterion travels through the pipeline: it's defined during the shaping phase, converted into a test during implementation, and verified by the reviewer. Because the "then" must be observable, it prevents the AI from cheating by asserting on internal state.
The Agent Pipeline #
I've divided the labor across four distinct roles:
Orchestrator (Opus): Handles decomposition and dispatching. It is strictly forbidden from writing application code.Classifier (Sonnet): A read-only agent that assigns a complexity tier (complex
vsstandard
) to determine which model handles the task.Implementer: This agent uses a "Tidy First" approach—it submits a structural refactor commit first, then a separate behavioral commit. It never mixes the two.Reviewer (Opus): Limited toRead
,Grep
,Glob
, andBash
. It has noWrite
orEdit
permissions, meaning it can describe a fix but cannot apply it.
By forcing "outside-in" testing—asserting only on outputs, UI, or API responses—we've eliminated the "green tests, zero confidence" problem.
For those looking for a real-world LLM agent deployment, the full logic is available here:https://github.com/moruno21/agents-concerto
Next AI Agents for Regulated Industries: My Workflow →