Addresses two review findings on the move PR:
- `rateLimit` was a plain `RateLimitConfig`, but `merge` only copies
`Opt` fields (`when oField is Opt`), so every override path
(`LogosDeliveryConf.init`, JSON `messagingOverrides`) silently dropped
it and the field was always taken from `base` — unsettable by any
caller. Make it `Opt[RateLimitConfig]` like every other field;
`MessagingClient.new` falls back to `DefaultRateLimitConfig` (new
const, rate limiting disabled) when unset. Adds a merge test.
- The channel-level knobs (`rateLimitEnabled` /
`rateLimitEpochPeriodSec` / `rateLimitMessagesPerEpoch`) are still
parsed but unread since rate limiting moved to the messaging client,
so setting them was silently ignored. `ReliableChannelManager.new`
now logs a deprecation warning when any is set. Full removal remains a
follow-up API decision.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>