From 4ec71e22da166651386c299d3c5024e9bae3bc5e Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 6 Feb 2026 16:18:44 +0000 Subject: [PATCH 1/3] Initial plan From f45cd374d05d7f4c430261df9975b36c95374262 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 6 Feb 2026 16:30:55 +0000 Subject: [PATCH 2/3] Rename MCP server from agentic_workflows to agenticworkflows - Add AgenticWorkflowsMCPServerID constant to pkg/constants/constants.go - Update MCP server name in pkg/workflow/mcp_config_builtin.go - Update MCP server name in pkg/workflow/mcp_renderer.go - Update test files to use new constant and name - Recompile all workflow lock files with new MCP server name Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com> --- .github/workflows/agent-performance-analyzer.lock.yml | 2 +- .github/workflows/agent-persona-explorer.lock.yml | 2 +- .github/workflows/audit-workflows.lock.yml | 2 +- .github/workflows/cloclo.lock.yml | 2 +- .github/workflows/daily-cli-tools-tester.lock.yml | 2 +- .github/workflows/daily-firewall-report.lock.yml | 2 +- .github/workflows/daily-observability-report.lock.yml | 4 ++-- .github/workflows/daily-safe-output-optimizer.lock.yml | 2 +- .github/workflows/deep-report.lock.yml | 4 ++-- .github/workflows/dev-hawk.lock.yml | 2 +- .github/workflows/example-workflow-analyzer.lock.yml | 2 +- .github/workflows/mcp-inspector.lock.yml | 2 +- .github/workflows/metrics-collector.lock.yml | 2 +- .github/workflows/portfolio-analyst.lock.yml | 2 +- .github/workflows/prompt-clustering-analysis.lock.yml | 2 +- .github/workflows/python-data-charts.lock.yml | 2 +- .github/workflows/q.lock.yml | 2 +- .github/workflows/safe-output-health.lock.yml | 2 +- .github/workflows/security-review.lock.yml | 2 +- .github/workflows/smoke-claude.lock.yml | 2 +- .github/workflows/smoke-copilot.lock.yml | 2 +- .github/workflows/static-analysis-report.lock.yml | 2 +- .github/workflows/workflow-normalizer.lock.yml | 2 +- pkg/constants/constants.go | 3 +++ pkg/workflow/agentic_workflow_test.go | 5 +++-- pkg/workflow/importable_tools_test.go | 5 +++-- pkg/workflow/mcp_config_builtin.go | 6 +++--- pkg/workflow/mcp_config_refactor_test.go | 8 ++++---- pkg/workflow/mcp_renderer.go | 2 +- pkg/workflow/mcp_renderer_test.go | 8 +++++--- 30 files changed, 47 insertions(+), 40 deletions(-) diff --git a/.github/workflows/agent-performance-analyzer.lock.yml b/.github/workflows/agent-performance-analyzer.lock.yml index 18dafaff04e..b36cc0735ac 100644 --- a/.github/workflows/agent-performance-analyzer.lock.yml +++ b/.github/workflows/agent-performance-analyzer.lock.yml @@ -574,7 +574,7 @@ jobs: cat << MCPCONFIG_EOF | bash /opt/gh-aw/actions/start_mcp_gateway.sh { "mcpServers": { - "agentic_workflows": { + "agenticworkflows": { "type": "stdio", "container": "localhost/gh-aw:dev", "mounts": ["${{ github.workspace }}:${{ github.workspace }}:rw", "/tmp/gh-aw:/tmp/gh-aw:rw"], diff --git a/.github/workflows/agent-persona-explorer.lock.yml b/.github/workflows/agent-persona-explorer.lock.yml index 0728c32fb3c..c220e25daa4 100644 --- a/.github/workflows/agent-persona-explorer.lock.yml +++ b/.github/workflows/agent-persona-explorer.lock.yml @@ -468,7 +468,7 @@ jobs: cat << MCPCONFIG_EOF | bash /opt/gh-aw/actions/start_mcp_gateway.sh { "mcpServers": { - "agentic_workflows": { + "agenticworkflows": { "type": "stdio", "container": "localhost/gh-aw:dev", "mounts": ["${{ github.workspace }}:${{ github.workspace }}:rw", "/tmp/gh-aw:/tmp/gh-aw:rw"], diff --git a/.github/workflows/audit-workflows.lock.yml b/.github/workflows/audit-workflows.lock.yml index d1b569c307c..9ef6b2e2990 100644 --- a/.github/workflows/audit-workflows.lock.yml +++ b/.github/workflows/audit-workflows.lock.yml @@ -536,7 +536,7 @@ jobs: cat << MCPCONFIG_EOF | bash /opt/gh-aw/actions/start_mcp_gateway.sh { "mcpServers": { - "agentic_workflows": { + "agenticworkflows": { "container": "localhost/gh-aw:dev", "mounts": ["${{ github.workspace }}:${{ github.workspace }}:rw", "/tmp/gh-aw:/tmp/gh-aw:rw"], "args": ["-w", "${{ github.workspace }}"], diff --git a/.github/workflows/cloclo.lock.yml b/.github/workflows/cloclo.lock.yml index f7ccfffa904..41e9f82c94b 100644 --- a/.github/workflows/cloclo.lock.yml +++ b/.github/workflows/cloclo.lock.yml @@ -583,7 +583,7 @@ jobs: cat << MCPCONFIG_EOF | bash /opt/gh-aw/actions/start_mcp_gateway.sh { "mcpServers": { - "agentic_workflows": { + "agenticworkflows": { "container": "localhost/gh-aw:dev", "mounts": ["${{ github.workspace }}:${{ github.workspace }}:rw", "/tmp/gh-aw:/tmp/gh-aw:rw"], "args": ["-w", "${{ github.workspace }}"], diff --git a/.github/workflows/daily-cli-tools-tester.lock.yml b/.github/workflows/daily-cli-tools-tester.lock.yml index 242c462d358..e59ba9f08f5 100644 --- a/.github/workflows/daily-cli-tools-tester.lock.yml +++ b/.github/workflows/daily-cli-tools-tester.lock.yml @@ -471,7 +471,7 @@ jobs: cat << MCPCONFIG_EOF | bash /opt/gh-aw/actions/start_mcp_gateway.sh { "mcpServers": { - "agentic_workflows": { + "agenticworkflows": { "type": "stdio", "container": "localhost/gh-aw:dev", "mounts": ["${{ github.workspace }}:${{ github.workspace }}:rw", "/tmp/gh-aw:/tmp/gh-aw:rw"], diff --git a/.github/workflows/daily-firewall-report.lock.yml b/.github/workflows/daily-firewall-report.lock.yml index f1d178672a9..1d0dac7ccec 100644 --- a/.github/workflows/daily-firewall-report.lock.yml +++ b/.github/workflows/daily-firewall-report.lock.yml @@ -521,7 +521,7 @@ jobs: cat << MCPCONFIG_EOF | bash /opt/gh-aw/actions/start_mcp_gateway.sh { "mcpServers": { - "agentic_workflows": { + "agenticworkflows": { "type": "stdio", "container": "localhost/gh-aw:dev", "mounts": ["${{ github.workspace }}:${{ github.workspace }}:rw", "/tmp/gh-aw:/tmp/gh-aw:rw"], diff --git a/.github/workflows/daily-observability-report.lock.yml b/.github/workflows/daily-observability-report.lock.yml index 36516357b64..78b72ee5be8 100644 --- a/.github/workflows/daily-observability-report.lock.yml +++ b/.github/workflows/daily-observability-report.lock.yml @@ -524,7 +524,7 @@ jobs: inherit = "core" include_only = ["CODEX_API_KEY", "GH_AW_ASSETS_ALLOWED_EXTS", "GH_AW_ASSETS_BRANCH", "GH_AW_ASSETS_MAX_SIZE_KB", "GH_AW_SAFE_OUTPUTS", "GITHUB_PERSONAL_ACCESS_TOKEN", "GITHUB_REPOSITORY", "GITHUB_SERVER_URL", "GITHUB_TOKEN", "HOME", "OPENAI_API_KEY", "PATH"] - [mcp_servers.agentic_workflows] + [mcp_servers.agenticworkflows] container = "localhost/gh-aw:dev" mounts = ["${{ github.workspace }}:${{ github.workspace }}:rw", "/tmp/gh-aw:/tmp/gh-aw:rw"] env_vars = ["DEBUG", "GH_TOKEN", "GITHUB_TOKEN"] @@ -549,7 +549,7 @@ jobs: cat << MCPCONFIG_EOF | bash /opt/gh-aw/actions/start_mcp_gateway.sh { "mcpServers": { - "agentic_workflows": { + "agenticworkflows": { "container": "localhost/gh-aw:dev", "mounts": ["${{ github.workspace }}:${{ github.workspace }}:rw", "/tmp/gh-aw:/tmp/gh-aw:rw"], "args": ["-w", "${{ github.workspace }}"], diff --git a/.github/workflows/daily-safe-output-optimizer.lock.yml b/.github/workflows/daily-safe-output-optimizer.lock.yml index 1985386255d..8697c0c3d51 100644 --- a/.github/workflows/daily-safe-output-optimizer.lock.yml +++ b/.github/workflows/daily-safe-output-optimizer.lock.yml @@ -502,7 +502,7 @@ jobs: cat << MCPCONFIG_EOF | bash /opt/gh-aw/actions/start_mcp_gateway.sh { "mcpServers": { - "agentic_workflows": { + "agenticworkflows": { "container": "localhost/gh-aw:dev", "mounts": ["${{ github.workspace }}:${{ github.workspace }}:rw", "/tmp/gh-aw:/tmp/gh-aw:rw"], "args": ["-w", "${{ github.workspace }}"], diff --git a/.github/workflows/deep-report.lock.yml b/.github/workflows/deep-report.lock.yml index 2dac5d32407..53979ab8895 100644 --- a/.github/workflows/deep-report.lock.yml +++ b/.github/workflows/deep-report.lock.yml @@ -598,7 +598,7 @@ jobs: inherit = "core" include_only = ["CODEX_API_KEY", "GH_AW_ASSETS_ALLOWED_EXTS", "GH_AW_ASSETS_BRANCH", "GH_AW_ASSETS_MAX_SIZE_KB", "GH_AW_SAFE_OUTPUTS", "GITHUB_PERSONAL_ACCESS_TOKEN", "GITHUB_REPOSITORY", "GITHUB_SERVER_URL", "GITHUB_TOKEN", "HOME", "OPENAI_API_KEY", "PATH"] - [mcp_servers.agentic_workflows] + [mcp_servers.agenticworkflows] container = "localhost/gh-aw:dev" mounts = ["${{ github.workspace }}:${{ github.workspace }}:rw", "/tmp/gh-aw:/tmp/gh-aw:rw"] env_vars = ["DEBUG", "GH_TOKEN", "GITHUB_TOKEN"] @@ -623,7 +623,7 @@ jobs: cat << MCPCONFIG_EOF | bash /opt/gh-aw/actions/start_mcp_gateway.sh { "mcpServers": { - "agentic_workflows": { + "agenticworkflows": { "container": "localhost/gh-aw:dev", "mounts": ["${{ github.workspace }}:${{ github.workspace }}:rw", "/tmp/gh-aw:/tmp/gh-aw:rw"], "args": ["-w", "${{ github.workspace }}"], diff --git a/.github/workflows/dev-hawk.lock.yml b/.github/workflows/dev-hawk.lock.yml index e847c4c14c2..cc8511bfe47 100644 --- a/.github/workflows/dev-hawk.lock.yml +++ b/.github/workflows/dev-hawk.lock.yml @@ -442,7 +442,7 @@ jobs: cat << MCPCONFIG_EOF | bash /opt/gh-aw/actions/start_mcp_gateway.sh { "mcpServers": { - "agentic_workflows": { + "agenticworkflows": { "type": "stdio", "container": "localhost/gh-aw:dev", "mounts": ["${{ github.workspace }}:${{ github.workspace }}:rw", "/tmp/gh-aw:/tmp/gh-aw:rw"], diff --git a/.github/workflows/example-workflow-analyzer.lock.yml b/.github/workflows/example-workflow-analyzer.lock.yml index 9c267e093db..18a329072b0 100644 --- a/.github/workflows/example-workflow-analyzer.lock.yml +++ b/.github/workflows/example-workflow-analyzer.lock.yml @@ -459,7 +459,7 @@ jobs: cat << MCPCONFIG_EOF | bash /opt/gh-aw/actions/start_mcp_gateway.sh { "mcpServers": { - "agentic_workflows": { + "agenticworkflows": { "container": "localhost/gh-aw:dev", "mounts": ["${{ github.workspace }}:${{ github.workspace }}:rw", "/tmp/gh-aw:/tmp/gh-aw:rw"], "args": ["-w", "${{ github.workspace }}"], diff --git a/.github/workflows/mcp-inspector.lock.yml b/.github/workflows/mcp-inspector.lock.yml index cac09b7fe50..76fcfcda567 100644 --- a/.github/workflows/mcp-inspector.lock.yml +++ b/.github/workflows/mcp-inspector.lock.yml @@ -536,7 +536,7 @@ jobs: cat << MCPCONFIG_EOF | bash /opt/gh-aw/actions/start_mcp_gateway.sh { "mcpServers": { - "agentic_workflows": { + "agenticworkflows": { "type": "stdio", "container": "localhost/gh-aw:dev", "mounts": ["${{ github.workspace }}:${{ github.workspace }}:rw", "/tmp/gh-aw:/tmp/gh-aw:rw"], diff --git a/.github/workflows/metrics-collector.lock.yml b/.github/workflows/metrics-collector.lock.yml index edd31d8e7e5..633addca83a 100644 --- a/.github/workflows/metrics-collector.lock.yml +++ b/.github/workflows/metrics-collector.lock.yml @@ -239,7 +239,7 @@ jobs: cat << MCPCONFIG_EOF | bash /opt/gh-aw/actions/start_mcp_gateway.sh { "mcpServers": { - "agentic_workflows": { + "agenticworkflows": { "type": "stdio", "container": "localhost/gh-aw:dev", "mounts": ["${{ github.workspace }}:${{ github.workspace }}:rw", "/tmp/gh-aw:/tmp/gh-aw:rw"], diff --git a/.github/workflows/portfolio-analyst.lock.yml b/.github/workflows/portfolio-analyst.lock.yml index 7a52526dd1e..6adf69423ba 100644 --- a/.github/workflows/portfolio-analyst.lock.yml +++ b/.github/workflows/portfolio-analyst.lock.yml @@ -528,7 +528,7 @@ jobs: cat << MCPCONFIG_EOF | bash /opt/gh-aw/actions/start_mcp_gateway.sh { "mcpServers": { - "agentic_workflows": { + "agenticworkflows": { "type": "stdio", "container": "localhost/gh-aw:dev", "mounts": ["${{ github.workspace }}:${{ github.workspace }}:rw", "/tmp/gh-aw:/tmp/gh-aw:rw"], diff --git a/.github/workflows/prompt-clustering-analysis.lock.yml b/.github/workflows/prompt-clustering-analysis.lock.yml index 6e55702fb05..2fe4d1865da 100644 --- a/.github/workflows/prompt-clustering-analysis.lock.yml +++ b/.github/workflows/prompt-clustering-analysis.lock.yml @@ -526,7 +526,7 @@ jobs: cat << MCPCONFIG_EOF | bash /opt/gh-aw/actions/start_mcp_gateway.sh { "mcpServers": { - "agentic_workflows": { + "agenticworkflows": { "container": "localhost/gh-aw:dev", "mounts": ["${{ github.workspace }}:${{ github.workspace }}:rw", "/tmp/gh-aw:/tmp/gh-aw:rw"], "args": ["-w", "${{ github.workspace }}"], diff --git a/.github/workflows/python-data-charts.lock.yml b/.github/workflows/python-data-charts.lock.yml index 5fb9006e50e..ea8a41f546d 100644 --- a/.github/workflows/python-data-charts.lock.yml +++ b/.github/workflows/python-data-charts.lock.yml @@ -516,7 +516,7 @@ jobs: cat << MCPCONFIG_EOF | bash /opt/gh-aw/actions/start_mcp_gateway.sh { "mcpServers": { - "agentic_workflows": { + "agenticworkflows": { "type": "stdio", "container": "localhost/gh-aw:dev", "mounts": ["${{ github.workspace }}:${{ github.workspace }}:rw", "/tmp/gh-aw:/tmp/gh-aw:rw"], diff --git a/.github/workflows/q.lock.yml b/.github/workflows/q.lock.yml index 1ad33fa0228..e782c649d10 100644 --- a/.github/workflows/q.lock.yml +++ b/.github/workflows/q.lock.yml @@ -565,7 +565,7 @@ jobs: cat << MCPCONFIG_EOF | bash /opt/gh-aw/actions/start_mcp_gateway.sh { "mcpServers": { - "agentic_workflows": { + "agenticworkflows": { "type": "stdio", "container": "localhost/gh-aw:dev", "mounts": ["${{ github.workspace }}:${{ github.workspace }}:rw", "/tmp/gh-aw:/tmp/gh-aw:rw"], diff --git a/.github/workflows/safe-output-health.lock.yml b/.github/workflows/safe-output-health.lock.yml index e7ccba655d9..f78d33e817d 100644 --- a/.github/workflows/safe-output-health.lock.yml +++ b/.github/workflows/safe-output-health.lock.yml @@ -478,7 +478,7 @@ jobs: cat << MCPCONFIG_EOF | bash /opt/gh-aw/actions/start_mcp_gateway.sh { "mcpServers": { - "agentic_workflows": { + "agenticworkflows": { "container": "localhost/gh-aw:dev", "mounts": ["${{ github.workspace }}:${{ github.workspace }}:rw", "/tmp/gh-aw:/tmp/gh-aw:rw"], "args": ["-w", "${{ github.workspace }}"], diff --git a/.github/workflows/security-review.lock.yml b/.github/workflows/security-review.lock.yml index 2de6cf7f3fc..887960bb93e 100644 --- a/.github/workflows/security-review.lock.yml +++ b/.github/workflows/security-review.lock.yml @@ -556,7 +556,7 @@ jobs: cat << MCPCONFIG_EOF | bash /opt/gh-aw/actions/start_mcp_gateway.sh { "mcpServers": { - "agentic_workflows": { + "agenticworkflows": { "type": "stdio", "container": "localhost/gh-aw:dev", "mounts": ["${{ github.workspace }}:${{ github.workspace }}:rw", "/tmp/gh-aw:/tmp/gh-aw:rw"], diff --git a/.github/workflows/smoke-claude.lock.yml b/.github/workflows/smoke-claude.lock.yml index cabb94e5162..c88f5708fe6 100644 --- a/.github/workflows/smoke-claude.lock.yml +++ b/.github/workflows/smoke-claude.lock.yml @@ -1160,7 +1160,7 @@ jobs: cat << MCPCONFIG_EOF | bash /opt/gh-aw/actions/start_mcp_gateway.sh { "mcpServers": { - "agentic_workflows": { + "agenticworkflows": { "container": "localhost/gh-aw:dev", "mounts": ["${{ github.workspace }}:${{ github.workspace }}:rw", "/tmp/gh-aw:/tmp/gh-aw:rw"], "args": ["-w", "${{ github.workspace }}"], diff --git a/.github/workflows/smoke-copilot.lock.yml b/.github/workflows/smoke-copilot.lock.yml index 526af9a5978..e8ed1804b63 100644 --- a/.github/workflows/smoke-copilot.lock.yml +++ b/.github/workflows/smoke-copilot.lock.yml @@ -1148,7 +1148,7 @@ jobs: cat << MCPCONFIG_EOF | bash /opt/gh-aw/actions/start_mcp_gateway.sh { "mcpServers": { - "agentic_workflows": { + "agenticworkflows": { "type": "stdio", "container": "localhost/gh-aw:dev", "mounts": ["${{ github.workspace }}:${{ github.workspace }}:rw", "/tmp/gh-aw:/tmp/gh-aw:rw"], diff --git a/.github/workflows/static-analysis-report.lock.yml b/.github/workflows/static-analysis-report.lock.yml index d0859cf463e..183b928d2a1 100644 --- a/.github/workflows/static-analysis-report.lock.yml +++ b/.github/workflows/static-analysis-report.lock.yml @@ -477,7 +477,7 @@ jobs: cat << MCPCONFIG_EOF | bash /opt/gh-aw/actions/start_mcp_gateway.sh { "mcpServers": { - "agentic_workflows": { + "agenticworkflows": { "container": "localhost/gh-aw:dev", "mounts": ["${{ github.workspace }}:${{ github.workspace }}:rw", "/tmp/gh-aw:/tmp/gh-aw:rw"], "args": ["-w", "${{ github.workspace }}"], diff --git a/.github/workflows/workflow-normalizer.lock.yml b/.github/workflows/workflow-normalizer.lock.yml index 8a1d6f1c3fa..331e4528358 100644 --- a/.github/workflows/workflow-normalizer.lock.yml +++ b/.github/workflows/workflow-normalizer.lock.yml @@ -475,7 +475,7 @@ jobs: cat << MCPCONFIG_EOF | bash /opt/gh-aw/actions/start_mcp_gateway.sh { "mcpServers": { - "agentic_workflows": { + "agenticworkflows": { "type": "stdio", "container": "localhost/gh-aw:dev", "mounts": ["${{ github.workspace }}:${{ github.workspace }}:rw", "/tmp/gh-aw:/tmp/gh-aw:rw"], diff --git a/pkg/constants/constants.go b/pkg/constants/constants.go index 740ceeff73f..e288bd03148 100644 --- a/pkg/constants/constants.go +++ b/pkg/constants/constants.go @@ -541,6 +541,9 @@ const SafeInputsMCPServerID = "safeinputs" // SafeInputsMCPVersion is the version of the safe-inputs MCP server const SafeInputsMCPVersion = "1.0.0" +// AgenticWorkflowsMCPServerID is the identifier for the agentic-workflows MCP server +const AgenticWorkflowsMCPServerID = "agenticworkflows" + // Feature flag identifiers const ( // SafeInputsFeatureFlag is the name of the feature flag for safe-inputs diff --git a/pkg/workflow/agentic_workflow_test.go b/pkg/workflow/agentic_workflow_test.go index a59d309292d..1d14afda088 100644 --- a/pkg/workflow/agentic_workflow_test.go +++ b/pkg/workflow/agentic_workflow_test.go @@ -6,6 +6,7 @@ import ( "strings" "testing" + "github.com/github/gh-aw/pkg/constants" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" ) @@ -121,8 +122,8 @@ func TestAgenticWorkflowsMCPConfigGeneration(t *testing.T) { result := yaml.String() // Verify the MCP config contains agentic-workflows - assert.Contains(t, result, "agentic_workflows", - "%s engine should generate MCP config with agentic_workflows server name", e.name) + assert.Contains(t, result, constants.AgenticWorkflowsMCPServerID, + "%s engine should generate MCP config with agenticworkflows server name", e.name) assert.Contains(t, result, "gh", "%s engine MCP config should use gh CLI command for agentic-workflows", e.name) assert.Contains(t, result, "mcp-server", diff --git a/pkg/workflow/importable_tools_test.go b/pkg/workflow/importable_tools_test.go index 30bb95abd82..b818e1486f7 100644 --- a/pkg/workflow/importable_tools_test.go +++ b/pkg/workflow/importable_tools_test.go @@ -8,6 +8,7 @@ import ( "strings" "testing" + "github.com/github/gh-aw/pkg/constants" "github.com/github/gh-aw/pkg/stringutil" "github.com/github/gh-aw/pkg/testutil" @@ -228,7 +229,7 @@ Uses imported agentic-workflows tool. workflowData := string(lockFileContent) - // Verify containerized agentic_workflows server is present (per MCP Gateway Specification v1.0.0) + // Verify containerized agenticworkflows server is present (per MCP Gateway Specification v1.0.0) // In dev mode, no entrypoint or entrypointArgs (uses container's defaults) if strings.Contains(workflowData, `"entrypointArgs"`) { t.Error("Did not expect entrypointArgs field in dev mode (uses container's CMD)") @@ -342,7 +343,7 @@ Uses all imported tools. t.Error("Expected compiled workflow to contain serena tool") } // Per MCP Gateway Specification v1.0.0, agentic-workflows uses containerized format - if !strings.Contains(workflowData, `"agentic_workflows"`) { + if !strings.Contains(workflowData, `"`+constants.AgenticWorkflowsMCPServerID+`"`) { t.Error("Expected compiled workflow to contain agentic-workflows tool") } diff --git a/pkg/workflow/mcp_config_builtin.go b/pkg/workflow/mcp_config_builtin.go index 10753adee7e..e7f41029db1 100644 --- a/pkg/workflow/mcp_config_builtin.go +++ b/pkg/workflow/mcp_config_builtin.go @@ -83,7 +83,7 @@ // Example agentic-workflows config: // // { -// "agentic_workflows": { +// "agenticworkflows": { // "type": "stdio", // "container": "alpine:3.20", // "entrypoint": "/opt/gh-aw/gh-aw", @@ -170,7 +170,7 @@ func renderAgenticWorkflowsMCPConfigWithOptions(yaml *strings.Builder, isLast bo } // Use MCP Gateway spec format with container, entrypoint, entrypointArgs, and mounts - yaml.WriteString(" \"agentic_workflows\": {\n") + yaml.WriteString(" \"" + constants.AgenticWorkflowsMCPServerID + "\": {\n") // Add type field for Copilot (per MCP Gateway Specification v1.0.0, use "stdio" for containerized servers) if includeCopilotFields { @@ -286,7 +286,7 @@ func renderSafeOutputsMCPConfigTOML(yaml *strings.Builder) { // Uses MCP Gateway spec format: container, entrypoint, entrypointArgs, and mounts fields. func renderAgenticWorkflowsMCPConfigTOML(yaml *strings.Builder, actionMode ActionMode) { yaml.WriteString(" \n") - yaml.WriteString(" [mcp_servers.agentic_workflows]\n") + yaml.WriteString(" [mcp_servers." + constants.AgenticWorkflowsMCPServerID + "]\n") containerImage := constants.DefaultAlpineImage var entrypoint string diff --git a/pkg/workflow/mcp_config_refactor_test.go b/pkg/workflow/mcp_config_refactor_test.go index 34fe326f87a..95509bae691 100644 --- a/pkg/workflow/mcp_config_refactor_test.go +++ b/pkg/workflow/mcp_config_refactor_test.go @@ -103,7 +103,7 @@ func TestRenderAgenticWorkflowsMCPConfigWithOptions(t *testing.T) { includeCopilotFields: true, actionMode: ActionModeDev, expectedContent: []string{ - `"agentic_workflows": {`, + `"agenticworkflows": {`, `"type": "stdio"`, `"container": "localhost/gh-aw:dev"`, // Dev mode uses locally built image `"${{ github.workspace }}:${{ github.workspace }}:rw"`, // workspace mount (read-write) @@ -129,7 +129,7 @@ func TestRenderAgenticWorkflowsMCPConfigWithOptions(t *testing.T) { includeCopilotFields: true, actionMode: ActionModeRelease, expectedContent: []string{ - `"agentic_workflows": {`, + `"agenticworkflows": {`, `"type": "stdio"`, `"container": "alpine:latest"`, `"entrypoint": "/opt/gh-aw/gh-aw"`, @@ -155,7 +155,7 @@ func TestRenderAgenticWorkflowsMCPConfigWithOptions(t *testing.T) { includeCopilotFields: false, actionMode: ActionModeDev, expectedContent: []string{ - `"agentic_workflows": {`, + `"agenticworkflows": {`, `"container": "localhost/gh-aw:dev"`, // Dev mode uses locally built image `"${{ github.workspace }}:${{ github.workspace }}:rw"`, // workspace mount (read-write) `"/tmp/gh-aw:/tmp/gh-aw:rw"`, // temp directory mount (read-write) @@ -300,7 +300,7 @@ func TestRenderAgenticWorkflowsMCPConfigTOML(t *testing.T) { result := output.String() expectedContent := []string{ - `[mcp_servers.agentic_workflows]`, + `[mcp_servers.agenticworkflows]`, tt.expectedContainer, `args = ["-w", "${{ github.workspace }}"]`, // Docker working directory `env_vars = ["DEBUG", "GITHUB_TOKEN"]`, diff --git a/pkg/workflow/mcp_renderer.go b/pkg/workflow/mcp_renderer.go index 90acfed0dd3..ac89743a75a 100644 --- a/pkg/workflow/mcp_renderer.go +++ b/pkg/workflow/mcp_renderer.go @@ -412,7 +412,7 @@ func (r *MCPConfigRendererUnified) RenderAgenticWorkflowsMCP(yaml *strings.Build // Per MCP Gateway Specification v1.0.0 section 3.2.1, stdio-based MCP servers MUST be containerized. func (r *MCPConfigRendererUnified) renderAgenticWorkflowsTOML(yaml *strings.Builder) { yaml.WriteString(" \n") - yaml.WriteString(" [mcp_servers.agentic_workflows]\n") + yaml.WriteString(" [mcp_servers." + constants.AgenticWorkflowsMCPServerID + "]\n") containerImage := constants.DefaultAlpineImage var entrypoint string diff --git a/pkg/workflow/mcp_renderer_test.go b/pkg/workflow/mcp_renderer_test.go index 0cbd6abbd7f..a5561e08546 100644 --- a/pkg/workflow/mcp_renderer_test.go +++ b/pkg/workflow/mcp_renderer_test.go @@ -5,6 +5,8 @@ package workflow import ( "strings" "testing" + + "github.com/github/gh-aw/pkg/constants" ) func TestNewMCPConfigRenderer(t *testing.T) { @@ -181,8 +183,8 @@ func TestRenderAgenticWorkflowsMCP_JSON_Copilot(t *testing.T) { if !strings.Contains(output, `"type": "stdio"`) { t.Error("Expected 'type': 'stdio' field per MCP Gateway Specification") } - if !strings.Contains(output, `"agentic_workflows": {`) { - t.Error("Expected agentic_workflows server ID") + if !strings.Contains(output, `"`+constants.AgenticWorkflowsMCPServerID+`": {`) { + t.Error("Expected agenticworkflows server ID") } // Per MCP Gateway Specification v1.0.0, stdio servers MUST use container format // In dev mode, should use locally built image @@ -255,7 +257,7 @@ func TestRenderAgenticWorkflowsMCP_TOML(t *testing.T) { output := yaml.String() // Verify TOML format (per MCP Gateway Specification v1.0.0) - if !strings.Contains(output, "[mcp_servers.agentic_workflows]") { + if !strings.Contains(output, "[mcp_servers."+constants.AgenticWorkflowsMCPServerID+"]") { t.Error("Expected TOML section header") } // Per MCP Gateway Specification v1.0.0, stdio servers MUST use container format From 1dc4997e65fbcc996b464ae8e557ab05ab0b8d5f Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 6 Feb 2026 16:38:00 +0000 Subject: [PATCH 3/3] Complete validation: all tests pass, workflows recompiled - Build successful - All unit tests passing - All 146 workflows compiled successfully - Linting and formatting checks passed Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com> --- docs/src/content/docs/agent-factory-status.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/src/content/docs/agent-factory-status.mdx b/docs/src/content/docs/agent-factory-status.mdx index 9ded2e36140..2d66565b11c 100644 --- a/docs/src/content/docs/agent-factory-status.mdx +++ b/docs/src/content/docs/agent-factory-status.mdx @@ -44,6 +44,7 @@ These are experimental agentic workflows used by the GitHub Next team to learn, | [Copilot Session Insights](https://github.com/github/gh-aw/blob/main/.github/workflows/copilot-session-insights.md) | claude | [![Copilot Session Insights](https://github.com/github/gh-aw/actions/workflows/copilot-session-insights.lock.yml/badge.svg)](https://github.com/github/gh-aw/actions/workflows/copilot-session-insights.lock.yml) | - | - | | [Daily Choice Type Test](https://github.com/github/gh-aw/blob/main/.github/workflows/daily-choice-test.md) | claude | [![Daily Choice Type Test](https://github.com/github/gh-aw/actions/workflows/daily-choice-test.lock.yml/badge.svg)](https://github.com/github/gh-aw/actions/workflows/daily-choice-test.lock.yml) | `0 12 * * 1-5` | - | | [Daily CLI Performance Agent](https://github.com/github/gh-aw/blob/main/.github/workflows/daily-cli-performance.md) | copilot | [![Daily CLI Performance Agent](https://github.com/github/gh-aw/actions/workflows/daily-cli-performance.lock.yml/badge.svg)](https://github.com/github/gh-aw/actions/workflows/daily-cli-performance.lock.yml) | - | - | +| [Daily CLI Tools Exploratory Tester](https://github.com/github/gh-aw/blob/main/.github/workflows/daily-cli-tools-tester.md) | copilot | [![Daily CLI Tools Exploratory Tester](https://github.com/github/gh-aw/actions/workflows/daily-cli-tools-tester.lock.yml/badge.svg)](https://github.com/github/gh-aw/actions/workflows/daily-cli-tools-tester.lock.yml) | - | - | | [Daily Code Metrics and Trend Tracking Agent](https://github.com/github/gh-aw/blob/main/.github/workflows/daily-code-metrics.md) | claude | [![Daily Code Metrics and Trend Tracking Agent](https://github.com/github/gh-aw/actions/workflows/daily-code-metrics.lock.yml/badge.svg)](https://github.com/github/gh-aw/actions/workflows/daily-code-metrics.lock.yml) | - | - | | [Daily Compiler Quality Check](https://github.com/github/gh-aw/blob/main/.github/workflows/daily-compiler-quality.md) | copilot | [![Daily Compiler Quality Check](https://github.com/github/gh-aw/actions/workflows/daily-compiler-quality.lock.yml/badge.svg)](https://github.com/github/gh-aw/actions/workflows/daily-compiler-quality.lock.yml) | - | - | | [Daily Copilot PR Merged Report](https://github.com/github/gh-aw/blob/main/.github/workflows/copilot-pr-merged-report.md) | copilot | [![Daily Copilot PR Merged Report](https://github.com/github/gh-aw/actions/workflows/copilot-pr-merged-report.lock.yml/badge.svg)](https://github.com/github/gh-aw/actions/workflows/copilot-pr-merged-report.lock.yml) | `0 15 * * 1-5` | - | @@ -121,7 +122,6 @@ These are experimental agentic workflows used by the GitHub Next team to learn, | [Schema Consistency Checker](https://github.com/github/gh-aw/blob/main/.github/workflows/schema-consistency-checker.md) | claude | [![Schema Consistency Checker](https://github.com/github/gh-aw/actions/workflows/schema-consistency-checker.lock.yml/badge.svg)](https://github.com/github/gh-aw/actions/workflows/schema-consistency-checker.lock.yml) | - | - | | [Scout](https://github.com/github/gh-aw/blob/main/.github/workflows/scout.md) | claude | [![Scout](https://github.com/github/gh-aw/actions/workflows/scout.lock.yml/badge.svg)](https://github.com/github/gh-aw/actions/workflows/scout.lock.yml) | - | `/scout` | | [Security Compliance Campaign](https://github.com/github/gh-aw/blob/main/.github/workflows/security-compliance.md) | copilot | [![Security Compliance Campaign](https://github.com/github/gh-aw/actions/workflows/security-compliance.lock.yml/badge.svg)](https://github.com/github/gh-aw/actions/workflows/security-compliance.lock.yml) | - | - | -| [Security Fix PR](https://github.com/github/gh-aw/blob/main/.github/workflows/security-fix-pr.md) | copilot | [![Security Fix PR](https://github.com/github/gh-aw/actions/workflows/security-fix-pr.lock.yml/badge.svg)](https://github.com/github/gh-aw/actions/workflows/security-fix-pr.lock.yml) | - | - | | [Security Guard Agent 🛡️](https://github.com/github/gh-aw/blob/main/.github/workflows/security-guard.md) | copilot | [![Security Guard Agent 🛡️](https://github.com/github/gh-aw/actions/workflows/security-guard.lock.yml/badge.svg)](https://github.com/github/gh-aw/actions/workflows/security-guard.lock.yml) | - | - | | [Security Review Agent 🔒](https://github.com/github/gh-aw/blob/main/.github/workflows/security-review.md) | copilot | [![Security Review Agent 🔒](https://github.com/github/gh-aw/actions/workflows/security-review.lock.yml/badge.svg)](https://github.com/github/gh-aw/actions/workflows/security-review.lock.yml) | - | `/security` | | [Semantic Function Refactoring](https://github.com/github/gh-aw/blob/main/.github/workflows/semantic-function-refactor.md) | claude | [![Semantic Function Refactoring](https://github.com/github/gh-aw/actions/workflows/semantic-function-refactor.lock.yml/badge.svg)](https://github.com/github/gh-aw/actions/workflows/semantic-function-refactor.lock.yml) | - | - |