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

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