migrateToProteus

open suspend override fun migrateToProteus(user: OtherUser): Either<CoreFailure, ConversationId>

Get one-on-one conversation with the user, if not found, create a new one (Proteus still default) and mark it as active. New conversations require at least one registered recipient client; lookup failures are propagated.