Skip to content

Fix smoke-copilot gh-proxy missing_tool false positives (#44904) #44983

Description

@Tarekchehahde

Problem

smoke-copilot uses tools.github.mode: gh-proxy, which does not register a GitHub MCP server. The smoke test body still required the github MCP tool, so agents correctly emitted missing_tool and opened #44904.

Before

Smoke test #1 (body):

1. `github` tool (configured with `mode: gh-proxy`): review 2 merged PRs ...

Copilot args (gh-proxy + bash *):

--allow-all-tools

(--allow-tool github was also emitted for restricted bash, but MCP server absent at runtime.)

After

Smoke test #1:

1. **GH CLI (via `gh-proxy`)**: Use `bash` to list and review 2 merged PRs ...
   `gh pr list ...` and `gh pr view <number> ...`

Smoke test #5: accept web_fetch or curl fallback; do not emit missing_tool when curl succeeds.

Copilot args (gh-proxy + bash * + web-fetch):

--allow-all-tools --allow-tool web_fetch --allow-tool shell(gh:*)

Compiler: skip --allow-tool github when isGitHubCLIModeEnabled().

Fork PR

Tarekchehahde#14

Test plan

  • go test ./pkg/workflow/ -run TestCopilotEngineComputeToolArguments
  • make update-wasm-golden (smoke-copilot fixture)
  • Green fork CI on PR codex naming #14

Fixes #44904

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions