0437fe66f7
_build_slash_event and _dispatch_thread_session built their SessionSource without guild_id/parent_chat_id, while on_message passes both. Route matching in build_source keys off exactly those fields, so under gateway.multiplex_profiles a guild- or channel-routed profile never matched a native slash command: /new, /reset, /model, /profile, /status ... all ran against the default profile and reset the wrong session (#69178, #91633). Pass guild_id (interaction.guild_id, falling back to channel.guild like the message path) and the thread's parent channel id into build_source at both sites. One test pins channel + thread routing parity with messages. Fixes #69178 Fixes #91633 Co-authored-by: Sora-bluesky <179361977+Sora-bluesky@users.noreply.github.com> Co-authored-by: jondgilbert <42873618+jondgilbert@users.noreply.github.com> Co-authored-by: tensorbit89-netizen <257030052+tensorbit89-netizen@users.noreply.github.com>