Limitation: DiscordActivitySink.onActivity posts every workspace event to all of a guild's configured channels — there's no team filter, and ActivityEvent doesn't even carry the issue's team. So a single channel receives the firehose (all teams), which is why cross-team noise lands in one channel.
Proposed fix (per-team routing):
ActivityEvent — one extra join in ActivityDispatcher's poll query.team_id on guild_channel (null = catch-all, gets everything).DiscordActivitySink: post an event to a channel only if the channel's team_id is null or matches the event's team.Then you can map #mcn-issues → MCN, #par-issues → PAR, and leave a channel unscoped for the full feed. UI: the channel inputs in the new Discord integration card gain an optional team picker.
Not a priority right now — logged for later. Distinct from the default-team creation fix (PAR-83); this is about where posts are delivered.