Files
railiance-infra/contrib/feature-requests/fr-2026-03-09--threephoenix--state-hub--update-workstream-tool.md
tegwick abbc5bab2c 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>
2026-03-09 00:10:42 +01:00

1.9 KiB

type, id, target_org, target_repo, status, created, source_repo, related_workstream_id
type id target_org target_repo status created source_repo related_workstream_id
feature-request fr-2026-03-09--threephoenix--state-hub--update-workstream-tool threephoenix state-hub draft 2026-03-09 railiance-hosts 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:

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.