Skip to content

[dotnet-port] Align todo provider tool names with .NET #232

Description

@github-actions

Summary

Rename the five todo harness tools to align with .NET PR microsoft/agent-framework#6107 and the Python SDK.

Old names → New names:

  • TodoList_Addtodos_add
  • TodoList_Completetodos_complete
  • TodoList_Removetodos_remove
  • TodoList_GetRemainingtodos_get_remaining
  • TodoList_GetAlltodos_get_all

The default instructions text is also updated to reference the new tool names.

Ported .NET PRs

Breaking Changes

Yes. Any prompt, test, or calling convention that references the old TodoList_* tool names will need to be updated. This is a naming-only change — the tool behavior is identical. The rename is acceptable because the Go SDK is in beta and the names were already renamed in .NET and Python; keeping the old names would widen the cross-SDK divergence.

Tests and Examples

  • Updated TestToolNames to expect the new names.
  • All callTool references in agent/harness/todo/todo_test.go updated to the new names.
  • All existing tests pass: go test ./agent/harness/todo/ — 100% pass.

Notes

No other packages in the Go SDK reference the TodoList_* names. The feature-comparison doc does not need an update — the harness todo entry status is unchanged (Partial, no new capability added).

Generated by .NET to Go Porting Agent · ● 30.9M ·


Note

This was originally intended as a pull request, but GitHub Actions is not permitted to create or approve pull requests in this repository.
The changes have been pushed to branch dotnet-port-todo-tool-names-93dbb6babf52388f.

Click here to create the pull request

To fix the permissions issue, go to SettingsActionsGeneral and enable Allow GitHub Actions to create and approve pull requests. See also: gh-aw FAQ

Show patch preview (336 of 336 lines)
From 8277d1fba5ae9b5d0ff5bbba07ff2c0f8527757d Mon Sep 17 00:00:00 2001
From: "github-actions[bot]" <github-actions[bot]@users.noreply.github.com>
Date: Thu, 28 May 2026 10:28:20 +0000
Subject: [PATCH] Align todo provider tool names with .NET (TodoList_* ->
 todos_*)

Rename the five todo harness tools to match the .NET and Python SDKs:
  TodoList_Add          -> todos_add
  TodoList_Complete     -> todos_complete
  TodoList_Remove       -> todos_remove
  TodoList_GetRemaining -> todos_get_remaining
  TodoList_GetAll       -> todos_get_all

Also update the default instructions text to reference the new names.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
---
 agent/harness/todo/todo.go      | 26 +++++++-------
 agent/harness/todo/todo_test.go | 64 ++++++++++++++++-----------------
 2 files changed, 45 insertions(+), 45 deletions(-)

diff --git a/agent/harness/todo/todo.go b/agent/harness/todo/todo.go
index 1f95bdb0..b153ea0f 100644
--- a/agent/harness/todo/todo.go
+++ b/agent/harness/todo/todo.go
@@ -3,9 +3,9 @@
 // Package todo provides a context provider that gives agents todo list
 // management tools for tracking work items during long-running complex tasks.
 //
-// The provider exposes five tools to the agent: TodoList_Add,
-// TodoList_Complete, TodoList_Remove, TodoList_GetRemaining, and
-// TodoList_GetAll.
+// The provider exposes five tools to the agent: todos_add,
+// todos_complete, todos_remove, todos_get_remaining, and
+// todos_get_all.
 //
 // Todo state is stored in the agent session and persists across invocations.
 package todo
@@ -35,11 +35,11 @@ During execution, use the todo list to keep track of what needs to be done, mark
 When a user changes the topic or changes their mind, ensure that you update the todo list accordingly by removing irrelevant items or adding new ones as needed.
 
 Use these tools to manage your tasks:
-- Use TodoList_Add to break down complex work into trackable items (supports adding one or many at 
... (truncated)

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions