Skip to main content
AgentCompass keeps configuration scoped to the module that owns the behavior. Runtime controls live under runtime and execution; provider defaults live under environments.<provider>; benchmark filters live under benchmarks.<id>; harness controls live under harnesses.<id>. This split is intentional. It lets you change the sandbox provider without editing benchmark code, tune a harness without changing dataset selection, and keep model credentials as run-local inputs.

Where Values Come From

CLI flags and Python keyword arguments override YAML defaults. Recipes then adapt the execution plan for compatible benchmark/provider combinations, while preserving explicit user overrides when the recipe is written to do so.

Common Controls

Scoped Params

Provider params belong under environments.<provider>:
Benchmark params belong under benchmarks.<benchmark_id>:
Harness params belong under harnesses.<harness_id>:
For one-off runs, prefer CLI JSON instead of editing shared defaults:

Private Config Files

Use a private config file when values are stable for your machine or team but should not be committed.
Keep secrets in environment variables where possible. Modal can use MODAL_TOKEN_ID and MODAL_TOKEN_SECRET; Daytona can use DAYTONA_API_KEY; model access can use MODEL_BASE_URL and MODEL_API_KEY.

Full Reference

The complete field-by-field index for the current config/defaults.yaml lives in Configuration Reference.