Experiment configuration
Every published run begins with YAML loaded into ExperimentConfig.
name: single2d_mbd_demo
output_dir: results/single2d/mbd_demo
env_name: single_integrator_box_2d
method: mbd
backend: jax
device: cpu
seeds: [0]
n_steps: 64
env_params:
dt: 0.05
horizon: 64
method_params:
Nsample: 64
Ndiffuse: 20
obstacle_levels: [0]
obstacle_config:
generator: box2d
metrics: [ssr]
visualizations: [trajectory]
Inheritance
Use a relative base: path for task families:
base: ../_base.yaml
name: mga_ablation_no_retraction
method_params:
controller_method: mga_no_retraction
Nested dictionaries merge. Lists and scalar values replace the base value. Cyclic or missing bases fail during loading.
Formal and development outputs
Use --development-root for probes, local changes, or incomplete protocols.
Formal configurations may declare a frozen protocol and required checkpoint
hashes. The runner blocks formal execution when those readiness conditions are
not satisfied.
Matrix selection
--seed Nselects one seed.--seeds N ...selects several seeds.--level Nselects one obstacle level.--suite NAMEand--suites NAME ...select named task/physics conditions.--device cpu|gpu|cudaoverrides the configuration for that invocation.--resumeexecutes only missing or configuration-mismatched entries.
Validate the full catalogue after changing any config:
python scripts/release/validate_release.py
Based on the framework documentation · docs/guides/configuration.md · main · View source