Two bugs in concluded discussion channel handling: 1. before_model_resolve did not check rec.discussion.concluded, so it still initialized the speaker list and ran turn management. Fixed by returning NO_REPLY early for concluded discussions (same as report mode). 2. message_received fired for all agent VM contexts, causing multiple "This discussion is closed" auto-replies per incoming message. Fixed with process-level dedup keyed on channelId:messageId (same pattern as agent_end runId dedup). Also fixed message_id extraction to look in metadata.conversation_info.message_id first. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
6.4 KiB
6.4 KiB