Skip to content

fix: add reply_to_id to add_comment MCP tool schema#26288

Merged
pelikhan merged 2 commits intomainfrom
copilot/fix-add-comment-reply-to-id-docs
Apr 14, 2026
Merged

fix: add reply_to_id to add_comment MCP tool schema#26288
pelikhan merged 2 commits intomainfrom
copilot/fix-add-comment-reply-to-id-docs

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented Apr 14, 2026

reply_to_id was added to the add_comment runtime handler in v0.66.1 but was never advertised in the compiled MCP tool schema — causing agents to inspect the parameter list, conclude threading wasn't supported, and silently drop it.

Changes

  • Schema (pkg/workflow/js/safe_outputs_tools.json, actions/setup/js/safe_outputs_tools.json): Add reply_to_id as an optional string property to add_comment's inputSchema, with description covering purpose, auto-resolution of nested reply node IDs to top-level parent, and the discussion-only scope.
  • Validation config (safe_outputs_validation_config.go): Register reply_to_id as an accepted field (string, max 256 chars) so it passes safe-output validation.
  • Description enhancer (tool_description_enhancer.go): Append "Supports reply_to_id for discussion threading." to the add_comment constraint suffix so the capability is visible in the generated tool description.
  • Lock files: Recompiled 46 workflows to pick up the updated schema and description.

After this change, agents discover reply_to_id naturally from the schema — no prompt-level workarounds needed.

Warning

Firewall rules blocked me from connecting to one or more addresses (expand for details)

I tried to connect to the following addresses, but was blocked by firewall rules:

  • https://api.github.com/graphql
    • Triggering command: /usr/bin/gh /usr/bin/gh api graphql -f query=query($owner: String!, $name: String!) { repository(owner: $owner, name: $name) { hasDiscussionsEnabled } } -f owner=github -f name=gh-aw GOMOD GOMODCACHE ortcfg env 13164c644f63a669GOINSECURE GO111MODULE 64/bin/go r code style"; tgo GOMOD GOMODCACHE ache/go/1.25.8/xGO111MODULE (http block)
    • Triggering command: /usr/bin/gh /usr/bin/gh api graphql -f query=query($owner: String!, $name: String!) { repository(owner: $owner, name: $name) { hasDiscussionsEnabled } } -f owner=github -f name=gh-aw GOMOD GOMODCACHE ortcfg env e667e1673b219698GOINSECURE GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)
    • Triggering command: /usr/bin/gh /usr/bin/gh api graphql -f query=query($owner: String!, $name: String!) { repository(owner: $owner, name: $name) { hasDiscussionsEnabled } } -f owner=github -f name=gh-aw GOMOD GOMODCACHE go env ck '**/*.cjs' '*GOINSECURE GO111MODULE 64/bin/go GOINSECURE GOMOD ode-gyp-bin/sh go (http block)
  • https://api.github.com/orgs/test-owner/actions/secrets
    • Triggering command: /usr/bin/gh gh api /orgs/test-owner/actions/secrets --jq .secrets[].name -c=4 -nolocalimports -importcfg /tmp/go-build2970776429/b414/importcfg -pack /home/REDACTED/work/gh-aw/gh-aw/pkg/gitutil/gitutil.go /home/REDACTED/work/gh-aw/gh-aw/pkg/gitutil/gitutil_test.go -C ithub/workflows rev-parse repository(owner: $owner, name: $name) { hasDiscussionsEnabled } } l GO111MODULE me: String!) { --show-toplevel git (http block)
  • https://api.github.com/repos/actions/ai-inference/git/ref/tags/v1
    • Triggering command: /usr/bin/gh gh api /repos/actions/ai-inference/git/ref/tags/v1 --jq .object.sha .lock.yml bash /usr/bin/infocmp k/gh-aw/gh-aw :latest kflows/daily-reg--show-toplevel infocmp -1 xterm-color git /usr/bin/git ithub/workflows rev-parse kflows/duplicate--show-toplevel git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/ai-inference/git/ref/tags/v1 --jq .object.sha --show-toplevel git /usr/bin/git --show-toplevel 0776429/b405/imprev-parse /usr/bin/git git rev-�� --show-toplevel git /usr/bin/git --show-toplevel 0776429/b429/semrev-parse /usr/bin/git git (http block)
  • https://api.github.com/repos/actions/checkout/git/ref/tags/v3
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v3 --jq .object.sha /tmp/TestGuardPolicyMinIntegrityOnlymin-integrity_only_defaults_repo1494832489/001 l clusion,workflowName,createdAt,startedAt,updatedAt,event,headBranch,headSha,displayTitle yphen485950084/0git yphen485950084/0rev-parse /usr/bin/git gh api /repos/actions/github-script/git/ref/tags/v9 --jq ache/node/24.14.1/x64/bin/node ithub/workflows show /usr/bin/gh git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v3 --jq .object.sha --show-toplevel git /usr/bin/git --show-toplevel 64/pkg/tool/linurev-parse /usr/bin/git git rev-�� --show-toplevel git /usr/bin/git --show-toplevel infocmp /usr/bin/git git (http block)
  • https://api.github.com/repos/actions/checkout/git/ref/tags/v5
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v5 --jq .object.sha 1/001/test-complex-frontmatter-with-tools.md infocmp /usr/bin/git ithub/workflows go /usr/bin/git git -C /home/REDACTED/wor.artifacts[].name show k/_temp/ghcca-node/node/bin/bash /home/REDACTED/worgit rev-parse -performance.loc--show-toplevel git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v5 --jq .object.sha --show-toplevel /usr/bin/gh /usr/bin/git graphql -f 64/pkg/tool/linu--show-toplevel git rev-�� --show-toplevel 64/pkg/tool/linuremote.origin.url /usr/bin/git e-analyzer.md --jq er: String!, $na--show-toplevel git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v5 --jq .object.sha --show-toplevel /usr/bin/gh /usr/bin/git licyMinIntegritygit -f /opt/hostedtoolc--show-toplevel git rev-�� --show-toplevel /opt/hostedtoolcache/go/1.25.8/x64/pkg/tool/linux_amd64/link /usr/bin/git k/gh-aw/gh-aw/.ggit -importcfg ache/go/1.25.8/x--show-toplevel git (http block)
  • https://api.github.com/repos/actions/github-script/git/ref/tags/v8
    • Triggering command: /usr/bin/gh gh api /repos/actions/github-script/git/ref/tags/v8 --jq .object.sha --show-toplevel git /usr/bin/git 1/001/test-inlinbasename show /usr/bin/gh git rev-�� --show-toplevel /usr/bin/gh /usr/bin/git 4/001/inlined-a.git -f ache/node/24.14.--show-toplevel git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/github-script/git/ref/tags/v8 --jq .object.sha --show-toplevel git /usr/bin/git (create_pull_reqgrep git /usr/bin/git git rev-�� --show-toplevel git /usr/bin/git --show-toplevel /opt/hostedtoolcrev-parse /usr/bin/git git (http block)
  • https://api.github.com/repos/actions/github-script/git/ref/tags/v9
    • Triggering command: /usr/bin/gh gh api /repos/actions/github-script/git/ref/tags/v9 --jq .object.sha ithub/workflows -f (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/github-script/git/ref/tags/v9 --jq .object.sha k/gh-aw/gh-aw show .lock.yml ithub/workflows GO111MODULE ache/go/1.25.8/x/tmp/go-build2970776429/b397/cli.test git -C ithub/workflows config /usr/bin/gh l GO111MODULE DiscussionsEnablfor-each-ref gh (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/github-script/git/ref/tags/v9 --jq .object.sha k/gh-aw/gh-aw go r: $owner, name: $name) { hasDiscussionsEnabled } } ithub/workflows GO111MODULE repository(owne--show-toplevel git -C /home/REDACTED/work/gh-aw/gh-aw/.github/workflows erena-mcp-server:latest repository(owner: $owner, name: $name) { hasDiscussionsEnabled } } ithub/workflows GO111MODULE DiscussionsEnablxterm-color git (http block)
  • https://api.github.com/repos/actions/setup-go/git/ref/tags/v4
    • Triggering command: /usr/bin/gh gh api /repos/actions/setup-go/git/ref/tags/v4 --jq .object.sha add myorg /opt/hostedtoolcache/node/24.14.1/x64/bin/node ithub/workflows -f nch,headSha,disp--show-toplevel node /tmp�� /home/REDACTED/work/gh-aw/gh-aw/.github/workflows/agentic-observability-kit.md x_amd64/vet 0776429/b451/vet.cfg git/ref/tags/v7 config /usr/bin/git git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/setup-go/git/ref/tags/v4 --jq .object.sha 2649119/b001/workflow.test git 2649119/b001/importcfg.link --show-toplevel git /usr/bin/git _fIDV0Io-7CFC/8nhF68sWQlssYR811ypc/0XBXk7Lna1qrDxQ3rZQ3/G_tSogZ_fIDV0Io-7CFC rev-�� ry=1 git che/go-build/8d/8dbf06b1ceeaaef2617c2be6461378c57d0b356201011fa7058ea03239cad31d-d --show-toplevel git /usr/bin/git git (http block)
  • https://api.github.com/repos/actions/setup-node/git/ref/tags/v4
    • Triggering command: /usr/bin/gh gh api /repos/actions/setup-node/git/ref/tags/v4 --jq .object.sha om/owner/repo.git remote.origin.url /usr/bin/git ay_c3519685708/0git show x_amd64/vet git rev-�� --show-toplevel x_amd64/vet /usr/bin/git git/ref/tags/v7 go er: String!, $na--show-toplevel git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/setup-node/git/ref/tags/v4 --jq .object.sha --show-toplevel git /usr/bin/git --show-toplevel infocmp /usr/bin/git git rev-�� --show-toplevel git /usr/bin/git --show-toplevel git /usr/bin/git git (http block)
  • https://api.github.com/repos/actions/upload-artifact/git/ref/tags/v4
    • Triggering command: /usr/bin/gh gh api /repos/actions/upload-artifact/git/ref/tags/v4 --jq .object.sha sistency_GoAndJavaScript942624981/001/test-empty-frontmatter.md stmain.go ache/go/1.25.8/x64/pkg/tool/linux_amd64/compile -s -w -buildmode=exe ache/go/1.25.8/x64/pkg/tool/linux_amd64/compile 4366�� --all-progress-implied --revs /usr/bin/git --thin --delta-base-offapi -q git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/upload-artifact/git/ref/tags/v4 --jq .object.sha -m Initial commit /usr/bin/git --get-regexp ^remote\..*\.gh-rev-parse /usr/bin/git git rev-�� --show-toplevel git /usr/bin/git --show-toplevel /usr/bin/gh /usr/bin/git git (http block)
  • https://api.github.com/repos/actions/upload-artifact/git/ref/tags/v7
    • Triggering command: /usr/bin/gh gh api /repos/actions/upload-artifact/git/ref/tags/v7 --jq .object.sha GOSUMDB GOWORK 64/bin/go GOINSECURE GOMOD GOMODCACHE ortcfg env b768961a3543f4c3GOINSECURE GO111MODULE 64/bin/go GOINSECURE GOMOD ode-gyp-bin/node-json ache/go/1.25.8/xGO111MODULE (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/upload-artifact/git/ref/tags/v7 --jq .object.sha GOSUMDB GOWORK 64/bin/go GOINSECURE GOMOD GOMODCACHE go k/gh�� -json GO111MODULE 64/bin/go GOINSECURE GOMOD erignore go (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/upload-artifact/git/ref/tags/v7 --jq .object.sha heck '**/*.cjs' GOINSECURE GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go env ck 'scripts/**/*GOINSECURE GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)
  • https://api.github.com/repos/astral-sh/setup-uv/git/ref/tags/eac588ad8def6316056a12d4907a9d4d84ff7a3b
    • Triggering command: /usr/bin/gh gh api /repos/astral-sh/setup-uv/git/ref/tags/eac588ad8def6316056a12d4907a9d4d84ff7a3b --jq .object.sha ck 'scripts/**/*GOINSECURE GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go env -json GO111MODULE 64/bin/go GOINSECURE GOMOD s,MFiles,HFiles,/home/REDACTED/work/gh-aw/gh-aw/.github/workflows node (http block)
    • Triggering command: /usr/bin/gh gh api /repos/astral-sh/setup-uv/git/ref/tags/eac588ad8def6316056a12d4907a9d4d84ff7a3b --jq .object.sha ck 'scripts/**/*GOINSECURE GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go env -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE sh (http block)
    • Triggering command: /usr/bin/gh gh api /repos/astral-sh/setup-uv/git/ref/tags/eac588ad8def6316056a12d4907a9d4d84ff7a3b --jq .object.sha -json GO111MODULE .yml GOINSECURE GOMOD GOMODCACHE go env ithub/workflows GO111MODULE ache/go/1.25.8/x-f GOINSECURE GOMOD GOMODCACHE go (http block)
  • https://api.github.com/repos/docker/build-push-action/git/ref/tags/v7
    • Triggering command: /usr/bin/gh gh api /repos/docker/build-push-action/git/ref/tags/v7 --jq .object.sha -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go env -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)
    • Triggering command: /usr/bin/gh gh api /repos/docker/build-push-action/git/ref/tags/v7 --jq .object.sha -json GO111MODULE t-go-checker.loc-f GOINSECURE GOMOD GOMODCACHE go env ithub/workflows GO111MODULE /opt/hostedtoolc-f GOINSECURE GOMOD GOMODCACHE go (http block)
    • Triggering command: /usr/bin/gh gh api /repos/docker/build-push-action/git/ref/tags/v7 --jq .object.sha ithub/workflows GO111MODULE /opt/hostedtoolcache/go/1.25.8/x64/bin/go l GOMOD ed } } go env ithub/workflows GO111MODULE er: String!, $name: String!) { repository(owner: $owner, name: $name) { hasDiscussionsEnabl/home/REDACTED/work/gh-aw/gh-aw/.github/workflows GOINSECURE GOMOD GOMODCACHE go (http block)
  • https://api.github.com/repos/github/gh-aw-actions/git/ref/tags/v0.1.2
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw-actions/git/ref/tags/v0.1.2 --jq .object.sha add myorg /usr/bin/git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw-actions/git/ref/tags/v0.1.2 --jq .object.sha --show-toplevel git /usr/bin/git --show-toplevel e/git /usr/bin/gh git rev-�� --show-toplevel gh /usr/bin/git /repos/actions/ugit --jq /usr/bin/git git (http block)
  • https://api.github.com/repos/github/gh-aw-actions/git/ref/tags/v1.0.0
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw-actions/git/ref/tags/v1.0.0 --jq .object.sha t0 Test User (http block)
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw-actions/git/ref/tags/v1.0.0 --jq .object.sha --count 48b6df1ab6568ba0146e6f74d5c462e67c625411..HEAD /usr/bin/git xterm-color infocmp /usr/bin/git git rev-�� --show-toplevel git /usr/bin/git --show-toplevel infocmp /usr/bin/git git (http block)
  • https://api.github.com/repos/github/gh-aw-actions/git/ref/tags/v1.2.3
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw-actions/git/ref/tags/v1.2.3 --jq .object.sha -aw/git/ref/tags/v2.0.0 git 1/x64/bin/node ithub/workflows rev-parse (http block)
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw-actions/git/ref/tags/v1.2.3 --jq .object.sha HEAD infocmp /usr/bin/git xterm-color git /usr/bin/git git rev-�� --show-toplevel git /usr/bin/git --show-toplevel git /usr/bin/git git (http block)
  • https://api.github.com/repos/github/gh-aw/actions/runs/1/artifacts
    • Triggering command: /usr/bin/gh gh api --paginate repos/{owner}/{repo}/actions/runs/1/artifacts --jq .artifacts[].name rev-parse 86_64/bash l -f ed } } git -C k/gh-aw/gh-aw/.github/workflows config 64/pkg/tool/linux_amd64/compile remote.origin.urgit rev-parse /usr/bin/git 64/pkg/tool/linux_amd64/compile (http block)
    • Triggering command: /usr/bin/gh gh run download 1 --dir test-logs/run-1 show .yml ithub/workflows rev-parse k.yml git -C /home/REDACTED/work/gh-aw/gh-aw show er: String!, $name: String!) { repository(owner: $owner, name: $name) { hasDiscussionsEnabl--paginate ithub/workflows config ed } } git (http block)
  • https://api.github.com/repos/github/gh-aw/actions/runs/12345/artifacts
    • Triggering command: /usr/bin/gh gh api --paginate repos/{owner}/{repo}/actions/runs/12345/artifacts --jq .artifacts[].name --jq /usr/bin/git k/gh-aw/gh-aw/.ggit -f repository(owne--show-toplevel git -C ithub/workflows rev-parse 64/pkg/tool/linux_amd64/compile k/gh-aw/gh-aw/.ggit rev-parse $name) { has--show-toplevel 64/pkg/tool/linux_amd64/compile (http block)
    • Triggering command: /usr/bin/gh gh run download 12345 --dir test-logs/run-12345 show /usr/bin/infocmp l --jq ed } } infocmp -1 pload-artifact/git/ref/tags/v7 git /usr/bin/git k/gh-aw/gh-aw rev-parse DiscussionsEnabl--show-toplevel git (http block)
  • https://api.github.com/repos/github/gh-aw/actions/runs/12346/artifacts
    • Triggering command: /usr/bin/gh gh api --paginate repos/{owner}/{repo}/actions/runs/12346/artifacts --jq .artifacts[].name git de/node/bin/bash k/gh-aw/gh-aw/.ggit show k.yml infocmp -1 k/gh-aw/gh-aw/.github/workflows infocmp /usr/bin/git l go f41f1f5792093cf0--show-toplevel git (http block)
    • Triggering command: /usr/bin/gh gh run download 12346 --dir test-logs/run-12346 git /usr/bin/git ithub/workflows rev-parse ed } } git -C k/gh-aw/gh-aw/.github/workflows config 64/pkg/tool/linux_amd64/compile remote.origin.urgit show /usr/bin/gh 64/pkg/tool/linux_amd64/compile (http block)
  • https://api.github.com/repos/github/gh-aw/actions/runs/2/artifacts
    • Triggering command: /usr/bin/gh gh api --paginate repos/{owner}/{repo}/actions/runs/2/artifacts --jq .artifacts[].name show er: String!, $name: String!) { repository(owner: $owner, name: $name) { hasDiscussionsEnabl--git-dir ithub/workflows rev-parse ed } } /usr/bin/gh api 2037200321 -f x_amd64/link -f owner=github -f x_amd64/link (http block)
    • Triggering command: /usr/bin/gh gh run download 2 --dir test-logs/run-2 config (http block)
  • https://api.github.com/repos/github/gh-aw/actions/runs/3/artifacts
    • Triggering command: /usr/bin/gh gh api --paginate repos/{owner}/{repo}/actions/runs/3/artifacts --jq .artifacts[].name config kflows/firewall-escape.lock.yml remote.origin.urgit go on.lock.yml git -C 2037200321 go /usr/bin/git l 056a4c30a91cb0a1rev-parse DiscussionsEnabl--show-toplevel git (http block)
    • Triggering command: /usr/bin/gh gh run download 3 --dir test-logs/run-3 git kflows/glossary-maintainer.lock.yml ithub/workflows show /usr/bin/docker infocmp -1 k/gh-aw/gh-aw/.github/workflows docker eutil.test ithub/workflows ghcr.io/github/s/tmp/js-hash-test-1458837021/test-hash.js er: String!, $na/home/REDACTED/work/gh-aw/gh-aw/.github/workflows/archie.md eutil.test (http block)
  • https://api.github.com/repos/github/gh-aw/actions/runs/4/artifacts
    • Triggering command: /usr/bin/gh gh api --paginate repos/{owner}/{repo}/actions/runs/4/artifacts --jq .artifacts[].name rev-parse 1/x64/bin/bash /home/REDACTED/worgit show ck.yml git -C /home/REDACTED/work/gh-aw/gh-aw/.github/workflows rev-parse /usr/bin/git /home/REDACTED/worgit config /usr/bin/gh git (http block)
    • Triggering command: /usr/bin/gh gh run download 4 --dir test-logs/run-4 show /usr/bin/docker pload-artifact/ggit rev-parse r: $owner, name:--show-toplevel docker imag�� 1293740109 ghcr.io/github/serena-mcp-servermain er: String!, $name: String!) { -lang=go1.25 xterm-color erignore DiscussionsEnabl--git-dir git (http block)
  • https://api.github.com/repos/github/gh-aw/actions/runs/5/artifacts
    • Triggering command: /usr/bin/gh gh api --paginate repos/{owner}/{repo}/actions/runs/5/artifacts --jq .artifacts[].name docker.io/mcp/br-nolocalimports 64/bin/bash k/gh-aw/gh-aw config ter.lock.yml infocmp -1 2037200321 git er: String!, $name: String!) { repository(owne-nilfunc k/gh-aw/gh-aw rev-parse ed } } git (http block)
    • Triggering command: /usr/bin/gh gh run download 5 --dir test-logs/run-5 show /usr/bin/git ithub/workflows config /usr/bin/git git (http block)
  • https://api.github.com/repos/github/gh-aw/actions/workflows
    • Triggering command: /usr/bin/gh gh workflow list --json name,state,path k/gh-aw/gh-aw -f kflows/plan.lock.yml -f owner=github -f git -C k/gh-aw/gh-aw/.github/workflows rev-parse me: String!) { repository(owner: $owner, name: $name) { hasDiscussionsEnabled } } l GO111MODULE $name) { has/tmp/go-build2970776429/b415/_pkg_.a infocmp (http block)
    • Triggering command: /usr/bin/gh gh run list --json databaseId,number,url,status,conclusion,workflowName,createdAt,startedAt,updatedAt,event,headBranch,headSha,displayTitle --workflow nonexistent-workflow-12345 --limit 100 GO111MODULE ache/go/1.25.8/xgit-upload-pack '/tmp/TestParseDefaultBranchFromLsRemoteWithRealGitcustom_branch1393311067/001' e/git -C /home/REDACTED/work/gh-aw/gh-aw/.gremote.origin.url config (http block)
    • Triggering command: /usr/bin/gh gh run list --json databaseId,number,url,status,conclusion,workflowName,createdAt,startedAt,updatedAt,event,headBranch,headSha,displayTitle --workflow nonexistent-workflow-12345 --limit 6 rev-parse kflow-call-with---show-toplevel git -C rity1698450882/001 est x_amd64/vet /repos/actions/unode --jq .lock.yml x_amd64/vet (http block)
  • https://api.github.com/repos/github/gh-aw/git/ref/tags/v0.47.4
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/v0.47.4 --jq .object.sha ./../pkg/workflo-errorsas (http block)
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/v0.47.4 --jq .object.sha --show-toplevel 64/pkg/tool/linux_amd64/link /usr/bin/git k/gh-aw/gh-aw/.ggit rev-parse ck git rev-�� --show-toplevel git /usr/bin/git /home/REDACTED/wor/bin/sh rev-parse /usr/bin/git git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/v0.47.4 --jq .object.sha --show-toplevel git /usr/bin/git --show-toplevel 1/x64/bin/node /usr/bin/git git rev-�� --show-toplevel git /usr/bin/git --show-toplevel git /usr/bin/git git (http block)
  • https://api.github.com/repos/github/gh-aw/git/ref/tags/v1.0.0
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/v1.0.0 --jq .object.sha edOutput1691623950/001 rev-parse 64/pkg/tool/linux_amd64/vet ithub/workflows rev-parse n-advisor.lock.yuser.name 64/pkg/tool/linuTest User -C k/gh-aw/gh-aw/.github/workflows show /usr/bin/git ithub/workflows config repository(owneSecret: ${{ secrets.TOKEN }} git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/v1.0.0 --jq .object.sha --show-toplevel /bin/sh /usr/bin/git ithub/workflows/git l /usr/bin/git git rev-�� --show-toplevel git /usr/bin/git --show-toplevel /usr/bin/gh /usr/bin/git git (http block)
  • https://api.github.com/repos/github/gh-aw/git/ref/tags/v1.2.3
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/v1.2.3 --jq .object.sha k/gh-aw/gh-aw/.g-errorsas go -tools-tester.lo-nilfunc ithub/workflows GO111MODULE bash git ns-l�� a/action_pins.js-p config ed.lock.yml remote.origin.urgit GO111MODULE /opt/hostedtoolcolTTAa_J68Lz-bi-yJsp/olTTAa_J68Lz-bi-yJsp git (http block)
  • https://api.github.com/repos/github/gh-aw/git/ref/tags/v2.0.0
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/v2.0.0 --jq .object.sha k/gh-aw/gh-aw show munity-attributi-nilfunc -json GO111MODULE ed } } infocmp -1 ithub/workflows 50dc4685a243be15056a4c30a91cb0a19 (http block)
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/v2.0.0 --jq .object.sha k/gh-aw/gh-aw/.github/workflows rev-parse /usr/bin/infocmp -json :latest repository(owne-v infocmp -1 xterm-color ache/go/1.25.8/xrev-parse me: String!) { repository(owner: $owner, name: $name) { hasDiscussionsEnabled } } ithub/workflows GO111MODULE /opt/hostedtoolc/tmp/compile-all-instructions-test-2479568111/.github/workflows git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/v2.0.0 --jq .object.sha k/gh-aw/gh-aw/.github/workflows rev-parse t.lock.yml -json GO111MODULE me: String!) { repository(owne/home/REDACTED/work/gh-aw/gh-aw /usr/bin/gh api graphql -f /usr/bin/git -f owner=github -f git (http block)
  • https://api.github.com/repos/github/gh-aw/git/ref/tags/v3.0.0
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/v3.0.0 --jq .object.sha pload-artifact/g-p rev-parse /usr/bin/infocmp-lang=go1.25 ithub/workflows GO111MODULE /opt/hostedtoolc/orgs/test-owner/actions/secrets infocmp 2166�� xterm-color go grep-scan.lock.y-importcfg ithub/workflows GO111MODULE /opt/hostedtoolc--get git (http block)
  • https://api.github.com/repos/githubnext/agentics/git/ref/tags/-
    • Triggering command: /usr/bin/gh gh api /repos/githubnext/agentics/git/ref/tags/- --jq .object.sha Kytz/sYFv38oUhXvGOSUMDB GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE 9152316/b411/imprev-parse -c che/go-build/ec/ec592ac3a4cb56bfGOINSECURE GOPROXY 64/bin/go GOSUMDB GOWORK 64/bin/go /opt/hostedtoolcrev-parse (http block)
    • Triggering command: /usr/bin/gh gh api /repos/githubnext/agentics/git/ref/tags/- --jq .object.sha -json GO111MODULE ion-check.lock.yml GOINSECURE GOMOD GOMODCACHE go env ithub/workflows GO111MODULE /opt/hostedtoolcache/go/1.25.8/x64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)
    • Triggering command: /usr/bin/gh gh api /repos/githubnext/agentics/git/ref/tags/- --jq .object.sha ithub/workflows -f .yml -f owner=github -f /usr/bin/gh api k/gh-aw/gh-aw/.github/workflows -f (http block)
  • https://api.github.com/repos/nonexistent/action/git/ref/tags/v999.999.999
    • Triggering command: /usr/bin/gh gh api /repos/nonexistent/action/git/ref/tags/v999.999.999 --jq .object.sha edOutput1691623950/001 show 64/pkg/tool/linux_amd64/vet k/gh-aw/gh-aw/.ggit show DiscussionsEnabl--git-dir 64/pkg/tool/linux_amd64/vet -1 k/gh-aw/gh-aw docker x_amd64/compile k/gh-aw/gh-aw/.g/opt/hostedtoolcache/node/24.14.1/x64/bin/node ghcr.io/github/s/tmp/test-process-1682140885.js $name) { hasNo expressions here x_amd64/compile (http block)
    • Triggering command: /usr/bin/gh gh api /repos/nonexistent/action/git/ref/tags/v999.999.999 --jq .object.sha --show-toplevel /opt/hostedtoolcache/go/1.25.8/x64/pkg/tool/linux_amd64/compile /usr/bin/git /tmp/go-build297git -trimpath /usr/bin/git git rev-�� --show-toplevel git /usr/bin/git /tmp/TestGuardPogit config /usr/bin/git git (http block)
  • https://api.github.com/repos/nonexistent/repo/actions/runs/12345
    • Triggering command: /usr/bin/gh gh run view 12345 --repo nonexistent/repo --json status,conclusion ithub/workflows show /usr/bin/infocmp--show-toplevel 64/pkg/tool/linux_amd64/vet -1 k/gh-aw/gh-aw/.github/workflows infocmp 64/pkg/tool/linux_amd64/vet l ache/go/1.25.8/xrev-parse repository(owne--show-toplevel 64/pkg/tool/linux_amd64/vet (http block)
  • https://api.github.com/repos/owner/repo/actions/workflows
    • Triggering command: /usr/bin/gh gh workflow list --json name,state,path --repo owner/repo /usr/bin/infocmp-f l GO111MODULE DiscussionsEnabl--noprofile infocmp -1 k/gh-aw/gh-aw go r: $owner, name: $name) { hasDiscussionsEnabled } } ithub/workflows GO111MODULE repository(owne--show-toplevel git (http block)
    • Triggering command: /usr/bin/gh gh workflow list --json name,state,path --repo owner/repo ghts.lock.yml -json GO111MODULE $name) { has--noprofile git -C k/gh-aw/gh-aw/.github/workflows config (http block)
  • https://api.github.com/repos/owner/repo/contents/file.md
    • Triggering command: /tmp/go-build2970776429/b397/cli.test /tmp/go-build2970776429/b397/cli.test -test.testlogfile=/tmp/go-build2970776429/b397/testlog.txt -test.paniconexit0 -test.v=true -test.parallel=4 -test.timeout=10m0s -test.run=^Test -test.short=true -json GO111MODULE ed } } git -C k/gh-aw/gh-aw/.g-f config ock.yml remote.origin.urgit GO111MODULE ache/go/1.25.8/x--name-only git (http block)
  • https://api.github.com/repos/test-owner/test-repo/actions/secrets
    • Triggering command: /usr/bin/gh gh api /repos/test-owner/test-repo/actions/secrets --jq .secrets[].name 95216678/001' 95216678/001' /usr/bin/gh remote.origin.urbash GO111MODULE repository(owne--noprofile gh api k/gh-aw/gh-aw --jq me: String!) { repository(owner: $owner, name: $name) { hasDiscussionsEnabled } } ithub/workflows GO111MODULE ed } } infocmp (http block)

If you need me to access, download, or install something from one of these locations, you can either:

@github-actions

This comment has been minimized.

1 similar comment
@github-actions
Copy link
Copy Markdown
Contributor

Hey @Copilot 👋 — thanks for picking up this bug fix! Documenting reply_to_id in the compiled MCP tool schema is exactly the right fix to eliminate fragile prompt-level workarounds for discussion threading.

A couple of things to address before this is ready for review:

  • No code changes yet — the PR currently contains only an "Initial plan" commit with an empty diff. The actual schema update (adding reply_to_id to the add_comment tool fields and updating the tool description suffix) still needs to be implemented.
  • Add tests — once the schema change is in, please include test coverage verifying that reply_to_id appears in the compiled output for add_comment. This is especially important given the regression history on this field.

If you'd like a hand, you can assign this prompt to your coding agent:

Fix the compiled MCP tool schema for `add_comment` so that `reply_to_id` is advertised as a supported parameter.

Steps:
1. Locate the compiler's tool schema definition for `add_comment` (the JSON block that lists `body`, `item_number`, and `repo`).
2. Add `reply_to_id` as an optional string field (e.g. `{ "type": "string", "maxLength": 256 }`) to that schema.
3. Update the tool description suffix to mention the field, e.g.: "Supports reply_to_id for discussion threading."
4. Add or update tests to assert that the compiled output for `add_comment` includes `reply_to_id` in its parameter list.
5. Run `make test` to confirm all checks pass.

Generated by Contribution Check · ● 1.7M ·

…nfig

- Add reply_to_id to inputSchema properties in both safe_outputs_tools.json files
- Add reply_to_id to validation config in safe_outputs_validation_config.go
- Add "Supports reply_to_id for discussion threading." to add_comment constraint text
- Recompile lock files to reflect the schema changes

Fixes: reply_to_id was missing from compiled MCP tool schema causing agents to
skip the field when posting threaded discussion comments.

Agent-Logs-Url: https://github.com/github/gh-aw/sessions/1b9e9dfd-0b63-49e3-9b97-840a7e2a29a5

Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Copilot AI changed the title [WIP] Fix documentation for reply_to_id in add-comment schema fix: add reply_to_id to add_comment MCP tool schema Apr 14, 2026
Copilot AI requested a review from pelikhan April 14, 2026 21:32
@pelikhan pelikhan marked this pull request as ready for review April 14, 2026 21:33
Copilot AI review requested due to automatic review settings April 14, 2026 21:33
@github-actions github-actions Bot mentioned this pull request Apr 14, 2026
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR fixes a schema/metadata gap by advertising the already-supported reply_to_id parameter on the add_comment MCP tool, ensuring agents discover discussion-threading support via the published tool schema and generated descriptions.

Changes:

  • Add optional reply_to_id to the add_comment input schema in both compiled tool-schema JSONs.
  • Register reply_to_id in safe-output validation config (string, max 256 chars).
  • Update tool description enhancement to surface reply_to_id capability, and recompile workflow lockfiles to pick up the new schema/description/validation.
Show a summary per file
File Description
pkg/workflow/tool_description_enhancer.go Appends a constraint suffix noting reply_to_id support for add_comment.
pkg/workflow/safe_outputs_validation_config.go Allows/validates reply_to_id for add_comment safe outputs.
pkg/workflow/js/safe_outputs_tools.json Publishes reply_to_id in the compiled MCP tool schema for add_comment.
actions/setup/js/safe_outputs_tools.json Publishes reply_to_id in the action-bundled MCP tool schema for add_comment.
.github/workflows/workflow-health-manager.lock.yml Recompiled lockfile to include updated tool meta + validation for reply_to_id.
.github/workflows/unbloat-docs.lock.yml Recompiled lockfile to include updated tool meta + validation for reply_to_id.
.github/workflows/test-quality-sentinel.lock.yml Recompiled lockfile to include updated tool meta + validation for reply_to_id.
.github/workflows/technical-doc-writer.lock.yml Recompiled lockfile to include updated tool meta + validation for reply_to_id.
.github/workflows/sub-issue-closer.lock.yml Recompiled lockfile to include updated tool meta + validation for reply_to_id.
.github/workflows/smoke-workflow-call.lock.yml Recompiled lockfile to include updated tool meta + validation for reply_to_id.
.github/workflows/smoke-update-cross-repo-pr.lock.yml Recompiled lockfile to include updated tool meta + validation for reply_to_id.
.github/workflows/smoke-test-tools.lock.yml Recompiled lockfile to include updated tool meta + validation for reply_to_id.
.github/workflows/smoke-temporary-id.lock.yml Recompiled lockfile to include updated tool meta + validation for reply_to_id.
.github/workflows/smoke-service-ports.lock.yml Recompiled lockfile to include updated tool meta + validation for reply_to_id.
.github/workflows/smoke-project.lock.yml Recompiled lockfile to include updated tool meta + validation for reply_to_id.
.github/workflows/smoke-multi-pr.lock.yml Recompiled lockfile to include updated tool meta + validation for reply_to_id.
.github/workflows/smoke-gemini.lock.yml Recompiled lockfile to include updated tool meta + validation for reply_to_id.
.github/workflows/smoke-create-cross-repo-pr.lock.yml Recompiled lockfile to include updated tool meta + validation for reply_to_id.
.github/workflows/smoke-copilot.lock.yml Recompiled lockfile to include updated tool meta + validation for reply_to_id.
.github/workflows/smoke-copilot-arm.lock.yml Recompiled lockfile to include updated tool meta + validation for reply_to_id.
.github/workflows/smoke-codex.lock.yml Recompiled lockfile to include updated tool meta + validation for reply_to_id.
.github/workflows/smoke-claude.lock.yml Recompiled lockfile to include updated tool meta + validation for reply_to_id.
.github/workflows/smoke-agent-scoped-approved.lock.yml Recompiled lockfile to include updated tool meta + validation for reply_to_id.
.github/workflows/smoke-agent-public-none.lock.yml Recompiled lockfile to include updated tool meta + validation for reply_to_id.
.github/workflows/smoke-agent-public-approved.lock.yml Recompiled lockfile to include updated tool meta + validation for reply_to_id.
.github/workflows/smoke-agent-all-none.lock.yml Recompiled lockfile to include updated tool meta + validation for reply_to_id.
.github/workflows/smoke-agent-all-merged.lock.yml Recompiled lockfile to include updated tool meta + validation for reply_to_id.
.github/workflows/scout.lock.yml Recompiled lockfile to include updated tool meta + validation for reply_to_id.
.github/workflows/refiner.lock.yml Recompiled lockfile to include updated tool meta + validation for reply_to_id.
.github/workflows/q.lock.yml Recompiled lockfile to include updated tool meta + validation for reply_to_id.
.github/workflows/pr-triage-agent.lock.yml Recompiled lockfile to include updated tool meta + validation for reply_to_id.
.github/workflows/poem-bot.lock.yml Recompiled lockfile to include updated tool meta + validation for reply_to_id.
.github/workflows/pdf-summary.lock.yml Recompiled lockfile to include updated tool meta + validation for reply_to_id.
.github/workflows/issue-triage-agent.lock.yml Recompiled lockfile to include updated tool meta + validation for reply_to_id.
.github/workflows/issue-monster.lock.yml Recompiled lockfile to include updated tool meta + validation for reply_to_id.
.github/workflows/draft-pr-cleanup.lock.yml Recompiled lockfile to include updated tool meta + validation for reply_to_id.
.github/workflows/discussion-task-miner.lock.yml Recompiled lockfile to include updated tool meta + validation for reply_to_id.
.github/workflows/dev-hawk.lock.yml Recompiled lockfile to include updated tool meta + validation for reply_to_id.
.github/workflows/design-decision-gate.lock.yml Recompiled lockfile to include updated tool meta + validation for reply_to_id.
.github/workflows/daily-fact.lock.yml Recompiled lockfile to include updated tool meta + validation for reply_to_id.
.github/workflows/daily-cli-performance.lock.yml Recompiled lockfile to include updated tool meta + validation for reply_to_id.
.github/workflows/daily-assign-issue-to-user.lock.yml Recompiled lockfile to include updated tool meta + validation for reply_to_id.
.github/workflows/craft.lock.yml Recompiled lockfile to include updated tool meta + validation for reply_to_id.
.github/workflows/contribution-check.lock.yml Recompiled lockfile to include updated tool meta + validation for reply_to_id.
.github/workflows/cloclo.lock.yml Recompiled lockfile to include updated tool meta + validation for reply_to_id.
.github/workflows/ci-doctor.lock.yml Recompiled lockfile to include updated tool meta + validation for reply_to_id.
.github/workflows/brave.lock.yml Recompiled lockfile to include updated tool meta + validation for reply_to_id.
.github/workflows/archie.lock.yml Recompiled lockfile to include updated tool meta + validation for reply_to_id.
.github/workflows/approach-validator.lock.yml Recompiled lockfile to include updated tool meta + validation for reply_to_id.
.github/workflows/agent-performance-analyzer.lock.yml Recompiled lockfile to include updated tool meta + validation for reply_to_id.

Copilot's findings

Tip

Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

  • Files reviewed: 50/50 changed files
  • Comments generated: 0

@pelikhan pelikhan merged commit a09665d into main Apr 14, 2026
78 checks passed
@pelikhan pelikhan deleted the copilot/fix-add-comment-reply-to-id-docs branch April 14, 2026 21:40
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.

add-comment: reply_to_id not documented in tool schema, causing agents to skip it

3 participants