needfix_update
Updates mutable fields on a NeedFix record, enabling targeted edits to tags, scope, evidence, severity, and readiness while preserving unspecified fields and blocking stale writes.
Instructions
Manager update of mutable NeedFix fields.
None keeps a field. evidence is an explicit FULL REPLACE of the
evidence object; evidence_patch is a JSON merge patch (keys merged,
nested objects merged, null deletes a key) applied server-side to the
stored object, so one measurement can be added without re-sending the
rest. The two are mutually exclusive. evidence_refs_add/remove,
tags_add/remove, scope_files_add and scope_symbols_add edit
the lists in place (add appends missing values, remove filters).
expected_updated_at is optimistic concurrency: the update is refused
(needfix_update_stale) when the stored updated_at differs.
kind vocabulary and synonym normalisation are as in needfix_add.
Replies with a delta receipt (aiworkhub.needfix_update_receipt.v1):
id, status, fields_changed, updated_at, evidence_keys_after, event_id,
kind_normalized. The updated audit event records the same
fields_changed plus the evidence sha256 before and after.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"needfix_id": "<needfix_id>"
},
"name": "needfix_update"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| kind | No | Accepted kind values: benchmark_gap, bug, docs, documentation_drift, feature, idea, improvement, investigation, optimization, other, refactor, roadmap_candidate, security, security_risk, technical_debt. None keeps the field; case, space and known synonyms normalize server-side. | |
| tags | No | Full replacement tag list; omit to keep the current tags. | |
| scope | No | New free-text scope label; omit to keep the current one. | |
| title | No | New title; omit to keep the current one. | |
| evidence | No | Full replacement evidence object, at most 500000 bytes serialized; refused together with evidence_patch. Omit to keep the stored evidence. | |
| severity | No | Accepted severity values: critical, high, info, low, medium. None keeps the field. | |
| tags_add | No | Tags to append when not already present. | |
| needfix_id | Yes | Id of the NeedFix to update, e.g. NF-2026-01447; a NeedFix that is converting cannot be updated. | |
| description | No | New description; omit to keep the current one. | |
| scope_files | No | Full replacement list of repository file paths this NeedFix concerns; omit to keep the current list. | |
| tags_remove | No | Tags to remove when present. | |
| evidence_refs | No | Full replacement list of evidence reference strings; omit to keep the current list. | |
| scope_symbols | No | Full replacement list of code symbols this NeedFix concerns; omit to keep the current list. | |
| evidence_patch | No | JSON merge patch applied to the stored evidence: keys merge, nested objects merge, null deletes a key. Refused together with evidence. | |
| readiness_score | No | New readiness score, an integer from 0 to 100; omit to keep the current one. | |
| scope_files_add | No | Repository file paths to append to scope_files when not already present. | |
| evidence_refs_add | No | Evidence reference strings to append when not already present. | |
| scope_symbols_add | No | Code symbols to append to scope_symbols when not already present. | |
| expected_updated_at | No | Optimistic concurrency guard: the updated_at timestamp you last read; the update is refused as needfix_update_stale when the stored value differs. | |
| evidence_refs_remove | No | Evidence reference strings to remove when present. |