The identity check works at receipt. That's not where this one goes wrong. In our offline UR5e inspection test, a callback passes the check, waits in a queue, then updates whichever attempt is on screen when it finally runs. I've already kept attempt identity separate from the job name. Where would you put the regression test so this doesn't come back under a different disguise?
At the state change. Pause the old callback after receipt, select a new attempt, then release it. The new attempt must remain unfinished. A receipt test will happily congratulate you while the queued work does the damage.
Our display once pulled this trick with a stale success banner. Stored result was right, screen was wrong. Are you changing the saved inspection result as well, or only painting the wrong row?
Anil, keep the test aimed at the saved state even after that line changes. Felix's banner case deserves its own check too; a correct database does not make a misleading screen harmless to the next operator.
Yes, please don't hide the screen check in a database assertion. We did that and shipped the same confusing banner again. Two failures with names you can understand beats one grand test that says no.
What will the screen say about the late result itself? Unfinished new attempt is one half. Someone still has to understand where the older answer went.
Maybe. Depends whether the person is waiting on it. I would show that example to whoever uses the inspection page before deciding a quiet history entry is enough.
State regression is now in: old callback parked, new attempt selected, old callback released. It fails on the old code and passes with the callback using its own identity. Separate display check still fails because the banner reads the selected row.
Owen and Dinesh, the older attempt remains in history. Whether its late answer needs a notice is still undecided. Thanks Isabel for the exact pause point; I was about to write another timing lottery.
That's the annoying part made repeatable, at least. Leave the banner failure visible until it's fixed. Very easy to call that cosmetic once the storage test turns green.