reconcileConversations
Re-keys stored conversations onto the current channel set, and records it as the new baseline.
Conversations are keyed by channel index, so a slot that changes occupant shows the previous channel's history under the new channel until this runs. Idempotent: a second call with nothing changed does nothing.
Called explicitly after the handshake because the handshake streams channels in one slot at a time (and its LoRa config arrives as its own write). Reconciling on each of those would see a channel momentarily missing, retire it, and then see it come back.