Report created tasks when create_tasks hits a transport error

未关闭
#414 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

维护者通常 1 天内回复

还没有人认领这个 Issue。

评估

难度
3/5
预计耗时
1-2 天
新手友好度
68/100
Issue 类型
缺陷
描述清晰度
描述清楚
活跃度
活跃
技术栈
csharp
领域
api, backend

调研方向

Read assistant/src/TaskFlow.Mcp/Tools/TaskTools.cs around line 392 and compare create_tasks with the existing transport error handling in update_tasks. Then inspect assistant/src/TaskFlow.Mcp/Tools/JournalTools.cs around lines 194–216 for set_journal_todos. Done when both tools stop after a transport failure and report created items plus remaining items as “not attempted.”

由索引模型根据 Issue 内容生成。

描述

bug

Follow-up from #413 (chore: move taskflow-assistant into assistant/), raised during review.

Problem

create_tasks catches only McpException and TaskFlowApiException per item. TaskFlowApiClient does not wrap transport errors, so a timeout (TaskCanceledException) or HttpRequestException on item N escapes the loop. ToolGuard then returns a generic "cannot reach / did not respond" error and the report of the items already created is lost.

Scenario: a 25-item batch times out at item 10. Tasks 1-9 exist in the API, but the tool result lists none of them. The model retries the whole batch and creates duplicates. update_tasks already handles this case with "not attempted" lines, so the two batch tools behave differently. set_journal_todos (JournalTools.cs, around lines 194-216) only catches TaskFlowApiException and has the same gap.

Severity: 🟠 Important. Pre-existing in the imported assistant code, not introduced by #413.

Location

assistant/src/TaskFlow.Mcp/Tools/TaskTools.cs:392 at 3c3e6b4 (permalink)

Suggested approach

Handle transport failures the way update_tasks does: on a transport error, stop the loop, report the items already created, and list the remaining items as "not attempted". Apply the same to set_journal_todos. Deferred from #413 because the assistant code was imported unchanged and feature work there waits for #400.


Created by @nevridge with Claude Code during review of #413

主要语言
C#
星标
1
派生
0
平均合并
2 小时 2 分钟
30 天内合并 PR
98

环境准备

  • 提供 Dockerfile 或 Docker Compose 文件
  • 没有 Pull Request 模板
  • 阅读贡献指南

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

nevridge/TaskFlow 的其他 Issue

查看 nevridge/TaskFlow 的全部 Issue

相似的 Issue

更多 C# Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。