Skip to main content
agentcompass launch executes an ordered multi-request orchestration from a YAML or JSON file:
agentcompass run executes one evaluation request. A request selects one model, benchmark, harness, and environment, and the selected benchmark may itself contain many tasks. Use agentcompass launch when one operation must coordinate multiple requests, such as comparing models, evaluating several benchmarks, or mixing execution environments. AgentCompass does not infer a matrix. Every request is named and declared explicitly, which keeps its parameters, results, failures, and reuse source auditable.

Define an Orchestration

The following orchestration evaluates Terminal-Bench 2.1 first and Terminal-Bench 2 Verified next, using one global pool of 16 task slots. Shared model settings are defined once under defaults:
Export every referenced environment variable before resolving the file:
Environment references must occupy the complete field, as in ${MODEL_API_KEY}. AgentCompass rejects partial string interpolation so unresolved or accidentally concatenated secrets do not silently enter a request.

What the fields mean

The request name therefore remains stable even if its benchmark or environment configuration changes. Use agentcompass list benchmark, agentcompass list harness, and agentcompass list env to inspect valid component ids.

Mapping rules

The optional version defaults to the latest supported orchestration format. Request names must be non-empty and unique.

Validate Before Running

Resolve the complete orchestration before starting an evaluation:
--dry-run loads configuration layers, expands environment references, resolves component defaults, validates every request, and prints a redacted orchestration. It does not load benchmark tasks or create result directories. Review the selected component ids, task filters, environments, endpoint hostnames, concurrency, and reuse settings in this output. Start the same orchestration after validation:
CLI flags override orchestration-level runtime values when a one-off change is needed:
Use agentcompass launch --help for the complete option list. The most important launch-only controls are:

Understand Scheduling and Failure Isolation

All requests share one task worker pool. Declaration order defines admission priority: tasks from an earlier request are admitted first, and later requests use idle slots after all pending tasks from earlier requests have been admitted. This ordering is deterministic, but it does not force one complete evaluation to finish before the next begins. With task_concurrency: 16, the example behaves as follows:
  1. AgentCompass fills available slots with samples from tb21 first.
  2. As tb21 samples finish, its remaining unstarted samples continue to receive priority.
  3. Once all tb21 samples have been admitted, any free slots immediately begin tb2vrf samples, even if the final tb21 samples are still running.
  4. If tb21 contains fewer than 16 samples, the unused slots begin tb2vrf immediately.
This is ordered admission with overlap, not a strict barrier between requests. Request order controls which pending samples get capacity first; task_concurrency controls the total number of samples running across the orchestration. Each request keeps its own run directory, progress files, logs, summary, and terminal outcome. A request-level failure is recorded as failed and does not prevent later requests from running. The orchestration returns completed when all requests complete, partial_failure when only some fail, and a terminal timeout or cancellation status when the shared operation is stopped. Progress modes behave as follows:
  • auto renders a live multi-request view in a TTY and refreshes it periodically;
  • plain prints state changes and periodic snapshots for CI or redirected logs; and
  • none disables the terminal progress renderer without removing request log and result files.
Use the capacity guidance in agentcompass run before raising global concurrency.

Reuse Requests Deliberately

This command enables latest-run reuse through defaults.runtime.reuse:
An individual request can opt out with runtime.reuse: false. To select an exact source, set runtime.reuse_run_id in that request or in defaults; output.run_id names the new result and is not a reuse source. Multiple requests may intentionally share the same benchmark and model. AgentCompass emits a warning because their result hierarchy overlaps. Implicit latest-run reuse is ambiguous for such requests and is rejected; assign an explicit runtime.reuse_run_id to each duplicate benchmark/model request. Explicit output-directory collisions are also rejected before task execution.
Reuse does not prove that two requests have equivalent harness, environment, model endpoint, task selection, or scoring settings. Confirm those settings yourself before treating reused details as part of one evaluation.
Earlier batch helpers and repeatable model flags are no longer the multi-evaluation interface. Keep agentcompass run for one request and use launch() or agentcompass launch for multiple explicit requests.