I do not show raw model scores to operators. "83% sure" is a trivia number. They need to know whether to keep moving.
I map scores to three behaviors. High: show the top card big, still allow reject. Mid: show three cards. Low: unknown flow. The mapping is calibrated on floor data, not on the training notebook.
Recalibrate when the world changes
A new camera, a new lighting layout, a new vendor pack — the old thresholds lie. I keep a weekly check: reject rate by bucket. If "high" starts getting rejected, the bucket is a liar.
Never auto-write master data on high confidence
Auto-advance a UI. Do not auto-create a SKU or auto-adjust inventory. Confidence is a UX hint, not a license to mutate the system of record alone.