What do you observe if you hold the first completion, start the second attempt, then release the held event deliberately? A small controllable event queue should let you repeat that exact order without guessing a delay
Assert both attempts, not just the current tile. The old result should remain attached to its own attempt, while the new attempt remains waiting and the completed-part count follows your defined reconciliation rule.
Then test through that adapter as well as the handler. Otherwise a corrected handler test can pass while the real incoming event still loses its identity. Include duplicate delivery and an unknown attempt ID in the same controlled sequence