db639e1023
Built-in adapters (Signal, WhatsApp Cloud, Weixin, MSGraph, BlueBubbles, ...) were returned from the if/elif factory without `gateway_runner`, so `build_source` never consulted `profile_routes` for them — routed inbound events landed in the default profile's agent:main namespace. Only the plugin-registry branch and api_server/webhook set the back-reference. Split the factory: `_instantiate_adapter` builds, `_create_adapter` binds the runner on every non-None result. All lifecycle callers (primary startup, reconnect, secondary-profile startup) already go through `_create_adapter`, so this covers every path with one seam instead of per-branch assignments. Salvaged from #70831 (Hudson). First reported in #68332.