1 Commits

  • .NET: Fix Magentic to share agent replies across team (#6222)
    * Fix Magentic to share agent replies across team
    
    The per-round instruction was sent untargeted (fan-out delivered it to
    every participant) and replies were never relayed, so a later speaker saw
    the prior speaker's instruction but not its response - inverted from
    GroupChatHost and the Python reference.
    
    - Target the instruction at the selected speaker only.
    - Broadcast each reply to the other participants (buffered, no TurnToken),
      excluding the responder via _currentSpeakerExecutorId, mirroring
      GroupChatHost.
    - Persist _currentSpeakerExecutorId across checkpoints.
    - Add a regression test.
    
    * Address review feedback: null-guard, explicit checkpoint key, drop vacuous assertion
    
    * Address review feedback: centralize checkpoint keys, clear current speaker
    
    - Move CurrentSpeakerStateKey into MagenticConstants as
      nameof(CurrentSpeakerStateKey)
    - Clear _currentSpeakerExecutorId in ResetAndReplanAsync and
      PrepareFinalAnswerAsync so a checkpoint taken in those windows does not
      persist a stale speaker
    - Add UTF-8 BOM to RecordingEchoAgent.cs to satisfy the format check.