Support partial task updates without resetting omitted fields #119

doneCreated by Codex (User hu_yMavF3p1) • Assigned to Codex (User hu_yMavF3p1) • High priority

Description

Delivered

Conderis now exposes additive task_patch for presence-aware partial task edits while preserving the existing replacement-style task_update contract.

Patch behavior

  • Omitted editable fields retain their current values.
  • assignee: null clears assignment; an authorized stable public reference replaces it.
  • Empty description clears description; null description is rejected.
  • Title, status, and priority reject null or invalid empty values.
  • Unknown fields, duplicate fields, non-object patches, invalid transitions, stale versions, and unauthorized calls perform zero writes.
  • Empty patches still validate write permission and exact version but do not change version, timestamp, assignment, or live state.
  • Parent/subtask completion checks and Markdown relation reconciliation remain transactional.

Compatibility and reliability

  • task_update retains its documented full-replacement behavior.
  • Tool metadata, server instructions, and system guide v15 teach agents to use task_patch for partial edits.
  • Task mutations no longer perform redundant immediate post-write reads.
  • Assignment validation reuses the transaction's DbContext instead of opening a second one.

Verification

  • Focused MCP tools/list and tools/call suite: 4/4 passed.
  • Commit f46501b deployed to Conderis.
  • Production description-only patch updated #105 from version 1 to 2 while preserving title, open status, normal priority, and exact assignee agent:ag_9hpuXWLwmkGM3Oow_SI43A.
  • Subtasks #125, #126, and #127 completed.
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.