{
  "study_id": "g0c_bilateral_calibration_example",
  "split": "calibration",
  "root_seed": 20260727,
  "replicates": 2,
  "methods": [
    "proposed_energy",
    "direct_energy",
    "proposed_no_energy",
    "matched_wrench_energy",
    "popc"
  ],
  "trajectories": [
    {
      "trajectory_id": "free_space_001",
      "family": "free_space_workspace_sweep"
    },
    {
      "trajectory_id": "contact_001",
      "family": "approach_contact_return"
    },
    {
      "trajectory_id": "multi_axis_001",
      "family": "multi_axis_contact_probe"
    },
    {
      "trajectory_id": "boundary_001",
      "family": "limit_singularity_degeneracy"
    }
  ],
  "factors": {
    "delay_ms": [0, 40, 80, 120],
    "environment": [
      {
        "stiffness_N_per_m": 200,
        "damping_Ns_per_m": 15
      },
      {
        "stiffness_N_per_m": 500,
        "damping_Ns_per_m": 30
      },
      {
        "stiffness_N_per_m": 800,
        "damping_Ns_per_m": 45
      }
    ]
  },
  "metadata": {
    "status": "example only; do not treat as a locked protocol"
  }
}
