[dotnet-port] Port TodoList_Complete reason requirement from .NET - #199
Conversation
…#5902
Port the upstream .NET change that replaces the plain-ID slice in
TodoList_Complete with a structured CompleteInput{ID, Reason} slice.
Agents are now prompted to include a completion reason, which improves
auditability of todo lifecycle events.
Changes:
- Add CompleteInput struct (id + reason fields)
- Update completeTool to accept []CompleteInput instead of []int
- Update tool description to mention the reason field
- Update default instructions to ask agents to include a reason
- Update all existing tests to use the new input format
- Add TestCompleteTodos_WithReason and TestCompleteToolDescription_MentionsReason
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This comment has been minimized.
This comment has been minimized.
There was a problem hiding this comment.
Pull request overview
Ports the upstream .NET change to the todo harness so TodoList_Complete takes structured completion entries (ID + reason), prompting agents to include a completion reason for better auditability.
Changes:
- Introduces
CompleteInput { id, reason }and updatesTodoList_Completeto accept[]CompleteInput. - Updates default instructions and tool description to explicitly request a completion reason.
- Updates existing tests to use the new input shape and adds tests for the updated description / acceptance.
Show a summary per file
| File | Description |
|---|---|
| agent/harness/todo/todo.go | Adds CompleteInput and updates TodoList_Complete schema/description/instructions to include a completion reason. |
| agent/harness/todo/todo_test.go | Migrates tool-call JSON payloads to the new {id, reason} format and adds reason/description-focused tests. |
Copilot's findings
Tip
Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
- Files reviewed: 2/2 changed files
- Comments generated: 2
|
@copilot fix codereview feedback, |
Done in the latest commit. Both pieces of feedback are addressed:
|
This comment has been minimized.
This comment has been minimized.
There was a problem hiding this comment.
Generated by Go API Consistency Review Agent for issue #199 · ● 3.2M
|
Removed the strict |
This comment has been minimized.
This comment has been minimized.
|
@copilot fix golangci-lint |
Fixed — the |
Cross-repo Parity Review ✅This PR faithfully ports the upstream .NET change (#5902) and stays aligned with the upstream implementation. Checked against
Python: No TodoProvider equivalent exists in the upstream Python packages — no Python parity gap. Note on visibility: The .NET type is No cross-repo consistency issues found.
|
…#5902
Port the upstream .NET change that replaces the plain-ID slice in TodoList_Complete with a structured CompleteInput{ID, Reason} slice. Agents are now prompted to include a completion reason, which improves auditability of todo lifecycle events.
Changes: