review-merge: worktree-less approvals run the gate too, and all three UI merge entry points handle verify_failed explicitly. Ui gotchas: NumericUpDown.Value is decimal? and nulls while the box is empty.