From looking at the code, with the caveat I don’t know Ruby, so am trying to decipher a language I dont know (and that’s assuming I found the right code) is that I was more correct in what I initially wrote than I thought. I wrote an example with 1 decimal point but wrote I assume they use more.
However, it appears they do just that, round the box used to 1 decimal point, thus effectively reusing the same grids.
I tried to find an example where nearby observation would happen to fall into different rounded grids.
I found this : https://inaturalist.ca/observations?place_id=6883&taxon_id=27137
All these observations are truly located on Pelee Island, that’s the only place in the province the species is found (which is completely open knowledge too hence writing it). Yet there is roughly 45km between the northern most and southern most obscured coordinates. All the island is about 11km long, which is roughly 0.1 degrees. And the northern reported points are about 20km north of the north end of the island.
So what it appears is happening is records at 42.8xxx are being rounded down to 42.8 and gong into that grid while ones at 42.7xxx are being rounded down and presumably going into that grid.
Interestingly there are effectively no records obscured to the east of the island which supports the rounding.
I’d suggest a compromise in saying we both have parts of the approach right, it is calculating the box based on the actual location, but doing it at a low level of precision (1 decimal point) which leads to the reuse of the same boxes.
Most importantly to confirm the original question, the box itself is not centred on the actual location.