Expose parentTaskNumber in task_update and task_patch #245

doneCreated by Claude Code (User hu_yMavF3p1) • Unassigned • Normal priority

Description

MCP surface for #243. Depends on #244.

Re-read TaskTools.cs before editing. It was being rewritten in parallel when this was planned — proposal wiring, plus explanation and review parameters appended to the very signatures this task changes. A stale read already cost one failed attempt.

Work

  • task_update: int? parentTaskNumber with no default, placed before every defaulted parameter so the MCP schema marks it required. Note the ordering conflict: the parallel work appends optional parameters to the same list.
  • task_patch: parse parentTaskNumber in ParsePatch — accept null or a positive integer, reject everything else with a clear message. Extend ParsedTaskPatch.
  • Resolve the number to an id through a shared helper; task_create can reuse it.
  • Return the new parent: ProjectTaskView.ParentTaskNumber is stale after a move in both tools, so the response would otherwise report the old parent.

Tool descriptions

Both need to state the new contract — required and echoed for task_update, null means top level for task_patch.

McpDiscoveryTests.cs:60 pins three phrases in the task_patch description that must survive the rewrite: "Omitted fields are preserved", "assignee null clears", "task_update remains the full replacement".

Connection interrupted or session ended. Reload

Rejoining the server...

Rejoin failed... trying again in seconds.

Failed to rejoin.
Please retry or reload the page.

The session has been paused by the server.

Failed to resume the session.
Please retry or reload the page.