Skip to content

Type granular issue MCP inputs and protocol-gated outputs - #3394

Draft
SamMorrowDrums wants to merge 2 commits into
sammorrowdrums-typed-consolidated-issue-toolsfrom
sammorrowdrums-typed-granular-issue-tools
Draft

SamMorrowDrums wants to merge 2 commits into
sammorrowdrums-typed-consolidated-issue-toolsfrom
sammorrowdrums-typed-granular-issue-tools

Conversation

@SamMorrowDrums

Copy link
Copy Markdown
Collaborator

Summary

Migrate all 16 remaining granular issue tools to concrete typed input/output registrations, preserving legacy text and exposing output schemas/structured content only for protocol 2026-07-28. Keep the already-typed hide/unhide tools unchanged.

Why

Continue the protocol-gated typed-tool migration above #3393, pinned to parent c3f5817fe2c0f87b778e0a9bc53af887059e72d3.
Fixes # N/A — stacked migration, not an issue closure.

What changed

  • Type create, single-field updates, custom fields, sub-issue mutations, and issue/comment reaction tools; retain input schemas, numeric coercions, confidence normalization, validation/errors, scopes and feature rules.
  • Reuse typed parent/sub-issue helpers, preserve nullable custom-field scalar outputs and exact API payloads, and add modern/legacy/unknown wire contracts plus schema snapshots.

MCP impact

  • No tool or API changes
  • Tool schema or behavior changed — modern clients receive concrete output schemas and structured content; legacy/unknown clients retain exact text without either. Existing input schemas remain unchanged.
  • New tool added

Prompts tested (tool changes only)

  • Automated MCP wire equivalents, not live natural-language sessions: create an issue under a cross-repository parent; update assignees/labels/type/state with suggestion metadata; set each custom field type; add/remove/reprioritize sub-issues; add/remove every supported issue/comment reaction; hide/unhide an issue comment.

Security / limits

  • No security or limits impact — no new endpoints or permissions.
  • Auth / permissions considered — repo scope, granular feature flags, read-only visibility and existing error handling retained and covered.
  • Data exposure, filtering, or token/size limits considered — reuse existing sub-issue sanitization; protocol-gated structured content mirrors legacy results.

Tool renaming

  • I am renaming tools as part of this PR (e.g. a part of a consolidation effort)
    • I have added the new tool aliases in deprecated_tool_aliases.go
  • I am not renaming tools as part of this PR

Note: if you're renaming tools, you must add the tool aliases. For more information on how to do so, please refer to the official docs.

Lint & tests

  • Linted locally with ./script/lint — script/lint passed, 0 issues.
  • Tested locally with ./script/test — script/test passed, full race suite.

Additional validation: UPDATE_TOOLSNAPS=true go test ./... passed; script/generate-docs passed with no documentation delta; git diff --check passed. Live PAT-backed e2e tests were not run. Signed coauthored commit 83955ca85c929687a0630503dcc061b1b9af4537.

Docs

  • Not needed — documentation generator completed; published inputs/tool descriptions did not change.
  • Updated (README / docs / examples)

Keep this PR draft. Stack metadata is intentionally untouched; the coordinator will append after verification.

Preserve granular issue mutation payloads and legacy text while exposing protocol-gated concrete outputs. Cover negotiated, legacy, and unknown protocol wire contracts and validation.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
@SamMorrowDrums
SamMorrowDrums added this pull request to stack #3385 October 2, 2026 13:45
Auto-generated by license-check workflow
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant