Skip to content

Koide input readiness

calibrex doctor --workflow koide is a preflight for the optional direct_visual_lidar_calibration provider. It does not fit an extrinsic and it does not replace the independent holdout/known-bad evaluation. The artifact is the auditable answer to “is this capture safe to attempt?”

calibrex doctor --workflow koide \
  --config examples/public_datasets/kitti_lidar_camera_evidence/config.yaml \
  --output artifacts/koide-readiness.yaml
calibrex validate artifacts/koide-readiness.yaml --kind koide-readiness

The artifact records each check's status, observed value, evidence, next action, and source digests. Missing evidence is unknown on the check and produces an overall warn; missing camera/LiDAR fitting inputs, finite intrinsics/CameraInfo, or explicit frame binding produces blocked. A warning is therefore never silently promoted to ready.

Readiness thresholds are typed and belong to the preflight protocol, not the evaluation holdout protocol:

pipeline:
  factors:
    koide_lidar_camera:
      enabled: true
      options:
        profile: commercial
        hardware_profile: ouster  # livox, ouster, velodyne, or generic
        readiness:
          thresholds:
            max_sync_delta_ms: 50.0
            min_sampled_point_count: 500
            min_image_texture_score: 0.03

Hardware profiles are never inferred from a model name. If omitted, the artifact records generic guidance and a warning. The Livox guidance asks for point-time preservation, Ouster guidance asks for broad scan overlap, and Velodyne guidance asks for multiple timestamped scans and vertical structure.

For a production run, pass the artifact to the typed runner and enable the strict gate:

options:
  execution_mode: container
  readiness_artifact_path: artifacts/koide-readiness.yaml
  readiness_artifact_sha256: <sha256-of-the-artifact-file>
  strict_readiness: true

Strict execution is fail-closed: the artifact status must be exactly ready, every readiness check must be pass (so no warn or unknown evidence can enter execution), and all declared input digests must still verify before an external stage starts. The Koide implementation, ROS dependencies, model weights, and GPL code remain outside the Calibrex core.

For the official commercial handoff, validate examples/official/koide_execution_lock.yaml and run calibrex camera-lidar koide-handoff; that lock pins the upstream source/image, selects manual initialization, and excludes SuperGlue. The A2D2 readiness artifact under outputs/koide_pilot_a2d2_blocked is intentionally diagnostic only and is not an official Koide execution or score.