| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
There was a problem hiding this comment.
Reviewers: 4 | Confidence: 85%
No actionable issues found in this dimension.
No actionable issues found in this dimension.
The BackgroundAgents rename is thoroughly tested across all tool name references and instruction strings. For the TodoProvider changes, existing tests are updated to use the new TodoCompleteInput type and a new test verifies the Reason parameter is accepted. However, the new CompleteTodos_AcceptsReasonParameterAsync test only asserts that the item is marked complete and the count is correct—it does not verify that the provided Reason is actually used or surfaced in any output, which is a gap given the PR states the reason is meant to 'improve user output'. Since TodoItem.cs is not in the changed file list, the Reason appears not to be stored on the model, making the observable impact of the Reason field untested.
First, the SubAgents→BackgroundAgents rename also changes the persisted state keys, so any existing session that already has queued/running sub-agent work will be treated as empty after upgrade instead of being recoverable or marked lost. Second, the new Todo completion shape does not actually require a completion reason: the new input model makes reason nullable and the handler ignores it entirely, so calls without a reason still succeed despite the new contract text. I found two design mismatches in the updated tests. First, the TodoList completion flow is still being specified as succeeding without any finish reason, which conflicts with the PR’s stated goal of requiring one. Second, the BackgroundAgents rename appears incomplete on the custom-instructions surface: the tests still use the old {sub_agents} placeholder, which would leave {background_agents} callers with an unreplaced literal unless the provider supports both tokens.
Automated review by westey-m's agents
Sorry, something went wrong.
There was a problem hiding this comment.
This PR updates the .NET Harness to (1) rename “SubAgents” to “BackgroundAgents” to better reflect asynchronous background execution, and (2) extend Todo completion calls to include an optional “reason” payload for improved UI output.
Changes:
Copilot reviewed 18 out of 19 changed files in this pull request and generated 3 comments.
Show a summary per file| File | Description |
|---|---|
| dotnet/tests/Microsoft.Agents.AI.UnitTests/Harness/Todo/TodoProviderTests.cs | Updates tests for new TodoList_Complete argument shape and adds reason acceptance test. |
| dotnet/tests/Microsoft.Agents.AI.UnitTests/Harness/BackgroundAgents/BackgroundAgentsProviderTests.cs | Renames tests and tool names from SubAgents to BackgroundAgents. |
| dotnet/src/Microsoft.Agents.AI/Harness/Todo/TodoProvider.cs | Updates TodoList_Complete tool signature/description and default instructions. |
| dotnet/src/Microsoft.Agents.AI/Harness/Todo/TodoCompleteInput.cs | Adds new input model for todo completion (id + optional reason). |
| dotnet/src/Microsoft.Agents.AI/Harness/BackgroundAgents/BackgroundTaskStatus.cs | Renames status enum to BackgroundTaskStatus and updates docs. |
| dotnet/src/Microsoft.Agents.AI/Harness/BackgroundAgents/BackgroundTaskInfo.cs | Renames task metadata type and updates status type usage. |
| dotnet/src/Microsoft.Agents.AI/Harness/BackgroundAgents/BackgroundAgentState.cs | Renames serializable state container and task list type. |
| dotnet/src/Microsoft.Agents.AI/Harness/BackgroundAgents/BackgroundAgentsProviderOptions.cs | Renames options type and updates docs for BackgroundAgents. |
| dotnet/src/Microsoft.Agents.AI/Harness/BackgroundAgents/BackgroundAgentsProvider.cs | Renames provider and tool names; updates instructions and implementation text. |
| dotnet/src/Microsoft.Agents.AI/Harness/BackgroundAgents/BackgroundAgentRuntimeState.cs | Renames runtime state type and session dictionary name. |
| dotnet/src/Microsoft.Agents.AI/AgentJsonUtilities.cs | Registers new TodoCompleteInput types and renamed BackgroundAgents types for STJ source gen. |
| dotnet/samples/02-agents/Harness/README.md | Updates sample list entry and link to BackgroundAgents sample. |
| dotnet/samples/02-agents/Harness/Harness_Step02_Research_WithBackgroundAgents/README.md | Updates sample docs and instructions to BackgroundAgents terminology. |
| dotnet/samples/02-agents/Harness/Harness_Step02_Research_WithBackgroundAgents/Program.cs | Updates sample code to use BackgroundAgentsProvider. |
| dotnet/samples/02-agents/Harness/Harness_Step02_Research_WithBackgroundAgents/Harness_Step02_Research_WithBackgroundAgents.csproj | Adds the renamed/new sample project file. |
| dotnet/samples/02-agents/Harness/Harness_Shared_Console/ToolFormatters/ToolCallFormatter.cs | Switches default formatter list to BackgroundAgentToolFormatter. |
| dotnet/samples/02-agents/Harness/Harness_Shared_Console/ToolFormatters/TodoToolFormatter.cs | Adds formatting for new TodoList_Complete(items[]) payload including reason. |
| dotnet/samples/02-agents/Harness/Harness_Shared_Console/ToolFormatters/BackgroundAgentToolFormatter.cs | Renames formatter/class and switches matching to BackgroundAgents_*. |
| dotnet/agent-framework-dotnet.slnx | Updates solution to reference the renamed Step02 sample project. |
dotnet/src/Microsoft.Agents.AI/Harness/BackgroundAgents/BackgroundAgentsProvider.cs:40
Sorry, something went wrong.
| Back | FazBrowse Home | New Git URL |
Motivation and Context
SubAgents are not well named, since it can be confused with cases where we merely delegate to a sub agent in a synchronous way.
Description
Contribution Checklist