circuit
Flows

Power, process, and modes

Tune model power, process thoroughness, tournaments, and autonomy.

One dial and two modes tune a run. You set them as flags on run; the flow rejects anything it does not support, before the run starts.

Power

Power is the one taught dial: how much model each worker run gets. It never names models, and per-connector tier tables translate the dial into a concrete model or reasoning effort at selection time. Power also derives how much process thoroughness the run spends, so turning one dial sets both.

circuit run fix --goal "..." --power low
ValueWhat workers getDerived process
autoThe run picks the tier. The researcher recommends one, the engine clamps it to your power_auto bounds, and the receipt reports the resolution: power low (auto).medium, while the run picks its own model tier
lowResearch on the big tier, implementation on the small tier, review on the middle tier.low
mediumThe default. Research on the big tier, implementation and review on the middle tier.medium
highEverything on the big tier.high

Research stays on the big tier at every dial position: the reading that steers the run is the wrong place to save. A worker retry automatically runs one tier up, capped at high. Explicit model or effort config always wins over the dial.

To see what the dial resolves to before spending anything, circuit preview <flow> --matrix prints the connector, model, and effort each step would get at every dial position, without spawning a worker.

Every flow supports the dial. Persist a default with defaults.power in config; the flag wins over config. Both accept auto; the power_auto floor and ceiling bounds in config only apply when the dial is auto. The end-of-run receipt line reports the dial position and any escalations, so a cheap run that had to escalate is visible, not silent.

Process

Process is the thoroughness value a run spends: how much care a flow takes. Power derives it, so you rarely set it directly. low, medium, and high map straight across from the power dial, and auto derives a medium process while the run picks its own model tier.

ValueDescription
lowLess care. For Fix, also drops the independent review stage.
mediumThe default.
highMore care. Checkpoints pause for you instead of auto-resolving.

The derived process clamps silently to what each flow supports. Build, Explore, and Fix run the full ladder. Prototype floors at medium. Review always runs medium, regardless of the power dial.

Overriding the derivation

--process <low|medium|high> is an advanced flag that explicitly overrides the process power derives, for the rare case where model strength and process thoroughness should split: a cheap model working through a high-care process, or a strong model on a quick pass.

circuit run build --goal "..." --power low --process high

Tournament

Tournament fans out multiple candidates and selects one. Supported by Explore and Prototype.

circuit run explore --goal "..." --tournament 3
FlagDescriptionDefault
--tournament [2|3|4]Fan out candidates and select one. Optional candidate count.off (3 when set)

Autonomous

Autonomous enables a bounded continuation loop that routes recovery flows when a run does not complete. Supported by Build, Fix, Explore, and Prototype.

circuit run fix --goal "..." --autonomous

Compiled process

A run records one compiled thoroughness value. Tournament and autonomous each resolve to their own compiled process; otherwise it is the process power derives, or the --process override when you set one. A flow falls back to its defaults when you pass nothing.

On this page