agentcompass run and agentcompass launch use the same set of run controls for scheduling, fault handling, and evaluation artifacts without changing the benchmark, harness, model, or environment configuration. Some controls change scope with the command: for example, task concurrency applies to the current evaluation request in run and to the complete orchestration in launch.
This page explains what each control does and how to use it. See agentcompass config for configuration-file syntax and precedence, agentcompass run for the complete single-request signatures, and agentcompass launch for multi-request orchestration and its CLI overrides.
Scale Concurrency Safely
A provider is the execution backend that creates and manages environments, such as Docker, Daytona, or Modal.
Effective task concurrency is first bounded by the lower of the task concurrency limit and the applicable provider limit.
env-open-qps controls only environment startup pacing, not the number of tasks already running. Model endpoint capacity, provider quotas, and local CPU and memory can reduce actual concurrency further. CPU and memory limits for an individual sandbox are environment parameters; see Understand the Scope.
CLI Syntax
In the CLI, repeat the latter two options for different providers. When evaluation requests use different environments, apply limits to each provider from one command:agentcompass run needs limits only for the providers actually used by that request.
Configuration File Syntax
In a--config file, use mappings for provider limits instead of repeating YAML keys:
launch orchestration file, put shared task_concurrency at the top level while keeping the provider mappings under runtime; see agentcompass launch.
When tuning concurrency, first select a few representative Benchmark tasks and validate them with task concurrency set to 1, then increase it gradually to 2 or 4. Observe Environment startup latency, model latency, error rates, and memory use. Return to the last stable value when errors increase.
Set an Appropriate Timeout
Timeouts consist of an outer evaluation deadline and inner limits provided by the selected Environment, Harness, and Benchmark. They can apply at the same time, and the first limit to expire ends the corresponding work. The table uses two parameter forms:CLIdenotes an option that can be written directly in the command, such as--timeout-seconds 3600.- A
JSON fieldcannot be written as a standalone option. Put it in the JSON object accepted by the corresponding option. For example, passoperation_timeoutas--env-params '{"operation_timeout": 1800}'; pass Harness and Benchmark fields through--harness-paramsand--benchmark-params, respectively.
| Layer | Parameter location | Scope |
|---|---|---|
| Evaluation deadline | CLI: --timeout-seconds <seconds> | All tasks in one run share this limit, as do all requests in one launch. Timing starts after component preflight and covers task loading, preparation, execution, analysis, and summarization. On expiry, unfinished work is cancelled and resource cleanup begins. The default is 360000 seconds (100 hours). Explicitly setting 0 disables the evaluation deadline; it does not affect the component-specific timeouts below. |
| Environment creation | JSON field: sandbox_start_timeoutPassed through --env-params | Applies to Environments that provide this field, including Daytona and Modal. Each sandbox creation is timed separately. Expiry fails only that creation and does not limit later operations in a successfully created sandbox. |
| Environment operation | JSON field: operation_timeoutPassed through --env-params | Applies to Environments that provide this field, including Daytona and Modal. It is the default deadline for one Environment operation, such as process execution or file transfer. Each operation is timed separately; this is not a cumulative deadline for the whole Benchmark task. |
| Harness-specific | JSON field: defined by the Harness Passed through --harness-params | The exact scope depends on the field. Some Harnesses use timeout for one task’s total execution time, command_timeout for one command, and request_timeout for one service request. |
| Benchmark-specific | JSON field: defined by the Benchmark Passed through --benchmark-params | The exact scope depends on the field. For example, SWE-bench eval_timeout limits one task’s evaluation command, while PinchBench judge_timeout_seconds limits one judge-model request. |
Retry Only Transient Failures
--max-retries sets the maximum number of retries after an execution fails. For example, --max-retries 2 permits up to two more executions after the initial failure.
--retry-pattern-list accepts a JSON string array of regular expressions. It matches exception text from task execution or scoring, including tracebacks, and the error field returned by a Harness or Benchmark. Any matching expression makes the error eligible for retry. Matching is case-sensitive by default; use (?i) to ignore case. --max-retries still controls the retry count; omitting this option disables error filtering.
Retry only transient errors that may recover on another execution, such as dropped network connections, temporary service failures, or sandbox timeouts:
--max-retries 0 unless its procedure defines a retry policy.
Output and Reuse
Name a New Run
The three options correspond to different levels of the result path:--results-dirsets the result root and defaults toresults.--run-nameadds an optional experiment-group directory.--run-idnames this run’s directory; the current timestamp is used when it is omitted.
ablation as the experiment group and gives this run the fixed name baseline:
results/ablation/<benchmark>/<model>/baseline/. See Understanding Evaluation Results for the complete directory and file layout.
Resume an Interrupted Run
Use--reuse to continue an evaluation from an existing run. AgentCompass reuses results by task ID: detail files for completed tasks are copied into the new run, while tasks with no detail file or only an _error_ detail file are run again:
--reuse selects the latest run under the current <results-dir>/<run-name>/<benchmark>/<model>/ hierarchy. Pass a run ID to select an exact source under that hierarchy:
results-dir, run-name, benchmark, or model differs from the source. Even after finding a source, it only matches files by task ID; it does not verify that the model endpoint, harness, environment, code revision, network policy, task selection, attempt count, or scoring settings are equivalent. Keep every setting that affects evaluation results stable when reusing them. The new run records its reuse source and preserves reused detail files for traceability.
Keep Environments for Debugging
Add--keep-environment when a failure requires direct inspection of task or verifier sandboxes:
Logs and Progress
--progress controls only terminal rendering. AgentCompass still saves progress, logs, and task results in every mode.
See Results for their locations.