Start with the work.

Choose a task to see the model I reach for now. When an option was rejected, the record names the axis that eliminated it.

Selected model

ModelGPT 5.6 Luna (high reasoning)

Very cheap and surprisingly efficient. Work that arrives well specified rarely needs more than this.

Options eliminated

1 recorded rejection

  • QuotaEliminating axis

    ModelOpus 5

    A well-specified light task does not justify spending the Opus 5 usage window.

Selected model

ModelGPT 5.6 Sol or Opus 5

I use the strongest available model with Matt Pocock's grill-me skill because every downstream phase inherits the spec.

Selected model

ModelOpus 5 plans; Sonnet 5 implements

The Claude models are simply better at this work, and splitting the plan from the implementation keeps the plan honest.

Options eliminated

1 recorded rejection

  • CapabilityEliminating axis

    ModelGPT 5.6 Sol

    It is capable here, but the current Claude models are better at this work.

Selected model

ModelGPT 5.6 Sol, sometimes Opus 5

GPT 5.6 Sol is the usual reasoning model. I reach for Opus 5 when the higher ceiling matters more than the usage window.

Selected model

ModelA model that did not plan the work

Same principle as the build pipeline: the thing that made the decision does not get to grade it.

Options eliminated

1 recorded rejection

  • Independent reviewEliminating axis

    ModelThe planning model

    The model that made the decision is excluded from the review pass.

Two of those three axes have nothing to do with model quality. Subscriptions carry five hour and weekly limits, so part of the routing exists to spread work across those windows inside a small shared AI budget, and keep running out on one provider from stopping the work.

What each harness is for.

Access matters, but it is not the thesis. ChatGPT/Codex and work Bedrock both run through opencode and pi; Cursor inference now runs inside opencode too.

HarnessCurrent roleWhat it is for
opencodeDaily driverAt work and at home, with openchamber as its GUI.
piDaily driverAt work and at home, with subagents in mux panes.
claudePersonal projectsThis is where my Claude subscription applies. I do not usually use it directly for work.
codexSubagent dispatchI use it mainly to dispatch subagents, not as a primary driver.
cursorPersonal projectsGenerous included usage and fast. Its models now reach me inside opencode too.
antigravityRetiredDisabled 2026-07-04. Its headless path was unreliable in Phase 1 testing.

This is a role log, not a harness comparison. A fuller comparison is coming.