To verify that we're not insane, we've also reverse engineered both miners, analysed their kernels, traced their OpenCL enqueue calls, and the evidence is clear.
Wow, this deserves a separate article (Medium maybe?). Indeed, if you trace all OpenCL calls and save timestamps with microsecond precision, it's easy to calculate the real hashrate miner-side, without having to wait for 1000000 shares.
I've debated this. Regardless of what I think of the whole setup, I think it's even worse to hack a miner publicly and leave the kernels wide open etc. It's a matter of principle. You also leave the door open for arguments like "yes, but I have my super defense that notices your pathetic workarounds, so I give you my shit kernel instead". Bogus arguments, I've dumped the running kernels in 100% clean environments directly from mapped vram to verify miners were running the same kernels at later points in time, but these arguments are still very hard to prove wrong.
Therefore, I think it's better to provide a testing tool instead that anyone can run on a cloud vm (or on your local LAN with a few IP redirects), acting as a fake pool with low diff, but not low enough to affect miner operation. The miner will then run in a completely clean environment, zero tampering involved, and it's impossible for it to understand it's mining against a fake pool. Moreover, the testing tool is useful for other purposes as well, like generating bad shares much more quickly when tuning and testing OC.
Anyway, this way it will take around 2 days to get 1,000,000 shares, sure, but I think it's worth it. You can prove that you'll have a bound of +-0.3% at a 99% confidence level with that magnitude of shares, which is good enough for our purposes. It should also be sufficient with enough people verifying the results, I don't believe the whole wide world needs to test it themselves.
We will start by posting a github project, then we'll see what happens.