This wasn’t meant to stay that way, just to raise attention and to understand how the system works. Neither of those two examples seems to be correct, the first should not change to casual, and the second (with one vote for genus and one for subgenus) should not get RG on subgenus level. As Tony got the attention on the issue, I will remove my votes in both cases.
It appears to be due to the first user’s opting out of community ID. I’ve run into this on some observations at the genus-level, and the opt-out has been the sole commonality. Even if the observer gives the same ID, it currently won’t enter RG at a supra-generic level unless the observer hits the “cannot be improved” button and will instead be forced into casual grade.
I might be wrong, but it looks like the answer might just be that for some reason, while the code usually checks for species or lower, when it’s set to “can’t be improved” it doesn’t check for genus or lower, but only for genus (this line, on Github). If I’m right, the fix is just changing that to <= Taxon::GENUS_LEVEL (I don’t have time to test locally right now and I see @tiwane hasn’t created a github issue yet though, so no PR for now).