Skip to content

Add error return to MCPConfigProvider.RenderMCPConfig interface#17476

Merged
pelikhan merged 2 commits intomainfrom
copilot/update-mcpconfigprovider-render-error
Feb 21, 2026
Merged

Add error return to MCPConfigProvider.RenderMCPConfig interface#17476
pelikhan merged 2 commits intomainfrom
copilot/update-mcpconfigprovider-render-error

Conversation

Copy link
Contributor

Copilot AI commented Feb 21, 2026

RenderJSONMCPConfig returns an error that all four engine implementations were silently discarding via _ = RenderJSONMCPConfig(...). While currently the helper always returns nil, the interface design made correct error propagation impossible as the helper evolves.

Changes

  • Interface & base: MCPConfigProvider.RenderMCPConfig now returns error; BaseEngine default returns nil
  • Engine implementations (claude_mcp.go, gemini_mcp.go, copilot_mcp.go, codex_mcp.go): Replace _ = RenderJSONMCPConfig(...) with return RenderJSONMCPConfig(...)
  • mcp_setup_generator.go: generateMCPSetup updated to return error, propagating from engine.RenderMCPConfig; early exits changed to return nil
  • compiler_yaml_main_job.go: Caller wraps and propagates the error
// Before
func (e *ClaudeEngine) RenderMCPConfig(...) {
    _ = RenderJSONMCPConfig(...)
}

// After
func (e *ClaudeEngine) RenderMCPConfig(...) error {
    return RenderJSONMCPConfig(...)
}

All call sites in production code and tests updated accordingly.

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 GO111MODULE 64/bin/go docker pull�� test/concurrent-image:v1.0.0 go 2107580/b433/scripts.test -json GO111MODULE 64/bin/go 2107580/b433/scripts.test (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 k/gh�� -json GO111MODULE /opt/hostedtoolcache/go/1.25.0/x64/bin/go GOINSECURE GOMOD erignore 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 GO111MODULE ache/go/1.25.0/xgit-upload-pack 'origin' git rev-�� --show-toplevel go ache/go/1.25.0/x64/pkg/tool/linux_amd64/vet -json GO111MODULE k/gh-aw/gh-aw/ac--show-toplevel ache/go/1.25.0/x64/pkg/tool/linux_amd64/vet (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 -json GO111MODULE 0/x64/bin/node GOINSECURE GOMOD GOMODCACHE go t-ha�� ithub/workflows/agent-performance-analyzer.md GO111MODULE /opt/hostedtoolcache/go/1.25.0/x64/pkg/tool/linux_amd64/vet GOINSECURE GOMOD GOMODCACHE /opt/hostedtoolcache/go/1.25.0/x64/pkg/tool/linux_amd64/vet (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/ai-inference/git/ref/tags/v1 --jq .object.sha -json GO111MODULE 0/x64/bin/npx GOINSECURE GOMOD GOMODCACHE go env -json GO111MODULE ache/go/1.25.0/x64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/ai-inference/git/ref/tags/v1 --jq .object.sha --show-toplevel go /usr/bin/git -json GO111MODULE 64/bin/go git rev-�� --show-toplevel go /usr/bin/git -json GO111MODULE ache/go/1.25.0/x--show-toplevel 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 924/001/stability-test.md GO111MODULE ache/go/1.25.0/x64/bin/go GOINSECURE GOMOD GOMODCACHE go env f3B0XQ7Wl GO111MODULE ache/go/1.25.0/x64/bin/go GOINSECURE GOMOD GOMODCACHE ortcfg (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v3 --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/actions/checkout/git/ref/tags/v3 --jq .object.sha --show-toplevel go /usr/bin/git -json GO111MODULE 64/bin/go git rev-�� --show-toplevel go /usr/bin/git -json GO111MODULE 64/bin/go git (http block)
  • https://api.github.com/repos/actions/checkout/git/ref/tags/v4
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v4 --jq .object.sha brave.md GO111MODULE 951542/b001=> GOINSECURE GOMOD GOMODCACHE go env XOGV/XCkiwtSFTdXyjFobXOGV GO111MODULE /opt/hostedtoolcache/go/1.25.0/x64/bin/go GOINSECURE GOMOD GOMODCACHE 951542/b001/importcfg (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v4 --jq .object.sha -json GO111MODULE /opt/hostedtoolcache/go/1.25.0/x-test.short=true GOINSECURE GOMOD GOMODCACHE go env runs/20260221-123734-27599/test-316128780/.github/workflows GO111MODULE 2107580/b296/vet.cfg GOINSECURE GOMOD GOMODCACHE go (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v4 --jq .object.sha test.txt -dwarf=false /usr/bin/git go1.25.0 -c=4 -nolocalimports git rev-�� --show-toplevel /tmp/go-build4002107580/b419/_testmain.go /opt/hostedtoolcache/node/24.13.0/x64/bin/node "prettier" --chegit GOPROXY 64/bin/go node (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 -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go env -json GO111MODULE 64/pkg/tool/linux_amd64/compile GOINSECURE GOMOD GOMODCACHE 64/pkg/tool/linu1 (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v5 --jq .object.sha ithub/workflows/brave.md GOPROXY /usr/bin/git GOSUMDB GOWORK 64/bin/go git rev-�� s/test.md ortcfg /usr/bin/git a2615bb3240425a6git GO111MODULE 64/bin/go /usr/bin/git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v5 --jq .object.sha --show-toplevel node /usr/bin/git --check **/*.cjs 64/bin/go git rev-�� --show-toplevel go /usr/bin/git -json GO111MODULE 64/bin/go /usr/bin/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 GOSUMDB GOWORK 64/bin/go GOINSECURE GOMOD GOMODCACHE go m/_n�� -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/github-script/git/ref/tags/v8 --jq .object.sha ck 'scripts/**/*GOINSECURE 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/actions/github-script/git/ref/tags/v8 --jq .object.sha -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go env -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE sh (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 vaScript610038539/001/test-frontmatter-with-nested-objects.md GO111MODULE /opt/hostedtoolcache/go/1.25.0/x64/bin/go GOINSECURE GOMOD GOMODCACHE go env 3734-27599/test-2447996720 GO111MODULE /opt/hostedtoolcache/go/1.25.0/x64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/setup-go/git/ref/tags/v4 --jq .object.sha -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go env -json GO111MODULE tions/node_modules/.bin/sh GOINSECURE GOMOD GOMODCACHE go (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/setup-go/git/ref/tags/v4 --jq .object.sha --show-toplevel go /usr/bin/infocmp json' --ignore-pgit GO111MODULE ules/.bin/node infocmp -1 xterm-color go /usr/bin/bash -json GO111MODULE 64/bin/go bash (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 vaScript610038539/001/test-frontmatter-with-nested-objects.md GO111MODULE 951542/b001/importcfg.link GOINSECURE WvHw8FOTh9AUv/XCrev-parse GOMODCACHE go env runs/20260221-123734-27599/test-1421216931/.github/workflows GO111MODULE 951542/b001/_pkg_.a GOINSECURE GOMOD GOMODCACHE go (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/setup-node/git/ref/tags/v4 --jq .object.sha -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go env -json GO111MODULE tions/setup/js/node_modules/.bin/sh GOINSECURE GOMOD GOMODCACHE go (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/setup-node/git/ref/tags/v4 --jq .object.sha --show-toplevel go /usr/bin/infocmp -json GO111MODULE 64/bin/go infocmp -1 xterm-color go /usr/bin/bash th .prettierignogit GO111MODULE 64/bin/go bash (http block)
  • https://api.github.com/repos/github/gh-aw/actions/runs/1/artifacts
    • Triggering command: /usr/bin/gh gh run download 1 --dir test-logs/run-1 GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go env hub/workflows GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)
  • https://api.github.com/repos/github/gh-aw/actions/runs/12345/artifacts
    • Triggering command: /usr/bin/gh gh run download 12345 --dir test-logs/run-12345 GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE 51RFpkM/6HJcGCc2Qt5lJ-lnkNpl env -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)
  • https://api.github.com/repos/github/gh-aw/actions/runs/12346/artifacts
    • Triggering command: /usr/bin/gh gh run download 12346 --dir test-logs/run-12346 GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go env -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)
  • https://api.github.com/repos/github/gh-aw/actions/runs/2/artifacts
    • Triggering command: /usr/bin/gh gh run download 2 --dir test-logs/run-2 GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go env y-test.md GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)
  • https://api.github.com/repos/github/gh-aw/actions/runs/3/artifacts
    • Triggering command: /usr/bin/gh gh run download 3 --dir test-logs/run-3 GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go env hub/workflows GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)
  • https://api.github.com/repos/github/gh-aw/actions/runs/4/artifacts
    • Triggering command: /usr/bin/gh gh run download 4 --dir test-logs/run-4 GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go env -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)
  • https://api.github.com/repos/github/gh-aw/actions/runs/5/artifacts
    • Triggering command: /usr/bin/gh gh run download 5 --dir test-logs/run-5 GO111MODULE x_amd64/link GOINSECURE GOMOD GOMODCACHE x_amd64/link env -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE -j/NEbzTRrGx3Hf7l9Ai1Xn/DcrjArqgCZ0F2zfYcPZo (http block)
  • https://api.github.com/repos/github/gh-aw/actions/workflows
    • Triggering command: /usr/bin/gh gh workflow list --json name,state,path g/cli/access_logGOINSECURE g/cli/actionlintGOMOD 64/bin/go GOINSECURE GOMOD GOMODCACHE ache/go/1.25.0/xGO111MODULE env 3076512/b382/_pkGOINSECURE GO111MODULE 64/bin/go GOINSECURE bagabas/go-udiff-c GOMODCACHE go (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 GOMOD GOMODCACHE go env lOpx/4bRTf_XVrmc- GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE 3076512/b396/importcfg (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 GOMOD GOMODCACHE x_amd64/vet env -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go (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 -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/github/gh-aw/git/ref/tags/v1.0.0 --jq .object.sha echo "��� FormatGOINSECURE git 64/bin/go 64/bin/go go /usr/bin/git sh -c "prettier" --wriGOINSECURE git /sh --show-toplevel x_amd64/vet /usr/bin/git go (http block)
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/v1.0.0 --jq .object.sha "prettier" --check 'scripts/**/*.js' --ignore-path .prettierignore GOPROXY /usr/bin/git GOSUMDB GOWORK 64/bin/go git rev-�� --show-toplevel sh /usr/bin/git npx prettier --wgit node 64/bin/go git (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 -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go env 2516439200/.github/workflows GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)
    • Triggering command: /usr/bin/gh gh api /repos/nonexistent/action/git/ref/tags/v999.999.999 --jq .object.sha npx prettier --wGOINSECURE git 64/bin/go --git-dir s not exist yet"env /usr/bin/git node /hom�� --write scripts/**/*.js 64/bin/go .prettierignore x_amd64/vet /usr/bin/git go (http block)
    • Triggering command: /usr/bin/gh gh api /repos/nonexistent/action/git/ref/tags/v999.999.999 --jq .object.sha "prettier" --check 'scripts/**/*.js' --ignore-path .prettierignore GOPROXY /usr/bin/git GOSUMDB GOWORK 64/bin/go git rev-�� --show-toplevel sh /usr/bin/git npx prettier --wgit node 64/bin/go 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 GOINSECURE GOMOD GOMODCACHE go env -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go (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 64/bin/go GOINSECURE GOMOD ode-gyp-bin/node-json ache/go/1.25.0/xGO111MODULE env 3076512/b384/_pkGOINSECURE GO111MODULE 64/bin/go GOINSECURE b/gh-aw/pkg/consconfig GOMODCACHE go (http block)
    • Triggering command: /usr/bin/gh gh workflow list --json name,state,path --repo owner/repo 64/bin/go GOINSECURE GOMOD GOMODCACHE ache/go/1.25.0/xGO111MODULE env 3076512/b390/_pkGOINSECURE GO111MODULE 64/bin/go GOINSECURE b/gh-aw/pkg/filefor-each-ref GOMODCACHE go (http block)
  • https://api.github.com/repos/owner/repo/contents/file.md
    • Triggering command: /tmp/go-build4002107580/b380/cli.test /tmp/go-build4002107580/b380/cli.test -test.testlogfile=/tmp/go-build4002107580/b380/testlog.txt -test.paniconexit0 -test.v=true -test.parallel=4 -test.timeout=10m0s -test.run=^Test -test.short=true GOINSECURE GOMOD GOMODCACHE go env ck 'scripts/**/*GOINSECURE GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go (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 g/constants/consGOINSECURE g/constants/consGOMOD 64/bin/go GOINSECURE GOMOD GOMODCACHE ache/go/1.25.0/xGO111MODULE env 3076512/b354/_pkGOINSECURE GO111MODULE 64/bin/go GOINSECURE b/gh-aw/pkg/cli GOMODCACHE o fix."; \ exitGOPROXY (http block)

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

Original prompt

This section details on the original issue you should resolve

<issue_title>[plan] Add error return to MCPConfigProvider.RenderMCPConfig interface</issue_title>
<issue_description>## Objective

Update the MCPConfigProvider interface method RenderMCPConfig to return error, and update all four engine implementations and their callers accordingly, so errors from the underlying RenderJSONMCPConfig helper are not silently discarded.

Context

Identified in Sergo audit discussion github/gh-aw#17303. Currently RenderJSONMCPConfig always returns nil, so there is no active bug — but the interface design makes correct error propagation impossible. As the helper evolves, any future errors it returns will be silently swallowed by the _ = RenderJSONMCPConfig(...) pattern in all four engine implementations.

Locations to Update

File Role
pkg/workflow/agentic_engine.go:154 Interface declaration
pkg/workflow/agentic_engine.go:296 Base implementation
pkg/workflow/claude_mcp.go:12 Claude engine implementation
pkg/workflow/gemini_mcp.go:12 Gemini engine implementation
pkg/workflow/codex_mcp.go:13 Codex engine implementation
pkg/workflow/copilot_mcp.go:12 Copilot engine implementation

Plus all callers of RenderMCPConfig via the MCPConfigProvider interface.

Approach

1. Update the interface:

// Before
RenderMCPConfig(yaml *strings.Builder, tools map[string]any, mcpTools []string, workflowData *WorkflowData)

// After
RenderMCPConfig(yaml *strings.Builder, tools map[string]any, mcpTools []string, workflowData *WorkflowData) error

2. Update each engine implementation:

// Before
func (e *ClaudeEngine) RenderMCPConfig(...) {
    _ = RenderJSONMCPConfig(yaml, tools, mcpTools, workflowData, JSONMCPConfigOptions{...})
}

// After
func (e *ClaudeEngine) RenderMCPConfig(...) error {
    return RenderJSONMCPConfig(yaml, tools, mcpTools, workflowData, JSONMCPConfigOptions{...})
}

3. Update all callers to handle the returned error with proper error wrapping (%w).

Acceptance Criteria

  • Interface MCPConfigProvider.RenderMCPConfig returns error
  • All four engine implementations (Claude, Gemini, Codex, Copilot) return the error from RenderJSONMCPConfig
  • All callers check and propagate the returned error
  • go build ./... succeeds with no compile errors
  • go test ./pkg/workflow/... passes
  • make agent-finish passes

Generated by Plan Command for issue #discussion #17303

  • expires on Feb 23, 2026, 12:17 PM UTC

Comments on the Issue (you are @copilot in this section)


💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.

- Update MCPConfigProvider.RenderMCPConfig interface to return error
- Update BaseEngine.RenderMCPConfig default implementation to return nil
- Update ClaudeEngine, GeminiEngine, CopilotEngine to return error from RenderJSONMCPConfig
- Update CodexEngine to return error from RenderJSONMCPConfig
- Update generateMCPSetup to return error and propagate it
- Update compiler_yaml_main_job.go to handle error from generateMCPSetup
- Update all test files to handle the new error return values

Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Copilot AI changed the title [WIP] Update MCPConfigProvider.RenderMCPConfig to return error Add error return to MCPConfigProvider.RenderMCPConfig interface Feb 21, 2026
@pelikhan pelikhan marked this pull request as ready for review February 21, 2026 12:44
Copilot AI review requested due to automatic review settings February 21, 2026 12:44
@pelikhan pelikhan merged commit b6fb94c into main Feb 21, 2026
117 of 119 checks passed
@pelikhan pelikhan deleted the copilot/update-mcpconfigprovider-render-error branch February 21, 2026 12:46
Copy link
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 pull request adds error return handling to the MCPConfigProvider.RenderMCPConfig interface method to enable proper error propagation from the underlying RenderJSONMCPConfig helper function. While currently the helper always returns nil, this interface change prevents future errors from being silently discarded.

Changes:

  • Updated MCPConfigProvider interface and base implementation to return error
  • Modified all four engine implementations (Claude, Gemini, Copilot, Codex) to propagate errors instead of discarding them
  • Updated generateMCPSetup to return and propagate errors from RenderMCPConfig
  • Updated all test files to handle and verify the new error return

Reviewed changes

Copilot reviewed 14 out of 14 changed files in this pull request and generated no comments.

Show a summary per file
File Description
pkg/workflow/agentic_engine.go Interface method signature updated to return error; BaseEngine default implementation returns nil
pkg/workflow/claude_mcp.go Returns error from RenderJSONMCPConfig instead of discarding it
pkg/workflow/gemini_mcp.go Returns error from RenderJSONMCPConfig instead of discarding it
pkg/workflow/copilot_mcp.go Returns error from RenderJSONMCPConfig instead of discarding it
pkg/workflow/codex_mcp.go Returns error from RenderJSONMCPConfig instead of discarding it
pkg/workflow/mcp_setup_generator.go Function signature updated to return error; early exits return nil; final call propagates error
pkg/workflow/compiler_yaml_main_job.go Wraps and propagates error from generateMCPSetup with proper error context
pkg/workflow/tools_timeout_test.go Updated to check and fail on unexpected errors from RenderMCPConfig
pkg/workflow/mcp_setup_generator_test.go Updated to use require.NoError for error checking
pkg/workflow/mcp_api_key_masking_test.go Updated to use require.NoError for error checking
pkg/workflow/copilot_mcp_http_integration_test.go Updated to check and fail on unexpected errors from RenderMCPConfig
pkg/workflow/codex_engine_test.go Updated to check and fail on unexpected errors from RenderMCPConfig
pkg/workflow/agentic_workflow_test.go Updated to use require.NoError for error checking
pkg/workflow/agentic_engine_interfaces_test.go Updated to use require.NoError for error checking

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

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.

[plan] Add error return to MCPConfigProvider.RenderMCPConfig interface

3 participants