Our offline result handler marks a new coupon attempt complete when an earlier completion arrives late. The event still has the earlier identity. I have been changing sleep durations to reproduce it, which feels like moving the problem around rather than testing it. I want a repeatable case the maintainer can keep.
Then keep those equal job names in the test. Giving everything beautifully unique labels could let a wrong lookup pass while the real application keeps reusing names.
Louis, yes. Each attempt has its own detail row. Caleb, the result identity is separate too; we will repeat the same result and supply a distinct conflicting one as separate cases.
Add reopening between deliveries. The original result may be saved while the in-memory list of processed events has vanished. That's a different route back to the same inflated display.
Offline repair now looks up the carried attempt identity. The original late result updates the earlier attempt only; its duplicate adds no row. A distinct conflicting result stays visible for review.
Reopen-between-deliveries also passes. We then deliver the current attempt's own result and it completes normally. Maintainer has the deterministic sequences and expected rows; this offline handler fix is finished.