I compiled the rules engine of a shipped Android game to the browser. Same Java, two compilers. Then I checked whether the two agreed.

They did not — and the test I already had for exactly this had been green the whole time.

The same command twice: green against the current engine, then against the committed recording of the broken build. Play it as a terminal session if you want to select the text.

The setup

The rules live in one module with no Android on its classpath, which is what let me compile them a second time with TeaVM and run the same logic on a canvas in a browser tab.