contrib: FR for update_workstream MCP tool
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 <noreply@anthropic.com>
This commit is contained in:
@@ -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.
|
||||
Reference in New Issue
Block a user