step.calibration.setup

Setup-time calibration: opportunistic evidence collection + a finalizing gate.

The setup mission scatters collect_drive() / collect_ir_set() wrappers around its motions to gather ground-truth distance and IR samples without any dedicated calibration drives. A single calibration_gate() then folds that evidence into the persisted compensation layers — distance trim via MotionTrimService.set_axis_scale and IR thresholds via the calibration store — falling back to a measured drive (and manual measurement) only for axes/sets that never accumulated enough samples.

Submodules