RunRequest, loads registered components, executes tasks with bounded concurrency, and writes durable artifacts.
Use this page when you need to understand what happens after agentcompass run starts.
What Runtime Owns
Request construction
Merge
config/defaults.yaml, component defaults, CLI overrides, and Python kwargs into RunRequest.Execution planning
Build an
ExecutionPlan for each task and let recipes rewrite it before the environment starts.Bounded concurrency
Enforce per-run
task_concurrency and process-global provider limits.Artifact persistence
Write run info, task details, summary, progress events, logs, and optional analysis output.
Core Objects
| Object | Purpose |
|---|---|
RunRequest | The full request: benchmark, harness, environment, model, execution controls, output controls. |
ExecutionSpec | Task concurrency, enabled recipes, retry count, and analysis settings. |
ExecutionPlan | Per-task plan after benchmark and harness planning, before and after recipe rewrites. |
UnifiedEvaluationRuntime | The in-process executor used by CLI and Python API. |
ProgressEvent | Structured event emitted during task loading, setup, execution, summary, and release. |
Execution Flow
CLI Usage
benchmark, harness, and model. The environment, model endpoint, concurrency, and output directories become fields on the same RunRequest.
Python Usage
Configuration Precedence
| Source | Role |
|---|---|
config/defaults.yaml | Project defaults for runtime, execution, components, providers, and analysis. |
| Component defaults | benchmarks.<id>, harnesses.<id>, and environments.<id> blocks. |
| CLI flags / Python kwargs | Highest-priority run-specific overrides. |
| Recipes | Final provider-aware plan rewrites before environment startup. |
Common Patterns
| Pattern | How to express it |
|---|---|
| Run one sample | --benchmark-params '{"sample_ids":["task-id"]}' |
| Run with a provider | --env <env-provider>; recipes may infer image and workspace for supported benchmark/provider pairs. |
| Increase throughput | --task-concurrency 32, then confirm model endpoint and provider limits. |
| Reuse existing results | Use output reuse options from the CLI or config; runtime skips already materialized details. |
| Post-analyze results | Add --enable-analysis during a run or use agentcompass analysis later. |
