My offline FR5 inspection tracker accepts a late result from the first check after its retry has started. Both checks belong to the same housing, so the housing ID does not distinguish them. Random delays reproduce it occasionally. I want a test that fails every time until the correlation is fixed.
Yes. The fake transport can store outgoing requests and let the test deliver responses explicitly. I have reproduced the failure with no sleeps: start one check, expire it, start the retry, deliver the first result. The retry becomes complete immediately.
We had a similar test that passed after adding IDs, then failed after a process restart because the counter started again. Distinguish attempts across the lifetime where old events can still arrive. Housing identity and attempt identity are doing different jobs here.
Only the request did. I changed the fake responder and tracker to carry and compare an attempt token end to end. The old result now leaves the retry pending; its matching result completes it. We still need to agree that token with the real interface owner.
The duplicate produces no second completion in the new test. Cancellation also stays final when its matching result arrives later. These pass in the offline tracker only; the restart case and production transport agreement are still outstanding.
Keep that explicit event delivery helper; it makes each ordering readable, and someone maintaining this later won't have to interpret a handful of mysterious sleep durations