diff --git a/backend/test/unit/channels/test_channels_bluebubbles.py b/backend/test/unit/channels/adapters/bluebubbles_imessage/test_channels_bluebubbles.py similarity index 100% rename from backend/test/unit/channels/test_channels_bluebubbles.py rename to backend/test/unit/channels/adapters/bluebubbles_imessage/test_channels_bluebubbles.py diff --git a/backend/test/unit/channels/test_channels_bluebubbles_supplement.py b/backend/test/unit/channels/adapters/bluebubbles_imessage/test_channels_bluebubbles_supplement.py similarity index 100% rename from backend/test/unit/channels/test_channels_bluebubbles_supplement.py rename to backend/test/unit/channels/adapters/bluebubbles_imessage/test_channels_bluebubbles_supplement.py diff --git a/backend/test/unit/channels/test_channels_imessage.py b/backend/test/unit/channels/adapters/bluebubbles_imessage/test_channels_imessage.py similarity index 100% rename from backend/test/unit/channels/test_channels_imessage.py rename to backend/test/unit/channels/adapters/bluebubbles_imessage/test_channels_imessage.py diff --git a/backend/test/unit/channels/test_channels_imessage_adapter_edge.py b/backend/test/unit/channels/adapters/bluebubbles_imessage/test_channels_imessage_adapter_edge.py similarity index 100% rename from backend/test/unit/channels/test_channels_imessage_adapter_edge.py rename to backend/test/unit/channels/adapters/bluebubbles_imessage/test_channels_imessage_adapter_edge.py diff --git a/backend/test/unit/channels/test_channels_imessage_commands.py b/backend/test/unit/channels/adapters/bluebubbles_imessage/test_channels_imessage_commands.py similarity index 100% rename from backend/test/unit/channels/test_channels_imessage_commands.py rename to backend/test/unit/channels/adapters/bluebubbles_imessage/test_channels_imessage_commands.py diff --git a/backend/test/unit/channels/test_channels_imessage_config.py b/backend/test/unit/channels/adapters/bluebubbles_imessage/test_channels_imessage_config.py similarity index 100% rename from backend/test/unit/channels/test_channels_imessage_config.py rename to backend/test/unit/channels/adapters/bluebubbles_imessage/test_channels_imessage_config.py diff --git a/backend/test/unit/channels/test_channels_imessage_exceptions.py b/backend/test/unit/channels/adapters/bluebubbles_imessage/test_channels_imessage_exceptions.py similarity index 100% rename from backend/test/unit/channels/test_channels_imessage_exceptions.py rename to backend/test/unit/channels/adapters/bluebubbles_imessage/test_channels_imessage_exceptions.py diff --git a/backend/test/unit/channels/test_channels_imessage_formatter.py b/backend/test/unit/channels/adapters/bluebubbles_imessage/test_channels_imessage_formatter.py similarity index 100% rename from backend/test/unit/channels/test_channels_imessage_formatter.py rename to backend/test/unit/channels/adapters/bluebubbles_imessage/test_channels_imessage_formatter.py diff --git a/backend/test/unit/channels/test_channels_imessage_media.py b/backend/test/unit/channels/adapters/bluebubbles_imessage/test_channels_imessage_media.py similarity index 100% rename from backend/test/unit/channels/test_channels_imessage_media.py rename to backend/test/unit/channels/adapters/bluebubbles_imessage/test_channels_imessage_media.py diff --git a/backend/test/unit/channels/test_channels_imessage_monitor.py b/backend/test/unit/channels/adapters/bluebubbles_imessage/test_channels_imessage_monitor.py similarity index 100% rename from backend/test/unit/channels/test_channels_imessage_monitor.py rename to backend/test/unit/channels/adapters/bluebubbles_imessage/test_channels_imessage_monitor.py diff --git a/backend/test/unit/channels/test_channels_imessage_normalize.py b/backend/test/unit/channels/adapters/bluebubbles_imessage/test_channels_imessage_normalize.py similarity index 100% rename from backend/test/unit/channels/test_channels_imessage_normalize.py rename to backend/test/unit/channels/adapters/bluebubbles_imessage/test_channels_imessage_normalize.py diff --git a/backend/test/unit/channels/test_channels_imessage_probe.py b/backend/test/unit/channels/adapters/bluebubbles_imessage/test_channels_imessage_probe.py similarity index 100% rename from backend/test/unit/channels/test_channels_imessage_probe.py rename to backend/test/unit/channels/adapters/bluebubbles_imessage/test_channels_imessage_probe.py diff --git a/backend/test/unit/channels/test_channels_imessage_sanitize.py b/backend/test/unit/channels/adapters/bluebubbles_imessage/test_channels_imessage_sanitize.py similarity index 100% rename from backend/test/unit/channels/test_channels_imessage_sanitize.py rename to backend/test/unit/channels/adapters/bluebubbles_imessage/test_channels_imessage_sanitize.py diff --git a/backend/test/unit/channels/test_channels_imessage_security.py b/backend/test/unit/channels/adapters/bluebubbles_imessage/test_channels_imessage_security.py similarity index 100% rename from backend/test/unit/channels/test_channels_imessage_security.py rename to backend/test/unit/channels/adapters/bluebubbles_imessage/test_channels_imessage_security.py diff --git a/backend/test/unit/channels/test_channels_imessage_utils.py b/backend/test/unit/channels/adapters/bluebubbles_imessage/test_channels_imessage_utils.py similarity index 100% rename from backend/test/unit/channels/test_channels_imessage_utils.py rename to backend/test/unit/channels/adapters/bluebubbles_imessage/test_channels_imessage_utils.py diff --git a/backend/test/unit/channels/test_channels_dingding.py b/backend/test/unit/channels/adapters/dingding/test_channels_dingding.py similarity index 100% rename from backend/test/unit/channels/test_channels_dingding.py rename to backend/test/unit/channels/adapters/dingding/test_channels_dingding.py diff --git a/backend/test/unit/channels/test_dingding_adapter_fixes.py b/backend/test/unit/channels/adapters/dingding/test_dingding_adapter_fixes.py similarity index 100% rename from backend/test/unit/channels/test_dingding_adapter_fixes.py rename to backend/test/unit/channels/adapters/dingding/test_dingding_adapter_fixes.py diff --git a/backend/test/unit/channels/test_dingding_adapter_quick.py b/backend/test/unit/channels/adapters/dingding/test_dingding_adapter_quick.py similarity index 100% rename from backend/test/unit/channels/test_dingding_adapter_quick.py rename to backend/test/unit/channels/adapters/dingding/test_dingding_adapter_quick.py diff --git a/backend/test/unit/channels/test_discord_accounts.py b/backend/test/unit/channels/adapters/discord/test_discord_accounts.py similarity index 100% rename from backend/test/unit/channels/test_discord_accounts.py rename to backend/test/unit/channels/adapters/discord/test_discord_accounts.py diff --git a/backend/test/unit/channels/test_discord_adapter_p0.py b/backend/test/unit/channels/adapters/discord/test_discord_adapter_p0.py similarity index 100% rename from backend/test/unit/channels/test_discord_adapter_p0.py rename to backend/test/unit/channels/adapters/discord/test_discord_adapter_p0.py diff --git a/backend/test/unit/channels/test_discord_analysis.py b/backend/test/unit/channels/adapters/discord/test_discord_analysis.py similarity index 100% rename from backend/test/unit/channels/test_discord_analysis.py rename to backend/test/unit/channels/adapters/discord/test_discord_analysis.py diff --git a/backend/test/unit/channels/test_discord_auto_presence.py b/backend/test/unit/channels/adapters/discord/test_discord_auto_presence.py similarity index 100% rename from backend/test/unit/channels/test_discord_auto_presence.py rename to backend/test/unit/channels/adapters/discord/test_discord_auto_presence.py diff --git a/backend/test/unit/channels/test_discord_chunker.py b/backend/test/unit/channels/adapters/discord/test_discord_chunker.py similarity index 100% rename from backend/test/unit/channels/test_discord_chunker.py rename to backend/test/unit/channels/adapters/discord/test_discord_chunker.py diff --git a/backend/test/unit/channels/test_discord_commands.py b/backend/test/unit/channels/adapters/discord/test_discord_commands.py similarity index 100% rename from backend/test/unit/channels/test_discord_commands.py rename to backend/test/unit/channels/adapters/discord/test_discord_commands.py diff --git a/backend/test/unit/channels/test_discord_components.py b/backend/test/unit/channels/adapters/discord/test_discord_components.py similarity index 100% rename from backend/test/unit/channels/test_discord_components.py rename to backend/test/unit/channels/adapters/discord/test_discord_components.py diff --git a/backend/test/unit/channels/test_discord_dedupe.py b/backend/test/unit/channels/adapters/discord/test_discord_dedupe.py similarity index 100% rename from backend/test/unit/channels/test_discord_dedupe.py rename to backend/test/unit/channels/adapters/discord/test_discord_dedupe.py diff --git a/backend/test/unit/channels/test_discord_doctor.py b/backend/test/unit/channels/adapters/discord/test_discord_doctor.py similarity index 100% rename from backend/test/unit/channels/test_discord_doctor.py rename to backend/test/unit/channels/adapters/discord/test_discord_doctor.py diff --git a/backend/test/unit/channels/test_discord_event_queue.py b/backend/test/unit/channels/adapters/discord/test_discord_event_queue.py similarity index 100% rename from backend/test/unit/channels/test_discord_event_queue.py rename to backend/test/unit/channels/adapters/discord/test_discord_event_queue.py diff --git a/backend/test/unit/channels/test_discord_formatter.py b/backend/test/unit/channels/adapters/discord/test_discord_formatter.py similarity index 100% rename from backend/test/unit/channels/test_discord_formatter.py rename to backend/test/unit/channels/adapters/discord/test_discord_formatter.py diff --git a/backend/test/unit/channels/test_discord_normalizer.py b/backend/test/unit/channels/adapters/discord/test_discord_normalizer.py similarity index 100% rename from backend/test/unit/channels/test_discord_normalizer.py rename to backend/test/unit/channels/adapters/discord/test_discord_normalizer.py diff --git a/backend/test/unit/channels/test_discord_poll.py b/backend/test/unit/channels/adapters/discord/test_discord_poll.py similarity index 100% rename from backend/test/unit/channels/test_discord_poll.py rename to backend/test/unit/channels/adapters/discord/test_discord_poll.py diff --git a/backend/test/unit/channels/test_discord_rest_scheduler.py b/backend/test/unit/channels/adapters/discord/test_discord_rest_scheduler.py similarity index 100% rename from backend/test/unit/channels/test_discord_rest_scheduler.py rename to backend/test/unit/channels/adapters/discord/test_discord_rest_scheduler.py diff --git a/backend/test/unit/channels/test_discord_security_audit.py b/backend/test/unit/channels/adapters/discord/test_discord_security_audit.py similarity index 100% rename from backend/test/unit/channels/test_discord_security_audit.py rename to backend/test/unit/channels/adapters/discord/test_discord_security_audit.py diff --git a/backend/test/unit/channels/test_discord_security_full.py b/backend/test/unit/channels/adapters/discord/test_discord_security_full.py similarity index 100% rename from backend/test/unit/channels/test_discord_security_full.py rename to backend/test/unit/channels/adapters/discord/test_discord_security_full.py diff --git a/backend/test/unit/channels/test_discord_send.py b/backend/test/unit/channels/adapters/discord/test_discord_send.py similarity index 100% rename from backend/test/unit/channels/test_discord_send.py rename to backend/test/unit/channels/adapters/discord/test_discord_send.py diff --git a/backend/test/unit/channels/test_discord_session.py b/backend/test/unit/channels/adapters/discord/test_discord_session.py similarity index 100% rename from backend/test/unit/channels/test_discord_session.py rename to backend/test/unit/channels/adapters/discord/test_discord_session.py diff --git a/backend/test/unit/channels/test_discord_webhook.py b/backend/test/unit/channels/adapters/discord/test_discord_webhook.py similarity index 100% rename from backend/test/unit/channels/test_discord_webhook.py rename to backend/test/unit/channels/adapters/discord/test_discord_webhook.py diff --git a/backend/test/unit/channels/test_channels_feishu.py b/backend/test/unit/channels/adapters/feishu/test_channels_feishu.py similarity index 100% rename from backend/test/unit/channels/test_channels_feishu.py rename to backend/test/unit/channels/adapters/feishu/test_channels_feishu.py diff --git a/backend/test/unit/channels/test_channels_feishu_comprehensive.py b/backend/test/unit/channels/adapters/feishu/test_channels_feishu_comprehensive.py similarity index 100% rename from backend/test/unit/channels/test_channels_feishu_comprehensive.py rename to backend/test/unit/channels/adapters/feishu/test_channels_feishu_comprehensive.py diff --git a/backend/test/unit/channels/test_channels_feishu_optimizations.py b/backend/test/unit/channels/adapters/feishu/test_channels_feishu_optimizations.py similarity index 100% rename from backend/test/unit/channels/test_channels_feishu_optimizations.py rename to backend/test/unit/channels/adapters/feishu/test_channels_feishu_optimizations.py diff --git a/backend/test/unit/channels/test_channels_feishu_p0.py b/backend/test/unit/channels/adapters/feishu/test_channels_feishu_p0.py similarity index 100% rename from backend/test/unit/channels/test_channels_feishu_p0.py rename to backend/test/unit/channels/adapters/feishu/test_channels_feishu_p0.py diff --git a/backend/test/unit/channels/test_googlechat.py b/backend/test/unit/channels/adapters/googlechat/test_googlechat.py similarity index 100% rename from backend/test/unit/channels/test_googlechat.py rename to backend/test/unit/channels/adapters/googlechat/test_googlechat.py diff --git a/backend/test/unit/channels/test_googlechat_adapter.py b/backend/test/unit/channels/adapters/googlechat/test_googlechat_adapter.py similarity index 100% rename from backend/test/unit/channels/test_googlechat_adapter.py rename to backend/test/unit/channels/adapters/googlechat/test_googlechat_adapter.py diff --git a/backend/test/unit/channels/test_googlechat_modules.py b/backend/test/unit/channels/adapters/googlechat/test_googlechat_modules.py similarity index 100% rename from backend/test/unit/channels/test_googlechat_modules.py rename to backend/test/unit/channels/adapters/googlechat/test_googlechat_modules.py diff --git a/backend/test/unit/channels/test_googlechat_send.py b/backend/test/unit/channels/adapters/googlechat/test_googlechat_send.py similarity index 100% rename from backend/test/unit/channels/test_googlechat_send.py rename to backend/test/unit/channels/adapters/googlechat/test_googlechat_send.py diff --git a/backend/test/unit/channels/test_irc_adapter.py b/backend/test/unit/channels/adapters/irc/test_irc_adapter.py similarity index 100% rename from backend/test/unit/channels/test_irc_adapter.py rename to backend/test/unit/channels/adapters/irc/test_irc_adapter.py diff --git a/backend/test/unit/channels/test_irc_analysis.py b/backend/test/unit/channels/adapters/irc/test_irc_analysis.py similarity index 100% rename from backend/test/unit/channels/test_irc_analysis.py rename to backend/test/unit/channels/adapters/irc/test_irc_analysis.py diff --git a/backend/test/unit/channels/test_irc_comprehensive.py b/backend/test/unit/channels/adapters/irc/test_irc_comprehensive.py similarity index 100% rename from backend/test/unit/channels/test_irc_comprehensive.py rename to backend/test/unit/channels/adapters/irc/test_irc_comprehensive.py diff --git a/backend/test/unit/channels/test_irc_enhancement.py b/backend/test/unit/channels/adapters/irc/test_irc_enhancement.py similarity index 100% rename from backend/test/unit/channels/test_irc_enhancement.py rename to backend/test/unit/channels/adapters/irc/test_irc_enhancement.py diff --git a/backend/test/unit/channels/test_irc_fixes.py b/backend/test/unit/channels/adapters/irc/test_irc_fixes.py similarity index 100% rename from backend/test/unit/channels/test_irc_fixes.py rename to backend/test/unit/channels/adapters/irc/test_irc_fixes.py diff --git a/backend/test/unit/channels/test_irc_new_features.py b/backend/test/unit/channels/adapters/irc/test_irc_new_features.py similarity index 100% rename from backend/test/unit/channels/test_irc_new_features.py rename to backend/test/unit/channels/adapters/irc/test_irc_new_features.py diff --git a/backend/test/unit/channels/test_line_adapter.py b/backend/test/unit/channels/adapters/line/test_line_adapter.py similarity index 100% rename from backend/test/unit/channels/test_line_adapter.py rename to backend/test/unit/channels/adapters/line/test_line_adapter.py diff --git a/backend/test/unit/channels/test_line_adapter_comprehensive.py b/backend/test/unit/channels/adapters/line/test_line_adapter_comprehensive.py similarity index 100% rename from backend/test/unit/channels/test_line_adapter_comprehensive.py rename to backend/test/unit/channels/adapters/line/test_line_adapter_comprehensive.py diff --git a/backend/test/unit/channels/test_channels_matrix.py b/backend/test/unit/channels/adapters/matrix/test_channels_matrix.py similarity index 100% rename from backend/test/unit/channels/test_channels_matrix.py rename to backend/test/unit/channels/adapters/matrix/test_channels_matrix.py diff --git a/backend/test/unit/channels/test_channels_matrix_comprehensive.py b/backend/test/unit/channels/adapters/matrix/test_channels_matrix_comprehensive.py similarity index 100% rename from backend/test/unit/channels/test_channels_matrix_comprehensive.py rename to backend/test/unit/channels/adapters/matrix/test_channels_matrix_comprehensive.py diff --git a/backend/test/unit/channels/test_channels_mattermost_normalizer.py b/backend/test/unit/channels/adapters/mattermost/test_channels_mattermost_normalizer.py similarity index 100% rename from backend/test/unit/channels/test_channels_mattermost_normalizer.py rename to backend/test/unit/channels/adapters/mattermost/test_channels_mattermost_normalizer.py diff --git a/backend/test/unit/channels/test_channels_mattermost_session.py b/backend/test/unit/channels/adapters/mattermost/test_channels_mattermost_session.py similarity index 100% rename from backend/test/unit/channels/test_channels_mattermost_session.py rename to backend/test/unit/channels/adapters/mattermost/test_channels_mattermost_session.py diff --git a/backend/test/unit/channels/test_mattermost_adapter.py b/backend/test/unit/channels/adapters/mattermost/test_mattermost_adapter.py similarity index 100% rename from backend/test/unit/channels/test_mattermost_adapter.py rename to backend/test/unit/channels/adapters/mattermost/test_mattermost_adapter.py diff --git a/backend/test/unit/channels/test_mattermost_adapter_fixes.py b/backend/test/unit/channels/adapters/mattermost/test_mattermost_adapter_fixes.py similarity index 100% rename from backend/test/unit/channels/test_mattermost_adapter_fixes.py rename to backend/test/unit/channels/adapters/mattermost/test_mattermost_adapter_fixes.py diff --git a/backend/test/unit/channels/test_mattermost_comprehensive.py b/backend/test/unit/channels/adapters/mattermost/test_mattermost_comprehensive.py similarity index 100% rename from backend/test/unit/channels/test_mattermost_comprehensive.py rename to backend/test/unit/channels/adapters/mattermost/test_mattermost_comprehensive.py diff --git a/backend/test/unit/channels/test_mattermost_normalizer.py b/backend/test/unit/channels/adapters/mattermost/test_mattermost_normalizer.py similarity index 100% rename from backend/test/unit/channels/test_mattermost_normalizer.py rename to backend/test/unit/channels/adapters/mattermost/test_mattermost_normalizer.py diff --git a/backend/test/unit/channels/test_mattermost_optimization.py b/backend/test/unit/channels/adapters/mattermost/test_mattermost_optimization.py similarity index 100% rename from backend/test/unit/channels/test_mattermost_optimization.py rename to backend/test/unit/channels/adapters/mattermost/test_mattermost_optimization.py diff --git a/backend/test/unit/channels/test_mattermost_optimization_p0.py b/backend/test/unit/channels/adapters/mattermost/test_mattermost_optimization_p0.py similarity index 100% rename from backend/test/unit/channels/test_mattermost_optimization_p0.py rename to backend/test/unit/channels/adapters/mattermost/test_mattermost_optimization_p0.py diff --git a/backend/test/unit/channels/test_mattermost_send.py b/backend/test/unit/channels/adapters/mattermost/test_mattermost_send.py similarity index 100% rename from backend/test/unit/channels/test_mattermost_send.py rename to backend/test/unit/channels/adapters/mattermost/test_mattermost_send.py diff --git a/backend/test/unit/channels/test_mattermost_session.py b/backend/test/unit/channels/adapters/mattermost/test_mattermost_session.py similarity index 100% rename from backend/test/unit/channels/test_mattermost_session.py rename to backend/test/unit/channels/adapters/mattermost/test_mattermost_session.py diff --git a/backend/test/unit/channels/test_msteams_accounts_audit.py b/backend/test/unit/channels/adapters/msteams/test_msteams_accounts_audit.py similarity index 100% rename from backend/test/unit/channels/test_msteams_accounts_audit.py rename to backend/test/unit/channels/adapters/msteams/test_msteams_accounts_audit.py diff --git a/backend/test/unit/channels/test_msteams_adapter.py b/backend/test/unit/channels/adapters/msteams/test_msteams_adapter.py similarity index 100% rename from backend/test/unit/channels/test_msteams_adapter.py rename to backend/test/unit/channels/adapters/msteams/test_msteams_adapter.py diff --git a/backend/test/unit/channels/test_msteams_analysis.py b/backend/test/unit/channels/adapters/msteams/test_msteams_analysis.py similarity index 100% rename from backend/test/unit/channels/test_msteams_analysis.py rename to backend/test/unit/channels/adapters/msteams/test_msteams_analysis.py diff --git a/backend/test/unit/channels/test_msteams_auth_audio.py b/backend/test/unit/channels/adapters/msteams/test_msteams_auth_audio.py similarity index 100% rename from backend/test/unit/channels/test_msteams_auth_audio.py rename to backend/test/unit/channels/adapters/msteams/test_msteams_auth_audio.py diff --git a/backend/test/unit/channels/test_msteams_chunking.py b/backend/test/unit/channels/adapters/msteams/test_msteams_chunking.py similarity index 100% rename from backend/test/unit/channels/test_msteams_chunking.py rename to backend/test/unit/channels/adapters/msteams/test_msteams_chunking.py diff --git a/backend/test/unit/channels/test_msteams_config.py b/backend/test/unit/channels/adapters/msteams/test_msteams_config.py similarity index 100% rename from backend/test/unit/channels/test_msteams_config.py rename to backend/test/unit/channels/adapters/msteams/test_msteams_config.py diff --git a/backend/test/unit/channels/test_msteams_fixes.py b/backend/test/unit/channels/adapters/msteams/test_msteams_fixes.py similarity index 100% rename from backend/test/unit/channels/test_msteams_fixes.py rename to backend/test/unit/channels/adapters/msteams/test_msteams_fixes.py diff --git a/backend/test/unit/channels/test_msteams_helpers.py b/backend/test/unit/channels/adapters/msteams/test_msteams_helpers.py similarity index 100% rename from backend/test/unit/channels/test_msteams_helpers.py rename to backend/test/unit/channels/adapters/msteams/test_msteams_helpers.py diff --git a/backend/test/unit/channels/test_msteams_phase1.py b/backend/test/unit/channels/adapters/msteams/test_msteams_phase1.py similarity index 100% rename from backend/test/unit/channels/test_msteams_phase1.py rename to backend/test/unit/channels/adapters/msteams/test_msteams_phase1.py diff --git a/backend/test/unit/channels/test_msteams_runtime_presentation.py b/backend/test/unit/channels/adapters/msteams/test_msteams_runtime_presentation.py similarity index 100% rename from backend/test/unit/channels/test_msteams_runtime_presentation.py rename to backend/test/unit/channels/adapters/msteams/test_msteams_runtime_presentation.py diff --git a/backend/test/unit/channels/test_msteams_storage.py b/backend/test/unit/channels/adapters/msteams/test_msteams_storage.py similarity index 100% rename from backend/test/unit/channels/test_msteams_storage.py rename to backend/test/unit/channels/adapters/msteams/test_msteams_storage.py diff --git a/backend/test/unit/channels/test_nextcloudtalk_accounts.py b/backend/test/unit/channels/adapters/nextcloudtalk/test_nextcloudtalk_accounts.py similarity index 100% rename from backend/test/unit/channels/test_nextcloudtalk_accounts.py rename to backend/test/unit/channels/adapters/nextcloudtalk/test_nextcloudtalk_accounts.py diff --git a/backend/test/unit/channels/test_nextcloudtalk_adapter.py b/backend/test/unit/channels/adapters/nextcloudtalk/test_nextcloudtalk_adapter.py similarity index 100% rename from backend/test/unit/channels/test_nextcloudtalk_adapter.py rename to backend/test/unit/channels/adapters/nextcloudtalk/test_nextcloudtalk_adapter.py diff --git a/backend/test/unit/channels/test_nextcloudtalk_chunking.py b/backend/test/unit/channels/adapters/nextcloudtalk/test_nextcloudtalk_chunking.py similarity index 100% rename from backend/test/unit/channels/test_nextcloudtalk_chunking.py rename to backend/test/unit/channels/adapters/nextcloudtalk/test_nextcloudtalk_chunking.py diff --git a/backend/test/unit/channels/test_nextcloudtalk_config_enhanced.py b/backend/test/unit/channels/adapters/nextcloudtalk/test_nextcloudtalk_config_enhanced.py similarity index 100% rename from backend/test/unit/channels/test_nextcloudtalk_config_enhanced.py rename to backend/test/unit/channels/adapters/nextcloudtalk/test_nextcloudtalk_config_enhanced.py diff --git a/backend/test/unit/channels/test_nextcloudtalk_credentials.py b/backend/test/unit/channels/adapters/nextcloudtalk/test_nextcloudtalk_credentials.py similarity index 100% rename from backend/test/unit/channels/test_nextcloudtalk_credentials.py rename to backend/test/unit/channels/adapters/nextcloudtalk/test_nextcloudtalk_credentials.py diff --git a/backend/test/unit/channels/test_nextcloudtalk_dedup_enhanced.py b/backend/test/unit/channels/adapters/nextcloudtalk/test_nextcloudtalk_dedup_enhanced.py similarity index 100% rename from backend/test/unit/channels/test_nextcloudtalk_dedup_enhanced.py rename to backend/test/unit/channels/adapters/nextcloudtalk/test_nextcloudtalk_dedup_enhanced.py diff --git a/backend/test/unit/channels/test_nextcloudtalk_formatter_enhanced.py b/backend/test/unit/channels/adapters/nextcloudtalk/test_nextcloudtalk_formatter_enhanced.py similarity index 100% rename from backend/test/unit/channels/test_nextcloudtalk_formatter_enhanced.py rename to backend/test/unit/channels/adapters/nextcloudtalk/test_nextcloudtalk_formatter_enhanced.py diff --git a/backend/test/unit/channels/test_nextcloudtalk_metrics.py b/backend/test/unit/channels/adapters/nextcloudtalk/test_nextcloudtalk_metrics.py similarity index 100% rename from backend/test/unit/channels/test_nextcloudtalk_metrics.py rename to backend/test/unit/channels/adapters/nextcloudtalk/test_nextcloudtalk_metrics.py diff --git a/backend/test/unit/channels/test_nextcloudtalk_normalize.py b/backend/test/unit/channels/adapters/nextcloudtalk/test_nextcloudtalk_normalize.py similarity index 100% rename from backend/test/unit/channels/test_nextcloudtalk_normalize.py rename to backend/test/unit/channels/adapters/nextcloudtalk/test_nextcloudtalk_normalize.py diff --git a/backend/test/unit/channels/test_nextcloudtalk_setup_wizard.py b/backend/test/unit/channels/adapters/nextcloudtalk/test_nextcloudtalk_setup_wizard.py similarity index 100% rename from backend/test/unit/channels/test_nextcloudtalk_setup_wizard.py rename to backend/test/unit/channels/adapters/nextcloudtalk/test_nextcloudtalk_setup_wizard.py diff --git a/backend/test/unit/channels/test_nextcloudtalk_webhook_server.py b/backend/test/unit/channels/adapters/nextcloudtalk/test_nextcloudtalk_webhook_server.py similarity index 100% rename from backend/test/unit/channels/test_nextcloudtalk_webhook_server.py rename to backend/test/unit/channels/adapters/nextcloudtalk/test_nextcloudtalk_webhook_server.py diff --git a/backend/test/unit/channels/test_channels_nostr_analysis.py b/backend/test/unit/channels/adapters/nostr/test_channels_nostr_analysis.py similarity index 100% rename from backend/test/unit/channels/test_channels_nostr_analysis.py rename to backend/test/unit/channels/adapters/nostr/test_channels_nostr_analysis.py diff --git a/backend/test/unit/channels/test_channels_nostr_optimizations.py b/backend/test/unit/channels/adapters/nostr/test_channels_nostr_optimizations.py similarity index 100% rename from backend/test/unit/channels/test_channels_nostr_optimizations.py rename to backend/test/unit/channels/adapters/nostr/test_channels_nostr_optimizations.py diff --git a/backend/test/unit/channels/test_nostr_adapter.py b/backend/test/unit/channels/adapters/nostr/test_nostr_adapter.py similarity index 100% rename from backend/test/unit/channels/test_nostr_adapter.py rename to backend/test/unit/channels/adapters/nostr/test_nostr_adapter.py diff --git a/backend/test/unit/channels/test_nostr_adapter_ext.py b/backend/test/unit/channels/adapters/nostr/test_nostr_adapter_ext.py similarity index 100% rename from backend/test/unit/channels/test_nostr_adapter_ext.py rename to backend/test/unit/channels/adapters/nostr/test_nostr_adapter_ext.py diff --git a/backend/test/unit/channels/test_nostr_config_ext.py b/backend/test/unit/channels/adapters/nostr/test_nostr_config_ext.py similarity index 100% rename from backend/test/unit/channels/test_nostr_config_ext.py rename to backend/test/unit/channels/adapters/nostr/test_nostr_config_ext.py diff --git a/backend/test/unit/channels/test_nostr_crypto.py b/backend/test/unit/channels/adapters/nostr/test_nostr_crypto.py similarity index 100% rename from backend/test/unit/channels/test_nostr_crypto.py rename to backend/test/unit/channels/adapters/nostr/test_nostr_crypto.py diff --git a/backend/test/unit/channels/test_nostr_fuzz.py b/backend/test/unit/channels/adapters/nostr/test_nostr_fuzz.py similarity index 100% rename from backend/test/unit/channels/test_nostr_fuzz.py rename to backend/test/unit/channels/adapters/nostr/test_nostr_fuzz.py diff --git a/backend/test/unit/channels/test_nostr_guard_ext.py b/backend/test/unit/channels/adapters/nostr/test_nostr_guard_ext.py similarity index 100% rename from backend/test/unit/channels/test_nostr_guard_ext.py rename to backend/test/unit/channels/adapters/nostr/test_nostr_guard_ext.py diff --git a/backend/test/unit/channels/test_nostr_health_ext.py b/backend/test/unit/channels/adapters/nostr/test_nostr_health_ext.py similarity index 100% rename from backend/test/unit/channels/test_nostr_health_ext.py rename to backend/test/unit/channels/adapters/nostr/test_nostr_health_ext.py diff --git a/backend/test/unit/channels/test_nostr_integration.py b/backend/test/unit/channels/adapters/nostr/test_nostr_integration.py similarity index 100% rename from backend/test/unit/channels/test_nostr_integration.py rename to backend/test/unit/channels/adapters/nostr/test_nostr_integration.py diff --git a/backend/test/unit/channels/test_nostr_metrics.py b/backend/test/unit/channels/adapters/nostr/test_nostr_metrics.py similarity index 100% rename from backend/test/unit/channels/test_nostr_metrics.py rename to backend/test/unit/channels/adapters/nostr/test_nostr_metrics.py diff --git a/backend/test/unit/channels/test_nostr_models.py b/backend/test/unit/channels/adapters/nostr/test_nostr_models.py similarity index 100% rename from backend/test/unit/channels/test_nostr_models.py rename to backend/test/unit/channels/adapters/nostr/test_nostr_models.py diff --git a/backend/test/unit/channels/test_nostr_nip05.py b/backend/test/unit/channels/adapters/nostr/test_nostr_nip05.py similarity index 100% rename from backend/test/unit/channels/test_nostr_nip05.py rename to backend/test/unit/channels/adapters/nostr/test_nostr_nip05.py diff --git a/backend/test/unit/channels/test_nostr_pair.py b/backend/test/unit/channels/adapters/nostr/test_nostr_pair.py similarity index 100% rename from backend/test/unit/channels/test_nostr_pair.py rename to backend/test/unit/channels/adapters/nostr/test_nostr_pair.py diff --git a/backend/test/unit/channels/test_nostr_relay.py b/backend/test/unit/channels/adapters/nostr/test_nostr_relay.py similarity index 100% rename from backend/test/unit/channels/test_nostr_relay.py rename to backend/test/unit/channels/adapters/nostr/test_nostr_relay.py diff --git a/backend/test/unit/channels/test_nostr_send.py b/backend/test/unit/channels/adapters/nostr/test_nostr_send.py similarity index 100% rename from backend/test/unit/channels/test_nostr_send.py rename to backend/test/unit/channels/adapters/nostr/test_nostr_send.py diff --git a/backend/test/unit/channels/test_nostr_send_cache.py b/backend/test/unit/channels/adapters/nostr/test_nostr_send_cache.py similarity index 100% rename from backend/test/unit/channels/test_nostr_send_cache.py rename to backend/test/unit/channels/adapters/nostr/test_nostr_send_cache.py diff --git a/backend/test/unit/channels/test_nostr_send_ext.py b/backend/test/unit/channels/adapters/nostr/test_nostr_send_ext.py similarity index 100% rename from backend/test/unit/channels/test_nostr_send_ext.py rename to backend/test/unit/channels/adapters/nostr/test_nostr_send_ext.py diff --git a/backend/test/unit/channels/test_nostr_state_store.py b/backend/test/unit/channels/adapters/nostr/test_nostr_state_store.py similarity index 100% rename from backend/test/unit/channels/test_nostr_state_store.py rename to backend/test/unit/channels/adapters/nostr/test_nostr_state_store.py diff --git a/backend/test/unit/channels/test_nostr_target.py b/backend/test/unit/channels/adapters/nostr/test_nostr_target.py similarity index 100% rename from backend/test/unit/channels/test_nostr_target.py rename to backend/test/unit/channels/adapters/nostr/test_nostr_target.py diff --git a/backend/test/unit/channels/test_nostr_thread_session.py b/backend/test/unit/channels/adapters/nostr/test_nostr_thread_session.py similarity index 100% rename from backend/test/unit/channels/test_nostr_thread_session.py rename to backend/test/unit/channels/adapters/nostr/test_nostr_thread_session.py diff --git a/backend/test/unit/channels/test_nostr_zap.py b/backend/test/unit/channels/adapters/nostr/test_nostr_zap.py similarity index 100% rename from backend/test/unit/channels/test_nostr_zap.py rename to backend/test/unit/channels/adapters/nostr/test_nostr_zap.py diff --git a/backend/test/unit/channels/test_qqbot_adapter.py b/backend/test/unit/channels/adapters/qqbot/test_qqbot_adapter.py similarity index 100% rename from backend/test/unit/channels/test_qqbot_adapter.py rename to backend/test/unit/channels/adapters/qqbot/test_qqbot_adapter.py diff --git a/backend/test/unit/channels/test_qqbot_analysis.py b/backend/test/unit/channels/adapters/qqbot/test_qqbot_analysis.py similarity index 100% rename from backend/test/unit/channels/test_qqbot_analysis.py rename to backend/test/unit/channels/adapters/qqbot/test_qqbot_analysis.py diff --git a/backend/test/unit/channels/test_qqbot_modules.py b/backend/test/unit/channels/adapters/qqbot/test_qqbot_modules.py similarity index 100% rename from backend/test/unit/channels/test_qqbot_modules.py rename to backend/test/unit/channels/adapters/qqbot/test_qqbot_modules.py diff --git a/backend/test/unit/channels/test_channels_signal.py b/backend/test/unit/channels/adapters/signal/test_channels_signal.py similarity index 100% rename from backend/test/unit/channels/test_channels_signal.py rename to backend/test/unit/channels/adapters/signal/test_channels_signal.py diff --git a/backend/test/unit/channels/test_channels_signal_comprehensive.py b/backend/test/unit/channels/adapters/signal/test_channels_signal_comprehensive.py similarity index 100% rename from backend/test/unit/channels/test_channels_signal_comprehensive.py rename to backend/test/unit/channels/adapters/signal/test_channels_signal_comprehensive.py diff --git a/backend/test/unit/channels/test_channels_signal_daemon.py b/backend/test/unit/channels/adapters/signal/test_channels_signal_daemon.py similarity index 100% rename from backend/test/unit/channels/test_channels_signal_daemon.py rename to backend/test/unit/channels/adapters/signal/test_channels_signal_daemon.py diff --git a/backend/test/unit/channels/test_channels_signal_multi_account.py b/backend/test/unit/channels/adapters/signal/test_channels_signal_multi_account.py similarity index 100% rename from backend/test/unit/channels/test_channels_signal_multi_account.py rename to backend/test/unit/channels/adapters/signal/test_channels_signal_multi_account.py diff --git a/backend/test/unit/channels/test_channels_signal_streaming.py b/backend/test/unit/channels/adapters/signal/test_channels_signal_streaming.py similarity index 100% rename from backend/test/unit/channels/test_channels_signal_streaming.py rename to backend/test/unit/channels/adapters/signal/test_channels_signal_streaming.py diff --git a/backend/test/unit/channels/test_channels_slack_adapter.py b/backend/test/unit/channels/adapters/slack/test_channels_slack_adapter.py similarity index 100% rename from backend/test/unit/channels/test_channels_slack_adapter.py rename to backend/test/unit/channels/adapters/slack/test_channels_slack_adapter.py diff --git a/backend/test/unit/channels/test_channels_slack_allowlist.py b/backend/test/unit/channels/adapters/slack/test_channels_slack_allowlist.py similarity index 100% rename from backend/test/unit/channels/test_channels_slack_allowlist.py rename to backend/test/unit/channels/adapters/slack/test_channels_slack_allowlist.py diff --git a/backend/test/unit/channels/test_channels_slack_approval.py b/backend/test/unit/channels/adapters/slack/test_channels_slack_approval.py similarity index 100% rename from backend/test/unit/channels/test_channels_slack_approval.py rename to backend/test/unit/channels/adapters/slack/test_channels_slack_approval.py diff --git a/backend/test/unit/channels/test_channels_slack_blocks.py b/backend/test/unit/channels/adapters/slack/test_channels_slack_blocks.py similarity index 100% rename from backend/test/unit/channels/test_channels_slack_blocks.py rename to backend/test/unit/channels/adapters/slack/test_channels_slack_blocks.py diff --git a/backend/test/unit/channels/test_channels_slack_chunker.py b/backend/test/unit/channels/adapters/slack/test_channels_slack_chunker.py similarity index 100% rename from backend/test/unit/channels/test_channels_slack_chunker.py rename to backend/test/unit/channels/adapters/slack/test_channels_slack_chunker.py diff --git a/backend/test/unit/channels/test_channels_slack_commands.py b/backend/test/unit/channels/adapters/slack/test_channels_slack_commands.py similarity index 100% rename from backend/test/unit/channels/test_channels_slack_commands.py rename to backend/test/unit/channels/adapters/slack/test_channels_slack_commands.py diff --git a/backend/test/unit/channels/test_channels_slack_normalizer.py b/backend/test/unit/channels/adapters/slack/test_channels_slack_normalizer.py similarity index 100% rename from backend/test/unit/channels/test_channels_slack_normalizer.py rename to backend/test/unit/channels/adapters/slack/test_channels_slack_normalizer.py diff --git a/backend/test/unit/channels/test_channels_slack_pairing.py b/backend/test/unit/channels/adapters/slack/test_channels_slack_pairing.py similarity index 100% rename from backend/test/unit/channels/test_channels_slack_pairing.py rename to backend/test/unit/channels/adapters/slack/test_channels_slack_pairing.py diff --git a/backend/test/unit/channels/test_channels_slack_scopes.py b/backend/test/unit/channels/adapters/slack/test_channels_slack_scopes.py similarity index 100% rename from backend/test/unit/channels/test_channels_slack_scopes.py rename to backend/test/unit/channels/adapters/slack/test_channels_slack_scopes.py diff --git a/backend/test/unit/channels/test_channels_slack_security.py b/backend/test/unit/channels/adapters/slack/test_channels_slack_security.py similarity index 100% rename from backend/test/unit/channels/test_channels_slack_security.py rename to backend/test/unit/channels/adapters/slack/test_channels_slack_security.py diff --git a/backend/test/unit/channels/test_channels_slack_session.py b/backend/test/unit/channels/adapters/slack/test_channels_slack_session.py similarity index 100% rename from backend/test/unit/channels/test_channels_slack_session.py rename to backend/test/unit/channels/adapters/slack/test_channels_slack_session.py diff --git a/backend/test/unit/channels/test_synologychat_adapter.py b/backend/test/unit/channels/adapters/synologychat/test_synologychat_adapter.py similarity index 100% rename from backend/test/unit/channels/test_synologychat_adapter.py rename to backend/test/unit/channels/adapters/synologychat/test_synologychat_adapter.py diff --git a/backend/test/unit/channels/test_synologychat_comprehensive.py b/backend/test/unit/channels/adapters/synologychat/test_synologychat_comprehensive.py similarity index 100% rename from backend/test/unit/channels/test_synologychat_comprehensive.py rename to backend/test/unit/channels/adapters/synologychat/test_synologychat_comprehensive.py diff --git a/backend/test/unit/channels/test_telegram_adapter.py b/backend/test/unit/channels/adapters/telegram/test_telegram_adapter.py similarity index 100% rename from backend/test/unit/channels/test_telegram_adapter.py rename to backend/test/unit/channels/adapters/telegram/test_telegram_adapter.py diff --git a/backend/test/unit/channels/test_telegram_chunking.py b/backend/test/unit/channels/adapters/telegram/test_telegram_chunking.py similarity index 100% rename from backend/test/unit/channels/test_telegram_chunking.py rename to backend/test/unit/channels/adapters/telegram/test_telegram_chunking.py diff --git a/backend/test/unit/channels/test_telegram_comprehensive.py b/backend/test/unit/channels/adapters/telegram/test_telegram_comprehensive.py similarity index 100% rename from backend/test/unit/channels/test_telegram_comprehensive.py rename to backend/test/unit/channels/adapters/telegram/test_telegram_comprehensive.py diff --git a/backend/test/unit/channels/test_telegram_format.py b/backend/test/unit/channels/adapters/telegram/test_telegram_format.py similarity index 100% rename from backend/test/unit/channels/test_telegram_format.py rename to backend/test/unit/channels/adapters/telegram/test_telegram_format.py diff --git a/backend/test/unit/channels/test_telegram_format_new.py b/backend/test/unit/channels/adapters/telegram/test_telegram_format_new.py similarity index 100% rename from backend/test/unit/channels/test_telegram_format_new.py rename to backend/test/unit/channels/adapters/telegram/test_telegram_format_new.py diff --git a/backend/test/unit/channels/test_telegram_remaining_fixes.py b/backend/test/unit/channels/adapters/telegram/test_telegram_remaining_fixes.py similarity index 100% rename from backend/test/unit/channels/test_telegram_remaining_fixes.py rename to backend/test/unit/channels/adapters/telegram/test_telegram_remaining_fixes.py diff --git a/backend/test/unit/channels/test_telegram_security.py b/backend/test/unit/channels/adapters/telegram/test_telegram_security.py similarity index 100% rename from backend/test/unit/channels/test_telegram_security.py rename to backend/test/unit/channels/adapters/telegram/test_telegram_security.py diff --git a/backend/test/unit/channels/test_telegram_security_new.py b/backend/test/unit/channels/adapters/telegram/test_telegram_security_new.py similarity index 100% rename from backend/test/unit/channels/test_telegram_security_new.py rename to backend/test/unit/channels/adapters/telegram/test_telegram_security_new.py diff --git a/backend/test/unit/channels/test_telegram_streaming_new.py b/backend/test/unit/channels/adapters/telegram/test_telegram_streaming_new.py similarity index 100% rename from backend/test/unit/channels/test_telegram_streaming_new.py rename to backend/test/unit/channels/adapters/telegram/test_telegram_streaming_new.py diff --git a/backend/test/unit/channels/test_twitch_actions.py b/backend/test/unit/channels/adapters/twitch/test_twitch_actions.py similarity index 100% rename from backend/test/unit/channels/test_twitch_actions.py rename to backend/test/unit/channels/adapters/twitch/test_twitch_actions.py diff --git a/backend/test/unit/channels/test_twitch_adapter.py b/backend/test/unit/channels/adapters/twitch/test_twitch_adapter.py similarity index 100% rename from backend/test/unit/channels/test_twitch_adapter.py rename to backend/test/unit/channels/adapters/twitch/test_twitch_adapter.py diff --git a/backend/test/unit/channels/test_twitch_auth_provider.py b/backend/test/unit/channels/adapters/twitch/test_twitch_auth_provider.py similarity index 100% rename from backend/test/unit/channels/test_twitch_auth_provider.py rename to backend/test/unit/channels/adapters/twitch/test_twitch_auth_provider.py diff --git a/backend/test/unit/channels/test_twitch_config_schema.py b/backend/test/unit/channels/adapters/twitch/test_twitch_config_schema.py similarity index 100% rename from backend/test/unit/channels/test_twitch_config_schema.py rename to backend/test/unit/channels/adapters/twitch/test_twitch_config_schema.py diff --git a/backend/test/unit/channels/test_twitch_deduplicator.py b/backend/test/unit/channels/adapters/twitch/test_twitch_deduplicator.py similarity index 100% rename from backend/test/unit/channels/test_twitch_deduplicator.py rename to backend/test/unit/channels/adapters/twitch/test_twitch_deduplicator.py diff --git a/backend/test/unit/channels/test_twitch_eventsub.py b/backend/test/unit/channels/adapters/twitch/test_twitch_eventsub.py similarity index 100% rename from backend/test/unit/channels/test_twitch_eventsub.py rename to backend/test/unit/channels/adapters/twitch/test_twitch_eventsub.py diff --git a/backend/test/unit/channels/test_twitch_helix.py b/backend/test/unit/channels/adapters/twitch/test_twitch_helix.py similarity index 100% rename from backend/test/unit/channels/test_twitch_helix.py rename to backend/test/unit/channels/adapters/twitch/test_twitch_helix.py diff --git a/backend/test/unit/channels/test_twitch_irc_parser.py b/backend/test/unit/channels/adapters/twitch/test_twitch_irc_parser.py similarity index 100% rename from backend/test/unit/channels/test_twitch_irc_parser.py rename to backend/test/unit/channels/adapters/twitch/test_twitch_irc_parser.py diff --git a/backend/test/unit/channels/test_twitch_markdown.py b/backend/test/unit/channels/adapters/twitch/test_twitch_markdown.py similarity index 100% rename from backend/test/unit/channels/test_twitch_markdown.py rename to backend/test/unit/channels/adapters/twitch/test_twitch_markdown.py diff --git a/backend/test/unit/channels/test_twitch_normalizer.py b/backend/test/unit/channels/adapters/twitch/test_twitch_normalizer.py similarity index 100% rename from backend/test/unit/channels/test_twitch_normalizer.py rename to backend/test/unit/channels/adapters/twitch/test_twitch_normalizer.py diff --git a/backend/test/unit/channels/test_twitch_outbound_cache.py b/backend/test/unit/channels/adapters/twitch/test_twitch_outbound_cache.py similarity index 100% rename from backend/test/unit/channels/test_twitch_outbound_cache.py rename to backend/test/unit/channels/adapters/twitch/test_twitch_outbound_cache.py diff --git a/backend/test/unit/channels/test_twitch_pairing.py b/backend/test/unit/channels/adapters/twitch/test_twitch_pairing.py similarity index 100% rename from backend/test/unit/channels/test_twitch_pairing.py rename to backend/test/unit/channels/adapters/twitch/test_twitch_pairing.py diff --git a/backend/test/unit/channels/test_twitch_rate_limiter.py b/backend/test/unit/channels/adapters/twitch/test_twitch_rate_limiter.py similarity index 100% rename from backend/test/unit/channels/test_twitch_rate_limiter.py rename to backend/test/unit/channels/adapters/twitch/test_twitch_rate_limiter.py diff --git a/backend/test/unit/channels/test_twitch_send_formats.py b/backend/test/unit/channels/adapters/twitch/test_twitch_send_formats.py similarity index 100% rename from backend/test/unit/channels/test_twitch_send_formats.py rename to backend/test/unit/channels/adapters/twitch/test_twitch_send_formats.py diff --git a/backend/test/unit/channels/test_twitch_session.py b/backend/test/unit/channels/adapters/twitch/test_twitch_session.py similarity index 100% rename from backend/test/unit/channels/test_twitch_session.py rename to backend/test/unit/channels/adapters/twitch/test_twitch_session.py diff --git a/backend/test/unit/channels/test_twitch_setup.py b/backend/test/unit/channels/adapters/twitch/test_twitch_setup.py similarity index 100% rename from backend/test/unit/channels/test_twitch_setup.py rename to backend/test/unit/channels/adapters/twitch/test_twitch_setup.py diff --git a/backend/test/unit/channels/test_twitch_token_utils.py b/backend/test/unit/channels/adapters/twitch/test_twitch_token_utils.py similarity index 100% rename from backend/test/unit/channels/test_twitch_token_utils.py rename to backend/test/unit/channels/adapters/twitch/test_twitch_token_utils.py diff --git a/backend/test/unit/channels/test_urbit_adapter.py b/backend/test/unit/channels/adapters/urbit/test_urbit_adapter.py similarity index 100% rename from backend/test/unit/channels/test_urbit_adapter.py rename to backend/test/unit/channels/adapters/urbit/test_urbit_adapter.py diff --git a/backend/test/unit/channels/test_urbit_adapter_supplement.py b/backend/test/unit/channels/adapters/urbit/test_urbit_adapter_supplement.py similarity index 100% rename from backend/test/unit/channels/test_urbit_adapter_supplement.py rename to backend/test/unit/channels/adapters/urbit/test_urbit_adapter_supplement.py diff --git a/backend/test/unit/channels/test_wechat_adapter.py b/backend/test/unit/channels/adapters/wechat/test_wechat_adapter.py similarity index 100% rename from backend/test/unit/channels/test_wechat_adapter.py rename to backend/test/unit/channels/adapters/wechat/test_wechat_adapter.py diff --git a/backend/test/unit/channels/test_wechat_bridge.py b/backend/test/unit/channels/adapters/wechat/test_wechat_bridge.py similarity index 100% rename from backend/test/unit/channels/test_wechat_bridge.py rename to backend/test/unit/channels/adapters/wechat/test_wechat_bridge.py diff --git a/backend/test/unit/channels/test_wechat_capabilities.py b/backend/test/unit/channels/adapters/wechat/test_wechat_capabilities.py similarity index 100% rename from backend/test/unit/channels/test_wechat_capabilities.py rename to backend/test/unit/channels/adapters/wechat/test_wechat_capabilities.py diff --git a/backend/test/unit/channels/test_wechat_chunker.py b/backend/test/unit/channels/adapters/wechat/test_wechat_chunker.py similarity index 100% rename from backend/test/unit/channels/test_wechat_chunker.py rename to backend/test/unit/channels/adapters/wechat/test_wechat_chunker.py diff --git a/backend/test/unit/channels/test_wechat_client.py b/backend/test/unit/channels/adapters/wechat/test_wechat_client.py similarity index 100% rename from backend/test/unit/channels/test_wechat_client.py rename to backend/test/unit/channels/adapters/wechat/test_wechat_client.py diff --git a/backend/test/unit/channels/test_wechat_config_ui_hints.py b/backend/test/unit/channels/adapters/wechat/test_wechat_config_ui_hints.py similarity index 100% rename from backend/test/unit/channels/test_wechat_config_ui_hints.py rename to backend/test/unit/channels/adapters/wechat/test_wechat_config_ui_hints.py diff --git a/backend/test/unit/channels/test_wechat_crypto.py b/backend/test/unit/channels/adapters/wechat/test_wechat_crypto.py similarity index 100% rename from backend/test/unit/channels/test_wechat_crypto.py rename to backend/test/unit/channels/adapters/wechat/test_wechat_crypto.py diff --git a/backend/test/unit/channels/test_wechat_debounce.py b/backend/test/unit/channels/adapters/wechat/test_wechat_debounce.py similarity index 100% rename from backend/test/unit/channels/test_wechat_debounce.py rename to backend/test/unit/channels/adapters/wechat/test_wechat_debounce.py diff --git a/backend/test/unit/channels/test_wechat_dual_plugin.py b/backend/test/unit/channels/adapters/wechat/test_wechat_dual_plugin.py similarity index 100% rename from backend/test/unit/channels/test_wechat_dual_plugin.py rename to backend/test/unit/channels/adapters/wechat/test_wechat_dual_plugin.py diff --git a/backend/test/unit/channels/test_wechat_enhancements.py b/backend/test/unit/channels/adapters/wechat/test_wechat_enhancements.py similarity index 100% rename from backend/test/unit/channels/test_wechat_enhancements.py rename to backend/test/unit/channels/adapters/wechat/test_wechat_enhancements.py diff --git a/backend/test/unit/channels/test_wechat_errors.py b/backend/test/unit/channels/adapters/wechat/test_wechat_errors.py similarity index 100% rename from backend/test/unit/channels/test_wechat_errors.py rename to backend/test/unit/channels/adapters/wechat/test_wechat_errors.py diff --git a/backend/test/unit/channels/test_wechat_fixes.py b/backend/test/unit/channels/adapters/wechat/test_wechat_fixes.py similarity index 100% rename from backend/test/unit/channels/test_wechat_fixes.py rename to backend/test/unit/channels/adapters/wechat/test_wechat_fixes.py diff --git a/backend/test/unit/channels/test_wechat_format.py b/backend/test/unit/channels/adapters/wechat/test_wechat_format.py similarity index 100% rename from backend/test/unit/channels/test_wechat_format.py rename to backend/test/unit/channels/adapters/wechat/test_wechat_format.py diff --git a/backend/test/unit/channels/test_wechat_group_admin.py b/backend/test/unit/channels/adapters/wechat/test_wechat_group_admin.py similarity index 100% rename from backend/test/unit/channels/test_wechat_group_admin.py rename to backend/test/unit/channels/adapters/wechat/test_wechat_group_admin.py diff --git a/backend/test/unit/channels/test_wechat_link_format.py b/backend/test/unit/channels/adapters/wechat/test_wechat_link_format.py similarity index 100% rename from backend/test/unit/channels/test_wechat_link_format.py rename to backend/test/unit/channels/adapters/wechat/test_wechat_link_format.py diff --git a/backend/test/unit/channels/test_wechat_media.py b/backend/test/unit/channels/adapters/wechat/test_wechat_media.py similarity index 100% rename from backend/test/unit/channels/test_wechat_media.py rename to backend/test/unit/channels/adapters/wechat/test_wechat_media.py diff --git a/backend/test/unit/channels/test_wechat_monitor.py b/backend/test/unit/channels/adapters/wechat/test_wechat_monitor.py similarity index 100% rename from backend/test/unit/channels/test_wechat_monitor.py rename to backend/test/unit/channels/adapters/wechat/test_wechat_monitor.py diff --git a/backend/test/unit/channels/test_wechat_mp_passive_reply.py b/backend/test/unit/channels/adapters/wechat/test_wechat_mp_passive_reply.py similarity index 100% rename from backend/test/unit/channels/test_wechat_mp_passive_reply.py rename to backend/test/unit/channels/adapters/wechat/test_wechat_mp_passive_reply.py diff --git a/backend/test/unit/channels/test_wechat_optimization.py b/backend/test/unit/channels/adapters/wechat/test_wechat_optimization.py similarity index 100% rename from backend/test/unit/channels/test_wechat_optimization.py rename to backend/test/unit/channels/adapters/wechat/test_wechat_optimization.py diff --git a/backend/test/unit/channels/test_wechat_pairing.py b/backend/test/unit/channels/adapters/wechat/test_wechat_pairing.py similarity index 100% rename from backend/test/unit/channels/test_wechat_pairing.py rename to backend/test/unit/channels/adapters/wechat/test_wechat_pairing.py diff --git a/backend/test/unit/channels/test_wechat_rate_limit.py b/backend/test/unit/channels/adapters/wechat/test_wechat_rate_limit.py similarity index 100% rename from backend/test/unit/channels/test_wechat_rate_limit.py rename to backend/test/unit/channels/adapters/wechat/test_wechat_rate_limit.py diff --git a/backend/test/unit/channels/test_wechat_rate_limiter.py b/backend/test/unit/channels/adapters/wechat/test_wechat_rate_limiter.py similarity index 100% rename from backend/test/unit/channels/test_wechat_rate_limiter.py rename to backend/test/unit/channels/adapters/wechat/test_wechat_rate_limiter.py diff --git a/backend/test/unit/channels/test_wechat_retry.py b/backend/test/unit/channels/adapters/wechat/test_wechat_retry.py similarity index 100% rename from backend/test/unit/channels/test_wechat_retry.py rename to backend/test/unit/channels/adapters/wechat/test_wechat_retry.py diff --git a/backend/test/unit/channels/test_wechat_secrets.py b/backend/test/unit/channels/adapters/wechat/test_wechat_secrets.py similarity index 100% rename from backend/test/unit/channels/test_wechat_secrets.py rename to backend/test/unit/channels/adapters/wechat/test_wechat_secrets.py diff --git a/backend/test/unit/channels/test_wechat_security.py b/backend/test/unit/channels/adapters/wechat/test_wechat_security.py similarity index 100% rename from backend/test/unit/channels/test_wechat_security.py rename to backend/test/unit/channels/adapters/wechat/test_wechat_security.py diff --git a/backend/test/unit/channels/test_wechat_selector.py b/backend/test/unit/channels/adapters/wechat/test_wechat_selector.py similarity index 100% rename from backend/test/unit/channels/test_wechat_selector.py rename to backend/test/unit/channels/adapters/wechat/test_wechat_selector.py diff --git a/backend/test/unit/channels/test_wechat_send.py b/backend/test/unit/channels/adapters/wechat/test_wechat_send.py similarity index 100% rename from backend/test/unit/channels/test_wechat_send.py rename to backend/test/unit/channels/adapters/wechat/test_wechat_send.py diff --git a/backend/test/unit/channels/test_wechat_send_payloads.py b/backend/test/unit/channels/adapters/wechat/test_wechat_send_payloads.py similarity index 100% rename from backend/test/unit/channels/test_wechat_send_payloads.py rename to backend/test/unit/channels/adapters/wechat/test_wechat_send_payloads.py diff --git a/backend/test/unit/channels/test_wechat_session.py b/backend/test/unit/channels/adapters/wechat/test_wechat_session.py similarity index 100% rename from backend/test/unit/channels/test_wechat_session.py rename to backend/test/unit/channels/adapters/wechat/test_wechat_session.py diff --git a/backend/test/unit/channels/test_whatsapp_accounts_config.py b/backend/test/unit/channels/adapters/whatsapp/test_whatsapp_accounts_config.py similarity index 100% rename from backend/test/unit/channels/test_whatsapp_accounts_config.py rename to backend/test/unit/channels/adapters/whatsapp/test_whatsapp_accounts_config.py diff --git a/backend/test/unit/channels/test_whatsapp_adapter.py b/backend/test/unit/channels/adapters/whatsapp/test_whatsapp_adapter.py similarity index 100% rename from backend/test/unit/channels/test_whatsapp_adapter.py rename to backend/test/unit/channels/adapters/whatsapp/test_whatsapp_adapter.py diff --git a/backend/test/unit/channels/test_whatsapp_analysis.py b/backend/test/unit/channels/adapters/whatsapp/test_whatsapp_analysis.py similarity index 100% rename from backend/test/unit/channels/test_whatsapp_analysis.py rename to backend/test/unit/channels/adapters/whatsapp/test_whatsapp_analysis.py diff --git a/backend/test/unit/channels/test_whatsapp_caching_debounce.py b/backend/test/unit/channels/adapters/whatsapp/test_whatsapp_caching_debounce.py similarity index 100% rename from backend/test/unit/channels/test_whatsapp_caching_debounce.py rename to backend/test/unit/channels/adapters/whatsapp/test_whatsapp_caching_debounce.py diff --git a/backend/test/unit/channels/test_whatsapp_io_credentials.py b/backend/test/unit/channels/adapters/whatsapp/test_whatsapp_io_credentials.py similarity index 100% rename from backend/test/unit/channels/test_whatsapp_io_credentials.py rename to backend/test/unit/channels/adapters/whatsapp/test_whatsapp_io_credentials.py diff --git a/backend/test/unit/channels/test_whatsapp_poll_format.py b/backend/test/unit/channels/adapters/whatsapp/test_whatsapp_poll_format.py similarity index 100% rename from backend/test/unit/channels/test_whatsapp_poll_format.py rename to backend/test/unit/channels/adapters/whatsapp/test_whatsapp_poll_format.py diff --git a/backend/test/unit/channels/test_whatsapp_reactions_markdown.py b/backend/test/unit/channels/adapters/whatsapp/test_whatsapp_reactions_markdown.py similarity index 100% rename from backend/test/unit/channels/test_whatsapp_reactions_markdown.py rename to backend/test/unit/channels/adapters/whatsapp/test_whatsapp_reactions_markdown.py diff --git a/backend/test/unit/channels/test_whatsapp_security_pairing.py b/backend/test/unit/channels/adapters/whatsapp/test_whatsapp_security_pairing.py similarity index 100% rename from backend/test/unit/channels/test_whatsapp_security_pairing.py rename to backend/test/unit/channels/adapters/whatsapp/test_whatsapp_security_pairing.py diff --git a/backend/test/unit/channels/test_yuanbao_adapter.py b/backend/test/unit/channels/adapters/yuanbao/test_yuanbao_adapter.py similarity index 100% rename from backend/test/unit/channels/test_yuanbao_adapter.py rename to backend/test/unit/channels/adapters/yuanbao/test_yuanbao_adapter.py diff --git a/backend/test/unit/channels/test_yuanbao_analysis.py b/backend/test/unit/channels/adapters/yuanbao/test_yuanbao_analysis.py similarity index 100% rename from backend/test/unit/channels/test_yuanbao_analysis.py rename to backend/test/unit/channels/adapters/yuanbao/test_yuanbao_analysis.py diff --git a/backend/test/unit/channels/test_yuanbao_enhancements.py b/backend/test/unit/channels/adapters/yuanbao/test_yuanbao_enhancements.py similarity index 100% rename from backend/test/unit/channels/test_yuanbao_enhancements.py rename to backend/test/unit/channels/adapters/yuanbao/test_yuanbao_enhancements.py diff --git a/backend/test/unit/channels/test_yuanbao_fixes.py b/backend/test/unit/channels/adapters/yuanbao/test_yuanbao_fixes.py similarity index 100% rename from backend/test/unit/channels/test_yuanbao_fixes.py rename to backend/test/unit/channels/adapters/yuanbao/test_yuanbao_fixes.py diff --git a/backend/test/unit/channels/test_yuanbao_optimization.py b/backend/test/unit/channels/adapters/yuanbao/test_yuanbao_optimization.py similarity index 100% rename from backend/test/unit/channels/test_yuanbao_optimization.py rename to backend/test/unit/channels/adapters/yuanbao/test_yuanbao_optimization.py diff --git a/backend/test/unit/channels/test_channels_zalo_user.py b/backend/test/unit/channels/adapters/zalo/test_channels_zalo_user.py similarity index 100% rename from backend/test/unit/channels/test_channels_zalo_user.py rename to backend/test/unit/channels/adapters/zalo/test_channels_zalo_user.py diff --git a/backend/test/unit/channels/test_zalo_oa_adapter.py b/backend/test/unit/channels/adapters/zalo/test_zalo_oa_adapter.py similarity index 100% rename from backend/test/unit/channels/test_zalo_oa_adapter.py rename to backend/test/unit/channels/adapters/zalo/test_zalo_oa_adapter.py diff --git a/backend/test/unit/channels/test_zalo_oa_comprehensive.py b/backend/test/unit/channels/adapters/zalo/test_zalo_oa_comprehensive.py similarity index 100% rename from backend/test/unit/channels/test_zalo_oa_comprehensive.py rename to backend/test/unit/channels/adapters/zalo/test_zalo_oa_comprehensive.py diff --git a/backend/test/unit/channels/test_zalo_user_cards.py b/backend/test/unit/channels/adapters/zalo/test_zalo_user_cards.py similarity index 100% rename from backend/test/unit/channels/test_zalo_user_cards.py rename to backend/test/unit/channels/adapters/zalo/test_zalo_user_cards.py diff --git a/backend/test/unit/channels/test_zalo_user_comprehensive.py b/backend/test/unit/channels/adapters/zalo/test_zalo_user_comprehensive.py similarity index 100% rename from backend/test/unit/channels/test_zalo_user_comprehensive.py rename to backend/test/unit/channels/adapters/zalo/test_zalo_user_comprehensive.py diff --git a/backend/test/unit/channels/test_zalo_user_config_schema.py b/backend/test/unit/channels/adapters/zalo/test_zalo_user_config_schema.py similarity index 100% rename from backend/test/unit/channels/test_zalo_user_config_schema.py rename to backend/test/unit/channels/adapters/zalo/test_zalo_user_config_schema.py diff --git a/backend/test/unit/channels/test_zalo_user_credentials.py b/backend/test/unit/channels/adapters/zalo/test_zalo_user_credentials.py similarity index 100% rename from backend/test/unit/channels/test_zalo_user_credentials.py rename to backend/test/unit/channels/adapters/zalo/test_zalo_user_credentials.py diff --git a/backend/test/unit/channels/test_zalo_user_directory.py b/backend/test/unit/channels/adapters/zalo/test_zalo_user_directory.py similarity index 100% rename from backend/test/unit/channels/test_zalo_user_directory.py rename to backend/test/unit/channels/adapters/zalo/test_zalo_user_directory.py diff --git a/backend/test/unit/channels/test_zalo_user_gateway.py b/backend/test/unit/channels/adapters/zalo/test_zalo_user_gateway.py similarity index 100% rename from backend/test/unit/channels/test_zalo_user_gateway.py rename to backend/test/unit/channels/adapters/zalo/test_zalo_user_gateway.py diff --git a/backend/test/unit/channels/test_zalo_user_interactive_dispatch.py b/backend/test/unit/channels/adapters/zalo/test_zalo_user_interactive_dispatch.py similarity index 100% rename from backend/test/unit/channels/test_zalo_user_interactive_dispatch.py rename to backend/test/unit/channels/adapters/zalo/test_zalo_user_interactive_dispatch.py diff --git a/backend/test/unit/channels/test_zalo_user_normalize_new.py b/backend/test/unit/channels/adapters/zalo/test_zalo_user_normalize_new.py similarity index 100% rename from backend/test/unit/channels/test_zalo_user_normalize_new.py rename to backend/test/unit/channels/adapters/zalo/test_zalo_user_normalize_new.py diff --git a/backend/test/unit/channels/test_zalo_user_reaction.py b/backend/test/unit/channels/adapters/zalo/test_zalo_user_reaction.py similarity index 100% rename from backend/test/unit/channels/test_zalo_user_reaction.py rename to backend/test/unit/channels/adapters/zalo/test_zalo_user_reaction.py diff --git a/backend/test/unit/channels/test_zalo_user_sticker.py b/backend/test/unit/channels/adapters/zalo/test_zalo_user_sticker.py similarity index 100% rename from backend/test/unit/channels/test_zalo_user_sticker.py rename to backend/test/unit/channels/adapters/zalo/test_zalo_user_sticker.py diff --git a/backend/test/unit/channels/test_zalo_user_text_styles.py b/backend/test/unit/channels/adapters/zalo/test_zalo_user_text_styles.py similarity index 100% rename from backend/test/unit/channels/test_zalo_user_text_styles.py rename to backend/test/unit/channels/adapters/zalo/test_zalo_user_text_styles.py diff --git a/backend/test/unit/channels/test_actions.py b/backend/test/unit/channels/core/test_actions.py similarity index 100% rename from backend/test/unit/channels/test_actions.py rename to backend/test/unit/channels/core/test_actions.py diff --git a/backend/test/unit/channels/test_auth_module.py b/backend/test/unit/channels/core/test_auth_module.py similarity index 100% rename from backend/test/unit/channels/test_auth_module.py rename to backend/test/unit/channels/core/test_auth_module.py diff --git a/backend/test/unit/channels/test_base.py b/backend/test/unit/channels/core/test_base.py similarity index 100% rename from backend/test/unit/channels/test_base.py rename to backend/test/unit/channels/core/test_base.py diff --git a/backend/test/unit/channels/test_broadcast.py b/backend/test/unit/channels/core/test_broadcast.py similarity index 100% rename from backend/test/unit/channels/test_broadcast.py rename to backend/test/unit/channels/core/test_broadcast.py diff --git a/backend/test/unit/channels/test_capabilities.py b/backend/test/unit/channels/core/test_capabilities.py similarity index 100% rename from backend/test/unit/channels/test_capabilities.py rename to backend/test/unit/channels/core/test_capabilities.py diff --git a/backend/test/unit/channels/test_channels_accounts.py b/backend/test/unit/channels/core/test_channels_accounts.py similarity index 100% rename from backend/test/unit/channels/test_channels_accounts.py rename to backend/test/unit/channels/core/test_channels_accounts.py diff --git a/backend/test/unit/channels/test_channels_approval.py b/backend/test/unit/channels/core/test_channels_approval.py similarity index 100% rename from backend/test/unit/channels/test_channels_approval.py rename to backend/test/unit/channels/core/test_channels_approval.py diff --git a/backend/test/unit/channels/test_channels_debounce.py b/backend/test/unit/channels/core/test_channels_debounce.py similarity index 100% rename from backend/test/unit/channels/test_channels_debounce.py rename to backend/test/unit/channels/core/test_channels_debounce.py diff --git a/backend/test/unit/channels/test_channels_directory.py b/backend/test/unit/channels/core/test_channels_directory.py similarity index 100% rename from backend/test/unit/channels/test_channels_directory.py rename to backend/test/unit/channels/core/test_channels_directory.py diff --git a/backend/test/unit/channels/test_channels_policy.py b/backend/test/unit/channels/core/test_channels_policy.py similarity index 100% rename from backend/test/unit/channels/test_channels_policy.py rename to backend/test/unit/channels/core/test_channels_policy.py diff --git a/backend/test/unit/channels/test_channels_snapshot.py b/backend/test/unit/channels/core/test_channels_snapshot.py similarity index 100% rename from backend/test/unit/channels/test_channels_snapshot.py rename to backend/test/unit/channels/core/test_channels_snapshot.py diff --git a/backend/test/unit/channels/test_circuit_breaker.py b/backend/test/unit/channels/core/test_circuit_breaker.py similarity index 100% rename from backend/test/unit/channels/test_circuit_breaker.py rename to backend/test/unit/channels/core/test_circuit_breaker.py diff --git a/backend/test/unit/channels/test_config_watcher.py b/backend/test/unit/channels/core/test_config_watcher.py similarity index 100% rename from backend/test/unit/channels/test_config_watcher.py rename to backend/test/unit/channels/core/test_config_watcher.py diff --git a/backend/test/unit/channels/test_context.py b/backend/test/unit/channels/core/test_context.py similarity index 100% rename from backend/test/unit/channels/test_context.py rename to backend/test/unit/channels/core/test_context.py diff --git a/backend/test/unit/channels/test_doctor.py b/backend/test/unit/channels/core/test_doctor.py similarity index 100% rename from backend/test/unit/channels/test_doctor.py rename to backend/test/unit/channels/core/test_doctor.py diff --git a/backend/test/unit/channels/test_framework_pairing_manager.py b/backend/test/unit/channels/core/test_framework_pairing_manager.py similarity index 100% rename from backend/test/unit/channels/test_framework_pairing_manager.py rename to backend/test/unit/channels/core/test_framework_pairing_manager.py diff --git a/backend/test/unit/channels/test_framework_pipeline.py b/backend/test/unit/channels/core/test_framework_pipeline.py similarity index 100% rename from backend/test/unit/channels/test_framework_pipeline.py rename to backend/test/unit/channels/core/test_framework_pipeline.py diff --git a/backend/test/unit/channels/test_framework_security_policy.py b/backend/test/unit/channels/core/test_framework_security_policy.py similarity index 100% rename from backend/test/unit/channels/test_framework_security_policy.py rename to backend/test/unit/channels/core/test_framework_security_policy.py diff --git a/backend/test/unit/channels/test_heartbeat.py b/backend/test/unit/channels/core/test_heartbeat.py similarity index 100% rename from backend/test/unit/channels/test_heartbeat.py rename to backend/test/unit/channels/core/test_heartbeat.py diff --git a/backend/test/unit/channels/test_history_injector.py b/backend/test/unit/channels/core/test_history_injector.py similarity index 100% rename from backend/test/unit/channels/test_history_injector.py rename to backend/test/unit/channels/core/test_history_injector.py diff --git a/backend/test/unit/channels/test_manager.py b/backend/test/unit/channels/core/test_manager.py similarity index 100% rename from backend/test/unit/channels/test_manager.py rename to backend/test/unit/channels/core/test_manager.py diff --git a/backend/test/unit/channels/test_manager_phases.py b/backend/test/unit/channels/core/test_manager_phases.py similarity index 100% rename from backend/test/unit/channels/test_manager_phases.py rename to backend/test/unit/channels/core/test_manager_phases.py diff --git a/backend/test/unit/channels/test_message_actions_v2.py b/backend/test/unit/channels/core/test_message_actions_v2.py similarity index 100% rename from backend/test/unit/channels/test_message_actions_v2.py rename to backend/test/unit/channels/core/test_message_actions_v2.py diff --git a/backend/test/unit/channels/test_meta_snapshot.py b/backend/test/unit/channels/core/test_meta_snapshot.py similarity index 100% rename from backend/test/unit/channels/test_meta_snapshot.py rename to backend/test/unit/channels/core/test_meta_snapshot.py diff --git a/backend/test/unit/channels/test_models.py b/backend/test/unit/channels/core/test_models.py similarity index 100% rename from backend/test/unit/channels/test_models.py rename to backend/test/unit/channels/core/test_models.py diff --git a/backend/test/unit/channels/test_protocols_bridge.py b/backend/test/unit/channels/core/test_protocols_bridge.py similarity index 100% rename from backend/test/unit/channels/test_protocols_bridge.py rename to backend/test/unit/channels/core/test_protocols_bridge.py diff --git a/backend/test/unit/channels/test_registry.py b/backend/test/unit/channels/core/test_registry.py similarity index 100% rename from backend/test/unit/channels/test_registry.py rename to backend/test/unit/channels/core/test_registry.py diff --git a/backend/test/unit/channels/test_router.py b/backend/test/unit/channels/core/test_router.py similarity index 100% rename from backend/test/unit/channels/test_router.py rename to backend/test/unit/channels/core/test_router.py diff --git a/backend/test/unit/channels/test_router_runtime.py b/backend/test/unit/channels/core/test_router_runtime.py similarity index 100% rename from backend/test/unit/channels/test_router_runtime.py rename to backend/test/unit/channels/core/test_router_runtime.py diff --git a/backend/test/unit/channels/test_runtime.py b/backend/test/unit/channels/core/test_runtime.py similarity index 100% rename from backend/test/unit/channels/test_runtime.py rename to backend/test/unit/channels/core/test_runtime.py diff --git a/backend/test/unit/channels/test_session_mapper.py b/backend/test/unit/channels/core/test_session_mapper.py similarity index 100% rename from backend/test/unit/channels/test_session_mapper.py rename to backend/test/unit/channels/core/test_session_mapper.py diff --git a/backend/test/unit/channels/test_session_router.py b/backend/test/unit/channels/core/test_session_router.py similarity index 100% rename from backend/test/unit/channels/test_session_router.py rename to backend/test/unit/channels/core/test_session_router.py diff --git a/backend/test/unit/channels/test_text_chunker_smoke.py b/backend/test/unit/channels/core/test_text_chunker_smoke.py similarity index 100% rename from backend/test/unit/channels/test_text_chunker_smoke.py rename to backend/test/unit/channels/core/test_text_chunker_smoke.py diff --git a/backend/test/unit/channels/test_thread_binding_manager.py b/backend/test/unit/channels/core/test_thread_binding_manager.py similarity index 100% rename from backend/test/unit/channels/test_thread_binding_manager.py rename to backend/test/unit/channels/core/test_thread_binding_manager.py diff --git a/backend/test/unit/channels/test_thread_models.py b/backend/test/unit/channels/core/test_thread_models.py similarity index 100% rename from backend/test/unit/channels/test_thread_models.py rename to backend/test/unit/channels/core/test_thread_models.py diff --git a/backend/test/unit/channels/test_thread_simulators.py b/backend/test/unit/channels/core/test_thread_simulators.py similarity index 100% rename from backend/test/unit/channels/test_thread_simulators.py rename to backend/test/unit/channels/core/test_thread_simulators.py