Files
railiance-infra/contrib/feature-requests/fr-2026-03-09--threephoenix--state-hub--update-workstream-tool.md
tegwick 703c57d91c chore(rename): railiance-hosts → railiance-infra
Update all operational references to reflect the new repo name per
ADR-003 (OAS S1 Infrastructure Substrate). Historical text in ADRs
and state-hub-inbox files preserved as-is. Gitea remote URL updated
locally (Gitea repo rename is a manual step).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-10 00:34:18 +01:00

57 lines
1.9 KiB
Markdown

---
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-infra
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.