46d625b097
The bot-mode dispatcher names another profile as bot:<profile>. The resolver treated that like a human runtime id, so a configured runtimePeerPrefix produced peers like telegram_bot:coder and a profile that already owns an AI peer in the same workspace got a second one. A bot:<profile> author now resolves in this order: a userPeerAliases entry for the full bot id, else the sanitized profile name. A cloned profile's aiPeer defaults to the profile name, so a same-workspace sender lands on its existing AI peer. Prefixes never apply to bot ids. pinUserPeer still collapses bot authors onto the pinned peer, the same as every other author.