HPAI · Working diagnostic replay · Studio tests separate
Replay the duplicate-reward bug and fix
This working JavaScript replay runs the same timed events through broken and guarded state models. The log is produced by the code you run, not a screenshot or fabricated Roblox Output.
Completed diagnosis for this controlled reproduction
Expected: one reward per shared coin in three seconds. Reproduction: A at 0ms, A at 40ms and B at 80ms. The broken model rewards every callback. The guarded model records every callback but rewards only the first. The evidence identifies the missing guard in this model; it does not diagnose an unseen real game.
Minimal Roblox changes
Restore: if not available then return end
Keep: available = false before the score change
Restore: coin.CanTouch = false during the cooldown· Executed browser-model logic checks
The actual Studio scripts still need their own Studio test. Never insert the broken copy into a published game.