schema_version: slac.solid_state_synthetic_benchmark/v0.1
benchmark_id: solid-state-synthetic-ground-truth-v0.1
protocol:
  name: synthetic_joint_extrinsic_clock_recovery
  solver: continuous_time_lidar_pair
  scene: three_plane_motion_fixture
  frame_convention: T_parent_child
  point_time_convention: target capture timestamp = source odometry timestamp - true
    offset; positive solver offset evaluates target at t_capture + offset
  train_fraction: 0.75
  known_bad_control: fixed clock at zero against a +30 ms truth
  notes:
  - all points and poses are generated deterministically in memory
  - the final holdout is disjoint and chronological
thresholds:
  max_rotation_error_deg: 0.5
  max_translation_error_m: 0.02
  max_time_offset_error_sec: 0.005
  require_converged: true
cases:
- id: joint_extrinsic_clock_reference
  case_type: reference
  expected_outcome: pass
  status: converged
  initial_transform:
    convention: T_parent_child
    parent: source
    child: target
    translation_m:
    - 0.18
    - -0.02
    - 0.08
    rotation_quat_xyzw:
    - 0.0
    - 0.0
    - 0.026176948307873156
    - 0.9996573249755574
    quality:
      grade: warn
      std_translation_m: []
      std_rotation_deg: []
    estimate_id: synthetic-initial
    provenance:
      producer: factory
      execution_mode: manual
      role_in_comparison: initial
      evidence_level: synthetic_truth
      source: tools/run_solid_state_synthetic_benchmark.py
      notes:
      - deterministic synthetic three-plane motion fixture
      - not a public-dataset accuracy claim
  true_transform:
    convention: T_parent_child
    parent: source
    child: target
    translation_m:
    - 0.12
    - -0.05
    - 0.04
    rotation_quat_xyzw:
    - 0.0
    - 0.0
    - 0.06975647374412532
    - 0.9975640502598243
    quality:
      grade: warn
      std_translation_m: []
      std_rotation_deg: []
    estimate_id: synthetic-selected_reference
    provenance:
      producer: factory
      execution_mode: manual
      role_in_comparison: selected_reference
      evidence_level: synthetic_truth
      source: tools/run_solid_state_synthetic_benchmark.py
      notes:
      - deterministic synthetic three-plane motion fixture
      - not a public-dataset accuracy claim
  estimated_transform:
    convention: T_parent_child
    parent: source
    child: target
    translation_m:
    - 0.11999999999999961
    - -0.04999999999999899
    - 0.039999999999999994
    rotation_quat_xyzw:
    - 4.548614219154847e-19
    - -1.929980609399159e-18
    - 0.06975647374412526
    - 0.9975640502598243
    quality:
      grade: warn
      std_translation_m: []
      std_rotation_deg: []
    estimate_id: synthetic-output
    provenance:
      producer: slac_native
      execution_mode: offline_batch
      role_in_comparison: output
      evidence_level: algorithmically_refined
      source: tools/run_solid_state_synthetic_benchmark.py
      tool_name: tools/run_solid_state_synthetic_benchmark.py
      tool_version: 0.4.0
      notes:
      - deterministic synthetic three-plane motion fixture
      - not a public-dataset accuracy claim
  true_time_offset_sec: 0.03
  estimated_time_offset_sec: 0.03
  initial_rotation_error_deg: 4.9999999999996145
  final_rotation_error_deg: 0.0
  initial_translation_error_m: 0.07810249675906655
  final_translation_error_m: 1.0850664142127554e-15
  initial_time_offset_error_sec: 0.03
  final_time_offset_error_sec: 0.0
  initial_train_rmse_m: 0.0014757984967687517
  final_train_rmse_m: 1.4849250968093805e-16
  final_holdout_rmse_m: 1.311860853700585e-16
  train_correspondence_count: 90
  holdout_correspondence_count: 30
  observability_rank: 6
  iterations: 8
  gate_passed: true
  expected_outcome_detected: true
  failure_reasons: []
  notes:
  - known transform and +30 ms clock offset are recovered jointly
  - truth is generated by this tool, not measured hardware truth
- id: fixed_clock_known_bad_control
  case_type: known_bad
  expected_outcome: fail
  status: converged
  initial_transform:
    convention: T_parent_child
    parent: source
    child: target
    translation_m:
    - 0.18
    - -0.02
    - 0.08
    rotation_quat_xyzw:
    - 0.0
    - 0.0
    - 0.026176948307873156
    - 0.9996573249755574
    quality:
      grade: warn
      std_translation_m: []
      std_rotation_deg: []
    estimate_id: synthetic-initial
    provenance:
      producer: factory
      execution_mode: manual
      role_in_comparison: initial
      evidence_level: synthetic_truth
      source: tools/run_solid_state_synthetic_benchmark.py
      notes:
      - deterministic synthetic three-plane motion fixture
      - not a public-dataset accuracy claim
  true_transform:
    convention: T_parent_child
    parent: source
    child: target
    translation_m:
    - 0.12
    - -0.05
    - 0.04
    rotation_quat_xyzw:
    - 0.0
    - 0.0
    - 0.06975647374412532
    - 0.9975640502598243
    quality:
      grade: warn
      std_translation_m: []
      std_rotation_deg: []
    estimate_id: synthetic-selected_reference
    provenance:
      producer: factory
      execution_mode: manual
      role_in_comparison: selected_reference
      evidence_level: synthetic_truth
      source: tools/run_solid_state_synthetic_benchmark.py
      notes:
      - deterministic synthetic three-plane motion fixture
      - not a public-dataset accuracy claim
  estimated_transform:
    convention: T_parent_child
    parent: source
    child: target
    translation_m:
    - 0.1537729643244683
    - -0.05694113159254971
    - 0.03972333079792143
    rotation_quat_xyzw:
    - -1.5921547418776764e-05
    - -0.00016232158666440005
    - 0.08034318419648398
    - 0.9967672477320755
    quality:
      grade: warn
      std_translation_m: []
      std_rotation_deg: []
    estimate_id: synthetic-output
    provenance:
      producer: slac_native
      execution_mode: offline_batch
      role_in_comparison: output
      evidence_level: algorithmically_refined
      source: tools/run_solid_state_synthetic_benchmark.py
      tool_name: tools/run_solid_state_synthetic_benchmark.py
      tool_version: 0.4.0
      notes:
      - deterministic synthetic three-plane motion fixture
      - not a public-dataset accuracy claim
  true_time_offset_sec: 0.03
  estimated_time_offset_sec: 0.0
  initial_rotation_error_deg: 4.9999999999996145
  final_rotation_error_deg: 1.2167281524990052
  initial_translation_error_m: 0.07810249675906655
  final_translation_error_m: 0.03447997930530526
  initial_time_offset_error_sec: 0.03
  final_time_offset_error_sec: 0.03
  initial_train_rmse_m: 0.0014757984967687517
  final_train_rmse_m: 0.0014757984967687517
  final_holdout_rmse_m: 0.0033644624646599923
  train_correspondence_count: 90
  holdout_correspondence_count: 30
  observability_rank: 6
  iterations: 5
  gate_passed: false
  expected_outcome_detected: true
  failure_reasons:
  - final_rotation_error_exceeds_threshold
  - final_translation_error_exceeds_threshold
  - final_time_offset_error_exceeds_threshold
  notes:
  - clock offset is deliberately fixed to zero while truth is +30 ms
  - the control must be rejected by the absolute time-error gate
aggregate:
  reference_case_count: 1
  reference_pass_count: 1
  known_bad_case_count: 1
  known_bad_detected_count: 1
  all_expected_outcomes_detected: true
  conclusion: pass
  notes:
  - passing this benchmark establishes solver recovery on this fixture only
  - it does not establish public-dataset or metrology accuracy
provenance:
  generator: tools/run_solid_state_synthetic_benchmark.py
  generator_version: 0.4.0
  source_sha256: 16b4220ebad999968f8300eca75e193447f76de8020103239ad11e0d0c892389
  command:
  - tools/run_solid_state_synthetic_benchmark.py
  - --output
  - docs/assets/solid-state-synthetic-benchmark-v01.yaml
  - --markdown-output
  - docs/assets/solid-state-synthetic-benchmark-v01.md
  - --enforce
  random_seed: 17
  created_at: '2026-08-05T00:51:08.185365+00:00'
  notes:
  - the generator source digest binds the synthetic scene and thresholds
  - no ROS, GPL, or external dataset is used
