pub struct EvalCodingAgentArgs {Show 21 fields
pub fixtures: Vec<String>,
pub models: Vec<String>,
pub tool_formats: Vec<String>,
pub output: Option<PathBuf>,
pub env_files: Vec<PathBuf>,
pub include_local: bool,
pub local_providers: Vec<String>,
pub max_local_models: usize,
pub keep_local_after_run: bool,
pub max_runs: Option<usize>,
pub max_iterations: usize,
pub python: String,
pub fail_on_unauthorized: bool,
pub json: bool,
pub step_judge: Option<String>,
pub step_judge_on_veto: Option<String>,
pub step_judge_adversarial: bool,
pub override_reason: Option<String>,
pub structural_validator: Option<String>,
pub run_label: String,
pub baseline_comparison_against: Option<PathBuf>,
}Fields§
§fixtures: Vec<String>Fixture ids to run (comma-separated, repeatable). Use all for the full suite.
models: Vec<String>Model selectors to run (comma-separated, repeatable). Each entry may be
an alias, provider:model, or provider=...,model=....
tool_formats: Vec<String>Tool-call rendering modes to compare.
output: Option<PathBuf>Output directory for summary.json, per_run.jsonl, transcripts, and markdown reports.
env_files: Vec<PathBuf>Optional .env file(s) to load for provider credentials. Values are never written to artifacts.
include_local: boolAppend reachable local Ollama/llama.cpp/MLX/vLLM models to the selected matrix.
local_providers: Vec<String>Restrict local discovery to one provider id. Repeatable.
max_local_models: usizeMaximum discovered local models to append.
keep_local_after_run: boolLeave newly-loaded Ollama models running after each local benchmark run.
max_runs: Option<usize>Stop after N matrix entries, useful for cost-capped smoke runs.
max_iterations: usizeMaximum repair-agent loop iterations per run.
python: StringPython executable used by the fixture and verification command.
Treat missing credentials as an error instead of skipping the run.
json: boolPrint the aggregate summary JSON to stdout.
step_judge: Option<String>Optional step_judge config applied to every run in this invocation.
Accepts a preset name (symmetric-cheap, asymmetric,
symmetric-strong) which expands to a known {model, provider}
pair, or custom:<json> for a literal JSON object passed verbatim
to agent_loop({step_judge: ...}). Omit (or pass none / off) to disable.
For matrix sweeps across presets, the step-judge experiment driver
at experiments/step-judge/run.sh invokes the eval runner once per
preset and aggregates.
step_judge_on_veto: Option<String>Override the on_veto remediation shape for the step-judge config
(replace or retain). Default is replace.
step_judge_adversarial: boolUse the adversarial rubric variant.
override_reason: Option<String>Free-form reason attached when forcing a tool format against catalog guidance.
structural_validator: Option<String>Structural-validator config applied to every run in this invocation.
Omit to use the suite default (currently the 4-rule validator).
Accepts on / default, off / none, or custom:<json> for a
literal JSON object passed to with_structural_validator(...).
run_label: StringFree-form label persisted in summary.json for grouping repeat runs (e.g. “replicate-1”, “probe-judge-arch-gpt”). Defaults to empty.
baseline_comparison_against: Option<PathBuf>Path to a previous coding-agent summary.json (or its parent dir).
When present, the new summary embeds a baseline_comparison block
listing per-fixture regressions (baseline passed but this cell
failed) and recoveries (baseline failed but this cell passed),
plus aggregate counts and a net lift in percentage points.
Useful for cross-cell A/Bs (provider sweep, prompt change, step
judge on/off) where net pass-rate hides destructive interactions
like the cli-help-flag regression the step-judge experiment
surfaced (harn#2318).
Trait Implementations§
Source§impl Args for EvalCodingAgentArgs
impl Args for EvalCodingAgentArgs
Source§fn augment_args<'b>(__clap_app: Command) -> Command
fn augment_args<'b>(__clap_app: Command) -> Command
Source§fn augment_args_for_update<'b>(__clap_app: Command) -> Command
fn augment_args_for_update<'b>(__clap_app: Command) -> Command
Command so it can instantiate self via
FromArgMatches::update_from_arg_matches_mut Read moreSource§impl Debug for EvalCodingAgentArgs
impl Debug for EvalCodingAgentArgs
Source§impl FromArgMatches for EvalCodingAgentArgs
impl FromArgMatches for EvalCodingAgentArgs
Source§fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>
fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>
Source§fn from_arg_matches_mut(
__clap_arg_matches: &mut ArgMatches,
) -> Result<Self, Error>
fn from_arg_matches_mut( __clap_arg_matches: &mut ArgMatches, ) -> Result<Self, Error>
Source§fn update_from_arg_matches(
&mut self,
__clap_arg_matches: &ArgMatches,
) -> Result<(), Error>
fn update_from_arg_matches( &mut self, __clap_arg_matches: &ArgMatches, ) -> Result<(), Error>
ArgMatches to self.Source§fn update_from_arg_matches_mut(
&mut self,
__clap_arg_matches: &mut ArgMatches,
) -> Result<(), Error>
fn update_from_arg_matches_mut( &mut self, __clap_arg_matches: &mut ArgMatches, ) -> Result<(), Error>
ArgMatches to self.Auto Trait Implementations§
impl Freeze for EvalCodingAgentArgs
impl RefUnwindSafe for EvalCodingAgentArgs
impl Send for EvalCodingAgentArgs
impl Sync for EvalCodingAgentArgs
impl Unpin for EvalCodingAgentArgs
impl UnsafeUnpin for EvalCodingAgentArgs
impl UnwindSafe for EvalCodingAgentArgs
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
Source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
Source§impl<T> GetSetFdFlags for T
impl<T> GetSetFdFlags for T
Source§fn get_fd_flags(&self) -> Result<FdFlags, Error>where
T: AsFilelike,
fn get_fd_flags(&self) -> Result<FdFlags, Error>where
T: AsFilelike,
self file descriptor.Source§fn new_set_fd_flags(&self, fd_flags: FdFlags) -> Result<SetFdFlags<T>, Error>where
T: AsFilelike,
fn new_set_fd_flags(&self, fd_flags: FdFlags) -> Result<SetFdFlags<T>, Error>where
T: AsFilelike,
Source§fn set_fd_flags(&mut self, set_fd_flags: SetFdFlags<T>) -> Result<(), Error>where
T: AsFilelike,
fn set_fd_flags(&mut self, set_fd_flags: SetFdFlags<T>) -> Result<(), Error>where
T: AsFilelike,
self file descriptor. Read moreSource§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> Paint for Twhere
T: ?Sized,
impl<T> Paint for Twhere
T: ?Sized,
Source§fn fg(&self, value: Color) -> Painted<&T>
fn fg(&self, value: Color) -> Painted<&T>
Returns a styled value derived from self with the foreground set to
value.
This method should be used rarely. Instead, prefer to use color-specific
builder methods like red() and
green(), which have the same functionality but are
pithier.
§Example
Set foreground color to white using fg():
use yansi::{Paint, Color};
painted.fg(Color::White);Set foreground color to white using white().
use yansi::Paint;
painted.white();Source§fn bright_black(&self) -> Painted<&T>
fn bright_black(&self) -> Painted<&T>
Source§fn bright_red(&self) -> Painted<&T>
fn bright_red(&self) -> Painted<&T>
Source§fn bright_green(&self) -> Painted<&T>
fn bright_green(&self) -> Painted<&T>
Source§fn bright_yellow(&self) -> Painted<&T>
fn bright_yellow(&self) -> Painted<&T>
Source§fn bright_blue(&self) -> Painted<&T>
fn bright_blue(&self) -> Painted<&T>
Source§fn bright_magenta(&self) -> Painted<&T>
fn bright_magenta(&self) -> Painted<&T>
Source§fn bright_cyan(&self) -> Painted<&T>
fn bright_cyan(&self) -> Painted<&T>
Source§fn bright_white(&self) -> Painted<&T>
fn bright_white(&self) -> Painted<&T>
Source§fn bg(&self, value: Color) -> Painted<&T>
fn bg(&self, value: Color) -> Painted<&T>
Returns a styled value derived from self with the background set to
value.
This method should be used rarely. Instead, prefer to use color-specific
builder methods like on_red() and
on_green(), which have the same functionality but
are pithier.
§Example
Set background color to red using fg():
use yansi::{Paint, Color};
painted.bg(Color::Red);Set background color to red using on_red().
use yansi::Paint;
painted.on_red();Source§fn on_primary(&self) -> Painted<&T>
fn on_primary(&self) -> Painted<&T>
Source§fn on_magenta(&self) -> Painted<&T>
fn on_magenta(&self) -> Painted<&T>
Source§fn on_bright_black(&self) -> Painted<&T>
fn on_bright_black(&self) -> Painted<&T>
Source§fn on_bright_red(&self) -> Painted<&T>
fn on_bright_red(&self) -> Painted<&T>
Source§fn on_bright_green(&self) -> Painted<&T>
fn on_bright_green(&self) -> Painted<&T>
Source§fn on_bright_yellow(&self) -> Painted<&T>
fn on_bright_yellow(&self) -> Painted<&T>
Source§fn on_bright_blue(&self) -> Painted<&T>
fn on_bright_blue(&self) -> Painted<&T>
Source§fn on_bright_magenta(&self) -> Painted<&T>
fn on_bright_magenta(&self) -> Painted<&T>
Source§fn on_bright_cyan(&self) -> Painted<&T>
fn on_bright_cyan(&self) -> Painted<&T>
Source§fn on_bright_white(&self) -> Painted<&T>
fn on_bright_white(&self) -> Painted<&T>
Source§fn attr(&self, value: Attribute) -> Painted<&T>
fn attr(&self, value: Attribute) -> Painted<&T>
Enables the styling Attribute value.
This method should be used rarely. Instead, prefer to use
attribute-specific builder methods like bold() and
underline(), which have the same functionality
but are pithier.
§Example
Make text bold using attr():
use yansi::{Paint, Attribute};
painted.attr(Attribute::Bold);Make text bold using using bold().
use yansi::Paint;
painted.bold();Source§fn rapid_blink(&self) -> Painted<&T>
fn rapid_blink(&self) -> Painted<&T>
Source§fn quirk(&self, value: Quirk) -> Painted<&T>
fn quirk(&self, value: Quirk) -> Painted<&T>
Enables the yansi Quirk value.
This method should be used rarely. Instead, prefer to use quirk-specific
builder methods like mask() and
wrap(), which have the same functionality but are
pithier.
§Example
Enable wrapping using .quirk():
use yansi::{Paint, Quirk};
painted.quirk(Quirk::Wrap);Enable wrapping using wrap().
use yansi::Paint;
painted.wrap();Source§fn clear(&self) -> Painted<&T>
👎Deprecated since 1.0.1: renamed to resetting() due to conflicts with Vec::clear().
The clear() method will be removed in a future release.
fn clear(&self) -> Painted<&T>
renamed to resetting() due to conflicts with Vec::clear().
The clear() method will be removed in a future release.
Source§fn whenever(&self, value: Condition) -> Painted<&T>
fn whenever(&self, value: Condition) -> Painted<&T>
Conditionally enable styling based on whether the Condition value
applies. Replaces any previous condition.
See the crate level docs for more details.
§Example
Enable styling painted only when both stdout and stderr are TTYs:
use yansi::{Paint, Condition};
painted.red().on_yellow().whenever(Condition::STDOUTERR_ARE_TTY);