all lessons · More than one model · 13 of 17

A second engineer, not a second opinion

Claude directs, Codex executes, and a table decides which is which

Two subscriptions, two agents, one keyboard. The naive setup is to ask both the same question and compare. The setup that works is a hierarchy: one agent owns the task and decides when to hand a piece of it to the other.

On this machine, Claude Code is the primary. It reads the constitution, holds the conversation, and owns the outcome. Codex is a second engineer under its direction: called without the human asking, given a bounded brief, and its result integrated by the primary. The human never types a delegation command. The decision is made by a table, not by vibes.

Drive it

Should the agent hand this off?

verdict

What to try
  • Slide "failed attempts" to 2. Whatever else is set, the verdict flips to an independent diagnosis. Two misses is the signal, not three.
  • Tick "sensitive". Size stops mattering. Secrets and deploy scripts never leave the agent you are watching, no matter how mechanical the change.
  • Drag size to 200 and tick "mechanical". That is a rename across forty files or forty articles from a template: background it on its own branch.
  • Set minutes to 0. The brief would take longer than the work. Delegation has a fixed cost that tiny jobs never repay.

The table

| Situation | Hand-off | |---|---| | A non-trivial diff about to be committed, or anything under ops, auth, secrets or deploy | Second-model review of the diff. Real findings get folded in before proceeding. | | Research that needs current sources, docs, fact-checking | Delegate with the question and the required output shape. | | A bounded mechanical batch with a crisp spec | Delegate with write access on a task branch, in the background. The wrapper refuses to write on main. | | Stuck after two failed attempts at a bug | Independent diagnosis from the other model with a fresh context. | | A one-shot question mid-task | A synchronous call, only if the answer is short. |

And the things that are never delegated: small edits, design decisions, anything touching the vault, and anything the primary can finish in under a minute. Delegation has a fixed cost, writing the brief and reading the result, and small jobs never repay it.

Why a different model reviews

A reviewer that shares the author’s blind spots is a rubber stamp. Two models trained differently make different mistakes, so a review by the other one catches a distribution of errors that a self-check structurally cannot. It is wired as an automatic step before commit on non-trivial diffs, not as an optional extra, because optional steps get skipped exactly when the diff is scary.

Keep the facts in sync

Codex reads a different instructions file than Claude Code. The project facts both need, such as commands, ports and conventions, live in one place and the other file points at it. Two hand-maintained copies drift within a week, and a second engineer working from stale facts is worse than none.

Where bulk generation goes

Neither subscription is for generating a thousand articles or scoring ten thousand items. That goes to the pay-per-token API tier, with a cheaper model and a budget cap, from a script the primary agent writes and runs in the background. The subscriptions are for judgment; the API is for volume.

One agent owns the task. The other is called for review, research, batches, and rescue, by a table that does not change with mood. Hierarchy, not a panel.