Skip to content

Experiment Archive

ABMForge experiment archives are directory-based outputs designed to make agent-based simulation experiments reproducible, inspectable, and publishable.

A standard experiment archive has the following structure:

```text experiment_name/ ├── scenario.yaml ├── manifest.json ├── dataset_schema.json ├── data/ │ ├── runs.json │ ├── model_records.jsonl │ ├── agent_records.jsonl │ ├── event_records.jsonl │ ├── lifecycle_records.jsonl │ └── errors.jsonl ├── snapshots/ ├── reports/ └── logs/ Design goals preserve scenario configuration preserve run metadata preserve dataset schema preserve machine-readable reproducibility metadata keep outputs easy to inspect support future Parquet and DuckDB storage backends support future deterministic replay Minimum valid archive

A minimum valid archive must contain:

manifest.json dataset_schema.json data/ at least one dataset output file Future extensions

Future versions may add:

Parquet tables DuckDB database files deterministic snapshots replay traces validation reports calibration reports ODD documentation

Run index

Current ABMForge archive writers also create run_index.json at the archive root.

The run index is a compact, machine-readable summary of archived runs. It is designed for experiment tracking and downstream tooling. It does not replace data/runs.json; it provides a small discovery layer before loading full dataset tables.

Older alpha archives may not contain this file.