Gate and settings
Everything here saves through the app. No JSON edits are required.
Gate state is unavailable until the API answers /gate/state.
Calibration labels and flywheel
Label crops, then compare the local judge against those labels. False-passes stay visible.
No calibration crops. Run a real calibration render first.
Defect ids are unavailable from /gate/defects, so labeling is locked.
Judge disagreement
Run Compare judge to check local verdicts against saved labels.