docker Environment and supports the claude_code and codex Harnesses. Docker separates the agent’s filesystem from the host and exposes each required dataset through a read-only mount.
How it works
- Prepare the task. AgentCompass checks every dataset required by the selected tasks before starting the agents. With
auto_download: true, it downloads supported datasets from their official sources and reports file-level progress in the logs. You can instead stage the data underdata_root. For Docker runs, the built-in Recipe mounts each dataset directory read-only under an opaque path. Task workspaces use random names so that paper and figure identifiers are not exposed through container paths. Rubrics and reference figures remain on the host and are not copied or mounted into the agent container. - Run the agent. The Harness receives the task prompt. The agent locates the relevant data, executes its analysis, and writes the required submission files in the workspace root.
- Collect the outputs. The runtime collects the workspace outputs before environment cleanup, excluding the input dataset and agent configuration directories such as
.claude/and.codex/. The BrainArena Recipe enables artifact saving for host-side grading. - Score with the rubric. AgentCompass calls a multimodal judge from the host with the rubric, submitted code, conclusions, generated figure, and task reference figure. The rubric covers figure reproduction, analysis methods, and scientific conclusions; together these directions determine a 0–100 overall score.
Submission files
The task prompt requires the following files in the workspace root:
The agent also writes
analyze.md with its analysis process and saves any matrices, tables, or other files requested by the task. The three files above determine artifact completion.
A top-level JSON array of 1–3 conclusions is also accepted for compatibility with earlier submissions.
Tasks and data
The complete integration contains these task IDs:data_root uses the dataset ID below. findling_2025 and ibl_2025 share ibl_shared; every other paper ID is also its dataset ID.
The datasets are not distributed with AgentCompass. A complete 32-task run includes very large collections, so prepare a shared
data_root before the run when possible. Set auto_download to false to require those local copies and fail during preflight if anything is missing. Check each official source’s license and access terms before downloading or redistributing its data.
Install the optional official-client dependencies before using automatic IBL preparation:
result_* directory layout; empty placeholder directories are rejected.
Offline atlas resources
Swanson raster and vector files are runtime resources, separate from the IBL experimental datasets. Start with an agent image that containsiblatlas, then build the atlas layer from the repository root:
BRAINARENA_AGENT_IMAGE. For a build without network access, first download the two public resources into a build context containing docker/prepare_brainarena_atlas.py, then use docker/brainarena-atlas-offline.Dockerfile. The image preparation script validates both resources by loading them with iblatlas. Build with the same user and ONE cache settings used at runtime.
Parameters
Pass BrainArena configuration through--benchmark-params, or set benchmark.params in a YAML file supplied with --config. Explicit CLI values take precedence on shared keys.
| Parameter | Type | Default | Allowed values | Description |
|---|---|---|---|---|
judge_model | object | required | Model spec | Multimodal judge configuration with id, base_url, api_key, and api_protocol; inference options belong under params. |
data_root | string | "" | host directory | Dataset root. Empty uses <data_dir>/brainarena; each dataset is stored under its dataset ID. |
auto_download | boolean | true | true / false | Download missing datasets from their official sources or documented CC BY 4.0 mirrors. |
workspace_root | string | /tmp/agentcompass-brainarena | absolute path | Task workspace root inside the selected Environment. The Docker Recipe sets this to /workspace/brainarena. |
sample_ids parameter to select exact task IDs from the list above; omit it to run all 32 tasks. See Benchmark Parameters for shared filtering options.
Configure the multimodal judge separately through judge_model. Keep the same judge when comparing models under test. The judge supports openai-chat, openai-responses, and anthropic.
Run examples
The three positional arguments toagentcompass run are Benchmark, Harness, and Model. These examples use brainarena, codex, and $MODEL_NAME, with analysis running in the docker Environment. Use --benchmark-params for tasks and the judge, --harness-params for the agent CLI, and --env-params for the container.
Start Docker and export these environment variables first:
MODEL_NAME,MODEL_BASE_URL, andMODEL_API_KEY: anopenai-responsesModel for Codex.JUDGE_MODEL_NAME,JUDGE_MODEL_BASE_URL, andJUDGE_MODEL_API_KEY: the multimodal judge. The examples useopenai-chat; adjustjudge_model.api_protocolto match your endpoint.BRAINARENA_AGENT_IMAGE: an image containing the selected agent CLI and scientific Python dependencies. For the Claude Code example, preinstallclaudeand also setCLAUDE_MODEL_NAME,CLAUDE_MODEL_BASE_URL, andCLAUDE_MODEL_API_KEY.BRAINARENA_DATA_ROOT: the host dataset root. For a complete run, prepare all nine dataset directories listed above.
brainarena_docker Recipe mounts each required dataset read-only at /brainarena-data/input inside the container; no --recipe option is needed.
Recommended Harness
AgentCompass recommends pairing Codex with a Docker image containing scientific Python dependencies, so the agent can write and execute Python and produce submission files in the task workspace.- Smoke test (single task end-to-end)
- Custom parameters
- AgentCompass recommended config
Run only
genkin_2025__Fig_2B to verify data preparation, analysis artifact collection, and multimodal grading together without starting one of the largest dataset downloads.Other optional Harnesses
For Claude Code, use the configured Anthropic Model and an image withclaude installed. This command also evaluates all 32 tasks, reusing the prepared data root, multimodal judge, and Docker dataset mounts above.
Evaluation Results
For shared result conventions, see Run Directory, Aggregate Scores, and Task Files and Shared Fields.Scoring Metrics
BrainArena’s primary metric is the scalar rubric totalscore. Rubric items assess three directions—figure reproduction, analysis methods, and scientific conclusions—and jointly determine the total. The binary auxiliary metric artifact_complete records submission completeness:
Higher scores are better. Missing required files or invalid submission formats produce a zero score.
artifact_complete only indicates whether the required files are present.
With the default configuration, aggregate results show the mean total and file-completeness rate over tasks with valid scores. See Metrics and Aggregation for repeated attempts and scoring failure rules.
Task Results and Scoring Evidence
The attempt’sartifacts preserves the following evidence:
Submission files are saved in the attempt artifact directory’s
brainarena/ subdirectory. Use these indexes to inspect the code, figure, and conclusions alongside the judge reasoning.