From abbc5bab2c289d08223b5519ee879fe4fa27723e Mon Sep 17 00:00:00 2001 From: tegwick Date: Mon, 9 Mar 2026 00:10:42 +0100 Subject: [PATCH] contrib: FR for update_workstream MCP tool MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Missing tool discovered during offline-inbox drain — repo_goal_id on workstream bf40b47e is null in DB but correctly set in the workplan file. No MCP path to fix this without a direct API call. Contribution id: 0450a858-bccc-4cbf-8052-38c1654aa005 Co-Authored-By: Claude Sonnet 4.6 --- ...enix--state-hub--update-workstream-tool.md | 56 +++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 contrib/feature-requests/fr-2026-03-09--threephoenix--state-hub--update-workstream-tool.md diff --git a/contrib/feature-requests/fr-2026-03-09--threephoenix--state-hub--update-workstream-tool.md b/contrib/feature-requests/fr-2026-03-09--threephoenix--state-hub--update-workstream-tool.md new file mode 100644 index 0000000..1854bf9 --- /dev/null +++ b/contrib/feature-requests/fr-2026-03-09--threephoenix--state-hub--update-workstream-tool.md @@ -0,0 +1,56 @@ +--- +type: feature-request +id: fr-2026-03-09--threephoenix--state-hub--update-workstream-tool +target_org: threephoenix +target_repo: state-hub +status: draft +created: "2026-03-09" +source_repo: railiance-hosts +related_workstream_id: bf40b47e-be5b-4930-a7d2-362e76b943bb +--- + +# FR: `update_workstream` MCP Tool + +## Problem + +The MCP server exposes `update_workstream_status` (status changes only) but no +general `update_workstream` tool. This means fields like `repo_goal_id`, `title`, +`description`, `owner`, and `due_date` cannot be updated via MCP once a workstream +is created. + +This was discovered during offline-inbox drain: the workplan file `RAIL-HO-WP-0001` +correctly references `repo_goal_id: 9e835b82-acca-493a-943f-2553ffe0bf54`, but the +DB workstream (`bf40b47e`) has `repo_goal_id: null` because the field was not set +at creation time. There is no tool to fix this without a direct API call. + +The `goal_guidance` section of `get_domain_summary()` then surfaces a false +`needs_workplan` warning for the linked goal, because the DB record is incomplete. + +## Proposed Solution + +Add an `update_workstream` MCP tool: + +```python +update_workstream( + workstream_id: str, + title: str | None = None, + description: str | None = None, + owner: str | None = None, + due_date: str | None = None, # ISO date + repo_goal_id: str | None = None, # UUID + repo_id: str | None = None, # UUID +) +``` + +Semantics: patch — only provided fields are updated. Returns the updated workstream. + +## Acceptance Criteria + +- Claude can set `repo_goal_id` on an existing workstream +- Partial updates (only provided fields change, others unchanged) +- `get_domain_summary()` goal_guidance reflects the updated linkage after the call + +## Priority + +Medium. Workaround is a direct API call, but this breaks the MCP-only workflow +and leaves audit gaps when agents operate without direct API access.