Directory Layout
details/*.json files are the source of truth. Summary files are derived views.
Artifact Roles
| Artifact | Purpose |
|---|---|
details/*.json | Per-task attempts, status, metrics, prediction, error, trajectory, and analyzer output. |
summary.md | Human-readable run-level metrics and status. |
params.json | Request and output metadata for reproducibility. |
progress.jsonl | Append-only structured progress stream. |
progress.json | Latest progress snapshot. |
logs/*.log | Runtime logs for setup, execution, release, and errors. |
analysis_summary.* | Aggregated analyzer output when analysis is enabled or re-run. |
Local Result Browser
tools/result-browser provides a local web UI for inspecting completed or in-progress run directories. It is served from a source checkout and requires Node.js and npm on the machine running the UI service.
From the repository root:
npm run dev, usually http://localhost:5173, then enter the absolute run directory path that contains summary.md and details/, for example /path/to/AgentCompass/results/swebench_verified/your-model/20260703_120000.
The entered path is resolved on the machine running npm run dev. If you access the UI through SSH port forwarding or a remote forwarded URL, still enter the server-side absolute path to the run directory.
To check the production build locally:
Summary vs Analysis
summary is lightweight. It reads existing details and recomputes aggregate benchmark metrics.
analysis is heavier. It re-runs analyzers over task attempts, writes analysis_result.<AnalyzerId> into details, and regenerates analysis summaries.
analysis copies the input run into a new timestamped sibling. Use --override only when you intentionally want to mutate the original run directory.
Reading Details
Per-task detail files should contain enough context to debug without rerunning:- task id, category, and benchmark metadata;
- attempt status and correctness;
- benchmark metric fields;
- harness prediction and trajectory;
- environment or evaluation errors;
- analyzer output under
analysis_result.
Reuse Behavior
Runtime can materialize and load existing details before executing pending tasks. This is useful when a run was interrupted or when only a subset needs to be recomputed. Use stable output paths, stabletask_id values, and avoid deleting details/ if you want reuse and summary regeneration to work.
Data And Output Roots
| Setting | Default | Meaning |
|---|---|---|
runtime.data_dir / --data-dir | data | Benchmark datasets and prepared data cache. |
runtime.results_dir / --results-dir | results | Root directory for run outputs. |
--run-name | empty | Optional namespace under the result root. |
--run-id | timestamp | Explicit run id for the new result directory. |
runtime.data_dir and runtime.results_dir are YAML keys in config/defaults.yaml with matching CLI flags. --run-name and --run-id are per-run CLI flags (fields of the RunRequest output spec, not configuration file keys).
