76f23c0798
wnd persists pending group invites across daemon restarts, so on any rerun C (and B) already have unaccepted welcomes from previous runs lying around. `wait_for_invite` was pulling `.[0]` out of the invite list, which is the oldest pending — i.e. the stalest — and treating it as the arrival the caller just triggered. In the sanity probe this caused the kind:445 step to send to B's NEW group id while C was accepting a DIFFERENT (old) group, producing a bogus "kind:445 failed — relays may be dropping group messages" with no actual relay issue. Add `snapshot_invites <B|C>` which returns the current gids as CSV, and teach `wait_for_invite` to accept that CSV as an ignore list so it walks past stale welcomes and only returns a freshly-arrived one. Use the new snapshot→wait pattern at every call site: sanity check, Test 02 (B), Test 04 (C), Test 05 (C), Test 08 (C), Test 12 (C). Also log a gid-mismatch warning in the sanity check when B's created group and C's accepted welcome disagree, as an extra guard against the filter being bypassed.