How it works
A run has separate inference and evaluation stages:- Load and prepare. AgentCompass loads
instance_id,repo,base_commit,problem_statement, gold patch, and test metadata. A built-in provider recipe normally selects the instance image and exposes its checked-out repository at/testbed. - Run the coding agent. A harness such as mini-SWE-agent or OpenHands receives the issue, edits the repository, and writes the unified diff submission to
/testbed/patch.txtunder the standard recipe layout. - Start a fresh evaluation environment. AgentCompass does not evaluate inside the modified inference workspace. It creates a new environment, restores the repository at
base_commit, and applies the submitted prediction patch. - Execute the SWE-bench test spec. Upstream
make_test_spec()supplies environment setup, repository installation, and evaluation scripts. Prebaked recipes skip repeated setup/install work but still run the generated evaluation script. - Parse the official report. Upstream
get_eval_report()decidesresolved. Resolution requires the issue’s fail-to-pass tests to pass while pass-to-pass tests continue to pass.
Parameters
Pass benchmark configuration via--benchmark-params '{...}', or through benchmark.params in a YAML file given to --config; the CLI wins on shared keys.
Parameter reference
| Parameter | Type | Default | Choices / values | Description |
|---|---|---|---|---|
prepare_mode | string | git_clone | git_clone / prebaked | How inference and evaluation repositories are prepared. Built-in remote-provider recipes normally replace this with prebaked. |
workspace_root | string | /testbed | absolute environment path | Root for per-instance inference and evaluation workspaces before recipe overrides. |
dataset_zip_url | string | built-in mirror | ZIP URL or empty string | Dataset archive tried first; if no local dataset is available, AgentCompass loads SWE-bench/SWE-bench_Verified from Hugging Face. |
repo_url_template | string | https://github.com/{repo}.git | template containing {repo} | Repository clone URL used in git_clone mode. |
sample_ids | list / string / null | null | valid instance ids | Optional exact task filter. Unknown ids fail fast. |
agentcompass run, not a --benchmark-params field. The dataset is fixed to its test split; there is no benchmark split parameter.
Inference, model, and evaluation controls
eval_timeout starts only after a patch has been produced and a fresh evaluation environment has been created. It cannot extend a model request, shell command, or harness run. Thinking/reasoning is also a model-request setting rather than a benchmark setting; see mini-SWE-agent or OpenHands for the exact configuration.
Run examples
Recommended harness
mini-SWE-agent is the recommended harness for SWE-bench Verified. It uses the benchmark-specific mini-SWE-agent configuration and executes repository commands in the task environment.- Smoke test (single task end-to-end)
- Custom parameters
- AgentCompass recommended config
Run one task to verify inference, patch collection, and fresh evaluation end to end.
Other optional harnesses
OpenHands is also supported. The following single-task command exposes its independent model-request, terminal-command, agent-loop, whole-task, and evaluation limits:Outputs
Aggregate metrics
The Metric Contract declares binarycorrect, derived from the evaluator’s resolved decision. At k=1 it produces the native series. With k>1, avg produces both correct.avg@k and correct.pass@k; pass produces only correct.pass@k and can stop early. Read the human-readable output in summary.md and the canonical report in metrics.json. See Metrics and Aggregation.
Per-task details (details/)
Per-task detail JSON files are written under:status=completed means a valid evaluation result was produced, not necessarily that the issue was solved. Use metrics.correct and meta.benchmark.eval_raw_data.resolved for resolution; error statuses distinguish Harness and evaluation failures.