The own-residue delegate test only checked the seeded transcript had two
messages, which would also pass for any two wrong rows; assert the exact
server row ids [1, 2] instead (drops the redundant objectContaining line).
The stale-guard-loop header still said both submit paths refuse on any
non-null refresh; they now refuse only a competingView surplus and graft
own residue then send, so say that.