MCP save_work_item can only replace a whole description, not edit part of it
Problem
To change one section, table row or sentence in a work item description, an agent has to send the entire description to save_work_item. For long descriptions, such as epics with several tables, that means:
- Resending thousands of characters inline to change a few words, which costs tokens and invites mistakes in the parts that weren't meant to change.
- No protection against overwriting someone else's edit. If a person changed the description after the agent read it, the agent's full replacement silently undoes their change.
Proposal
- Add a targeted edit to
save_work_item, for example a list of{old_str, new_str}replacements applied to the current description, like theold_str/new_stractionsadd_commitalready accepts for files. Fail with a clear error ifold_strisn't found exactly once. - Add an optional guard so the update is refused if the description changed since the agent read it, for example the
updated_attimestamp or a description version returned byget_work_item.
Open questions for engineering
- Whether the same targeted edit should apply to merge request descriptions in
save_merge_request. - Which value works best as the guard:
updated_at, a description version, or a hash of the current text.