Being a software developer myself, I understand it's arguable whether this is a bug or design limitation within the scope of what's intended from the programming perspective, but it nevertheless cost me a full day of work today and feels and behaves like a bug from a user and usability perspective so I'm reporting it as such.
1. Make a new 32 bit document
2. Add a new fill layer
3. Set its color to 10,10,10
4. Open a Color Picker by clicking on the currently active color in the left side toolbar or in the color panel.
5. Click anywhere on canvas to sample the color.
Result: Picker reads value 9.9518 (mentioning the stop number to be +3.73 a bit below)
Expectation: Picker reads value 10.0000.
Upon trying to debug this myself before reporting it, I first thought it might be some kind of bug with precision, but figured out that the real reason for this behaviour is that the RGB value in the color picker tool is unable to show values in between the intensity stop number of two decimal places. In this pracitcal example this means Color Picker tool can report colors:
9.9518 (+3.73 stop)
10.0211 (+3.74 stop)
but is unable to display anything in between those two numbers, so in both cases it actually is reporting the wrong value for the color that is being sampled from the canvas, becasue the correct thing that it should show, if it had to show stops correctly as well, would be:
10.0000 (+3.736955267 stop).
This doesn't seem to be a technical limitation within Photoshop either, since the Info panel 32-bit readout correctly shows the value as 10.00, Color Picker should be able to display correct color as well.
Additionally, if someone was using this to sample and reuse an exact color, this bug would actually cause the user to apply the wrong color. For example sampling the uniform canvas of value 10.0000, selecting brush and painting over it changes the value of painted area to 9.9518, making the canvas no longer uniform.
In such scenario, user reasonably expects that he is painting with the same color that he sampled, yet he is not, and the only way to actually paint with preciesly the color 10.0000 would be to workaround this bug by making a fill layer with such value and painting on its mask instead.
The reason I came across this is that I needed to read hundreds of colors as precisely as possible to input them into a sheet and do staticics on them. Color Picker tool happens to shows an extra decimal place compared to the Info panel, and additionally it allows for copying of the value to a copy paste buffer so that I didn't have to type out hundreds of values by hand. Unfortunately I realized too late that Color Picker tool was quantizing the values due to the display of stops, something that I had no need for. Instead of having the intensity slider at all, I would find it much more useful if RGB value fields displayed the actual values (eg. simply display values over 20.0000 instead of relying solely on the intensity slider for values above it, same as Info panel does it).
If it's decided that this won't be fixed, at the very minimum a warning exclamation triangle icon should be added to the tool with a tooltip informing the user of the limitation, rather than showing the wrong number and letting the user believe it to be the correct number.
Photoshop version: 23.1.0
Platform: Windows 10 20H2 (19042.1348)