The workspace init flow would swallow slash commands (e.g. /workspace bind)
on platforms like Discord where commands include the "/" prefix. The guard
at handleMessage only checked for "workspace" without "/", which was
designed for Slack where the prefix was stripped.
Three fixes:
- Add "/workspace" to the init flow bypass guard in handleMessage
- Let slash commands escape an existing init flow in handleWorkspaceInitFlow
- Clean up stale init flow state when workspace commands bypass the flow
Also implement ChannelNameResolver for Discord so convention-based
workspace matching works automatically by channel name.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>