I checked, it does seem to be out-of-chroma issue. However, more because of the wrong value used. Now, it looks better than Ed’s Harvey method.
See commit here - Fix Value in Vibrance [YCH] · dtschump/gmic-community@fe55132 · GitHub
And these tests with before/after:
C:\Windows\System32>gmic 256,256,256,3,[x,y,z] rep_vibrance_ych 1
[gmic]-0./ Start G'MIC interpreter.
[gmic]-0./ Input image at position 0, with values '[x,y,z]' (1 image 256x256x256x3).
[gmic]-3./rep_vibrance_ych/*foreach/ 0.63235455751419067
[gmic]-3./rep_vibrance_ych/*foreach/ 0.63235485553741455
[gmic]-1./ Display image [0] = '[image of '[x,y,z]']'.
[0] = '[image of '[x,y,z]']':
size = (256,256,256,3) [192 Mio of float32].
data = (0,1.44314,2.88601,4.32861,5.77094,7.213,8.6548,10.0963,11.4778,12.7596,13.9606,15.1212,(...),255,255,255,255,255,255,255,255,255,255,255,255).
min = 0, max = 255, mean = 118.538, std = 89.8106, coords_min = (0,0,0,0), coords_max = (255,1,0,0).
[gmic]-1./ End G'MIC interpreter.
C:\Windows\System32>gmic 256,256,256,3,[x,y,z] rep_vibrance_ych 1
[gmic]-0./ Start G'MIC interpreter.
[gmic]-0./ Input image at position 0, with values '[x,y,z]' (1 image 256x256x256x3).
[gmic]-3./rep_vibrance_ych/*foreach/ 0.63235455751419067
[gmic]-3./rep_vibrance_ych/*foreach/ 0.63235455751419067
[gmic]-1./ Display image [0] = '[image of '[x,y,z]']'.
[0] = '[image of '[x,y,z]']':
size = (256,256,256,3) [192 Mio of float32].
data = (0,1.44314,2.88601,4.32861,5.77094,7.213,8.6548,10.0963,11.4778,12.7596,13.9605,15.1212,(...),255,255,255,255,255,255,255,255,255,255,255,255).
min = 0, max = 255, mean = 118.538, std = 89.8106, coords_min = (0,0,0,0), coords_max = (255,1,0,0).
[gmic]-1./ End G'MIC interpreter.
The value remaining the same is more ideal because maximum chroma doesn’t shift. New problem is color bleed rather than luminosity.