pub struct RunTuning {
pub model: Option<String>,
pub effort: Option<ReasoningEffort>,
pub max_turns: Option<u32>,
pub extra_args: Vec<String>,
}Expand description
User-chosen, harness-neutral run-shaping knobs. Every field is
optional; each adapter maps the ones its CLI supports and ignores
the rest (Claude has no reasoning-effort flag; Codex has no
max-turns flag). Grouped into one struct so the neutral
RunRequest stays open for extension — a new knob is a field
here, not a new positional parameter threaded through every caller.
Fields§
§model: Option<String>Model id or alias passed verbatim to the CLI (--model /
-m). None → let the CLI use its configured default.
effort: Option<ReasoningEffort>Reasoning effort (Codex: -c model_reasoning_effort).
max_turns: Option<u32>Cap on agentic turns (Claude: --max-turns).
extra_args: Vec<String>Raw CLI args the host appends verbatim after the adapter’s own,
so a host can add a flag (--settings, --add-dir) or override one
it already sets — for CLIs where a repeated flag is last-wins (e.g.
Claude Code / commander) — without editing the adapter. The host opts
into CLI-specific flag names when it uses this; keep cross-harness
knobs as their own typed fields above. Default empty.