Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/agent-performance-analyzer.lock.yml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion .github/workflows/agent-persona-explorer.lock.yml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion .github/workflows/audit-workflows.lock.yml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion .github/workflows/cloclo.lock.yml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion .github/workflows/daily-cli-tools-tester.lock.yml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion .github/workflows/daily-firewall-report.lock.yml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions .github/workflows/daily-observability-report.lock.yml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion .github/workflows/daily-safe-output-optimizer.lock.yml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions .github/workflows/deep-report.lock.yml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion .github/workflows/dev-hawk.lock.yml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion .github/workflows/example-workflow-analyzer.lock.yml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion .github/workflows/mcp-inspector.lock.yml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion .github/workflows/metrics-collector.lock.yml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion .github/workflows/portfolio-analyst.lock.yml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion .github/workflows/prompt-clustering-analysis.lock.yml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion .github/workflows/python-data-charts.lock.yml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion .github/workflows/q.lock.yml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion .github/workflows/safe-output-health.lock.yml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion .github/workflows/security-review.lock.yml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion .github/workflows/smoke-claude.lock.yml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion .github/workflows/smoke-copilot.lock.yml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion .github/workflows/static-analysis-report.lock.yml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion .github/workflows/workflow-normalizer.lock.yml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion docs/src/content/docs/agent-factory-status.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -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) | - | - |
Copy link

Copilot AI Feb 6, 2026

Choose a reason for hiding this comment

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

This PR’s stated purpose is renaming the MCP server identifier, but this doc change also adds a new workflow entry and removes the “Security Fix PR” entry. If these are intentional, it would help to mention them in the PR description; otherwise, consider moving them to a separate PR to keep the rename change isolated.

Copilot uses AI. Check for mistakes.
| [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` | - |
Expand Down Expand Up @@ -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) | - | - |
Comment on lines 124 to 125
Copy link

Copilot AI Feb 6, 2026

Choose a reason for hiding this comment

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

This PR’s stated purpose is renaming the MCP server identifier, but this doc change also adds a new workflow entry and removes the “Security Fix PR” entry. If these are intentional, it would help to mention them in the PR description; otherwise, consider moving them to a separate PR to keep the rename change isolated.

Copilot uses AI. Check for mistakes.
| [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) | - | - |
Expand Down
3 changes: 3 additions & 0 deletions pkg/constants/constants.go
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
5 changes: 3 additions & 2 deletions pkg/workflow/agentic_workflow_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ import (
"strings"
"testing"

"github.com/github/gh-aw/pkg/constants"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
)
Expand Down Expand Up @@ -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",
Expand Down
5 changes: 3 additions & 2 deletions pkg/workflow/importable_tools_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -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"
Expand Down Expand Up @@ -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)")
Expand Down Expand Up @@ -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")
}

Expand Down
6 changes: 3 additions & 3 deletions pkg/workflow/mcp_config_builtin.go
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,7 @@
// Example agentic-workflows config:
//
// {
// "agentic_workflows": {
// "agenticworkflows": {
// "type": "stdio",
// "container": "alpine:3.20",
// "entrypoint": "/opt/gh-aw/gh-aw",
Expand Down Expand Up @@ -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 {
Expand Down Expand Up @@ -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
Expand Down
Loading
Loading