Skip to main content
Runtime is the center of AgentCompass. It takes CLI flags or Python arguments, normalizes them into a 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.
Runtime does not implement benchmark scoring, agent behavior, provider SDK calls, or badcase diagnosis. Those belong to benchmarks, harnesses, environments, and analyzers.

Core Objects

Execution Flow

For each pending task:

CLI Usage

The three positional arguments select benchmark, harness, and model. The environment, model endpoint, concurrency, and output directories become fields on the same RunRequest.

Python Usage

The return value contains aggregate metadata, metrics, summary fields, output paths, and applied recipes. Per-task details remain on disk so large evaluations do not need to keep every artifact in memory.

Configuration Precedence

Common Patterns

Developer Notes

Most extensions do not need to modify runtime. Add or change a benchmark, harness, environment, recipe, or analyzer first. Touch runtime only when you need a new cross-cutting execution concern such as a new progress event, new output persistence behavior, or a new request-level control.