- use sentinel failover client for group message runtime when
sentinel_master_name/sentinel_addrs are configured, so seq counter
reads never hit a stale replica after failover
- re-seed missing redis seq counter from DB topic seqid instead of
trusting the caller in-memory baseline
- on unique-key conflict during async persist, re-allocate seq from DB
latest, bump redis counter and fix the idempotency record so resends
with the same client mid return the final seq
- add uk(topic, seqid) unique keys for im_messages in tenant DDL