pub struct Config {
pub provider: ProviderConfig,
pub platforms: Vec<String>,
pub models: Vec<String>,
pub judge_model: String,
pub max_turns: u32,
pub judge: Option<JudgeConfig>,
pub mocks: Vec<MockDecl>,
pub spy: bool,
}Expand description
The full configuration for a run.
Fields§
§provider: ProviderConfigThe provider that executes skills and evals.
platforms: Vec<String>Harness platforms a case runs on (e.g. claude-code, codex).
models: Vec<String>Models a case runs on (must be valid for the chosen harness, e.g.
sonnet/haiku for claude-code).
judge_model: StringModel used for natural-language evals and the simulated user. Falls back
to the first entry of models when empty.
max_turns: u32Default cap on assistant turns for multi-turn cases. A case may lower it.
judge: Option<JudgeConfig>Optional judge backend that overrides how evals and the simulated user are
scored, independent of the skill-running provider. When None, the
provider judges (e.g. the oneharness judge_harness).
mocks: Vec<MockDecl>Shared mock/spy declarations, prepended to every case’s own mocks
(first match wins, so these shadow the case’s). Populated by the CLI’s
--mocks <file> — how the SDKs deliver code-level mocks — or written
here directly for suite-wide rules.
spy: boolForce the mock/spy observation channel on for every run, even for cases
that declare no mocks (the CLI’s --spy; how SDK spies get records).
Implementations§
Source§impl Config
impl Config
Sourcepub fn load(path: &Path) -> Result<Self>
pub fn load(path: &Path) -> Result<Self>
Load configuration from path. The standard config filename is
skilltest.yaml.
§Errors
Error::Io if the file cannot be read, Error::Yaml if it does not
parse, and Error::Invalid if it parses but is internally
inconsistent (see Config::validate).
Sourcepub fn load_or_default(path: &Path) -> Result<Self>
pub fn load_or_default(path: &Path) -> Result<Self>
Load path if it exists, otherwise return Config::default.
§Errors
Same as Config::load when the file is present but invalid.
Sourcepub fn apply_overrides(&mut self, overrides: Overrides) -> Result<()>
pub fn apply_overrides(&mut self, overrides: Overrides) -> Result<()>
Apply CLI overrides in place, then re-validate.
§Errors
Error::Invalid if the merged configuration is inconsistent.
Sourcepub fn effective_judge_model(&self) -> &str
pub fn effective_judge_model(&self) -> &str
The model used for evals and the simulated user: judge_model if set,
otherwise the first configured model.