diff --git a/.github/workflows/agent-performance-analyzer.lock.yml b/.github/workflows/agent-performance-analyzer.lock.yml
index 88ace9fded3..6096df28538 100644
--- a/.github/workflows/agent-performance-analyzer.lock.yml
+++ b/.github/workflows/agent-performance-analyzer.lock.yml
@@ -1,4 +1,4 @@
-# gh-aw-metadata: {"schema_version":"v4","frontmatter_hash":"46f3e7ea0dcf340b03d0184fca46d292af9a6b41fe705c70c6d8c37830d49b87","body_hash":"19e16e74e8f6d860a7b85c3d685a6c5d7a985b29e0270975d1cae6bc8f175712","strict":true,"agent_id":"copilot","engine_versions":{"copilot":"1.0.60","copilot-sdk":"1.0.0"}}
+# gh-aw-metadata: {"schema_version":"v4","frontmatter_hash":"46f3e7ea0dcf340b03d0184fca46d292af9a6b41fe705c70c6d8c37830d49b87","body_hash":"6512aa78d584595ac0838c49bb2f70b3ef676213326662eb2abbae0805dc673b","strict":true,"agent_id":"copilot","engine_versions":{"copilot":"1.0.60","copilot-sdk":"1.0.0"}}
# gh-aw-manifest: {"version":1,"secrets":["GH_AW_GITHUB_MCP_SERVER_TOKEN","GH_AW_GITHUB_TOKEN","GH_AW_OTEL_GRAFANA_AUTHORIZATION","GH_AW_OTEL_GRAFANA_ENDPOINT","GH_AW_OTEL_SENTRY_AUTHORIZATION","GH_AW_OTEL_SENTRY_ENDPOINT","GITHUB_TOKEN"],"actions":[{"repo":"actions/cache/restore","sha":"27d5ce7f107fe9357f9df03efb73ab90386fccae","version":"v5.0.5"},{"repo":"actions/cache/save","sha":"27d5ce7f107fe9357f9df03efb73ab90386fccae","version":"v5.0.5"},{"repo":"actions/checkout","sha":"df4cb1c069e1874edd31b4311f1884172cec0e10","version":"v6.0.3"},{"repo":"actions/download-artifact","sha":"3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c","version":"v8.0.1"},{"repo":"actions/github-script","sha":"3a2844b7e9c422d3c10d287c895573f7108da1b3","version":"v9.0.0"},{"repo":"actions/setup-go","sha":"4a3601121dd01d1626a1e23e37211e3254c1c06c","version":"v6.4.0"},{"repo":"actions/setup-node","sha":"48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e","version":"v6.4.0"},{"repo":"actions/upload-artifact","sha":"043fb46d1a93c77aae656e7c1c64a875d1fc6a0a","version":"v7.0.1"},{"repo":"docker/build-push-action","sha":"f9f3042f7e2789586610d6e8b85c8f03e5195baf","version":"v7.2.0"},{"repo":"docker/setup-buildx-action","sha":"d7f5e7f509e45cec5c76c4d5afdd7de93d0b3df5","version":"v4.1.0"}],"containers":[{"image":"ghcr.io/github/gh-aw-firewall/agent:0.27.2","digest":"sha256:f88e5b17b6b7a600117bc121114d6ce2155c88c983c0c939c5df884f730fa1d6","pinned_image":"ghcr.io/github/gh-aw-firewall/agent:0.27.2@sha256:f88e5b17b6b7a600117bc121114d6ce2155c88c983c0c939c5df884f730fa1d6"},{"image":"ghcr.io/github/gh-aw-firewall/api-proxy:0.27.2","digest":"sha256:ee39841d980878ebbb87592903b06d31a1af500c71525c9616f7e8e2a27041a4","pinned_image":"ghcr.io/github/gh-aw-firewall/api-proxy:0.27.2@sha256:ee39841d980878ebbb87592903b06d31a1af500c71525c9616f7e8e2a27041a4"},{"image":"ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.2","digest":"sha256:02f3ec08f32dc26c5427920c6a2e2f3036238fce44802f2f11ef49ed8621b5d0","pinned_image":"ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.2@sha256:02f3ec08f32dc26c5427920c6a2e2f3036238fce44802f2f11ef49ed8621b5d0"},{"image":"ghcr.io/github/gh-aw-firewall/squid:0.27.2","digest":"sha256:2e3a717e5f19a654cd9a2263beb52012b56bcb68562ec5ae2e42f9d156b49591","pinned_image":"ghcr.io/github/gh-aw-firewall/squid:0.27.2@sha256:2e3a717e5f19a654cd9a2263beb52012b56bcb68562ec5ae2e42f9d156b49591"},{"image":"ghcr.io/github/gh-aw-mcpg:v0.3.25","digest":"sha256:c10331ad17668ef89f38f5e356678788a40b0cd5fef96e8f92e1d9c1de47cbaa","pinned_image":"ghcr.io/github/gh-aw-mcpg:v0.3.25@sha256:c10331ad17668ef89f38f5e356678788a40b0cd5fef96e8f92e1d9c1de47cbaa"},{"image":"ghcr.io/github/github-mcp-server:v1.1.2","digest":"sha256:30197479d8036c7811892bc07e06f9a05c9ef3cdd79bc59f256d50647f95788c","pinned_image":"ghcr.io/github/github-mcp-server:v1.1.2@sha256:30197479d8036c7811892bc07e06f9a05c9ef3cdd79bc59f256d50647f95788c"}]}
# This file was automatically generated by gh-aw. DO NOT EDIT. To debug this workflow, load the skill at https://github.com/github/gh-aw/blob/main/debug.md
#
diff --git a/.github/workflows/agent-persona-explorer.lock.yml b/.github/workflows/agent-persona-explorer.lock.yml
index 73ca22868e6..5c795c2247b 100644
--- a/.github/workflows/agent-persona-explorer.lock.yml
+++ b/.github/workflows/agent-persona-explorer.lock.yml
@@ -1,4 +1,4 @@
-# gh-aw-metadata: {"schema_version":"v4","frontmatter_hash":"629ed7e00fec91181d992879919c820de3edb7f7fcce47972b810dfd3c43c8ac","body_hash":"a4f85a8089bdb5f739ae612b04615c1360dec7817e3350094f5cfbb882289349","strict":true,"agent_id":"copilot","agent_model":"gpt-5.4-mini","engine_versions":{"copilot":"1.0.60"}}
+# gh-aw-metadata: {"schema_version":"v4","frontmatter_hash":"629ed7e00fec91181d992879919c820de3edb7f7fcce47972b810dfd3c43c8ac","body_hash":"e5148ec80d0184e3ee540b5542256e8cc00380d23ef410088c2bedd34dd24c15","strict":true,"agent_id":"copilot","agent_model":"gpt-5.4-mini","engine_versions":{"copilot":"1.0.60"}}
# gh-aw-manifest: {"version":1,"secrets":["COPILOT_GITHUB_TOKEN","GH_AW_GITHUB_MCP_SERVER_TOKEN","GH_AW_GITHUB_TOKEN","GH_AW_OTEL_GRAFANA_AUTHORIZATION","GH_AW_OTEL_GRAFANA_ENDPOINT","GH_AW_OTEL_SENTRY_AUTHORIZATION","GH_AW_OTEL_SENTRY_ENDPOINT","GITHUB_TOKEN"],"actions":[{"repo":"actions/cache/restore","sha":"27d5ce7f107fe9357f9df03efb73ab90386fccae","version":"v5.0.5"},{"repo":"actions/cache/save","sha":"27d5ce7f107fe9357f9df03efb73ab90386fccae","version":"v5.0.5"},{"repo":"actions/checkout","sha":"df4cb1c069e1874edd31b4311f1884172cec0e10","version":"v6.0.3"},{"repo":"actions/download-artifact","sha":"3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c","version":"v8.0.1"},{"repo":"actions/github-script","sha":"3a2844b7e9c422d3c10d287c895573f7108da1b3","version":"v9.0.0"},{"repo":"actions/setup-go","sha":"4a3601121dd01d1626a1e23e37211e3254c1c06c","version":"v6.4.0"},{"repo":"actions/setup-node","sha":"48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e","version":"v6.4.0"},{"repo":"actions/upload-artifact","sha":"043fb46d1a93c77aae656e7c1c64a875d1fc6a0a","version":"v7.0.1"},{"repo":"docker/build-push-action","sha":"f9f3042f7e2789586610d6e8b85c8f03e5195baf","version":"v7.2.0"},{"repo":"docker/setup-buildx-action","sha":"d7f5e7f509e45cec5c76c4d5afdd7de93d0b3df5","version":"v4.1.0"}],"containers":[{"image":"ghcr.io/github/gh-aw-firewall/agent:0.27.2","digest":"sha256:f88e5b17b6b7a600117bc121114d6ce2155c88c983c0c939c5df884f730fa1d6","pinned_image":"ghcr.io/github/gh-aw-firewall/agent:0.27.2@sha256:f88e5b17b6b7a600117bc121114d6ce2155c88c983c0c939c5df884f730fa1d6"},{"image":"ghcr.io/github/gh-aw-firewall/api-proxy:0.27.2","digest":"sha256:ee39841d980878ebbb87592903b06d31a1af500c71525c9616f7e8e2a27041a4","pinned_image":"ghcr.io/github/gh-aw-firewall/api-proxy:0.27.2@sha256:ee39841d980878ebbb87592903b06d31a1af500c71525c9616f7e8e2a27041a4"},{"image":"ghcr.io/github/gh-aw-firewall/squid:0.27.2","digest":"sha256:2e3a717e5f19a654cd9a2263beb52012b56bcb68562ec5ae2e42f9d156b49591","pinned_image":"ghcr.io/github/gh-aw-firewall/squid:0.27.2@sha256:2e3a717e5f19a654cd9a2263beb52012b56bcb68562ec5ae2e42f9d156b49591"},{"image":"ghcr.io/github/gh-aw-mcpg:v0.3.25","digest":"sha256:c10331ad17668ef89f38f5e356678788a40b0cd5fef96e8f92e1d9c1de47cbaa","pinned_image":"ghcr.io/github/gh-aw-mcpg:v0.3.25@sha256:c10331ad17668ef89f38f5e356678788a40b0cd5fef96e8f92e1d9c1de47cbaa"},{"image":"ghcr.io/github/github-mcp-server:v1.1.2","digest":"sha256:30197479d8036c7811892bc07e06f9a05c9ef3cdd79bc59f256d50647f95788c","pinned_image":"ghcr.io/github/github-mcp-server:v1.1.2@sha256:30197479d8036c7811892bc07e06f9a05c9ef3cdd79bc59f256d50647f95788c"}]}
# This file was automatically generated by gh-aw. DO NOT EDIT. To debug this workflow, load the skill at https://github.com/github/gh-aw/blob/main/debug.md
#
diff --git a/.github/workflows/approach-validator.lock.yml b/.github/workflows/approach-validator.lock.yml
index 6b92390d6ba..6fa2cce2d2c 100644
--- a/.github/workflows/approach-validator.lock.yml
+++ b/.github/workflows/approach-validator.lock.yml
@@ -1,4 +1,4 @@
-# gh-aw-metadata: {"schema_version":"v4","frontmatter_hash":"82a96fa1589177675c2a3e1dfd5d68fcebce6c77777d216ae157d943160544c5","body_hash":"654c214c099016dd0a6634f9d84d1604eaa5a921abfff82f2c3c63cc8abd9d4a","strict":true,"agent_id":"claude","engine_versions":{"claude":"2.1.168"}}
+# gh-aw-metadata: {"schema_version":"v4","frontmatter_hash":"82a96fa1589177675c2a3e1dfd5d68fcebce6c77777d216ae157d943160544c5","body_hash":"d0c71d6e5a3ef83b1d26ff612fc181ffc828c605f3c8b0ba44903a9f118b7b44","strict":true,"agent_id":"claude","engine_versions":{"claude":"2.1.168"}}
# gh-aw-manifest: {"version":1,"secrets":["ANTHROPIC_API_KEY","GH_AW_GITHUB_MCP_SERVER_TOKEN","GH_AW_GITHUB_TOKEN","GH_AW_OTEL_GRAFANA_AUTHORIZATION","GH_AW_OTEL_GRAFANA_ENDPOINT","GH_AW_OTEL_SENTRY_AUTHORIZATION","GH_AW_OTEL_SENTRY_ENDPOINT","GITHUB_TOKEN"],"actions":[{"repo":"actions/cache/restore","sha":"27d5ce7f107fe9357f9df03efb73ab90386fccae","version":"v5.0.5"},{"repo":"actions/cache/save","sha":"27d5ce7f107fe9357f9df03efb73ab90386fccae","version":"v5.0.5"},{"repo":"actions/checkout","sha":"df4cb1c069e1874edd31b4311f1884172cec0e10","version":"v6.0.3"},{"repo":"actions/download-artifact","sha":"3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c","version":"v8.0.1"},{"repo":"actions/github-script","sha":"3a2844b7e9c422d3c10d287c895573f7108da1b3","version":"v9.0.0"},{"repo":"actions/setup-node","sha":"48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e","version":"v6.4.0"},{"repo":"actions/upload-artifact","sha":"043fb46d1a93c77aae656e7c1c64a875d1fc6a0a","version":"v7.0.1"}],"containers":[{"image":"ghcr.io/github/gh-aw-firewall/agent:0.27.2","digest":"sha256:f88e5b17b6b7a600117bc121114d6ce2155c88c983c0c939c5df884f730fa1d6","pinned_image":"ghcr.io/github/gh-aw-firewall/agent:0.27.2@sha256:f88e5b17b6b7a600117bc121114d6ce2155c88c983c0c939c5df884f730fa1d6"},{"image":"ghcr.io/github/gh-aw-firewall/api-proxy:0.27.2","digest":"sha256:ee39841d980878ebbb87592903b06d31a1af500c71525c9616f7e8e2a27041a4","pinned_image":"ghcr.io/github/gh-aw-firewall/api-proxy:0.27.2@sha256:ee39841d980878ebbb87592903b06d31a1af500c71525c9616f7e8e2a27041a4"},{"image":"ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.2","digest":"sha256:02f3ec08f32dc26c5427920c6a2e2f3036238fce44802f2f11ef49ed8621b5d0","pinned_image":"ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.2@sha256:02f3ec08f32dc26c5427920c6a2e2f3036238fce44802f2f11ef49ed8621b5d0"},{"image":"ghcr.io/github/gh-aw-firewall/squid:0.27.2","digest":"sha256:2e3a717e5f19a654cd9a2263beb52012b56bcb68562ec5ae2e42f9d156b49591","pinned_image":"ghcr.io/github/gh-aw-firewall/squid:0.27.2@sha256:2e3a717e5f19a654cd9a2263beb52012b56bcb68562ec5ae2e42f9d156b49591"},{"image":"ghcr.io/github/gh-aw-mcpg:v0.3.25","digest":"sha256:c10331ad17668ef89f38f5e356678788a40b0cd5fef96e8f92e1d9c1de47cbaa","pinned_image":"ghcr.io/github/gh-aw-mcpg:v0.3.25@sha256:c10331ad17668ef89f38f5e356678788a40b0cd5fef96e8f92e1d9c1de47cbaa"},{"image":"ghcr.io/github/github-mcp-server:v1.1.2","digest":"sha256:30197479d8036c7811892bc07e06f9a05c9ef3cdd79bc59f256d50647f95788c","pinned_image":"ghcr.io/github/github-mcp-server:v1.1.2@sha256:30197479d8036c7811892bc07e06f9a05c9ef3cdd79bc59f256d50647f95788c"}]}
# This file was automatically generated by gh-aw. DO NOT EDIT. To debug this workflow, load the skill at https://github.com/github/gh-aw/blob/main/debug.md
#
diff --git a/.github/workflows/archie.lock.yml b/.github/workflows/archie.lock.yml
index cf402d6614f..40c9c6d2fc7 100644
--- a/.github/workflows/archie.lock.yml
+++ b/.github/workflows/archie.lock.yml
@@ -285,20 +285,20 @@ jobs:
run: |
bash "${RUNNER_TEMP}/gh-aw/actions/create_prompt_first.sh"
{
- cat << 'GH_AW_PROMPT_5b23d0d0c2d5284a_EOF'
+ cat << 'GH_AW_PROMPT_e9d1bb4806ec1388_EOF'
- GH_AW_PROMPT_5b23d0d0c2d5284a_EOF
+ GH_AW_PROMPT_e9d1bb4806ec1388_EOF
cat "${RUNNER_TEMP}/gh-aw/prompts/xpia.md"
cat "${RUNNER_TEMP}/gh-aw/prompts/temp_folder_prompt.md"
cat "${RUNNER_TEMP}/gh-aw/prompts/markdown.md"
cat "${RUNNER_TEMP}/gh-aw/prompts/safe_outputs_prompt.md"
- cat << 'GH_AW_PROMPT_5b23d0d0c2d5284a_EOF'
+ cat << 'GH_AW_PROMPT_e9d1bb4806ec1388_EOF'
Tools: add_comment, missing_tool, missing_data, noop
- GH_AW_PROMPT_5b23d0d0c2d5284a_EOF
+ GH_AW_PROMPT_e9d1bb4806ec1388_EOF
cat "${RUNNER_TEMP}/gh-aw/prompts/mcp_cli_tools_prompt.md"
- cat << 'GH_AW_PROMPT_5b23d0d0c2d5284a_EOF'
+ cat << 'GH_AW_PROMPT_e9d1bb4806ec1388_EOF'
The following GitHub context information is available for this workflow:
{{#if github.actor}}
@@ -327,47 +327,21 @@ jobs:
{{/if}}
- GH_AW_PROMPT_5b23d0d0c2d5284a_EOF
+ GH_AW_PROMPT_e9d1bb4806ec1388_EOF
cat "${RUNNER_TEMP}/gh-aw/prompts/cli_proxy_with_safeoutputs_prompt.md"
if [ "$GITHUB_EVENT_NAME" = "issue_comment" ] && [ -n "$GH_AW_IS_PR_COMMENT" ] || [ "$GITHUB_EVENT_NAME" = "pull_request_review_comment" ] || [ "$GITHUB_EVENT_NAME" = "pull_request_review" ]; then
cat "${RUNNER_TEMP}/gh-aw/prompts/pr_context_prompt.md"
fi
- cat << 'GH_AW_PROMPT_5b23d0d0c2d5284a_EOF'
+ cat << 'GH_AW_PROMPT_e9d1bb4806ec1388_EOF'
{{#runtime-import .github/workflows/shared/mcp/serena-go.md}}
{{#runtime-import .github/workflows/shared/otlp.md}}
## Serena Code Analysis
- The Serena MCP server is configured for **["go"]** analysis in this workspace:
- - **Workspace**: `__GH_AW_GITHUB_WORKSPACE__`
- - **Memory**: `/tmp/gh-aw/cache-memory/serena/`
-
- ### Project Activation
-
- Before analyzing code, activate the Serena project:
- ```
- Tool: activate_project
- Args: { "path": "__GH_AW_GITHUB_WORKSPACE__" }
- ```
-
- ### Available Capabilities
-
- Serena provides IDE-grade Language Server Protocol (LSP) tools including:
- - **Symbol search**: `find_symbol` — locate functions, types, interfaces by name
- - **Navigation**: `find_referencing_symbols` — find all callers/usages of a symbol
- - **Type info**: `get_symbol_documentation` — hover-level type and doc information
- - **Code editing**: `replace_symbol_body`, `insert_after_symbol` — symbol-level edits
- - **Diagnostics**: `get_diagnostics` — compiler errors and linter warnings
-
- ### Analysis Guidelines
-
- 1. **Use semantic tools over text search** — prefer Serena's LSP tools over `grep`
- 2. **Activate project first** — always call `activate_project` before other tools
- 3. **Cross-reference findings** — validate with multiple tools for accuracy
- 4. **Focus on the relevant language files** — ignore unrelated file types
+ Serena is enabled for **["go"]** in `__GH_AW_GITHUB_WORKSPACE__`. Start by calling `activate_project` with that workspace path, then prefer Serena semantic tools for symbol lookup, references, docs, diagnostics, and structured edits.
{{#runtime-import .github/workflows/shared/noop-reminder.md}}
{{#runtime-import .github/workflows/archie.md}}
- GH_AW_PROMPT_5b23d0d0c2d5284a_EOF
+ GH_AW_PROMPT_e9d1bb4806ec1388_EOF
} > "$GH_AW_PROMPT"
- name: Interpolate variables and render templates
uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
diff --git a/.github/workflows/artifacts-summary.lock.yml b/.github/workflows/artifacts-summary.lock.yml
index 525521627a8..fc99b51c70a 100644
--- a/.github/workflows/artifacts-summary.lock.yml
+++ b/.github/workflows/artifacts-summary.lock.yml
@@ -1,4 +1,4 @@
-# gh-aw-metadata: {"schema_version":"v4","frontmatter_hash":"459f03a14af6f91cfeb696ab36f3d33794aa3f3920d7e3e8a4e3bd43be7f8dc8","body_hash":"f0cbb4b08782e88169e8b69e9a6529178c61c96a5d1f4fb6a395193f1c5cf4ec","strict":true,"agent_id":"copilot","engine_versions":{"copilot":"1.0.60","copilot-sdk":"1.0.0"}}
+# gh-aw-metadata: {"schema_version":"v4","frontmatter_hash":"459f03a14af6f91cfeb696ab36f3d33794aa3f3920d7e3e8a4e3bd43be7f8dc8","body_hash":"7a56d502db54385c11bab7d71ee0822f0cb5aa686e9819df265e51948b061696","strict":true,"agent_id":"copilot","engine_versions":{"copilot":"1.0.60","copilot-sdk":"1.0.0"}}
# gh-aw-manifest: {"version":1,"secrets":["GH_AW_GITHUB_MCP_SERVER_TOKEN","GH_AW_GITHUB_TOKEN","GH_AW_OTEL_GRAFANA_AUTHORIZATION","GH_AW_OTEL_GRAFANA_ENDPOINT","GH_AW_OTEL_SENTRY_AUTHORIZATION","GH_AW_OTEL_SENTRY_ENDPOINT","GITHUB_TOKEN"],"actions":[{"repo":"actions/cache/restore","sha":"27d5ce7f107fe9357f9df03efb73ab90386fccae","version":"v5.0.5"},{"repo":"actions/cache/save","sha":"27d5ce7f107fe9357f9df03efb73ab90386fccae","version":"v5.0.5"},{"repo":"actions/checkout","sha":"df4cb1c069e1874edd31b4311f1884172cec0e10","version":"v6.0.3"},{"repo":"actions/download-artifact","sha":"3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c","version":"v8.0.1"},{"repo":"actions/github-script","sha":"3a2844b7e9c422d3c10d287c895573f7108da1b3","version":"v9.0.0"},{"repo":"actions/setup-node","sha":"48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e","version":"v6.4.0"},{"repo":"actions/upload-artifact","sha":"043fb46d1a93c77aae656e7c1c64a875d1fc6a0a","version":"v7.0.1"}],"containers":[{"image":"ghcr.io/github/gh-aw-firewall/agent:0.27.2","digest":"sha256:f88e5b17b6b7a600117bc121114d6ce2155c88c983c0c939c5df884f730fa1d6","pinned_image":"ghcr.io/github/gh-aw-firewall/agent:0.27.2@sha256:f88e5b17b6b7a600117bc121114d6ce2155c88c983c0c939c5df884f730fa1d6"},{"image":"ghcr.io/github/gh-aw-firewall/api-proxy:0.27.2","digest":"sha256:ee39841d980878ebbb87592903b06d31a1af500c71525c9616f7e8e2a27041a4","pinned_image":"ghcr.io/github/gh-aw-firewall/api-proxy:0.27.2@sha256:ee39841d980878ebbb87592903b06d31a1af500c71525c9616f7e8e2a27041a4"},{"image":"ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.2","digest":"sha256:02f3ec08f32dc26c5427920c6a2e2f3036238fce44802f2f11ef49ed8621b5d0","pinned_image":"ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.2@sha256:02f3ec08f32dc26c5427920c6a2e2f3036238fce44802f2f11ef49ed8621b5d0"},{"image":"ghcr.io/github/gh-aw-firewall/squid:0.27.2","digest":"sha256:2e3a717e5f19a654cd9a2263beb52012b56bcb68562ec5ae2e42f9d156b49591","pinned_image":"ghcr.io/github/gh-aw-firewall/squid:0.27.2@sha256:2e3a717e5f19a654cd9a2263beb52012b56bcb68562ec5ae2e42f9d156b49591"},{"image":"ghcr.io/github/gh-aw-mcpg:v0.3.25","digest":"sha256:c10331ad17668ef89f38f5e356678788a40b0cd5fef96e8f92e1d9c1de47cbaa","pinned_image":"ghcr.io/github/gh-aw-mcpg:v0.3.25@sha256:c10331ad17668ef89f38f5e356678788a40b0cd5fef96e8f92e1d9c1de47cbaa"},{"image":"ghcr.io/github/github-mcp-server:v1.1.2","digest":"sha256:30197479d8036c7811892bc07e06f9a05c9ef3cdd79bc59f256d50647f95788c","pinned_image":"ghcr.io/github/github-mcp-server:v1.1.2@sha256:30197479d8036c7811892bc07e06f9a05c9ef3cdd79bc59f256d50647f95788c"}]}
# This file was automatically generated by gh-aw. DO NOT EDIT. To debug this workflow, load the skill at https://github.com/github/gh-aw/blob/main/debug.md
#
diff --git a/.github/workflows/auto-triage-issues.lock.yml b/.github/workflows/auto-triage-issues.lock.yml
index fa6992de45a..336f4bc35f1 100644
--- a/.github/workflows/auto-triage-issues.lock.yml
+++ b/.github/workflows/auto-triage-issues.lock.yml
@@ -1,4 +1,4 @@
-# gh-aw-metadata: {"schema_version":"v4","frontmatter_hash":"05ec365de40904cfd54f85692d357d34de717306c21a4f0d7574462cce402607","body_hash":"6cd71a9d4f749845219419ecc38ea3d4e31129055c7e0c083de47a5973d52c81","strict":true,"agent_id":"copilot","agent_model":"gpt-5-mini","engine_versions":{"copilot":"1.0.60"}}
+# gh-aw-metadata: {"schema_version":"v4","frontmatter_hash":"05ec365de40904cfd54f85692d357d34de717306c21a4f0d7574462cce402607","body_hash":"09a6c127f17f58b0a89bf6a615454551a2aea7a0614109bb7e9b7eeca0b996ee","strict":true,"agent_id":"copilot","agent_model":"gpt-5-mini","engine_versions":{"copilot":"1.0.60"}}
# gh-aw-manifest: {"version":1,"secrets":["GH_AW_GITHUB_MCP_SERVER_TOKEN","GH_AW_GITHUB_TOKEN","GH_AW_OTEL_GRAFANA_AUTHORIZATION","GH_AW_OTEL_GRAFANA_ENDPOINT","GH_AW_OTEL_SENTRY_AUTHORIZATION","GH_AW_OTEL_SENTRY_ENDPOINT","GITHUB_TOKEN"],"actions":[{"repo":"actions/cache/restore","sha":"27d5ce7f107fe9357f9df03efb73ab90386fccae","version":"v5.0.5"},{"repo":"actions/cache/save","sha":"27d5ce7f107fe9357f9df03efb73ab90386fccae","version":"v5.0.5"},{"repo":"actions/checkout","sha":"df4cb1c069e1874edd31b4311f1884172cec0e10","version":"v6.0.3"},{"repo":"actions/download-artifact","sha":"3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c","version":"v8.0.1"},{"repo":"actions/github-script","sha":"3a2844b7e9c422d3c10d287c895573f7108da1b3","version":"v9.0.0"},{"repo":"actions/setup-node","sha":"48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e","version":"v6.4.0"},{"repo":"actions/upload-artifact","sha":"043fb46d1a93c77aae656e7c1c64a875d1fc6a0a","version":"v7.0.1"}],"containers":[{"image":"ghcr.io/github/gh-aw-firewall/agent:0.27.2","digest":"sha256:f88e5b17b6b7a600117bc121114d6ce2155c88c983c0c939c5df884f730fa1d6","pinned_image":"ghcr.io/github/gh-aw-firewall/agent:0.27.2@sha256:f88e5b17b6b7a600117bc121114d6ce2155c88c983c0c939c5df884f730fa1d6"},{"image":"ghcr.io/github/gh-aw-firewall/api-proxy:0.27.2","digest":"sha256:ee39841d980878ebbb87592903b06d31a1af500c71525c9616f7e8e2a27041a4","pinned_image":"ghcr.io/github/gh-aw-firewall/api-proxy:0.27.2@sha256:ee39841d980878ebbb87592903b06d31a1af500c71525c9616f7e8e2a27041a4"},{"image":"ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.2","digest":"sha256:02f3ec08f32dc26c5427920c6a2e2f3036238fce44802f2f11ef49ed8621b5d0","pinned_image":"ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.2@sha256:02f3ec08f32dc26c5427920c6a2e2f3036238fce44802f2f11ef49ed8621b5d0"},{"image":"ghcr.io/github/gh-aw-firewall/squid:0.27.2","digest":"sha256:2e3a717e5f19a654cd9a2263beb52012b56bcb68562ec5ae2e42f9d156b49591","pinned_image":"ghcr.io/github/gh-aw-firewall/squid:0.27.2@sha256:2e3a717e5f19a654cd9a2263beb52012b56bcb68562ec5ae2e42f9d156b49591"},{"image":"ghcr.io/github/gh-aw-mcpg:v0.3.25","digest":"sha256:c10331ad17668ef89f38f5e356678788a40b0cd5fef96e8f92e1d9c1de47cbaa","pinned_image":"ghcr.io/github/gh-aw-mcpg:v0.3.25@sha256:c10331ad17668ef89f38f5e356678788a40b0cd5fef96e8f92e1d9c1de47cbaa"},{"image":"ghcr.io/github/github-mcp-server:v1.1.2","digest":"sha256:30197479d8036c7811892bc07e06f9a05c9ef3cdd79bc59f256d50647f95788c","pinned_image":"ghcr.io/github/github-mcp-server:v1.1.2@sha256:30197479d8036c7811892bc07e06f9a05c9ef3cdd79bc59f256d50647f95788c"}]}
# This file was automatically generated by gh-aw. DO NOT EDIT. To debug this workflow, load the skill at https://github.com/github/gh-aw/blob/main/debug.md
#
diff --git a/.github/workflows/aw-failure-investigator.lock.yml b/.github/workflows/aw-failure-investigator.lock.yml
index 25094deb3b8..0953cd967fe 100644
--- a/.github/workflows/aw-failure-investigator.lock.yml
+++ b/.github/workflows/aw-failure-investigator.lock.yml
@@ -1,4 +1,4 @@
-# gh-aw-metadata: {"schema_version":"v4","frontmatter_hash":"10beb2f6ddc407cc8b0093280756918d4f2b289a5ceed1cb09bcabcdd5d3fb29","body_hash":"d093354121bf0162f97159b61dfd4d16d6dce91ed6d3b372173464fd2534cb30","strict":true,"agent_id":"claude","engine_versions":{"claude":"2.1.168"}}
+# gh-aw-metadata: {"schema_version":"v4","frontmatter_hash":"10beb2f6ddc407cc8b0093280756918d4f2b289a5ceed1cb09bcabcdd5d3fb29","body_hash":"f101ac1f1c96dd3aafea423c91e38650d8ea1830c66023c47a9acce6ab4349f5","strict":true,"agent_id":"claude","engine_versions":{"claude":"2.1.168"}}
# gh-aw-manifest: {"version":1,"secrets":["ANTHROPIC_API_KEY","GH_AW_GITHUB_MCP_SERVER_TOKEN","GH_AW_GITHUB_TOKEN","GH_AW_OTEL_GRAFANA_AUTHORIZATION","GH_AW_OTEL_GRAFANA_ENDPOINT","GH_AW_OTEL_SENTRY_AUTHORIZATION","GH_AW_OTEL_SENTRY_ENDPOINT","GITHUB_TOKEN"],"actions":[{"repo":"actions/cache","sha":"27d5ce7f107fe9357f9df03efb73ab90386fccae","version":"v5.0.5"},{"repo":"actions/cache/restore","sha":"27d5ce7f107fe9357f9df03efb73ab90386fccae","version":"v5.0.5"},{"repo":"actions/cache/save","sha":"27d5ce7f107fe9357f9df03efb73ab90386fccae","version":"v5.0.5"},{"repo":"actions/checkout","sha":"df4cb1c069e1874edd31b4311f1884172cec0e10","version":"v6.0.3"},{"repo":"actions/download-artifact","sha":"3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c","version":"v8.0.1"},{"repo":"actions/github-script","sha":"3a2844b7e9c422d3c10d287c895573f7108da1b3","version":"v9.0.0"},{"repo":"actions/setup-go","sha":"4a3601121dd01d1626a1e23e37211e3254c1c06c","version":"v6.4.0"},{"repo":"actions/setup-node","sha":"48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e","version":"v6.4.0"},{"repo":"actions/upload-artifact","sha":"043fb46d1a93c77aae656e7c1c64a875d1fc6a0a","version":"v7.0.1"},{"repo":"docker/build-push-action","sha":"f9f3042f7e2789586610d6e8b85c8f03e5195baf","version":"v7.2.0"},{"repo":"docker/setup-buildx-action","sha":"d7f5e7f509e45cec5c76c4d5afdd7de93d0b3df5","version":"v4.1.0"}],"containers":[{"image":"ghcr.io/github/gh-aw-firewall/agent:0.27.2","digest":"sha256:f88e5b17b6b7a600117bc121114d6ce2155c88c983c0c939c5df884f730fa1d6","pinned_image":"ghcr.io/github/gh-aw-firewall/agent:0.27.2@sha256:f88e5b17b6b7a600117bc121114d6ce2155c88c983c0c939c5df884f730fa1d6"},{"image":"ghcr.io/github/gh-aw-firewall/api-proxy:0.27.2","digest":"sha256:ee39841d980878ebbb87592903b06d31a1af500c71525c9616f7e8e2a27041a4","pinned_image":"ghcr.io/github/gh-aw-firewall/api-proxy:0.27.2@sha256:ee39841d980878ebbb87592903b06d31a1af500c71525c9616f7e8e2a27041a4"},{"image":"ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.2","digest":"sha256:02f3ec08f32dc26c5427920c6a2e2f3036238fce44802f2f11ef49ed8621b5d0","pinned_image":"ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.2@sha256:02f3ec08f32dc26c5427920c6a2e2f3036238fce44802f2f11ef49ed8621b5d0"},{"image":"ghcr.io/github/gh-aw-firewall/squid:0.27.2","digest":"sha256:2e3a717e5f19a654cd9a2263beb52012b56bcb68562ec5ae2e42f9d156b49591","pinned_image":"ghcr.io/github/gh-aw-firewall/squid:0.27.2@sha256:2e3a717e5f19a654cd9a2263beb52012b56bcb68562ec5ae2e42f9d156b49591"},{"image":"ghcr.io/github/gh-aw-mcpg:v0.3.25","digest":"sha256:c10331ad17668ef89f38f5e356678788a40b0cd5fef96e8f92e1d9c1de47cbaa","pinned_image":"ghcr.io/github/gh-aw-mcpg:v0.3.25@sha256:c10331ad17668ef89f38f5e356678788a40b0cd5fef96e8f92e1d9c1de47cbaa"},{"image":"ghcr.io/github/github-mcp-server:v1.1.2","digest":"sha256:30197479d8036c7811892bc07e06f9a05c9ef3cdd79bc59f256d50647f95788c","pinned_image":"ghcr.io/github/github-mcp-server:v1.1.2@sha256:30197479d8036c7811892bc07e06f9a05c9ef3cdd79bc59f256d50647f95788c"}]}
# This file was automatically generated by gh-aw. DO NOT EDIT. To debug this workflow, load the skill at https://github.com/github/gh-aw/blob/main/debug.md
#
diff --git a/.github/workflows/ci-coach.lock.yml b/.github/workflows/ci-coach.lock.yml
index 6cf4d8f5d05..3991bd9aa97 100644
--- a/.github/workflows/ci-coach.lock.yml
+++ b/.github/workflows/ci-coach.lock.yml
@@ -1,4 +1,4 @@
-# gh-aw-metadata: {"schema_version":"v4","frontmatter_hash":"d163f26dfa0573aa8e2a48e1baea47c08c9646192379f5d980bbd2f9275e802b","body_hash":"6596b5813ba58c624f3c4b4bb38bffb556a4bad0d4094516fc1f556d9adb7b66","strict":true,"agent_id":"copilot","engine_versions":{"copilot":"1.0.60","copilot-sdk":"1.0.0"}}
+# gh-aw-metadata: {"schema_version":"v4","frontmatter_hash":"d163f26dfa0573aa8e2a48e1baea47c08c9646192379f5d980bbd2f9275e802b","body_hash":"1eb1bb61c5b2fd271c290f8acf47890cda411e08955337a4af90764c47181f33","strict":true,"agent_id":"copilot","engine_versions":{"copilot":"1.0.60","copilot-sdk":"1.0.0"}}
# gh-aw-manifest: {"version":1,"secrets":["GH_AW_CI_TRIGGER_TOKEN","GH_AW_GITHUB_MCP_SERVER_TOKEN","GH_AW_GITHUB_TOKEN","GH_AW_OTEL_GRAFANA_AUTHORIZATION","GH_AW_OTEL_GRAFANA_ENDPOINT","GH_AW_OTEL_SENTRY_AUTHORIZATION","GH_AW_OTEL_SENTRY_ENDPOINT","GITHUB_TOKEN"],"actions":[{"repo":"actions/cache/restore","sha":"27d5ce7f107fe9357f9df03efb73ab90386fccae","version":"v5.0.5"},{"repo":"actions/cache/save","sha":"27d5ce7f107fe9357f9df03efb73ab90386fccae","version":"v5.0.5"},{"repo":"actions/checkout","sha":"df4cb1c069e1874edd31b4311f1884172cec0e10","version":"v6.0.3"},{"repo":"actions/download-artifact","sha":"3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c","version":"v8.0.1"},{"repo":"actions/github-script","sha":"3a2844b7e9c422d3c10d287c895573f7108da1b3","version":"v9.0.0"},{"repo":"actions/setup-go","sha":"4a3601121dd01d1626a1e23e37211e3254c1c06c","version":"v6.4.0"},{"repo":"actions/setup-node","sha":"48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e","version":"v6.4.0"},{"repo":"actions/upload-artifact","sha":"043fb46d1a93c77aae656e7c1c64a875d1fc6a0a","version":"v7.0.1"}],"containers":[{"image":"ghcr.io/github/gh-aw-firewall/agent:0.27.2","digest":"sha256:f88e5b17b6b7a600117bc121114d6ce2155c88c983c0c939c5df884f730fa1d6","pinned_image":"ghcr.io/github/gh-aw-firewall/agent:0.27.2@sha256:f88e5b17b6b7a600117bc121114d6ce2155c88c983c0c939c5df884f730fa1d6"},{"image":"ghcr.io/github/gh-aw-firewall/api-proxy:0.27.2","digest":"sha256:ee39841d980878ebbb87592903b06d31a1af500c71525c9616f7e8e2a27041a4","pinned_image":"ghcr.io/github/gh-aw-firewall/api-proxy:0.27.2@sha256:ee39841d980878ebbb87592903b06d31a1af500c71525c9616f7e8e2a27041a4"},{"image":"ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.2","digest":"sha256:02f3ec08f32dc26c5427920c6a2e2f3036238fce44802f2f11ef49ed8621b5d0","pinned_image":"ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.2@sha256:02f3ec08f32dc26c5427920c6a2e2f3036238fce44802f2f11ef49ed8621b5d0"},{"image":"ghcr.io/github/gh-aw-firewall/squid:0.27.2","digest":"sha256:2e3a717e5f19a654cd9a2263beb52012b56bcb68562ec5ae2e42f9d156b49591","pinned_image":"ghcr.io/github/gh-aw-firewall/squid:0.27.2@sha256:2e3a717e5f19a654cd9a2263beb52012b56bcb68562ec5ae2e42f9d156b49591"},{"image":"ghcr.io/github/gh-aw-mcpg:v0.3.25","digest":"sha256:c10331ad17668ef89f38f5e356678788a40b0cd5fef96e8f92e1d9c1de47cbaa","pinned_image":"ghcr.io/github/gh-aw-mcpg:v0.3.25@sha256:c10331ad17668ef89f38f5e356678788a40b0cd5fef96e8f92e1d9c1de47cbaa"},{"image":"ghcr.io/github/github-mcp-server:v1.1.2","digest":"sha256:30197479d8036c7811892bc07e06f9a05c9ef3cdd79bc59f256d50647f95788c","pinned_image":"ghcr.io/github/github-mcp-server:v1.1.2@sha256:30197479d8036c7811892bc07e06f9a05c9ef3cdd79bc59f256d50647f95788c"}]}
# This file was automatically generated by gh-aw. DO NOT EDIT. To debug this workflow, load the skill at https://github.com/github/gh-aw/blob/main/debug.md
#
diff --git a/.github/workflows/cli-version-checker.lock.yml b/.github/workflows/cli-version-checker.lock.yml
index 6a0d761f14f..f0e225d3f08 100644
--- a/.github/workflows/cli-version-checker.lock.yml
+++ b/.github/workflows/cli-version-checker.lock.yml
@@ -1,4 +1,4 @@
-# gh-aw-metadata: {"schema_version":"v4","frontmatter_hash":"44dbcee3a608fc905290b5021d7a18de0cf2d805136ab3cad6afd9aa0279cac4","body_hash":"b06453ac5945cf78330be6ecbc698d3bb46205b66050f385def1f82daf1aa06d","agent_id":"claude","engine_versions":{"claude":"2.1.168"}}
+# gh-aw-metadata: {"schema_version":"v4","frontmatter_hash":"44dbcee3a608fc905290b5021d7a18de0cf2d805136ab3cad6afd9aa0279cac4","body_hash":"5d6a04fc656cc3255f5004749682cca43dd6a41897d44d53fe4d7eb6b1caf7fc","agent_id":"claude","engine_versions":{"claude":"2.1.168"}}
# gh-aw-manifest: {"version":1,"secrets":["ANTHROPIC_API_KEY","GH_AW_GITHUB_MCP_SERVER_TOKEN","GH_AW_GITHUB_TOKEN","GH_AW_OTEL_GRAFANA_AUTHORIZATION","GH_AW_OTEL_GRAFANA_ENDPOINT","GH_AW_OTEL_SENTRY_AUTHORIZATION","GH_AW_OTEL_SENTRY_ENDPOINT","GITHUB_TOKEN"],"actions":[{"repo":"actions/cache/restore","sha":"27d5ce7f107fe9357f9df03efb73ab90386fccae","version":"v5.0.5"},{"repo":"actions/cache/save","sha":"27d5ce7f107fe9357f9df03efb73ab90386fccae","version":"v5.0.5"},{"repo":"actions/checkout","sha":"df4cb1c069e1874edd31b4311f1884172cec0e10","version":"v6.0.3"},{"repo":"actions/download-artifact","sha":"3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c","version":"v8.0.1"},{"repo":"actions/github-script","sha":"3a2844b7e9c422d3c10d287c895573f7108da1b3","version":"v9.0.0"},{"repo":"actions/setup-node","sha":"48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e","version":"v6.4.0"},{"repo":"actions/upload-artifact","sha":"043fb46d1a93c77aae656e7c1c64a875d1fc6a0a","version":"v7.0.1"}],"containers":[{"image":"ghcr.io/github/gh-aw-firewall/agent:0.27.2","digest":"sha256:f88e5b17b6b7a600117bc121114d6ce2155c88c983c0c939c5df884f730fa1d6","pinned_image":"ghcr.io/github/gh-aw-firewall/agent:0.27.2@sha256:f88e5b17b6b7a600117bc121114d6ce2155c88c983c0c939c5df884f730fa1d6"},{"image":"ghcr.io/github/gh-aw-firewall/api-proxy:0.27.2","digest":"sha256:ee39841d980878ebbb87592903b06d31a1af500c71525c9616f7e8e2a27041a4","pinned_image":"ghcr.io/github/gh-aw-firewall/api-proxy:0.27.2@sha256:ee39841d980878ebbb87592903b06d31a1af500c71525c9616f7e8e2a27041a4"},{"image":"ghcr.io/github/gh-aw-firewall/squid:0.27.2","digest":"sha256:2e3a717e5f19a654cd9a2263beb52012b56bcb68562ec5ae2e42f9d156b49591","pinned_image":"ghcr.io/github/gh-aw-firewall/squid:0.27.2@sha256:2e3a717e5f19a654cd9a2263beb52012b56bcb68562ec5ae2e42f9d156b49591"},{"image":"ghcr.io/github/gh-aw-mcpg:v0.3.25","digest":"sha256:c10331ad17668ef89f38f5e356678788a40b0cd5fef96e8f92e1d9c1de47cbaa","pinned_image":"ghcr.io/github/gh-aw-mcpg:v0.3.25@sha256:c10331ad17668ef89f38f5e356678788a40b0cd5fef96e8f92e1d9c1de47cbaa"},{"image":"ghcr.io/github/github-mcp-server:v1.1.2","digest":"sha256:30197479d8036c7811892bc07e06f9a05c9ef3cdd79bc59f256d50647f95788c","pinned_image":"ghcr.io/github/github-mcp-server:v1.1.2@sha256:30197479d8036c7811892bc07e06f9a05c9ef3cdd79bc59f256d50647f95788c"}]}
# This file was automatically generated by gh-aw. DO NOT EDIT. To debug this workflow, load the skill at https://github.com/github/gh-aw/blob/main/debug.md
#
diff --git a/.github/workflows/cloclo.lock.yml b/.github/workflows/cloclo.lock.yml
index 4be7c0d5c3c..958af63aa10 100644
--- a/.github/workflows/cloclo.lock.yml
+++ b/.github/workflows/cloclo.lock.yml
@@ -1,4 +1,4 @@
-# gh-aw-metadata: {"schema_version":"v4","frontmatter_hash":"c81084d3937b55e801dd4dd11fc8e03515356c3d0654d176871d1232ebb1d96a","body_hash":"aa57164f1af3ab2f36e48aa2f950ff4fe0944ae399b9ea4bc45da54cc5ba0c4f","strict":true,"agent_id":"claude","engine_versions":{"claude":"2.1.168"}}
+# gh-aw-metadata: {"schema_version":"v4","frontmatter_hash":"c81084d3937b55e801dd4dd11fc8e03515356c3d0654d176871d1232ebb1d96a","body_hash":"4902e683f955a9f564d408f795b5159a09d300ace566805ac152ad2955d84cf2","strict":true,"agent_id":"claude","engine_versions":{"claude":"2.1.168"}}
# gh-aw-manifest: {"version":1,"secrets":["ANTHROPIC_API_KEY","GH_AW_CI_TRIGGER_TOKEN","GH_AW_GITHUB_MCP_SERVER_TOKEN","GH_AW_GITHUB_TOKEN","GH_AW_OTEL_GRAFANA_AUTHORIZATION","GH_AW_OTEL_GRAFANA_ENDPOINT","GH_AW_OTEL_SENTRY_AUTHORIZATION","GH_AW_OTEL_SENTRY_ENDPOINT","GITHUB_TOKEN"],"actions":[{"repo":"actions/cache/restore","sha":"27d5ce7f107fe9357f9df03efb73ab90386fccae","version":"v5.0.5"},{"repo":"actions/cache/save","sha":"27d5ce7f107fe9357f9df03efb73ab90386fccae","version":"v5.0.5"},{"repo":"actions/checkout","sha":"df4cb1c069e1874edd31b4311f1884172cec0e10","version":"v6.0.3"},{"repo":"actions/download-artifact","sha":"3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c","version":"v8.0.1"},{"repo":"actions/github-script","sha":"3a2844b7e9c422d3c10d287c895573f7108da1b3","version":"v9.0.0"},{"repo":"actions/setup-go","sha":"4a3601121dd01d1626a1e23e37211e3254c1c06c","version":"v6.4.0"},{"repo":"actions/setup-node","sha":"48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e","version":"v6.4.0"},{"repo":"actions/upload-artifact","sha":"043fb46d1a93c77aae656e7c1c64a875d1fc6a0a","version":"v7.0.1"},{"repo":"docker/build-push-action","sha":"f9f3042f7e2789586610d6e8b85c8f03e5195baf","version":"v7.2.0"},{"repo":"docker/setup-buildx-action","sha":"d7f5e7f509e45cec5c76c4d5afdd7de93d0b3df5","version":"v4.1.0"}],"containers":[{"image":"ghcr.io/github/gh-aw-firewall/agent:0.27.2","digest":"sha256:f88e5b17b6b7a600117bc121114d6ce2155c88c983c0c939c5df884f730fa1d6","pinned_image":"ghcr.io/github/gh-aw-firewall/agent:0.27.2@sha256:f88e5b17b6b7a600117bc121114d6ce2155c88c983c0c939c5df884f730fa1d6"},{"image":"ghcr.io/github/gh-aw-firewall/api-proxy:0.27.2","digest":"sha256:ee39841d980878ebbb87592903b06d31a1af500c71525c9616f7e8e2a27041a4","pinned_image":"ghcr.io/github/gh-aw-firewall/api-proxy:0.27.2@sha256:ee39841d980878ebbb87592903b06d31a1af500c71525c9616f7e8e2a27041a4"},{"image":"ghcr.io/github/gh-aw-firewall/squid:0.27.2","digest":"sha256:2e3a717e5f19a654cd9a2263beb52012b56bcb68562ec5ae2e42f9d156b49591","pinned_image":"ghcr.io/github/gh-aw-firewall/squid:0.27.2@sha256:2e3a717e5f19a654cd9a2263beb52012b56bcb68562ec5ae2e42f9d156b49591"},{"image":"ghcr.io/github/gh-aw-mcpg:v0.3.25","digest":"sha256:c10331ad17668ef89f38f5e356678788a40b0cd5fef96e8f92e1d9c1de47cbaa","pinned_image":"ghcr.io/github/gh-aw-mcpg:v0.3.25@sha256:c10331ad17668ef89f38f5e356678788a40b0cd5fef96e8f92e1d9c1de47cbaa"},{"image":"ghcr.io/github/github-mcp-server:v1.1.2","digest":"sha256:30197479d8036c7811892bc07e06f9a05c9ef3cdd79bc59f256d50647f95788c","pinned_image":"ghcr.io/github/github-mcp-server:v1.1.2@sha256:30197479d8036c7811892bc07e06f9a05c9ef3cdd79bc59f256d50647f95788c"},{"image":"ghcr.io/github/serena-mcp-server:latest","digest":"sha256:bf343399e3725c45528f531a230f3a04521d4cdef29f9a5af6282ff0d3c393c5","pinned_image":"ghcr.io/github/serena-mcp-server:latest@sha256:bf343399e3725c45528f531a230f3a04521d4cdef29f9a5af6282ff0d3c393c5"}]}
# This file was automatically generated by gh-aw. DO NOT EDIT. To debug this workflow, load the skill at https://github.com/github/gh-aw/blob/main/debug.md
#
@@ -321,25 +321,25 @@ jobs:
run: |
bash "${RUNNER_TEMP}/gh-aw/actions/create_prompt_first.sh"
{
- cat << 'GH_AW_PROMPT_16fd5f5046e394ec_EOF'
+ cat << 'GH_AW_PROMPT_24b7d054dcd2622a_EOF'
- GH_AW_PROMPT_16fd5f5046e394ec_EOF
+ GH_AW_PROMPT_24b7d054dcd2622a_EOF
cat "${RUNNER_TEMP}/gh-aw/prompts/xpia.md"
cat "${RUNNER_TEMP}/gh-aw/prompts/temp_folder_prompt.md"
cat "${RUNNER_TEMP}/gh-aw/prompts/markdown.md"
cat "${RUNNER_TEMP}/gh-aw/prompts/playwright_prompt.md"
cat "${RUNNER_TEMP}/gh-aw/prompts/cache_memory_prompt.md"
cat "${RUNNER_TEMP}/gh-aw/prompts/safe_outputs_prompt.md"
- cat << 'GH_AW_PROMPT_16fd5f5046e394ec_EOF'
+ cat << 'GH_AW_PROMPT_24b7d054dcd2622a_EOF'
Tools: add_comment, create_pull_request, missing_tool, missing_data, noop
- GH_AW_PROMPT_16fd5f5046e394ec_EOF
+ GH_AW_PROMPT_24b7d054dcd2622a_EOF
cat "${RUNNER_TEMP}/gh-aw/prompts/safe_outputs_create_pull_request.md"
- cat << 'GH_AW_PROMPT_16fd5f5046e394ec_EOF'
+ cat << 'GH_AW_PROMPT_24b7d054dcd2622a_EOF'
- GH_AW_PROMPT_16fd5f5046e394ec_EOF
+ GH_AW_PROMPT_24b7d054dcd2622a_EOF
cat "${RUNNER_TEMP}/gh-aw/prompts/mcp_cli_tools_prompt.md"
- cat << 'GH_AW_PROMPT_16fd5f5046e394ec_EOF'
+ cat << 'GH_AW_PROMPT_24b7d054dcd2622a_EOF'
The following GitHub context information is available for this workflow:
{{#if github.actor}}
@@ -368,12 +368,12 @@ jobs:
{{/if}}
- GH_AW_PROMPT_16fd5f5046e394ec_EOF
+ GH_AW_PROMPT_24b7d054dcd2622a_EOF
cat "${RUNNER_TEMP}/gh-aw/prompts/github_mcp_tools_with_safeoutputs_prompt.md"
if [ "$GITHUB_EVENT_NAME" = "issue_comment" ] && [ -n "$GH_AW_IS_PR_COMMENT" ] || [ "$GITHUB_EVENT_NAME" = "pull_request_review_comment" ] || [ "$GITHUB_EVENT_NAME" = "pull_request_review" ]; then
cat "${RUNNER_TEMP}/gh-aw/prompts/pr_context_prompt.md"
fi
- cat << 'GH_AW_PROMPT_16fd5f5046e394ec_EOF'
+ cat << 'GH_AW_PROMPT_24b7d054dcd2622a_EOF'
{{#runtime-import .github/skills/jqschema/SKILL.md}}
{{#runtime-import .github/workflows/shared/mcp/serena-go.md}}
@@ -381,36 +381,10 @@ jobs:
{{#runtime-import .github/workflows/shared/otlp.md}}
## Serena Code Analysis
- The Serena MCP server is configured for **["go"]** analysis in this workspace:
- - **Workspace**: `__GH_AW_GITHUB_WORKSPACE__`
- - **Memory**: `/tmp/gh-aw/cache-memory/serena/`
-
- ### Project Activation
-
- Before analyzing code, activate the Serena project:
- ```
- Tool: activate_project
- Args: { "path": "__GH_AW_GITHUB_WORKSPACE__" }
- ```
-
- ### Available Capabilities
-
- Serena provides IDE-grade Language Server Protocol (LSP) tools including:
- - **Symbol search**: `find_symbol` — locate functions, types, interfaces by name
- - **Navigation**: `find_referencing_symbols` — find all callers/usages of a symbol
- - **Type info**: `get_symbol_documentation` — hover-level type and doc information
- - **Code editing**: `replace_symbol_body`, `insert_after_symbol` — symbol-level edits
- - **Diagnostics**: `get_diagnostics` — compiler errors and linter warnings
-
- ### Analysis Guidelines
-
- 1. **Use semantic tools over text search** — prefer Serena's LSP tools over `grep`
- 2. **Activate project first** — always call `activate_project` before other tools
- 3. **Cross-reference findings** — validate with multiple tools for accuracy
- 4. **Focus on the relevant language files** — ignore unrelated file types
+ Serena is enabled for **["go"]** in `__GH_AW_GITHUB_WORKSPACE__`. Start by calling `activate_project` with that workspace path, then prefer Serena semantic tools for symbol lookup, references, docs, diagnostics, and structured edits.
{{#runtime-import .github/workflows/shared/noop-reminder.md}}
{{#runtime-import .github/workflows/cloclo.md}}
- GH_AW_PROMPT_16fd5f5046e394ec_EOF
+ GH_AW_PROMPT_24b7d054dcd2622a_EOF
} > "$GH_AW_PROMPT"
- name: Interpolate variables and render templates
uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
diff --git a/.github/workflows/commit-changes-analyzer.lock.yml b/.github/workflows/commit-changes-analyzer.lock.yml
index d52d8819abb..47c70a90cd2 100644
--- a/.github/workflows/commit-changes-analyzer.lock.yml
+++ b/.github/workflows/commit-changes-analyzer.lock.yml
@@ -1,4 +1,4 @@
-# gh-aw-metadata: {"schema_version":"v4","frontmatter_hash":"d49005a7cfed0d5f20f4b2e96bf556ffcdaa5e9e211495f925fcfb15d666ed19","body_hash":"e88d3134e98c0b0d70360479f8cde806b13ccf72019c0c28ee1fff6e53c443e1","strict":true,"agent_id":"claude","engine_versions":{"claude":"2.1.168"}}
+# gh-aw-metadata: {"schema_version":"v4","frontmatter_hash":"d49005a7cfed0d5f20f4b2e96bf556ffcdaa5e9e211495f925fcfb15d666ed19","body_hash":"a2d0b9ff25908a7012e3530f5078c6e87a9c74c3f38912af276e477a265d279d","strict":true,"agent_id":"claude","engine_versions":{"claude":"2.1.168"}}
# gh-aw-manifest: {"version":1,"secrets":["ANTHROPIC_API_KEY","GH_AW_GITHUB_MCP_SERVER_TOKEN","GH_AW_GITHUB_TOKEN","GH_AW_OTEL_GRAFANA_AUTHORIZATION","GH_AW_OTEL_GRAFANA_ENDPOINT","GH_AW_OTEL_SENTRY_AUTHORIZATION","GH_AW_OTEL_SENTRY_ENDPOINT","GITHUB_TOKEN"],"actions":[{"repo":"actions/cache/restore","sha":"27d5ce7f107fe9357f9df03efb73ab90386fccae","version":"v5.0.5"},{"repo":"actions/cache/save","sha":"27d5ce7f107fe9357f9df03efb73ab90386fccae","version":"v5.0.5"},{"repo":"actions/checkout","sha":"df4cb1c069e1874edd31b4311f1884172cec0e10","version":"v6.0.3"},{"repo":"actions/download-artifact","sha":"3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c","version":"v8.0.1"},{"repo":"actions/github-script","sha":"3a2844b7e9c422d3c10d287c895573f7108da1b3","version":"v9.0.0"},{"repo":"actions/setup-node","sha":"48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e","version":"v6.4.0"},{"repo":"actions/upload-artifact","sha":"043fb46d1a93c77aae656e7c1c64a875d1fc6a0a","version":"v7.0.1"}],"containers":[{"image":"ghcr.io/github/gh-aw-firewall/agent:0.27.2","digest":"sha256:f88e5b17b6b7a600117bc121114d6ce2155c88c983c0c939c5df884f730fa1d6","pinned_image":"ghcr.io/github/gh-aw-firewall/agent:0.27.2@sha256:f88e5b17b6b7a600117bc121114d6ce2155c88c983c0c939c5df884f730fa1d6"},{"image":"ghcr.io/github/gh-aw-firewall/api-proxy:0.27.2","digest":"sha256:ee39841d980878ebbb87592903b06d31a1af500c71525c9616f7e8e2a27041a4","pinned_image":"ghcr.io/github/gh-aw-firewall/api-proxy:0.27.2@sha256:ee39841d980878ebbb87592903b06d31a1af500c71525c9616f7e8e2a27041a4"},{"image":"ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.2","digest":"sha256:02f3ec08f32dc26c5427920c6a2e2f3036238fce44802f2f11ef49ed8621b5d0","pinned_image":"ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.2@sha256:02f3ec08f32dc26c5427920c6a2e2f3036238fce44802f2f11ef49ed8621b5d0"},{"image":"ghcr.io/github/gh-aw-firewall/squid:0.27.2","digest":"sha256:2e3a717e5f19a654cd9a2263beb52012b56bcb68562ec5ae2e42f9d156b49591","pinned_image":"ghcr.io/github/gh-aw-firewall/squid:0.27.2@sha256:2e3a717e5f19a654cd9a2263beb52012b56bcb68562ec5ae2e42f9d156b49591"},{"image":"ghcr.io/github/gh-aw-mcpg:v0.3.25","digest":"sha256:c10331ad17668ef89f38f5e356678788a40b0cd5fef96e8f92e1d9c1de47cbaa","pinned_image":"ghcr.io/github/gh-aw-mcpg:v0.3.25@sha256:c10331ad17668ef89f38f5e356678788a40b0cd5fef96e8f92e1d9c1de47cbaa"},{"image":"ghcr.io/github/github-mcp-server:v1.1.2","digest":"sha256:30197479d8036c7811892bc07e06f9a05c9ef3cdd79bc59f256d50647f95788c","pinned_image":"ghcr.io/github/github-mcp-server:v1.1.2@sha256:30197479d8036c7811892bc07e06f9a05c9ef3cdd79bc59f256d50647f95788c"}]}
# This file was automatically generated by gh-aw. DO NOT EDIT. To debug this workflow, load the skill at https://github.com/github/gh-aw/blob/main/debug.md
#
diff --git a/.github/workflows/copilot-opt.lock.yml b/.github/workflows/copilot-opt.lock.yml
index 93637fd500b..239480fa816 100644
--- a/.github/workflows/copilot-opt.lock.yml
+++ b/.github/workflows/copilot-opt.lock.yml
@@ -1,4 +1,4 @@
-# gh-aw-metadata: {"schema_version":"v4","frontmatter_hash":"93c339fe7be8a0226e22a10e151771f785c3ec2092fca13210b67f9073a4c31a","body_hash":"22030a84666c99a04710e3c52c222fab47c568ffc92086f564bb1f41be97d9d1","strict":true,"agent_id":"copilot","engine_versions":{"copilot":"1.0.60","copilot-sdk":"1.0.0"}}
+# gh-aw-metadata: {"schema_version":"v4","frontmatter_hash":"93c339fe7be8a0226e22a10e151771f785c3ec2092fca13210b67f9073a4c31a","body_hash":"01dd95c4897611f9383d898b00f6ea930a756ba2e4624494c722262318a7df58","strict":true,"agent_id":"copilot","engine_versions":{"copilot":"1.0.60","copilot-sdk":"1.0.0"}}
# gh-aw-manifest: {"version":1,"secrets":["COPILOT_GITHUB_TOKEN","GH_AW_GITHUB_MCP_SERVER_TOKEN","GH_AW_GITHUB_TOKEN","GH_AW_OTEL_GRAFANA_AUTHORIZATION","GH_AW_OTEL_GRAFANA_ENDPOINT","GH_AW_OTEL_SENTRY_AUTHORIZATION","GH_AW_OTEL_SENTRY_ENDPOINT","GITHUB_TOKEN"],"actions":[{"repo":"actions/cache/restore","sha":"27d5ce7f107fe9357f9df03efb73ab90386fccae","version":"v5.0.5"},{"repo":"actions/cache/save","sha":"27d5ce7f107fe9357f9df03efb73ab90386fccae","version":"v5.0.5"},{"repo":"actions/checkout","sha":"df4cb1c069e1874edd31b4311f1884172cec0e10","version":"v6.0.3"},{"repo":"actions/download-artifact","sha":"3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c","version":"v8.0.1"},{"repo":"actions/github-script","sha":"3a2844b7e9c422d3c10d287c895573f7108da1b3","version":"v9.0.0"},{"repo":"actions/setup-node","sha":"48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e","version":"v6.4.0"},{"repo":"actions/upload-artifact","sha":"043fb46d1a93c77aae656e7c1c64a875d1fc6a0a","version":"v7.0.1"}],"containers":[{"image":"ghcr.io/github/gh-aw-firewall/agent:0.27.2","digest":"sha256:f88e5b17b6b7a600117bc121114d6ce2155c88c983c0c939c5df884f730fa1d6","pinned_image":"ghcr.io/github/gh-aw-firewall/agent:0.27.2@sha256:f88e5b17b6b7a600117bc121114d6ce2155c88c983c0c939c5df884f730fa1d6"},{"image":"ghcr.io/github/gh-aw-firewall/api-proxy:0.27.2","digest":"sha256:ee39841d980878ebbb87592903b06d31a1af500c71525c9616f7e8e2a27041a4","pinned_image":"ghcr.io/github/gh-aw-firewall/api-proxy:0.27.2@sha256:ee39841d980878ebbb87592903b06d31a1af500c71525c9616f7e8e2a27041a4"},{"image":"ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.2","digest":"sha256:02f3ec08f32dc26c5427920c6a2e2f3036238fce44802f2f11ef49ed8621b5d0","pinned_image":"ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.2@sha256:02f3ec08f32dc26c5427920c6a2e2f3036238fce44802f2f11ef49ed8621b5d0"},{"image":"ghcr.io/github/gh-aw-firewall/squid:0.27.2","digest":"sha256:2e3a717e5f19a654cd9a2263beb52012b56bcb68562ec5ae2e42f9d156b49591","pinned_image":"ghcr.io/github/gh-aw-firewall/squid:0.27.2@sha256:2e3a717e5f19a654cd9a2263beb52012b56bcb68562ec5ae2e42f9d156b49591"},{"image":"ghcr.io/github/gh-aw-mcpg:v0.3.25","digest":"sha256:c10331ad17668ef89f38f5e356678788a40b0cd5fef96e8f92e1d9c1de47cbaa","pinned_image":"ghcr.io/github/gh-aw-mcpg:v0.3.25@sha256:c10331ad17668ef89f38f5e356678788a40b0cd5fef96e8f92e1d9c1de47cbaa"},{"image":"ghcr.io/github/github-mcp-server:v1.1.2","digest":"sha256:30197479d8036c7811892bc07e06f9a05c9ef3cdd79bc59f256d50647f95788c","pinned_image":"ghcr.io/github/github-mcp-server:v1.1.2@sha256:30197479d8036c7811892bc07e06f9a05c9ef3cdd79bc59f256d50647f95788c"}]}
# This file was automatically generated by gh-aw. DO NOT EDIT. To debug this workflow, load the skill at https://github.com/github/gh-aw/blob/main/debug.md
#
diff --git a/.github/workflows/copilot-pr-merged-report.lock.yml b/.github/workflows/copilot-pr-merged-report.lock.yml
index 53e6470ad5a..371bb91c489 100644
--- a/.github/workflows/copilot-pr-merged-report.lock.yml
+++ b/.github/workflows/copilot-pr-merged-report.lock.yml
@@ -1,4 +1,4 @@
-# gh-aw-metadata: {"schema_version":"v4","frontmatter_hash":"c615690258396634b6b3bc7d1bf82198fb841150472d35eff57cbb935c1f13f8","body_hash":"93757bf8dede764d011063fa2eb5adfa6b93ee9a5d9262fc1841e7720bc510a1","agent_id":"copilot","engine_versions":{"copilot":"1.0.60","copilot-sdk":"1.0.0"}}
+# gh-aw-metadata: {"schema_version":"v4","frontmatter_hash":"c615690258396634b6b3bc7d1bf82198fb841150472d35eff57cbb935c1f13f8","body_hash":"a8dcde067c3d2afbf83bbc849b0da59f5377251a6304dc49c5ab24c3404e04ac","agent_id":"copilot","engine_versions":{"copilot":"1.0.60","copilot-sdk":"1.0.0"}}
# gh-aw-manifest: {"version":1,"secrets":["GH_AW_GITHUB_MCP_SERVER_TOKEN","GH_AW_GITHUB_TOKEN","GH_AW_OTEL_GRAFANA_AUTHORIZATION","GH_AW_OTEL_GRAFANA_ENDPOINT","GH_AW_OTEL_SENTRY_AUTHORIZATION","GH_AW_OTEL_SENTRY_ENDPOINT","GITHUB_TOKEN"],"actions":[{"repo":"actions/cache/restore","sha":"27d5ce7f107fe9357f9df03efb73ab90386fccae","version":"v5.0.5"},{"repo":"actions/cache/save","sha":"27d5ce7f107fe9357f9df03efb73ab90386fccae","version":"v5.0.5"},{"repo":"actions/checkout","sha":"df4cb1c069e1874edd31b4311f1884172cec0e10","version":"v6.0.3"},{"repo":"actions/download-artifact","sha":"3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c","version":"v8.0.1"},{"repo":"actions/github-script","sha":"3a2844b7e9c422d3c10d287c895573f7108da1b3","version":"v9.0.0"},{"repo":"actions/setup-node","sha":"48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e","version":"v6.4.0"},{"repo":"actions/upload-artifact","sha":"043fb46d1a93c77aae656e7c1c64a875d1fc6a0a","version":"v7.0.1"}],"containers":[{"image":"ghcr.io/github/gh-aw-firewall/agent:0.27.2","digest":"sha256:f88e5b17b6b7a600117bc121114d6ce2155c88c983c0c939c5df884f730fa1d6","pinned_image":"ghcr.io/github/gh-aw-firewall/agent:0.27.2@sha256:f88e5b17b6b7a600117bc121114d6ce2155c88c983c0c939c5df884f730fa1d6"},{"image":"ghcr.io/github/gh-aw-firewall/api-proxy:0.27.2","digest":"sha256:ee39841d980878ebbb87592903b06d31a1af500c71525c9616f7e8e2a27041a4","pinned_image":"ghcr.io/github/gh-aw-firewall/api-proxy:0.27.2@sha256:ee39841d980878ebbb87592903b06d31a1af500c71525c9616f7e8e2a27041a4"},{"image":"ghcr.io/github/gh-aw-firewall/squid:0.27.2","digest":"sha256:2e3a717e5f19a654cd9a2263beb52012b56bcb68562ec5ae2e42f9d156b49591","pinned_image":"ghcr.io/github/gh-aw-firewall/squid:0.27.2@sha256:2e3a717e5f19a654cd9a2263beb52012b56bcb68562ec5ae2e42f9d156b49591"},{"image":"ghcr.io/github/gh-aw-mcpg:v0.3.25","digest":"sha256:c10331ad17668ef89f38f5e356678788a40b0cd5fef96e8f92e1d9c1de47cbaa","pinned_image":"ghcr.io/github/gh-aw-mcpg:v0.3.25@sha256:c10331ad17668ef89f38f5e356678788a40b0cd5fef96e8f92e1d9c1de47cbaa"}]}
# This file was automatically generated by gh-aw. DO NOT EDIT. To debug this workflow, load the skill at https://github.com/github/gh-aw/blob/main/debug.md
#
diff --git a/.github/workflows/copilot-pr-nlp-analysis.lock.yml b/.github/workflows/copilot-pr-nlp-analysis.lock.yml
index 6365ae4995f..6fd9231a0a0 100644
--- a/.github/workflows/copilot-pr-nlp-analysis.lock.yml
+++ b/.github/workflows/copilot-pr-nlp-analysis.lock.yml
@@ -1,4 +1,4 @@
-# gh-aw-metadata: {"schema_version":"v4","frontmatter_hash":"714ca45322f5fc2ca1b1a1233040933be7b7a0c9eaf06dcf3e1999c6a6828011","body_hash":"0e53e76eb864fe7d5cb059d2135c2fe2608b021f59888080f20021078580f7c2","strict":true,"agent_id":"copilot","engine_versions":{"copilot":"1.0.60","copilot-sdk":"1.0.0"}}
+# gh-aw-metadata: {"schema_version":"v4","frontmatter_hash":"714ca45322f5fc2ca1b1a1233040933be7b7a0c9eaf06dcf3e1999c6a6828011","body_hash":"5482d911fe8a473419a7cae05625f1be91b6d0b023f678660fa5dbf15a758d6c","strict":true,"agent_id":"copilot","engine_versions":{"copilot":"1.0.60","copilot-sdk":"1.0.0"}}
# gh-aw-manifest: {"version":1,"secrets":["GH_AW_GITHUB_MCP_SERVER_TOKEN","GH_AW_GITHUB_TOKEN","GH_AW_OTEL_GRAFANA_AUTHORIZATION","GH_AW_OTEL_GRAFANA_ENDPOINT","GH_AW_OTEL_SENTRY_AUTHORIZATION","GH_AW_OTEL_SENTRY_ENDPOINT","GITHUB_TOKEN"],"actions":[{"repo":"actions/cache/restore","sha":"27d5ce7f107fe9357f9df03efb73ab90386fccae","version":"v5.0.5"},{"repo":"actions/cache/save","sha":"27d5ce7f107fe9357f9df03efb73ab90386fccae","version":"v5.0.5"},{"repo":"actions/checkout","sha":"df4cb1c069e1874edd31b4311f1884172cec0e10","version":"v6.0.3"},{"repo":"actions/download-artifact","sha":"3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c","version":"v8.0.1"},{"repo":"actions/github-script","sha":"3a2844b7e9c422d3c10d287c895573f7108da1b3","version":"v9.0.0"},{"repo":"actions/setup-node","sha":"48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e","version":"v6.4.0"},{"repo":"actions/setup-python","sha":"a309ff8b426b58ec0e2a45f0f869d46889d02405","version":"v6.2.0"},{"repo":"actions/upload-artifact","sha":"043fb46d1a93c77aae656e7c1c64a875d1fc6a0a","version":"v7.0.1"}],"containers":[{"image":"ghcr.io/github/gh-aw-firewall/agent:0.27.2","digest":"sha256:f88e5b17b6b7a600117bc121114d6ce2155c88c983c0c939c5df884f730fa1d6","pinned_image":"ghcr.io/github/gh-aw-firewall/agent:0.27.2@sha256:f88e5b17b6b7a600117bc121114d6ce2155c88c983c0c939c5df884f730fa1d6"},{"image":"ghcr.io/github/gh-aw-firewall/api-proxy:0.27.2","digest":"sha256:ee39841d980878ebbb87592903b06d31a1af500c71525c9616f7e8e2a27041a4","pinned_image":"ghcr.io/github/gh-aw-firewall/api-proxy:0.27.2@sha256:ee39841d980878ebbb87592903b06d31a1af500c71525c9616f7e8e2a27041a4"},{"image":"ghcr.io/github/gh-aw-firewall/squid:0.27.2","digest":"sha256:2e3a717e5f19a654cd9a2263beb52012b56bcb68562ec5ae2e42f9d156b49591","pinned_image":"ghcr.io/github/gh-aw-firewall/squid:0.27.2@sha256:2e3a717e5f19a654cd9a2263beb52012b56bcb68562ec5ae2e42f9d156b49591"},{"image":"ghcr.io/github/gh-aw-mcpg:v0.3.25","digest":"sha256:c10331ad17668ef89f38f5e356678788a40b0cd5fef96e8f92e1d9c1de47cbaa","pinned_image":"ghcr.io/github/gh-aw-mcpg:v0.3.25@sha256:c10331ad17668ef89f38f5e356678788a40b0cd5fef96e8f92e1d9c1de47cbaa"},{"image":"ghcr.io/github/github-mcp-server:v1.1.2","digest":"sha256:30197479d8036c7811892bc07e06f9a05c9ef3cdd79bc59f256d50647f95788c","pinned_image":"ghcr.io/github/github-mcp-server:v1.1.2@sha256:30197479d8036c7811892bc07e06f9a05c9ef3cdd79bc59f256d50647f95788c"}]}
# This file was automatically generated by gh-aw. DO NOT EDIT. To debug this workflow, load the skill at https://github.com/github/gh-aw/blob/main/debug.md
#
diff --git a/.github/workflows/daily-aw-cross-repo-compile-check.lock.yml b/.github/workflows/daily-aw-cross-repo-compile-check.lock.yml
index 3b6894bd965..1ec784333a2 100644
--- a/.github/workflows/daily-aw-cross-repo-compile-check.lock.yml
+++ b/.github/workflows/daily-aw-cross-repo-compile-check.lock.yml
@@ -1,4 +1,4 @@
-# gh-aw-metadata: {"schema_version":"v4","frontmatter_hash":"432b3101e90651fb5c67d5ec7c12e36f80c30afa0c576075eb3721d2b0b73243","body_hash":"dec71dfc69d977b08250a9abaf4c0e37ae93d9175b5c24a16d4e8910f0b00619","strict":true,"agent_id":"claude","engine_versions":{"claude":"2.1.168"}}
+# gh-aw-metadata: {"schema_version":"v4","frontmatter_hash":"432b3101e90651fb5c67d5ec7c12e36f80c30afa0c576075eb3721d2b0b73243","body_hash":"cfc5a2d08a58185a05e541370793d5fb0c3a50f022479f0a65366b656d0f8419","strict":true,"agent_id":"claude","engine_versions":{"claude":"2.1.168"}}
# gh-aw-manifest: {"version":1,"secrets":["ANTHROPIC_API_KEY","GH_AW_GITHUB_MCP_SERVER_TOKEN","GH_AW_GITHUB_TOKEN","GH_AW_OTEL_GRAFANA_AUTHORIZATION","GH_AW_OTEL_GRAFANA_ENDPOINT","GH_AW_OTEL_SENTRY_AUTHORIZATION","GH_AW_OTEL_SENTRY_ENDPOINT","GITHUB_TOKEN"],"actions":[{"repo":"actions/cache/restore","sha":"27d5ce7f107fe9357f9df03efb73ab90386fccae","version":"v5.0.5"},{"repo":"actions/cache/save","sha":"27d5ce7f107fe9357f9df03efb73ab90386fccae","version":"v5.0.5"},{"repo":"actions/checkout","sha":"df4cb1c069e1874edd31b4311f1884172cec0e10","version":"v6.0.3"},{"repo":"actions/download-artifact","sha":"3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c","version":"v8.0.1"},{"repo":"actions/github-script","sha":"3a2844b7e9c422d3c10d287c895573f7108da1b3","version":"v9.0.0"},{"repo":"actions/setup-node","sha":"48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e","version":"v6.4.0"},{"repo":"actions/upload-artifact","sha":"043fb46d1a93c77aae656e7c1c64a875d1fc6a0a","version":"v7.0.1"}],"containers":[{"image":"ghcr.io/github/gh-aw-firewall/agent:0.27.2","digest":"sha256:f88e5b17b6b7a600117bc121114d6ce2155c88c983c0c939c5df884f730fa1d6","pinned_image":"ghcr.io/github/gh-aw-firewall/agent:0.27.2@sha256:f88e5b17b6b7a600117bc121114d6ce2155c88c983c0c939c5df884f730fa1d6"},{"image":"ghcr.io/github/gh-aw-firewall/api-proxy:0.27.2","digest":"sha256:ee39841d980878ebbb87592903b06d31a1af500c71525c9616f7e8e2a27041a4","pinned_image":"ghcr.io/github/gh-aw-firewall/api-proxy:0.27.2@sha256:ee39841d980878ebbb87592903b06d31a1af500c71525c9616f7e8e2a27041a4"},{"image":"ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.2","digest":"sha256:02f3ec08f32dc26c5427920c6a2e2f3036238fce44802f2f11ef49ed8621b5d0","pinned_image":"ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.2@sha256:02f3ec08f32dc26c5427920c6a2e2f3036238fce44802f2f11ef49ed8621b5d0"},{"image":"ghcr.io/github/gh-aw-firewall/squid:0.27.2","digest":"sha256:2e3a717e5f19a654cd9a2263beb52012b56bcb68562ec5ae2e42f9d156b49591","pinned_image":"ghcr.io/github/gh-aw-firewall/squid:0.27.2@sha256:2e3a717e5f19a654cd9a2263beb52012b56bcb68562ec5ae2e42f9d156b49591"},{"image":"ghcr.io/github/gh-aw-mcpg:v0.3.25","digest":"sha256:c10331ad17668ef89f38f5e356678788a40b0cd5fef96e8f92e1d9c1de47cbaa","pinned_image":"ghcr.io/github/gh-aw-mcpg:v0.3.25@sha256:c10331ad17668ef89f38f5e356678788a40b0cd5fef96e8f92e1d9c1de47cbaa"},{"image":"ghcr.io/github/github-mcp-server:v1.1.2","digest":"sha256:30197479d8036c7811892bc07e06f9a05c9ef3cdd79bc59f256d50647f95788c","pinned_image":"ghcr.io/github/github-mcp-server:v1.1.2@sha256:30197479d8036c7811892bc07e06f9a05c9ef3cdd79bc59f256d50647f95788c"}]}
# This file was automatically generated by gh-aw. DO NOT EDIT. To debug this workflow, load the skill at https://github.com/github/gh-aw/blob/main/debug.md
#
diff --git a/.github/workflows/daily-cache-strategy-analyzer.lock.yml b/.github/workflows/daily-cache-strategy-analyzer.lock.yml
index da20c1e46bf..1d944f32ede 100644
--- a/.github/workflows/daily-cache-strategy-analyzer.lock.yml
+++ b/.github/workflows/daily-cache-strategy-analyzer.lock.yml
@@ -1,4 +1,4 @@
-# gh-aw-metadata: {"schema_version":"v4","frontmatter_hash":"7767cb1165988158453359c185a753e63f4b03e19cb7c449c3eff864114a0764","body_hash":"c959161f2c09734078145fcc5d71f5d920b19a76a3b4f1b94f98a91d6d59af2b","strict":true,"agent_id":"codex","agent_model":"${{ needs.activation.outputs.model_size }}","engine_versions":{"codex":"0.137.0"}}
+# gh-aw-metadata: {"schema_version":"v4","frontmatter_hash":"7767cb1165988158453359c185a753e63f4b03e19cb7c449c3eff864114a0764","body_hash":"89142a65864c7d4b92e6a60f492a5e23f781f7ed0acc0f9c50111c038a4542f6","strict":true,"agent_id":"codex","agent_model":"${{ needs.activation.outputs.model_size }}","engine_versions":{"codex":"0.137.0"}}
# gh-aw-manifest: {"version":1,"secrets":["CODEX_API_KEY","GH_AW_GITHUB_MCP_SERVER_TOKEN","GH_AW_GITHUB_TOKEN","GH_AW_OTEL_GRAFANA_AUTHORIZATION","GH_AW_OTEL_GRAFANA_ENDPOINT","GH_AW_OTEL_SENTRY_AUTHORIZATION","GH_AW_OTEL_SENTRY_ENDPOINT","GITHUB_TOKEN","OPENAI_API_KEY"],"actions":[{"repo":"actions/cache/restore","sha":"27d5ce7f107fe9357f9df03efb73ab90386fccae","version":"v5.0.5"},{"repo":"actions/cache/save","sha":"27d5ce7f107fe9357f9df03efb73ab90386fccae","version":"v5.0.5"},{"repo":"actions/checkout","sha":"df4cb1c069e1874edd31b4311f1884172cec0e10","version":"v6.0.3"},{"repo":"actions/download-artifact","sha":"3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c","version":"v8.0.1"},{"repo":"actions/github-script","sha":"3a2844b7e9c422d3c10d287c895573f7108da1b3","version":"v9.0.0"},{"repo":"actions/setup-go","sha":"4a3601121dd01d1626a1e23e37211e3254c1c06c","version":"v6.4.0"},{"repo":"actions/setup-node","sha":"48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e","version":"v6.4.0"},{"repo":"actions/upload-artifact","sha":"043fb46d1a93c77aae656e7c1c64a875d1fc6a0a","version":"v7.0.1"},{"repo":"docker/build-push-action","sha":"f9f3042f7e2789586610d6e8b85c8f03e5195baf","version":"v7.2.0"},{"repo":"docker/setup-buildx-action","sha":"d7f5e7f509e45cec5c76c4d5afdd7de93d0b3df5","version":"v4.1.0"}],"containers":[{"image":"ghcr.io/github/gh-aw-firewall/agent:0.27.2","digest":"sha256:f88e5b17b6b7a600117bc121114d6ce2155c88c983c0c939c5df884f730fa1d6","pinned_image":"ghcr.io/github/gh-aw-firewall/agent:0.27.2@sha256:f88e5b17b6b7a600117bc121114d6ce2155c88c983c0c939c5df884f730fa1d6"},{"image":"ghcr.io/github/gh-aw-firewall/api-proxy:0.27.2","digest":"sha256:ee39841d980878ebbb87592903b06d31a1af500c71525c9616f7e8e2a27041a4","pinned_image":"ghcr.io/github/gh-aw-firewall/api-proxy:0.27.2@sha256:ee39841d980878ebbb87592903b06d31a1af500c71525c9616f7e8e2a27041a4"},{"image":"ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.2","digest":"sha256:02f3ec08f32dc26c5427920c6a2e2f3036238fce44802f2f11ef49ed8621b5d0","pinned_image":"ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.2@sha256:02f3ec08f32dc26c5427920c6a2e2f3036238fce44802f2f11ef49ed8621b5d0"},{"image":"ghcr.io/github/gh-aw-firewall/squid:0.27.2","digest":"sha256:2e3a717e5f19a654cd9a2263beb52012b56bcb68562ec5ae2e42f9d156b49591","pinned_image":"ghcr.io/github/gh-aw-firewall/squid:0.27.2@sha256:2e3a717e5f19a654cd9a2263beb52012b56bcb68562ec5ae2e42f9d156b49591"},{"image":"ghcr.io/github/gh-aw-mcpg:v0.3.25","digest":"sha256:c10331ad17668ef89f38f5e356678788a40b0cd5fef96e8f92e1d9c1de47cbaa","pinned_image":"ghcr.io/github/gh-aw-mcpg:v0.3.25@sha256:c10331ad17668ef89f38f5e356678788a40b0cd5fef96e8f92e1d9c1de47cbaa"},{"image":"ghcr.io/github/github-mcp-server:v1.1.2","digest":"sha256:30197479d8036c7811892bc07e06f9a05c9ef3cdd79bc59f256d50647f95788c","pinned_image":"ghcr.io/github/github-mcp-server:v1.1.2@sha256:30197479d8036c7811892bc07e06f9a05c9ef3cdd79bc59f256d50647f95788c"}]}
# This file was automatically generated by gh-aw. DO NOT EDIT. To debug this workflow, load the skill at https://github.com/github/gh-aw/blob/main/debug.md
#
diff --git a/.github/workflows/daily-compiler-quality.lock.yml b/.github/workflows/daily-compiler-quality.lock.yml
index 2f72fcea88c..9bca7d3fce9 100644
--- a/.github/workflows/daily-compiler-quality.lock.yml
+++ b/.github/workflows/daily-compiler-quality.lock.yml
@@ -278,21 +278,21 @@ jobs:
run: |
bash "${RUNNER_TEMP}/gh-aw/actions/create_prompt_first.sh"
{
- cat << 'GH_AW_PROMPT_30ece0f168c8bd2d_EOF'
+ cat << 'GH_AW_PROMPT_ae3c96677dd2b5bb_EOF'
- GH_AW_PROMPT_30ece0f168c8bd2d_EOF
+ GH_AW_PROMPT_ae3c96677dd2b5bb_EOF
cat "${RUNNER_TEMP}/gh-aw/prompts/xpia.md"
cat "${RUNNER_TEMP}/gh-aw/prompts/temp_folder_prompt.md"
cat "${RUNNER_TEMP}/gh-aw/prompts/markdown.md"
cat "${RUNNER_TEMP}/gh-aw/prompts/cache_memory_prompt.md"
cat "${RUNNER_TEMP}/gh-aw/prompts/safe_outputs_prompt.md"
- cat << 'GH_AW_PROMPT_30ece0f168c8bd2d_EOF'
+ cat << 'GH_AW_PROMPT_ae3c96677dd2b5bb_EOF'
Tools: create_discussion, missing_tool, missing_data, noop
- GH_AW_PROMPT_30ece0f168c8bd2d_EOF
+ GH_AW_PROMPT_ae3c96677dd2b5bb_EOF
cat "${RUNNER_TEMP}/gh-aw/prompts/mcp_cli_tools_prompt.md"
- cat << 'GH_AW_PROMPT_30ece0f168c8bd2d_EOF'
+ cat << 'GH_AW_PROMPT_ae3c96677dd2b5bb_EOF'
The following GitHub context information is available for this workflow:
{{#if github.actor}}
@@ -321,9 +321,9 @@ jobs:
{{/if}}
- GH_AW_PROMPT_30ece0f168c8bd2d_EOF
+ GH_AW_PROMPT_ae3c96677dd2b5bb_EOF
cat "${RUNNER_TEMP}/gh-aw/prompts/cli_proxy_with_safeoutputs_prompt.md"
- cat << 'GH_AW_PROMPT_30ece0f168c8bd2d_EOF'
+ cat << 'GH_AW_PROMPT_ae3c96677dd2b5bb_EOF'
{{#runtime-import .github/workflows/shared/go-source-analysis.md}}
{{#runtime-import .github/workflows/shared/otlp.md}}
@@ -331,36 +331,10 @@ jobs:
{{#runtime-import .github/workflows/shared/mcp/serena-go.md}}
## Serena Code Analysis
- The Serena MCP server is configured for **["go"]** analysis in this workspace:
- - **Workspace**: `__GH_AW_GITHUB_WORKSPACE__`
- - **Memory**: `/tmp/gh-aw/cache-memory/serena/`
-
- ### Project Activation
-
- Before analyzing code, activate the Serena project:
- ```
- Tool: activate_project
- Args: { "path": "__GH_AW_GITHUB_WORKSPACE__" }
- ```
-
- ### Available Capabilities
-
- Serena provides IDE-grade Language Server Protocol (LSP) tools including:
- - **Symbol search**: `find_symbol` — locate functions, types, interfaces by name
- - **Navigation**: `find_referencing_symbols` — find all callers/usages of a symbol
- - **Type info**: `get_symbol_documentation` — hover-level type and doc information
- - **Code editing**: `replace_symbol_body`, `insert_after_symbol` — symbol-level edits
- - **Diagnostics**: `get_diagnostics` — compiler errors and linter warnings
-
- ### Analysis Guidelines
-
- 1. **Use semantic tools over text search** — prefer Serena's LSP tools over `grep`
- 2. **Activate project first** — always call `activate_project` before other tools
- 3. **Cross-reference findings** — validate with multiple tools for accuracy
- 4. **Focus on the relevant language files** — ignore unrelated file types
+ Serena is enabled for **["go"]** in `__GH_AW_GITHUB_WORKSPACE__`. Start by calling `activate_project` with that workspace path, then prefer Serena semantic tools for symbol lookup, references, docs, diagnostics, and structured edits.
{{#runtime-import .github/workflows/shared/noop-reminder.md}}
{{#runtime-import .github/workflows/daily-compiler-quality.md}}
- GH_AW_PROMPT_30ece0f168c8bd2d_EOF
+ GH_AW_PROMPT_ae3c96677dd2b5bb_EOF
} > "$GH_AW_PROMPT"
- name: Interpolate variables and render templates
uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
diff --git a/.github/workflows/daily-file-diet.lock.yml b/.github/workflows/daily-file-diet.lock.yml
index c5ec0a13949..6878efb006a 100644
--- a/.github/workflows/daily-file-diet.lock.yml
+++ b/.github/workflows/daily-file-diet.lock.yml
@@ -247,20 +247,20 @@ jobs:
run: |
bash "${RUNNER_TEMP}/gh-aw/actions/create_prompt_first.sh"
{
- cat << 'GH_AW_PROMPT_18f8869d7108a1b9_EOF'
+ cat << 'GH_AW_PROMPT_e5ac9a27400e003b_EOF'
- GH_AW_PROMPT_18f8869d7108a1b9_EOF
+ GH_AW_PROMPT_e5ac9a27400e003b_EOF
cat "${RUNNER_TEMP}/gh-aw/prompts/xpia.md"
cat "${RUNNER_TEMP}/gh-aw/prompts/temp_folder_prompt.md"
cat "${RUNNER_TEMP}/gh-aw/prompts/markdown.md"
cat "${RUNNER_TEMP}/gh-aw/prompts/safe_outputs_prompt.md"
- cat << 'GH_AW_PROMPT_18f8869d7108a1b9_EOF'
+ cat << 'GH_AW_PROMPT_e5ac9a27400e003b_EOF'
Tools: create_issue, missing_tool, missing_data, noop
- GH_AW_PROMPT_18f8869d7108a1b9_EOF
+ GH_AW_PROMPT_e5ac9a27400e003b_EOF
cat "${RUNNER_TEMP}/gh-aw/prompts/mcp_cli_tools_prompt.md"
- cat << 'GH_AW_PROMPT_18f8869d7108a1b9_EOF'
+ cat << 'GH_AW_PROMPT_e5ac9a27400e003b_EOF'
The following GitHub context information is available for this workflow:
{{#if github.actor}}
@@ -289,9 +289,9 @@ jobs:
{{/if}}
- GH_AW_PROMPT_18f8869d7108a1b9_EOF
+ GH_AW_PROMPT_e5ac9a27400e003b_EOF
cat "${RUNNER_TEMP}/gh-aw/prompts/cli_proxy_with_safeoutputs_prompt.md"
- cat << 'GH_AW_PROMPT_18f8869d7108a1b9_EOF'
+ cat << 'GH_AW_PROMPT_e5ac9a27400e003b_EOF'
{{#runtime-import .github/workflows/shared/go-source-analysis.md}}
{{#runtime-import .github/workflows/shared/safe-output-app.md}}
@@ -301,36 +301,10 @@ jobs:
{{#runtime-import .github/workflows/shared/mcp/serena-go.md}}
## Serena Code Analysis
- The Serena MCP server is configured for **["go"]** analysis in this workspace:
- - **Workspace**: `__GH_AW_GITHUB_WORKSPACE__`
- - **Memory**: `/tmp/gh-aw/cache-memory/serena/`
-
- ### Project Activation
-
- Before analyzing code, activate the Serena project:
- ```
- Tool: activate_project
- Args: { "path": "__GH_AW_GITHUB_WORKSPACE__" }
- ```
-
- ### Available Capabilities
-
- Serena provides IDE-grade Language Server Protocol (LSP) tools including:
- - **Symbol search**: `find_symbol` — locate functions, types, interfaces by name
- - **Navigation**: `find_referencing_symbols` — find all callers/usages of a symbol
- - **Type info**: `get_symbol_documentation` — hover-level type and doc information
- - **Code editing**: `replace_symbol_body`, `insert_after_symbol` — symbol-level edits
- - **Diagnostics**: `get_diagnostics` — compiler errors and linter warnings
-
- ### Analysis Guidelines
-
- 1. **Use semantic tools over text search** — prefer Serena's LSP tools over `grep`
- 2. **Activate project first** — always call `activate_project` before other tools
- 3. **Cross-reference findings** — validate with multiple tools for accuracy
- 4. **Focus on the relevant language files** — ignore unrelated file types
+ Serena is enabled for **["go"]** in `__GH_AW_GITHUB_WORKSPACE__`. Start by calling `activate_project` with that workspace path, then prefer Serena semantic tools for symbol lookup, references, docs, diagnostics, and structured edits.
{{#runtime-import .github/workflows/shared/noop-reminder.md}}
{{#runtime-import .github/workflows/daily-file-diet.md}}
- GH_AW_PROMPT_18f8869d7108a1b9_EOF
+ GH_AW_PROMPT_e5ac9a27400e003b_EOF
} > "$GH_AW_PROMPT"
- name: Interpolate variables and render templates
uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
diff --git a/.github/workflows/daily-function-namer.lock.yml b/.github/workflows/daily-function-namer.lock.yml
index b460c4b6e6e..edc7d5143af 100644
--- a/.github/workflows/daily-function-namer.lock.yml
+++ b/.github/workflows/daily-function-namer.lock.yml
@@ -284,21 +284,21 @@ jobs:
run: |
bash "${RUNNER_TEMP}/gh-aw/actions/create_prompt_first.sh"
{
- cat << 'GH_AW_PROMPT_bc43047bead7d6e0_EOF'
+ cat << 'GH_AW_PROMPT_2ff0f3fca457b7b0_EOF'
- GH_AW_PROMPT_bc43047bead7d6e0_EOF
+ GH_AW_PROMPT_2ff0f3fca457b7b0_EOF
cat "${RUNNER_TEMP}/gh-aw/prompts/xpia.md"
cat "${RUNNER_TEMP}/gh-aw/prompts/temp_folder_prompt.md"
cat "${RUNNER_TEMP}/gh-aw/prompts/markdown.md"
cat "${RUNNER_TEMP}/gh-aw/prompts/cache_memory_prompt.md"
cat "${RUNNER_TEMP}/gh-aw/prompts/safe_outputs_prompt.md"
- cat << 'GH_AW_PROMPT_bc43047bead7d6e0_EOF'
+ cat << 'GH_AW_PROMPT_2ff0f3fca457b7b0_EOF'
Tools: create_issue, create_discussion, missing_tool, missing_data, noop
- GH_AW_PROMPT_bc43047bead7d6e0_EOF
+ GH_AW_PROMPT_2ff0f3fca457b7b0_EOF
cat "${RUNNER_TEMP}/gh-aw/prompts/mcp_cli_tools_prompt.md"
- cat << 'GH_AW_PROMPT_bc43047bead7d6e0_EOF'
+ cat << 'GH_AW_PROMPT_2ff0f3fca457b7b0_EOF'
The following GitHub context information is available for this workflow:
{{#if github.actor}}
@@ -327,44 +327,18 @@ jobs:
{{/if}}
- GH_AW_PROMPT_bc43047bead7d6e0_EOF
+ GH_AW_PROMPT_2ff0f3fca457b7b0_EOF
cat "${RUNNER_TEMP}/gh-aw/prompts/cli_proxy_with_safeoutputs_prompt.md"
- cat << 'GH_AW_PROMPT_bc43047bead7d6e0_EOF'
+ cat << 'GH_AW_PROMPT_2ff0f3fca457b7b0_EOF'
{{#runtime-import .github/workflows/shared/mcp/serena-go.md}}
{{#runtime-import .github/workflows/shared/otlp.md}}
{{#runtime-import .github/workflows/shared/reporting.md}}
## Serena Code Analysis
- The Serena MCP server is configured for **["go"]** analysis in this workspace:
- - **Workspace**: `__GH_AW_GITHUB_WORKSPACE__`
- - **Memory**: `/tmp/gh-aw/cache-memory/serena/`
-
- ### Project Activation
-
- Before analyzing code, activate the Serena project:
- ```
- Tool: activate_project
- Args: { "path": "__GH_AW_GITHUB_WORKSPACE__" }
- ```
-
- ### Available Capabilities
-
- Serena provides IDE-grade Language Server Protocol (LSP) tools including:
- - **Symbol search**: `find_symbol` — locate functions, types, interfaces by name
- - **Navigation**: `find_referencing_symbols` — find all callers/usages of a symbol
- - **Type info**: `get_symbol_documentation` — hover-level type and doc information
- - **Code editing**: `replace_symbol_body`, `insert_after_symbol` — symbol-level edits
- - **Diagnostics**: `get_diagnostics` — compiler errors and linter warnings
-
- ### Analysis Guidelines
-
- 1. **Use semantic tools over text search** — prefer Serena's LSP tools over `grep`
- 2. **Activate project first** — always call `activate_project` before other tools
- 3. **Cross-reference findings** — validate with multiple tools for accuracy
- 4. **Focus on the relevant language files** — ignore unrelated file types
+ Serena is enabled for **["go"]** in `__GH_AW_GITHUB_WORKSPACE__`. Start by calling `activate_project` with that workspace path, then prefer Serena semantic tools for symbol lookup, references, docs, diagnostics, and structured edits.
{{#runtime-import .github/workflows/daily-function-namer.md}}
- GH_AW_PROMPT_bc43047bead7d6e0_EOF
+ GH_AW_PROMPT_2ff0f3fca457b7b0_EOF
} > "$GH_AW_PROMPT"
- name: Interpolate variables and render templates
uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
diff --git a/.github/workflows/daily-hippo-learn.lock.yml b/.github/workflows/daily-hippo-learn.lock.yml
index 3ac61e7214b..0f9ada13d4a 100644
--- a/.github/workflows/daily-hippo-learn.lock.yml
+++ b/.github/workflows/daily-hippo-learn.lock.yml
@@ -1,4 +1,4 @@
-# gh-aw-metadata: {"schema_version":"v4","frontmatter_hash":"cb7d4ae298f928691fd7586965ca7938f90f4f851e468909ba33d8d49ce0c11e","body_hash":"a3b2278460f79f503a210c5722e7c16d0b458b2625cb20d4f44437041f207a11","strict":true,"agent_id":"copilot","engine_versions":{"copilot":"1.0.60"}}
+# gh-aw-metadata: {"schema_version":"v4","frontmatter_hash":"cb7d4ae298f928691fd7586965ca7938f90f4f851e468909ba33d8d49ce0c11e","body_hash":"6aee73c828f19233fa40afe0d145365865d613acc6537e7b9c4589afa4bce569","strict":true,"agent_id":"copilot","engine_versions":{"copilot":"1.0.60"}}
# gh-aw-manifest: {"version":1,"secrets":["GH_AW_GITHUB_MCP_SERVER_TOKEN","GH_AW_GITHUB_TOKEN","GH_AW_OTEL_GRAFANA_AUTHORIZATION","GH_AW_OTEL_GRAFANA_ENDPOINT","GH_AW_OTEL_SENTRY_AUTHORIZATION","GH_AW_OTEL_SENTRY_ENDPOINT","GITHUB_TOKEN"],"actions":[{"repo":"actions/cache/restore","sha":"27d5ce7f107fe9357f9df03efb73ab90386fccae","version":"v5.0.5"},{"repo":"actions/cache/save","sha":"27d5ce7f107fe9357f9df03efb73ab90386fccae","version":"v5.0.5"},{"repo":"actions/checkout","sha":"df4cb1c069e1874edd31b4311f1884172cec0e10","version":"v6.0.3"},{"repo":"actions/download-artifact","sha":"3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c","version":"v8.0.1"},{"repo":"actions/github-script","sha":"3a2844b7e9c422d3c10d287c895573f7108da1b3","version":"v9.0.0"},{"repo":"actions/setup-node","sha":"48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e","version":"v6.4.0"},{"repo":"actions/upload-artifact","sha":"043fb46d1a93c77aae656e7c1c64a875d1fc6a0a","version":"v7.0.1"}],"containers":[{"image":"ghcr.io/github/gh-aw-firewall/agent:0.27.2","digest":"sha256:f88e5b17b6b7a600117bc121114d6ce2155c88c983c0c939c5df884f730fa1d6","pinned_image":"ghcr.io/github/gh-aw-firewall/agent:0.27.2@sha256:f88e5b17b6b7a600117bc121114d6ce2155c88c983c0c939c5df884f730fa1d6"},{"image":"ghcr.io/github/gh-aw-firewall/api-proxy:0.27.2","digest":"sha256:ee39841d980878ebbb87592903b06d31a1af500c71525c9616f7e8e2a27041a4","pinned_image":"ghcr.io/github/gh-aw-firewall/api-proxy:0.27.2@sha256:ee39841d980878ebbb87592903b06d31a1af500c71525c9616f7e8e2a27041a4"},{"image":"ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.2","digest":"sha256:02f3ec08f32dc26c5427920c6a2e2f3036238fce44802f2f11ef49ed8621b5d0","pinned_image":"ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.2@sha256:02f3ec08f32dc26c5427920c6a2e2f3036238fce44802f2f11ef49ed8621b5d0"},{"image":"ghcr.io/github/gh-aw-firewall/squid:0.27.2","digest":"sha256:2e3a717e5f19a654cd9a2263beb52012b56bcb68562ec5ae2e42f9d156b49591","pinned_image":"ghcr.io/github/gh-aw-firewall/squid:0.27.2@sha256:2e3a717e5f19a654cd9a2263beb52012b56bcb68562ec5ae2e42f9d156b49591"},{"image":"ghcr.io/github/gh-aw-mcpg:v0.3.25","digest":"sha256:c10331ad17668ef89f38f5e356678788a40b0cd5fef96e8f92e1d9c1de47cbaa","pinned_image":"ghcr.io/github/gh-aw-mcpg:v0.3.25@sha256:c10331ad17668ef89f38f5e356678788a40b0cd5fef96e8f92e1d9c1de47cbaa"},{"image":"ghcr.io/github/github-mcp-server:v1.1.2","digest":"sha256:30197479d8036c7811892bc07e06f9a05c9ef3cdd79bc59f256d50647f95788c","pinned_image":"ghcr.io/github/github-mcp-server:v1.1.2@sha256:30197479d8036c7811892bc07e06f9a05c9ef3cdd79bc59f256d50647f95788c"}]}
# This file was automatically generated by gh-aw. DO NOT EDIT. To debug this workflow, load the skill at https://github.com/github/gh-aw/blob/main/debug.md
#
diff --git a/.github/workflows/daily-mcp-concurrency-analysis.lock.yml b/.github/workflows/daily-mcp-concurrency-analysis.lock.yml
index 467017d7a78..5f7668fe63f 100644
--- a/.github/workflows/daily-mcp-concurrency-analysis.lock.yml
+++ b/.github/workflows/daily-mcp-concurrency-analysis.lock.yml
@@ -241,21 +241,21 @@ jobs:
run: |
bash "${RUNNER_TEMP}/gh-aw/actions/create_prompt_first.sh"
{
- cat << 'GH_AW_PROMPT_716a133344960c45_EOF'
+ cat << 'GH_AW_PROMPT_2a210bbe72ee5094_EOF'
- GH_AW_PROMPT_716a133344960c45_EOF
+ GH_AW_PROMPT_2a210bbe72ee5094_EOF
cat "${RUNNER_TEMP}/gh-aw/prompts/xpia.md"
cat "${RUNNER_TEMP}/gh-aw/prompts/temp_folder_prompt.md"
cat "${RUNNER_TEMP}/gh-aw/prompts/markdown.md"
cat "${RUNNER_TEMP}/gh-aw/prompts/cache_memory_prompt.md"
cat "${RUNNER_TEMP}/gh-aw/prompts/safe_outputs_prompt.md"
- cat << 'GH_AW_PROMPT_716a133344960c45_EOF'
+ cat << 'GH_AW_PROMPT_2a210bbe72ee5094_EOF'
Tools: create_issue(max:5), create_discussion, create_agent_session(max:3), missing_tool, missing_data, noop
- GH_AW_PROMPT_716a133344960c45_EOF
+ GH_AW_PROMPT_2a210bbe72ee5094_EOF
cat "${RUNNER_TEMP}/gh-aw/prompts/mcp_cli_tools_prompt.md"
- cat << 'GH_AW_PROMPT_716a133344960c45_EOF'
+ cat << 'GH_AW_PROMPT_2a210bbe72ee5094_EOF'
The following GitHub context information is available for this workflow:
{{#if github.actor}}
@@ -284,44 +284,18 @@ jobs:
{{/if}}
- GH_AW_PROMPT_716a133344960c45_EOF
+ GH_AW_PROMPT_2a210bbe72ee5094_EOF
cat "${RUNNER_TEMP}/gh-aw/prompts/cli_proxy_with_safeoutputs_prompt.md"
- cat << 'GH_AW_PROMPT_716a133344960c45_EOF'
+ cat << 'GH_AW_PROMPT_2a210bbe72ee5094_EOF'
{{#runtime-import .github/workflows/shared/safe-output-app.md}}
## Serena Code Analysis
- The Serena MCP server is configured for **["go","typescript"]** analysis in this workspace:
- - **Workspace**: `__GH_AW_GITHUB_WORKSPACE__`
- - **Memory**: `/tmp/gh-aw/cache-memory/serena/`
-
- ### Project Activation
-
- Before analyzing code, activate the Serena project:
- ```
- Tool: activate_project
- Args: { "path": "__GH_AW_GITHUB_WORKSPACE__" }
- ```
-
- ### Available Capabilities
-
- Serena provides IDE-grade Language Server Protocol (LSP) tools including:
- - **Symbol search**: `find_symbol` — locate functions, types, interfaces by name
- - **Navigation**: `find_referencing_symbols` — find all callers/usages of a symbol
- - **Type info**: `get_symbol_documentation` — hover-level type and doc information
- - **Code editing**: `replace_symbol_body`, `insert_after_symbol` — symbol-level edits
- - **Diagnostics**: `get_diagnostics` — compiler errors and linter warnings
-
- ### Analysis Guidelines
-
- 1. **Use semantic tools over text search** — prefer Serena's LSP tools over `grep`
- 2. **Activate project first** — always call `activate_project` before other tools
- 3. **Cross-reference findings** — validate with multiple tools for accuracy
- 4. **Focus on the relevant language files** — ignore unrelated file types
+ Serena is enabled for **["go","typescript"]** in `__GH_AW_GITHUB_WORKSPACE__`. Start by calling `activate_project` with that workspace path, then prefer Serena semantic tools for symbol lookup, references, docs, diagnostics, and structured edits.
{{#runtime-import .github/workflows/shared/otlp.md}}
{{#runtime-import .github/workflows/shared/reporting.md}}
{{#runtime-import .github/workflows/daily-mcp-concurrency-analysis.md}}
- GH_AW_PROMPT_716a133344960c45_EOF
+ GH_AW_PROMPT_2a210bbe72ee5094_EOF
} > "$GH_AW_PROMPT"
- name: Interpolate variables and render templates
uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
diff --git a/.github/workflows/daily-safe-output-integrator.lock.yml b/.github/workflows/daily-safe-output-integrator.lock.yml
index 240bd2cfcd4..314d8512f07 100644
--- a/.github/workflows/daily-safe-output-integrator.lock.yml
+++ b/.github/workflows/daily-safe-output-integrator.lock.yml
@@ -1,4 +1,4 @@
-# gh-aw-metadata: {"schema_version":"v4","frontmatter_hash":"2ad48c9d1c9899b3bf843e3f38ed15485bfdd2dcbf2c104d7ca89cf7fbf7deb6","body_hash":"343a746e5331e53886c747e0d7e8f5207b0b2d549dd5079176e093c4656c2050","strict":true,"agent_id":"copilot","engine_versions":{"copilot":"1.0.60","copilot-sdk":"1.0.0"}}
+# gh-aw-metadata: {"schema_version":"v4","frontmatter_hash":"2ad48c9d1c9899b3bf843e3f38ed15485bfdd2dcbf2c104d7ca89cf7fbf7deb6","body_hash":"87a2a660cf32b54d75ae098715eeeb1711597b10a68565bf8eaae879548da3e9","strict":true,"agent_id":"copilot","engine_versions":{"copilot":"1.0.60","copilot-sdk":"1.0.0"}}
# gh-aw-manifest: {"version":1,"secrets":["GH_AW_CI_TRIGGER_TOKEN","GH_AW_GITHUB_MCP_SERVER_TOKEN","GH_AW_GITHUB_TOKEN","GH_AW_OTEL_GRAFANA_AUTHORIZATION","GH_AW_OTEL_GRAFANA_ENDPOINT","GH_AW_OTEL_SENTRY_AUTHORIZATION","GH_AW_OTEL_SENTRY_ENDPOINT","GITHUB_TOKEN"],"actions":[{"repo":"actions/cache/restore","sha":"27d5ce7f107fe9357f9df03efb73ab90386fccae","version":"v5.0.5"},{"repo":"actions/cache/save","sha":"27d5ce7f107fe9357f9df03efb73ab90386fccae","version":"v5.0.5"},{"repo":"actions/checkout","sha":"df4cb1c069e1874edd31b4311f1884172cec0e10","version":"v6.0.3"},{"repo":"actions/download-artifact","sha":"3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c","version":"v8.0.1"},{"repo":"actions/github-script","sha":"3a2844b7e9c422d3c10d287c895573f7108da1b3","version":"v9.0.0"},{"repo":"actions/setup-node","sha":"48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e","version":"v6.4.0"},{"repo":"actions/upload-artifact","sha":"043fb46d1a93c77aae656e7c1c64a875d1fc6a0a","version":"v7.0.1"}],"containers":[{"image":"ghcr.io/github/gh-aw-firewall/agent:0.27.2","digest":"sha256:f88e5b17b6b7a600117bc121114d6ce2155c88c983c0c939c5df884f730fa1d6","pinned_image":"ghcr.io/github/gh-aw-firewall/agent:0.27.2@sha256:f88e5b17b6b7a600117bc121114d6ce2155c88c983c0c939c5df884f730fa1d6"},{"image":"ghcr.io/github/gh-aw-firewall/api-proxy:0.27.2","digest":"sha256:ee39841d980878ebbb87592903b06d31a1af500c71525c9616f7e8e2a27041a4","pinned_image":"ghcr.io/github/gh-aw-firewall/api-proxy:0.27.2@sha256:ee39841d980878ebbb87592903b06d31a1af500c71525c9616f7e8e2a27041a4"},{"image":"ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.2","digest":"sha256:02f3ec08f32dc26c5427920c6a2e2f3036238fce44802f2f11ef49ed8621b5d0","pinned_image":"ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.2@sha256:02f3ec08f32dc26c5427920c6a2e2f3036238fce44802f2f11ef49ed8621b5d0"},{"image":"ghcr.io/github/gh-aw-firewall/squid:0.27.2","digest":"sha256:2e3a717e5f19a654cd9a2263beb52012b56bcb68562ec5ae2e42f9d156b49591","pinned_image":"ghcr.io/github/gh-aw-firewall/squid:0.27.2@sha256:2e3a717e5f19a654cd9a2263beb52012b56bcb68562ec5ae2e42f9d156b49591"},{"image":"ghcr.io/github/gh-aw-mcpg:v0.3.25","digest":"sha256:c10331ad17668ef89f38f5e356678788a40b0cd5fef96e8f92e1d9c1de47cbaa","pinned_image":"ghcr.io/github/gh-aw-mcpg:v0.3.25@sha256:c10331ad17668ef89f38f5e356678788a40b0cd5fef96e8f92e1d9c1de47cbaa"},{"image":"ghcr.io/github/github-mcp-server:v1.1.2","digest":"sha256:30197479d8036c7811892bc07e06f9a05c9ef3cdd79bc59f256d50647f95788c","pinned_image":"ghcr.io/github/github-mcp-server:v1.1.2@sha256:30197479d8036c7811892bc07e06f9a05c9ef3cdd79bc59f256d50647f95788c"}]}
# This file was automatically generated by gh-aw. DO NOT EDIT. To debug this workflow, load the skill at https://github.com/github/gh-aw/blob/main/debug.md
#
diff --git a/.github/workflows/daily-safe-output-integrator.md b/.github/workflows/daily-safe-output-integrator.md
index 94fe455f784..9ae7f4e6e1a 100644
--- a/.github/workflows/daily-safe-output-integrator.md
+++ b/.github/workflows/daily-safe-output-integrator.md
@@ -58,7 +58,9 @@ tracker-id: daily-safe-output-integrator
# Daily Safe Output Integrator
-You are the **Daily Safe Output Integrator** — an automated agent that ensures all safe-output types are covered by test workflows and compiler tests. Your mission is to maintain full test coverage for every safe-output type supported by the gh-aw compiler.
+Ensure every supported safe-output type has both:
+1) a `pkg/cli/workflows/test-*.md` fixture, and
+2) coverage in `pkg/workflow/compiler_safe_outputs_config_test.go`.
## Current Context
@@ -66,681 +68,57 @@ You are the **Daily Safe Output Integrator** — an automated agent that ensures
- **Run Date**: $(date +%Y-%m-%d)
- **Workspace**: ${{ github.workspace }}
-## Background
+## Execution Plan
-The gh-aw compiler supports many safe-output types (e.g., `create-issue`, `add-comment`, `update-project`). Each type needs:
-1. A **test workflow** in `pkg/cli/workflows/` — a markdown file that demonstrates usage and serves as a compilation fixture
-2. A **Go compiler test** — a test function in `pkg/workflow/compiler_safe_outputs_config_test.go` that verifies the type compiles correctly
+### Phase 1: Build authoritative type list
-Your job is to detect any safe-output types that lack test coverage and create the missing artifacts.
+- Read `SafeOutputsConfig` in `pkg/workflow/compiler_types.go`.
+- Extract YAML keys from `yaml:",omitempty"` fields.
+- Exclude config-only keys: `jobs`, `github-app`, `env`, `github-token`, `allowed-domains`, `allowed-github-references`, `staged`, `threat-detection`.
-## Phase 1: Discover All Safe-Output Types
+### Phase 2: Detect workflow fixture gaps
-Extract the complete list of safe-output YAML keys from the `SafeOutputsConfig` struct in `pkg/workflow/compiler_types.go`.
+- Scan frontmatter of `pkg/cli/workflows/*.md` and map each type to files that already cover it.
+- Use one compact script (saved under `/tmp/gh-aw/agent/`) to emit:
+ - covered types (with file examples),
+ - missing types requiring new fixtures.
+- Do not rely on repeated hardcoded frontmatter examples; generate fixtures from a single template pattern.
-```bash
-grep -n 'yaml:"[a-z-]*,omitempty"' pkg/workflow/compiler_types.go
-```
+### Phase 3: Detect Go compiler-test gaps
-The keys you're looking for are the YAML field names in the `SafeOutputsConfig` struct (lines ~443-490). These are the authoritative list of supported safe-output types.
+- Inspect `pkg/workflow/compiler_safe_outputs_config_test.go` (especially `TestAddHandlerManagerConfigEnvVar`).
+- For each missing type, add a case using existing table-test style:
+ - correct `SafeOutputsConfig` field,
+ - default `Max` from validation config,
+ - expected handler key in underscore form.
-**Extract and record**: Every `yaml:",omitempty"` found in `SafeOutputsConfig`. Skip internal/special fields like `jobs`, `github-app`, `env`, `github-token`, `allowed-domains`, `allowed-github-references`, `staged`, and `threat-detection` — those are configuration, not output types.
+### Phase 4: Create missing fixture files only
-The **testable safe-output types** are:
-- `create-issue`
-- `create-discussion`
-- `update-discussion`
-- `close-discussion`
-- `close-issue`
-- `close-pull-request`
-- `mark-pull-request-as-ready-for-review`
-- `add-comment`
-- `create-pull-request`
-- `create-pull-request-review-comment`
-- `submit-pull-request-review`
-- `reply-to-pull-request-review-comment`
-- `resolve-pull-request-review-thread`
-- `create-code-scanning-alerts`
-- `autofix-code-scanning-alert`
-- `add-labels`
-- `remove-labels`
-- `add-reviewer`
-- `assign-milestone`
-- `assign-to-agent`
-- `assign-to-user`
-- `unassign-from-user`
-- `update-issue`
-- `update-pull-request`
-- `push-to-pull-request-branch`
-- `upload-asset`
-- `update-release`
-- `create-agent-session`
-- `update-project`
-- `create-project`
-- `create-project-status-update`
-- `link-sub-issue`
-- `hide-comment`
-- `set-issue-type`
-- `dispatch-workflow`
-- `call-workflow`
-- `missing-tool`
-- `missing-data`
-- `noop`
+For each uncovered type, create `pkg/cli/workflows/test-copilot-.md` with:
-## Phase 2: Scan Existing Test Workflows
+- minimal valid frontmatter (`on.workflow_dispatch`, least-required permissions, `engine: copilot`, `safe-outputs.`),
+- one short task that exercises that type,
+- JSONL-output instruction naming the corresponding safe-output tool.
-List all test workflow files in `pkg/cli/workflows/`:
+Do not modify unrelated existing fixture files and do not create duplicates when another file already covers the type.
-```bash
-find pkg/cli/workflows -name 'test-*.md' -type f | sort
-```
+### Phase 5: Verify changes
-For each safe-output type, check if any test workflow uses it:
+- Confirm `git status` and `git diff --name-only` include only intended files.
+- Ensure every new workflow has valid frontmatter and target safe-output key.
+- Ensure each new Go test follows existing naming and assertions pattern.
-```bash
-grep -rn 'safe-outputs:' pkg/cli/workflows/*.md
-```
+### Phase 6: Final action (mandatory)
-For each safe-output key (e.g., `create-issue`), a workflow "covers" it if the key appears after a `safe-outputs:` block in any `.md` file in `pkg/cli/workflows/`. Use this Python script for precise detection:
+- If changes were made, call `create_pull_request` summarizing:
+ - new workflow fixtures,
+ - new Go test cases,
+ - total newly covered types.
+- If no changes were needed, call `noop` with a clear “coverage already complete” message.
-```python
-import re, os, glob
+## Guardrails
-workflows_dir = 'pkg/cli/workflows'
-files = glob.glob(os.path.join(workflows_dir, '*.md'))
-
-safe_output_types = [
- 'create-issue', 'create-discussion', 'update-discussion', 'close-discussion',
- 'close-issue', 'close-pull-request', 'mark-pull-request-as-ready-for-review',
- 'add-comment', 'create-pull-request', 'create-pull-request-review-comment',
- 'submit-pull-request-review', 'reply-to-pull-request-review-comment',
- 'resolve-pull-request-review-thread', 'create-code-scanning-alerts',
- 'autofix-code-scanning-alert', 'add-labels', 'remove-labels', 'add-reviewer',
- 'assign-milestone', 'assign-to-agent', 'assign-to-user', 'unassign-from-user',
- 'update-issue', 'update-pull-request', 'push-to-pull-request-branch',
- 'upload-asset', 'update-release', 'create-agent-session', 'update-project',
- 'create-project', 'create-project-status-update', 'link-sub-issue',
- 'hide-comment', 'set-issue-type', 'dispatch-workflow', 'call-workflow',
- 'missing-tool', 'missing-data', 'noop'
-]
-
-covered = {}
-for sotype in safe_output_types:
- covered[sotype] = []
-
-for f in sorted(files):
- with open(f) as fp:
- content = fp.read()
- # Only check for safe-output keys appearing in frontmatter (between --- markers)
- # Extract frontmatter
- parts = content.split('---', 2)
- if len(parts) < 3:
- continue
- frontmatter = parts[1]
- basename = os.path.basename(f)
- for sotype in safe_output_types:
- if (sotype + ':') in frontmatter or (sotype + '\n') in frontmatter:
- covered[sotype].append(basename)
-
-print('COVERED:')
-for k, v in covered.items():
- if v:
- print(f' {k}: {v[0]} (+{len(v)-1} more)' if len(v) > 1 else f' {k}: {v[0]}')
-
-print()
-print('NOT COVERED (need test workflows):')
-missing = []
-for k, v in covered.items():
- if not v:
- print(f' {k}')
- missing.append(k)
-print(f'Total missing: {len(missing)}')
-```
-
-Run the script:
-```bash
-python3 /tmp/gh-aw/agent/check_coverage.py
-```
-
-(Save the script content to `/tmp/gh-aw/agent/check_coverage.py` first using the edit tool, then run it.)
-
-## Phase 3: Scan Existing Go Tests
-
-Check whether the Go test file `pkg/workflow/compiler_safe_outputs_config_test.go` already has test cases for each safe-output type. Use the underscore form (e.g., `create_issue` for `create-issue`).
-
-```bash
-grep -n '"[a-z_]+ config"' pkg/workflow/compiler_safe_outputs_config_test.go
-```
-
-Record which types have Go test cases and which don't.
-
-## Phase 4: Create Missing Test Workflow Files
-
-For each safe-output type that lacks a test workflow, create a file in `pkg/cli/workflows/` named `test-copilot-.md` (unless a file with that name already exists for a different reason).
-
-**File naming convention**: `test-copilot-.md`
-- For `update-pull-request` → `test-copilot-update-pull-request.md`
-- For `create-discussion` → `test-copilot-create-discussion.md`
-- etc.
-
-**Template for test workflow files**:
-
-```markdown
----
-on:
- workflow_dispatch:
-permissions:
- contents: read
- issues: read
-engine: copilot
-safe-outputs:
- :
- max:
-
----
-
-# Test Copilot
-
-Test the `` safe output type with the Copilot engine.
-
-## Task
-
-
-
-Output results in JSONL format using the `` tool.
-```
-
-**Permissions guidance by type**:
-- Types related to issues/PRs/discussions: `issues: read`, `pull-requests: read`
-- Types related to code scanning: `security-events: read`
-- Types related to projects: `projects: read` (if supported)
-- Types related to releases/assets: `contents: read`
-- Types related to workflow dispatch: `actions: read`
-- When in doubt, use `contents: read`
-
-**Configuration guidance** — consult `pkg/workflow/safe_outputs_validation_config.go` for each type's `DefaultMax` and fields. Here are tailored templates for each missing type:
-
-### `update-pull-request`
-```markdown
----
-on:
- workflow_dispatch:
-permissions:
- contents: read
- pull-requests: read
-engine: copilot
-safe-outputs:
- update-pull-request:
- max: 1
----
-
-# Test Copilot Update Pull Request
-
-Test the `update_pull_request` safe output type with the Copilot engine.
-
-## Task
-
-Update pull request #1 with a new title "Updated PR Title" and body "This PR body was updated by the test workflow."
-
-Output results in JSONL format using the `update_pull_request` tool.
-```
-
-### `submit-pull-request-review`
-```markdown
----
-on:
- workflow_dispatch:
-permissions:
- contents: read
- pull-requests: read
-engine: copilot
-safe-outputs:
- submit-pull-request-review:
- max: 1
----
-
-# Test Copilot Submit Pull Request Review
-
-Test the `submit_pull_request_review` safe output type with the Copilot engine.
-
-## Task
-
-Submit a COMMENT review on pull request #1 with the body "This is a test review comment submitted by the automated test workflow."
-
-Output results in JSONL format using the `submit_pull_request_review` tool.
-```
-
-### `reply-to-pull-request-review-comment`
-```markdown
----
-on:
- workflow_dispatch:
-permissions:
- contents: read
- pull-requests: read
-engine: copilot
-safe-outputs:
- reply-to-pull-request-review-comment:
- max: 1
----
-
-# Test Copilot Reply to Pull Request Review Comment
-
-Test the `reply_to_pull_request_review_comment` safe output type with the Copilot engine.
-
-## Task
-
-Reply to pull request review comment #1 with the body "Thank you for the review comment. This is an automated test reply."
-
-Output results in JSONL format using the `reply_to_pull_request_review_comment` tool.
-```
-
-### `resolve-pull-request-review-thread`
-```markdown
----
-on:
- workflow_dispatch:
-permissions:
- contents: read
- pull-requests: read
-engine: copilot
-safe-outputs:
- resolve-pull-request-review-thread:
- max: 5
----
-
-# Test Copilot Resolve Pull Request Review Thread
-
-Test the `resolve_pull_request_review_thread` safe output type with the Copilot engine.
-
-## Task
-
-Resolve the pull request review thread with thread ID "PRRT_test123". This indicates the discussion in the thread has been addressed.
-
-Output results in JSONL format using the `resolve_pull_request_review_thread` tool.
-```
-
-### `create-discussion`
-```markdown
----
-on:
- workflow_dispatch:
-permissions:
- contents: read
- discussions: read
-engine: copilot
-safe-outputs:
- create-discussion:
- max: 1
----
-
-# Test Copilot Create Discussion
-
-Test the `create_discussion` safe output type with the Copilot engine.
-
-## Task
-
-Create a new GitHub discussion with:
-- Title: "Test Discussion from Copilot"
-- Body: "This discussion was created automatically by the Copilot test workflow to verify the create_discussion safe output type works correctly."
-
-Output results in JSONL format using the `create_discussion` tool.
-```
-
-### `close-issue`
-```markdown
----
-on:
- workflow_dispatch:
-permissions:
- contents: read
- issues: read
-engine: copilot
-safe-outputs:
- close-issue:
- max: 1
----
-
-# Test Copilot Close Issue
-
-Test the `close_issue` safe output type with the Copilot engine.
-
-## Task
-
-Close issue #1 with a reason of "completed" and a comment "Closing this issue as it has been resolved."
-
-Output results in JSONL format using the `close_issue` tool.
-```
-
-### `create-code-scanning-alerts`
-```markdown
----
-on:
- workflow_dispatch:
-permissions:
- contents: read
- actions: read
- security-events: read
-engine: copilot
-safe-outputs:
- create-code-scanning-alerts:
- driver: "Test Scanner"
- max: 3
-timeout-minutes: 5
----
-
-# Test Copilot Create Code Scanning Alerts
-
-Test the `create_code_scanning_alert` safe output type with the Copilot engine.
-
-## Task
-
-Create a code scanning alert with the following details:
-- **rule_id**: "TEST001"
-- **rule_description**: "Test security rule for automated testing"
-- **message**: "Found a potential test vulnerability"
-- **path**: "src/test.js"
-- **start_line**: 42
-- **severity**: "warning"
-
-Output results in JSONL format using the `create_code_scanning_alert` tool.
-```
-
-### `link-sub-issue`
-```markdown
----
-on:
- workflow_dispatch:
-permissions:
- contents: read
- issues: read
-engine: copilot
-safe-outputs:
- link-sub-issue:
- max: 5
----
-
-# Test Copilot Link Sub-Issue
-
-Test the `link_sub_issue` safe output type with the Copilot engine.
-
-## Task
-
-Link issue #2 as a sub-issue of issue #1. This establishes a parent-child relationship between the two issues.
-
-Output results in JSONL format using the `link_sub_issue` tool.
-```
-
-### `update-project`
-```markdown
----
-on:
- workflow_dispatch:
-permissions:
- contents: read
- issues: read
-engine: copilot
-safe-outputs:
- update-project:
- max: 5
----
-
-# Test Copilot Update Project
-
-Test the `update_project` safe output type with the Copilot engine.
-
-## Task
-
-Add issue #1 to a GitHub Project V2. Set the status field to "In Progress" for the added item.
-
-Output results in JSONL format using the `update_project` tool.
-```
-
-### `create-project`
-```markdown
----
-on:
- workflow_dispatch:
-permissions:
- contents: read
- issues: read
-engine: copilot
-safe-outputs:
- create-project:
- max: 1
----
-
-# Test Copilot Create Project
-
-Test the `create_project` safe output type with the Copilot engine.
-
-## Task
-
-Create a new GitHub Project V2 with:
-- Title: "Test Project from Copilot"
-- Description: "This project was created automatically by the Copilot test workflow."
-
-Output results in JSONL format using the `create_project` tool.
-```
-
-### `create-project-status-update`
-```markdown
----
-on:
- workflow_dispatch:
-permissions:
- contents: read
- issues: read
-engine: copilot
-safe-outputs:
- create-project-status-update:
- max: 1
----
-
-# Test Copilot Create Project Status Update
-
-Test the `create_project_status_update` safe output type with the Copilot engine.
-
-## Task
-
-Create a status update for a GitHub Project V2. Set the status to "ON_TRACK" with a body message "All tasks are progressing as planned. No blockers identified."
-
-Output results in JSONL format using the `create_project_status_update` tool.
-```
-
-### `remove-labels`
-```markdown
----
-on:
- workflow_dispatch:
-permissions:
- contents: read
- issues: read
-engine: copilot
-safe-outputs:
- remove-labels:
- max: 5
----
-
-# Test Copilot Remove Labels
-
-Test the `remove_labels` safe output type with the Copilot engine.
-
-## Task
-
-Remove the label "bug" from issue #1.
-
-Output results in JSONL format using the `remove_labels` tool.
-```
-
-### `missing-data`
-```markdown
----
-on:
- workflow_dispatch:
-permissions:
- contents: read
- actions: read
- issues: read
- pull-requests: read
-engine: copilot
-safe-outputs:
- missing-data:
- max: 5
-timeout-minutes: 5
----
-
-# Test Missing Data Safe Output
-
-Test the `missing_data` safe output functionality.
-
-Report missing data with transparency messages:
-- "Required issue number not found in the workflow trigger context"
-- "Expected pull request branch name but no PR was associated with this run"
-- "Configuration file 'config.json' not found in the repository root"
-
-Output as JSONL format using the `missing_data` tool.
-```
-
-## Phase 5: Add Go Compiler Tests
-
-For each safe-output type that lacks a Go test case in `pkg/workflow/compiler_safe_outputs_config_test.go`, add a new test case to the `TestAddHandlerManagerConfigEnvVar` function.
-
-**Pattern to follow** (based on existing test cases):
-
-```go
-{
- name: " config",
- safeOutputs: &SafeOutputsConfig{
- : &{
- BaseSafeOutputConfig: BaseSafeOutputConfig{
- Max: strPtr(""),
- },
- // Add type-specific fields as needed
- },
- },
- checkContains: []string{
- "GH_AW_SAFE_OUTPUTS_HANDLER_CONFIG",
- },
- checkJSON: true,
- expectedKeys: []string{""},
-},
-```
-
-Use the Go struct field names from `pkg/workflow/compiler_types.go` to find the correct field name (e.g., `UpdatePullRequests` for `update-pull-request`).
-
-Use the type name in underscore form for `expectedKeys` (e.g., `update_pull_request` for `update-pull-request`).
-
-**Reference**: Look at the existing test cases for `create_issue`, `add_comment`, and `create_discussion` in `pkg/workflow/compiler_safe_outputs_config_test.go` to understand the exact pattern.
-
-**For each missing Go test, add a case like:**
-
-- `update-pull-request` → field: `UpdatePullRequests`, type: `UpdatePullRequestsConfig`, key: `update_pull_request`
-- `submit-pull-request-review` → field: `SubmitPullRequestReview`, type: `SubmitPullRequestReviewConfig`, key: `submit_pull_request_review`
-- `reply-to-pull-request-review-comment` → field: `ReplyToPullRequestReviewComment`, type: `ReplyToPullRequestReviewCommentConfig`, key: `reply_to_pull_request_review_comment`
-- `resolve-pull-request-review-thread` → field: `ResolvePullRequestReviewThread`, type: `ResolvePullRequestReviewThreadConfig`, key: `resolve_pull_request_review_thread`
-- `create-discussion` → already has test case (verify)
-- `close-issue` → field: `CloseIssues`, type: `CloseIssuesConfig`, key: `close_issue`
-- `create-code-scanning-alerts` → field: `CreateCodeScanningAlerts`, type: `CreateCodeScanningAlertsConfig`, key: `create_code_scanning_alert`
-- `link-sub-issue` → field: `LinkSubIssue`, type: `LinkSubIssueConfig`, key: `link_sub_issue`
-- `update-project` → field: `UpdateProjects`, type: `UpdateProjectConfig`, key: `update_project`
-- `create-project` → field: `CreateProjects`, type: `CreateProjectsConfig`, key: `create_project`
-- `create-project-status-update` → field: `CreateProjectStatusUpdates`, type: `CreateProjectStatusUpdateConfig`, key: `create_project_status_update`
-- `remove-labels` → field: `RemoveLabels`, type: `RemoveLabelsConfig`, key: `remove_labels`
-- `missing-data` → field: `MissingData`, type: `MissingDataConfig`, key: `missing_data`
-
-## Phase 6: Verify Changes
-
-After creating files, verify:
-
-1. **List created files**: Check all new files in `pkg/cli/workflows/`
-2. **Verify git status**: Confirm only intended files were modified
-
-```bash
-git status
-git diff --name-only
-```
-
-3. **Validate test workflow format**: Each test workflow should have:
- - Valid YAML frontmatter between `---` markers
- - An `on:` trigger (at least `workflow_dispatch`)
- - A `permissions:` section
- - An `engine:` field
- - A `safe-outputs:` section with the target type
- - A clear task description in the body
-
-## Phase 7: Create PR or Report NOOP
-
-- **Report Formatting**: Use h3 (###) or lower for all headers in your PR body and report content to maintain proper document hierarchy. Wrap long sections in `Section Name
` tags to improve readability and reduce scrolling.
-
-### If files were created:
-
-Create a pull request with all the new test workflows and Go tests.
-
-The PR should:
-- Target the `main` branch
-- Include all new files in `pkg/cli/workflows/` and changes to `pkg/workflow/compiler_safe_outputs_config_test.go`
-- Have a descriptive body listing which safe-output types were added
-
-Use the `create_pull_request` tool:
-```json
-{
- "title": "Add missing safe-output test workflows and compiler tests",
- "body": "## Safe Output Test Coverage\n\nThis PR adds test workflows and Go compiler tests for safe-output types that lacked test coverage.\n\n### New Test Workflows Added\n\n[List each file created]\n\n### Go Tests Added\n\n[Describe test cases added to compiler_safe_outputs_config_test.go]\n\n### Summary\n\nAll [N] previously uncovered safe-output types now have test coverage.",
- "branch": "safe-output-integrator/$(date +%Y-%m-%d)",
- "labels": ["safe-outputs", "testing", "automation"]
-}
-```
-
-### If no files were needed:
-
-All safe-output types are already covered. Call the `noop` tool:
-```json
-{"noop": {"message": "No action needed: All safe-output types already have test workflows in pkg/cli/workflows/ and Go compiler tests in compiler_safe_outputs_config_test.go. Coverage is complete."}}
-```
-
-## Important Guidelines
-
-### File Creation Rules
-
-- **ONLY** create files for truly missing coverage
-- **Do NOT** modify existing test workflows
-- **Do NOT** create duplicate files (check if `test-copilot-.md` already exists)
-- **Do NOT** create files for configuration-only fields (`jobs`, `github-app`, `env`, `github-token`, `allowed-domains`, `staged`, `threat-detection`)
-- If a type is covered by a file with a different name (e.g., `test-close-discussion.md` covers `close-discussion`), do NOT create another file for it
-
-### Test Workflow Quality
-
-Each test workflow must:
-- Be a **minimal**, focused example of the safe-output type
-- Use `engine: copilot` for consistency with other test-copilot-*.md files
-- Include only the permissions actually needed
-- Have a clear task in the body that exercises the safe-output type
-- Follow the `test-copilot-.md` naming convention
-
-### Go Test Quality
-
-Each new Go test case must:
-- Follow the existing pattern in `TestAddHandlerManagerConfigEnvVar`
-- Use the correct field names from `SafeOutputsConfig`
-- Include `expectedKeys` with the underscore-form type name
-- Test that the config appears in the `GH_AW_SAFE_OUTPUTS_HANDLER_CONFIG` env var
-
-### Error Handling
-
-- If you cannot find a file, use bash to verify paths
-- If a safe-output type appears in `compiler_types.go` but not in `safe_outputs_validation_config.go`, include it in the test workflow but note the discrepancy
-- If the Go test file structure differs from expected, read it carefully before making changes
-
-## Success Criteria
-
-A successful run:
-- ✅ Identifies all safe-output types from `pkg/workflow/compiler_types.go`
-- ✅ Cross-references with existing test workflows in `pkg/cli/workflows/`
-- ✅ Cross-references with existing Go tests in `compiler_safe_outputs_config_test.go`
-- ✅ Creates missing test workflow files with correct format
-- ✅ Adds missing Go test cases to `compiler_safe_outputs_config_test.go`
-- ✅ Creates a PR with all changes (or calls NOOP if everything is covered)
-- ✅ PR body clearly describes what was added and why
-
-**Important**: You MUST call either `create_pull_request` (if changes were made) or `noop` (if everything is already covered). Failing to call a safe-output tool will cause this workflow run to be marked as failed.
\ No newline at end of file
+- Keep additions minimal and deterministic.
+- Use `###`/`####` headings only in generated report text.
+- Use `` blocks for long sections.
+- This workflow must end with either `create_pull_request` or `noop`.
diff --git a/.github/workflows/daily-syntax-error-quality.lock.yml b/.github/workflows/daily-syntax-error-quality.lock.yml
index f1d2c845d1d..db89f964c49 100644
--- a/.github/workflows/daily-syntax-error-quality.lock.yml
+++ b/.github/workflows/daily-syntax-error-quality.lock.yml
@@ -1,4 +1,4 @@
-# gh-aw-metadata: {"schema_version":"v4","frontmatter_hash":"81faffa37a67923fd845cd6480969766dab7a2e825bea4c85487f0bb04259ecd","body_hash":"b7aa366d7eb46464c93145ff04f4fd49c075bd10677d11bab4402c78966d96cb","strict":true,"agent_id":"copilot","engine_versions":{"copilot":"1.0.60","copilot-sdk":"1.0.0"}}
+# gh-aw-metadata: {"schema_version":"v4","frontmatter_hash":"81faffa37a67923fd845cd6480969766dab7a2e825bea4c85487f0bb04259ecd","body_hash":"46bdadde2b884dc60d99e9b447c050d27960f27f5afd230dddf9ea288ce7fe2d","strict":true,"agent_id":"copilot","engine_versions":{"copilot":"1.0.60","copilot-sdk":"1.0.0"}}
# gh-aw-manifest: {"version":1,"secrets":["GH_AW_GITHUB_MCP_SERVER_TOKEN","GH_AW_GITHUB_TOKEN","GH_AW_OTEL_GRAFANA_AUTHORIZATION","GH_AW_OTEL_GRAFANA_ENDPOINT","GH_AW_OTEL_SENTRY_AUTHORIZATION","GH_AW_OTEL_SENTRY_ENDPOINT","GITHUB_TOKEN"],"actions":[{"repo":"actions/cache/restore","sha":"27d5ce7f107fe9357f9df03efb73ab90386fccae","version":"v5.0.5"},{"repo":"actions/cache/save","sha":"27d5ce7f107fe9357f9df03efb73ab90386fccae","version":"v5.0.5"},{"repo":"actions/checkout","sha":"df4cb1c069e1874edd31b4311f1884172cec0e10","version":"v6.0.3"},{"repo":"actions/download-artifact","sha":"3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c","version":"v8.0.1"},{"repo":"actions/github-script","sha":"3a2844b7e9c422d3c10d287c895573f7108da1b3","version":"v9.0.0"},{"repo":"actions/setup-node","sha":"48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e","version":"v6.4.0"},{"repo":"actions/upload-artifact","sha":"043fb46d1a93c77aae656e7c1c64a875d1fc6a0a","version":"v7.0.1"}],"containers":[{"image":"ghcr.io/github/gh-aw-firewall/agent:0.27.2","digest":"sha256:f88e5b17b6b7a600117bc121114d6ce2155c88c983c0c939c5df884f730fa1d6","pinned_image":"ghcr.io/github/gh-aw-firewall/agent:0.27.2@sha256:f88e5b17b6b7a600117bc121114d6ce2155c88c983c0c939c5df884f730fa1d6"},{"image":"ghcr.io/github/gh-aw-firewall/api-proxy:0.27.2","digest":"sha256:ee39841d980878ebbb87592903b06d31a1af500c71525c9616f7e8e2a27041a4","pinned_image":"ghcr.io/github/gh-aw-firewall/api-proxy:0.27.2@sha256:ee39841d980878ebbb87592903b06d31a1af500c71525c9616f7e8e2a27041a4"},{"image":"ghcr.io/github/gh-aw-firewall/squid:0.27.2","digest":"sha256:2e3a717e5f19a654cd9a2263beb52012b56bcb68562ec5ae2e42f9d156b49591","pinned_image":"ghcr.io/github/gh-aw-firewall/squid:0.27.2@sha256:2e3a717e5f19a654cd9a2263beb52012b56bcb68562ec5ae2e42f9d156b49591"},{"image":"ghcr.io/github/gh-aw-mcpg:v0.3.25","digest":"sha256:c10331ad17668ef89f38f5e356678788a40b0cd5fef96e8f92e1d9c1de47cbaa","pinned_image":"ghcr.io/github/gh-aw-mcpg:v0.3.25@sha256:c10331ad17668ef89f38f5e356678788a40b0cd5fef96e8f92e1d9c1de47cbaa"},{"image":"ghcr.io/github/github-mcp-server:v1.1.2","digest":"sha256:30197479d8036c7811892bc07e06f9a05c9ef3cdd79bc59f256d50647f95788c","pinned_image":"ghcr.io/github/github-mcp-server:v1.1.2@sha256:30197479d8036c7811892bc07e06f9a05c9ef3cdd79bc59f256d50647f95788c"}]}
# This file was automatically generated by gh-aw. DO NOT EDIT. To debug this workflow, load the skill at https://github.com/github/gh-aw/blob/main/debug.md
#
diff --git a/.github/workflows/daily-testify-uber-super-expert.lock.yml b/.github/workflows/daily-testify-uber-super-expert.lock.yml
index b75a031bb52..7b77eb29229 100644
--- a/.github/workflows/daily-testify-uber-super-expert.lock.yml
+++ b/.github/workflows/daily-testify-uber-super-expert.lock.yml
@@ -1,4 +1,4 @@
-# gh-aw-metadata: {"schema_version":"v4","frontmatter_hash":"867bfd45cb688f07a360d49507b192dfad52917e077f8d0190cc8b0a6904b92a","body_hash":"ec281a185c6776a0297517e740d8146d4ef6b495e034a39fc86f66d2d2eadb90","strict":true,"agent_id":"copilot","engine_versions":{"copilot":"1.0.60","copilot-sdk":"1.0.0"}}
+# gh-aw-metadata: {"schema_version":"v4","frontmatter_hash":"867bfd45cb688f07a360d49507b192dfad52917e077f8d0190cc8b0a6904b92a","body_hash":"90b36ef576eeab7c2b1781b05eb4bda531ba9f6cb3f99e174e5126bf1556d7cc","strict":true,"agent_id":"copilot","engine_versions":{"copilot":"1.0.60","copilot-sdk":"1.0.0"}}
# gh-aw-manifest: {"version":1,"secrets":["GH_AW_GITHUB_MCP_SERVER_TOKEN","GH_AW_GITHUB_TOKEN","GH_AW_OTEL_GRAFANA_AUTHORIZATION","GH_AW_OTEL_GRAFANA_ENDPOINT","GH_AW_OTEL_SENTRY_AUTHORIZATION","GH_AW_OTEL_SENTRY_ENDPOINT","GITHUB_TOKEN"],"actions":[{"repo":"actions/cache/restore","sha":"27d5ce7f107fe9357f9df03efb73ab90386fccae","version":"v5.0.5"},{"repo":"actions/cache/save","sha":"27d5ce7f107fe9357f9df03efb73ab90386fccae","version":"v5.0.5"},{"repo":"actions/checkout","sha":"df4cb1c069e1874edd31b4311f1884172cec0e10","version":"v6.0.3"},{"repo":"actions/download-artifact","sha":"3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c","version":"v8.0.1"},{"repo":"actions/github-script","sha":"3a2844b7e9c422d3c10d287c895573f7108da1b3","version":"v9.0.0"},{"repo":"actions/setup-node","sha":"48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e","version":"v6.4.0"},{"repo":"actions/upload-artifact","sha":"043fb46d1a93c77aae656e7c1c64a875d1fc6a0a","version":"v7.0.1"}],"containers":[{"image":"ghcr.io/github/gh-aw-firewall/agent:0.27.2","digest":"sha256:f88e5b17b6b7a600117bc121114d6ce2155c88c983c0c939c5df884f730fa1d6","pinned_image":"ghcr.io/github/gh-aw-firewall/agent:0.27.2@sha256:f88e5b17b6b7a600117bc121114d6ce2155c88c983c0c939c5df884f730fa1d6"},{"image":"ghcr.io/github/gh-aw-firewall/api-proxy:0.27.2","digest":"sha256:ee39841d980878ebbb87592903b06d31a1af500c71525c9616f7e8e2a27041a4","pinned_image":"ghcr.io/github/gh-aw-firewall/api-proxy:0.27.2@sha256:ee39841d980878ebbb87592903b06d31a1af500c71525c9616f7e8e2a27041a4"},{"image":"ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.2","digest":"sha256:02f3ec08f32dc26c5427920c6a2e2f3036238fce44802f2f11ef49ed8621b5d0","pinned_image":"ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.2@sha256:02f3ec08f32dc26c5427920c6a2e2f3036238fce44802f2f11ef49ed8621b5d0"},{"image":"ghcr.io/github/gh-aw-firewall/squid:0.27.2","digest":"sha256:2e3a717e5f19a654cd9a2263beb52012b56bcb68562ec5ae2e42f9d156b49591","pinned_image":"ghcr.io/github/gh-aw-firewall/squid:0.27.2@sha256:2e3a717e5f19a654cd9a2263beb52012b56bcb68562ec5ae2e42f9d156b49591"},{"image":"ghcr.io/github/gh-aw-mcpg:v0.3.25","digest":"sha256:c10331ad17668ef89f38f5e356678788a40b0cd5fef96e8f92e1d9c1de47cbaa","pinned_image":"ghcr.io/github/gh-aw-mcpg:v0.3.25@sha256:c10331ad17668ef89f38f5e356678788a40b0cd5fef96e8f92e1d9c1de47cbaa"},{"image":"ghcr.io/github/github-mcp-server:v1.1.2","digest":"sha256:30197479d8036c7811892bc07e06f9a05c9ef3cdd79bc59f256d50647f95788c","pinned_image":"ghcr.io/github/github-mcp-server:v1.1.2@sha256:30197479d8036c7811892bc07e06f9a05c9ef3cdd79bc59f256d50647f95788c"},{"image":"ghcr.io/github/serena-mcp-server:latest","digest":"sha256:bf343399e3725c45528f531a230f3a04521d4cdef29f9a5af6282ff0d3c393c5","pinned_image":"ghcr.io/github/serena-mcp-server:latest@sha256:bf343399e3725c45528f531a230f3a04521d4cdef29f9a5af6282ff0d3c393c5"}]}
# This file was automatically generated by gh-aw. DO NOT EDIT. To debug this workflow, load the skill at https://github.com/github/gh-aw/blob/main/debug.md
#
@@ -248,21 +248,21 @@ jobs:
run: |
bash "${RUNNER_TEMP}/gh-aw/actions/create_prompt_first.sh"
{
- cat << 'GH_AW_PROMPT_41f5d019455258de_EOF'
+ cat << 'GH_AW_PROMPT_6ca4f81e357701d1_EOF'
- GH_AW_PROMPT_41f5d019455258de_EOF
+ GH_AW_PROMPT_6ca4f81e357701d1_EOF
cat "${RUNNER_TEMP}/gh-aw/prompts/xpia.md"
cat "${RUNNER_TEMP}/gh-aw/prompts/temp_folder_prompt.md"
cat "${RUNNER_TEMP}/gh-aw/prompts/markdown.md"
cat "${RUNNER_TEMP}/gh-aw/prompts/repo_memory_prompt.md"
cat "${RUNNER_TEMP}/gh-aw/prompts/safe_outputs_prompt.md"
- cat << 'GH_AW_PROMPT_41f5d019455258de_EOF'
+ cat << 'GH_AW_PROMPT_6ca4f81e357701d1_EOF'
Tools: create_issue, missing_tool, missing_data, noop
- GH_AW_PROMPT_41f5d019455258de_EOF
+ GH_AW_PROMPT_6ca4f81e357701d1_EOF
cat "${RUNNER_TEMP}/gh-aw/prompts/mcp_cli_tools_prompt.md"
- cat << 'GH_AW_PROMPT_41f5d019455258de_EOF'
+ cat << 'GH_AW_PROMPT_6ca4f81e357701d1_EOF'
The following GitHub context information is available for this workflow:
{{#if github.actor}}
@@ -291,9 +291,9 @@ jobs:
{{/if}}
- GH_AW_PROMPT_41f5d019455258de_EOF
+ GH_AW_PROMPT_6ca4f81e357701d1_EOF
cat "${RUNNER_TEMP}/gh-aw/prompts/cli_proxy_with_safeoutputs_prompt.md"
- cat << 'GH_AW_PROMPT_41f5d019455258de_EOF'
+ cat << 'GH_AW_PROMPT_6ca4f81e357701d1_EOF'
{{#runtime-import .github/workflows/shared/go-source-analysis.md}}
{{#runtime-import .github/workflows/shared/safe-output-app.md}}
@@ -303,36 +303,10 @@ jobs:
{{#runtime-import .github/workflows/shared/mcp/serena-go.md}}
## Serena Code Analysis
- The Serena MCP server is configured for **["go"]** analysis in this workspace:
- - **Workspace**: `__GH_AW_GITHUB_WORKSPACE__`
- - **Memory**: `/tmp/gh-aw/cache-memory/serena/`
-
- ### Project Activation
-
- Before analyzing code, activate the Serena project:
- ```
- Tool: activate_project
- Args: { "path": "__GH_AW_GITHUB_WORKSPACE__" }
- ```
-
- ### Available Capabilities
-
- Serena provides IDE-grade Language Server Protocol (LSP) tools including:
- - **Symbol search**: `find_symbol` — locate functions, types, interfaces by name
- - **Navigation**: `find_referencing_symbols` — find all callers/usages of a symbol
- - **Type info**: `get_symbol_documentation` — hover-level type and doc information
- - **Code editing**: `replace_symbol_body`, `insert_after_symbol` — symbol-level edits
- - **Diagnostics**: `get_diagnostics` — compiler errors and linter warnings
-
- ### Analysis Guidelines
-
- 1. **Use semantic tools over text search** — prefer Serena's LSP tools over `grep`
- 2. **Activate project first** — always call `activate_project` before other tools
- 3. **Cross-reference findings** — validate with multiple tools for accuracy
- 4. **Focus on the relevant language files** — ignore unrelated file types
+ Serena is enabled for **["go"]** in `__GH_AW_GITHUB_WORKSPACE__`. Start by calling `activate_project` with that workspace path, then prefer Serena semantic tools for symbol lookup, references, docs, diagnostics, and structured edits.
{{#runtime-import .github/workflows/shared/noop-reminder.md}}
{{#runtime-import .github/workflows/daily-testify-uber-super-expert.md}}
- GH_AW_PROMPT_41f5d019455258de_EOF
+ GH_AW_PROMPT_6ca4f81e357701d1_EOF
} > "$GH_AW_PROMPT"
- name: Interpolate variables and render templates
uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
diff --git a/.github/workflows/daily-testify-uber-super-expert.md b/.github/workflows/daily-testify-uber-super-expert.md
index e358a38dec0..8d052adf575 100644
--- a/.github/workflows/daily-testify-uber-super-expert.md
+++ b/.github/workflows/daily-testify-uber-super-expert.md
@@ -57,11 +57,7 @@ tracker-id: daily-testify-uber-super-expert
# Daily Testify Uber Super Expert 🧪✨
-You are the Daily Testify Uber Super Expert - an elite testing specialist who analyzes Go test files and provides expert recommendations for improving test quality using testify assertion library best practices.
-
-## Mission
-
-Analyze one Go test file daily that hasn't been processed recently, evaluate its quality, and create an issue with specific, actionable improvements focused on testify best practices, test coverage, table-driven tests, and overall test quality.
+Analyze one Go `*_test.go` file per run and open a focused improvement issue using testify best practices.
## Current Context
@@ -70,466 +66,62 @@ Analyze one Go test file daily that hasn't been processed recently, evaluate its
- **Workspace**: ${{ github.workspace }}
- **Cache Location**: `/tmp/gh-aw/repo-memory/default/memory/testify-expert/`
-## Analysis Process
-
-### 1. Load Processed Files Cache
-
-Check the repo-memory cache to see which files have been processed recently:
-
-```bash
-# Check if cache file exists
-CACHE_FILE="/tmp/gh-aw/repo-memory/default/memory/testify-expert/processed_files.txt"
-if [ -f "$CACHE_FILE" ]; then
- echo "Found cache with $(wc -l < "$CACHE_FILE") processed files"
- cat "$CACHE_FILE"
-else
- echo "No cache found - first run"
-fi
-```
-
-The cache file contains one file path per line with a timestamp:
-```
-./pkg/workflow/compiler_test.go|2026-01-14
-./pkg/cli/compile_command_test.go|2026-01-13
-```
-
-### 2. Select Target Test File
-
-Find all Go test files and select one that hasn't been processed in the last 30 days:
-
-```bash
-# Get all test files
-find . -name '*_test.go' -type f > /tmp/gh-aw/agent/all_test_files.txt
-
-# Filter out recently processed files (last 30 days)
-CUTOFF_DATE=$(date -d '30 days ago' '+%Y-%m-%d' 2>/dev/null || date -v-30d '+%Y-%m-%d')
-
-# Create list of candidate files (not processed or processed >30 days ago)
-while IFS='|' read -r filepath timestamp; do
- if [[ "$timestamp" < "$CUTOFF_DATE" ]]; then
- echo "$filepath" >> /tmp/gh-aw/agent/candidate_files.txt
- fi
-done < "$CACHE_FILE" 2>/dev/null || true
-
-# If no cache or all files old, use all test files
-if [ ! -f /tmp/gh-aw/agent/candidate_files.txt ]; then
- cp /tmp/gh-aw/agent/all_test_files.txt /tmp/gh-aw/agent/candidate_files.txt
-fi
-
-# Select a random file from candidates
-TARGET_FILE=$(shuf -n 1 /tmp/gh-aw/agent/candidate_files.txt)
-echo "Selected file: $TARGET_FILE"
-```
-
-**Important**: If no unprocessed files remain, output a message and exit:
-```
-✅ All test files have been analyzed in the last 30 days!
-The testify expert will resume analysis after the cache expires.
-```
-
-### 3. Analyze Test File with Serena
-
-Use the Serena MCP server to perform deep semantic analysis of the selected test file:
-
-1. **Read the file contents** and understand its structure
-2. **Identify the corresponding source file** (e.g., `pkg/workflow/compiler_test.go` → `pkg/workflow/compiler.go`)
-3. **Analyze test quality** - Look for:
- - Use of testify assertions vs plain Go error handling
- - Table-driven test patterns
- - Test coverage gaps (functions in source not tested)
- - Test organization and clarity
- - Setup/teardown patterns
- - Mock usage and test isolation
- - Edge cases and error conditions
- - Test naming conventions
-
-4. **Evaluate testify usage** - Check for:
- - Using `assert.*` for validations that should continue
- - Using `require.*` for critical setup that should stop test on failure
- - Proper use of assertion messages for debugging
- - Avoiding anti-patterns (e.g., `if err != nil { t.Fatal() }` instead of `require.NoError(t, err)`)
-
-5. **Assess test structure** - Review:
- - Use of `t.Run()` for subtests
- - Table-driven tests with descriptive names
- - Clear test case organization
- - Helper functions vs inline test logic
-
-### 4. Analyze Current Test Coverage
-
-Examine what's being tested and what's missing:
-
-```bash
-# Get the source file
-SOURCE_FILE=$(echo "$TARGET_FILE" | sed 's/_test\.go$/.go/')
-
-if [ -f "$SOURCE_FILE" ]; then
- # Extract function signatures from source
- grep -E '^func [A-Z]' "$SOURCE_FILE" | sed 's/func //' | cut -d'(' -f1
-
- # Extract test function names
- grep -E '^func Test' "$TARGET_FILE" | sed 's/func //' | cut -d'(' -f1
-
- # Compare to find untested functions
- echo "=== Comparing coverage ==="
-else
- echo "Source file not found: $SOURCE_FILE"
-fi
-```
-
-Calculate:
-- **Functions in source**: Count of exported functions
-- **Functions tested**: Count of test functions
-- **Coverage gaps**: Functions without corresponding tests
-
-### 5. Generate Issue with Improvements
-
-Create a detailed issue with this structure:
-
-```markdown
-# Improve Test Quality: [FILE_PATH]
-
-### Overview
-
-The test file `[FILE_PATH]` has been selected for quality improvement by the Testify Uber Super Expert. This issue provides specific, actionable recommendations to enhance test quality, coverage, and maintainability using testify best practices.
-
-### Current State
-
-- **Test File**: `[FILE_PATH]`
-- **Source File**: `[SOURCE_FILE]` (if exists)
-- **Test Functions**: [COUNT] test functions
-- **Lines of Code**: [LOC] lines
-- **Last Modified**: [DATE if available]
-
-### Test Quality Analysis
-
-### Strengths ✅
-
-[List 2-3 things the test file does well]
-
-
-🎯 Areas for Improvement
-
-### Areas for Improvement 🎯
-
-#### 1. Testify Assertions
-
-**Current Issues:**
-- [Specific examples of non-testify patterns]
-- Example: Using `if err != nil { t.Fatal(err) }` instead of `require.NoError(t, err)`
-- Example: Manual comparison `if got != want` instead of `assert.Equal(t, want, got)`
-
-**Recommended Changes:**
-```go
-// ❌ CURRENT (anti-pattern)
-if err != nil {
- t.Fatalf("unexpected error: %v", err)
-}
-if result != expected {
- t.Errorf("got %v, want %v", result, expected)
-}
-
-// ✅ IMPROVED (testify)
-require.NoError(t, err, "operation should succeed")
-assert.Equal(t, expected, result, "result should match expected value")
-```
-
-**Why this matters**: Testify provides clearer error messages, better test output, and is the standard used throughout this codebase (see `scratchpad/testing.md`).
-
-#### 2. Table-Driven Tests
-
-**Current Issues:**
-- [Specific tests that should be table-driven]
-- Example: Multiple similar test functions that could be combined
-- Example: Repeated test patterns with minor variations
+## Required Execution Flow
-**Recommended Changes:**
-```go
-// ✅ IMPROVED - Table-driven test
-func TestFunctionName(t *testing.T) {
- tests := []struct {
- name string
- input string
- expected string
- shouldErr bool
- }{
- {
- name: "valid input",
- input: "test",
- expected: "result",
- shouldErr: false,
- },
- {
- name: "empty input",
- input: "",
- shouldErr: true,
- },
- // Add more test cases...
- }
+### 1) Load cache and choose one target file
- for _, tt := range tests {
- t.Run(tt.name, func(t *testing.T) {
- result, err := FunctionName(tt.input)
-
- if tt.shouldErr {
- require.Error(t, err)
- } else {
- require.NoError(t, err)
- assert.Equal(t, tt.expected, result)
- }
- })
- }
-}
-```
+- Read `/tmp/gh-aw/repo-memory/default/memory/testify-expert/processed_files.txt` when present (`path|YYYY-MM-DD`).
+- Build candidate list from `find . -name '*_test.go' -type f`.
+- Prefer files never processed or processed more than 30 days ago.
+- If all files were processed recently, stop and return the “all analyzed” completion message.
-**Why this matters**: Table-driven tests are easier to extend, maintain, and understand. They follow the pattern used in `scratchpad/testing.md`.
+### 2) Analyze with Serena + code inspection
-#### 3. Test Coverage Gaps
+For the selected test file:
-**Missing Tests:**
+- Read file structure and identify its paired source file (`*_test.go` → `.go` when it exists).
+- Assess testify usage (`assert.*` vs `require.*`), table-driven patterns, naming clarity, isolation, and edge-case coverage.
+- Compare exported source functions vs test functions to identify likely coverage gaps.
+- Produce concrete, code-level recommendations only (no generic advice).
-[List specific functions from the source file that lack tests]
+### 3) Create one actionable issue
-**Priority Functions to Test:**
-1. **`FunctionName1`** - [Why it's important]
-2. **`FunctionName2`** - [Why it's important]
-3. **`FunctionName3`** - [Why it's important]
+Create an issue titled `Improve Test Quality: ` containing:
-**Recommended Test Cases:**
-```go
-func TestFunctionName1(t *testing.T) {
- tests := []struct {
- name string
- // ... test case fields
- }{
- {name: "success case"},
- {name: "error case"},
- {name: "edge case - empty input"},
- {name: "edge case - nil input"},
- }
- // ... implementation
-}
-```
+- Current state summary (file path, source pair if present, test count, LOC).
+- Strengths (brief).
+- Prioritized improvements in this order:
+ 1. missing/high-value tests,
+ 2. testify assertion upgrades,
+ 3. table-driven refactors,
+ 4. organization/readability.
+- Short before/after examples where they materially improve clarity.
+- Acceptance checklist with test validation (`make test-unit`).
-#### 4. Test Organization
+Use `###`/`####` headers only and wrap long sections in `` blocks.
-**Current Issues:**
-- [Issues with test structure, naming, or organization]
-- Example: Tests not using `t.Run()` for subtests
-- Example: Unclear test names
-- Example: Missing helper functions
+### 4) Update cache
-**Recommended Improvements:**
-- Use descriptive test names that explain what's being tested
-- Group related tests using `t.Run()` subtests
-- Extract repeated setup into helper functions
-- Follow naming pattern: `Test_` or use table-driven tests
+After successful issue creation:
-#### 5. Assertion Messages
-
-**Current Issues:**
-- [Examples of missing or poor assertion messages]
-
-**Recommended Improvements:**
-```go
-// ❌ CURRENT
-assert.Equal(t, expected, result)
-
-// ✅ IMPROVED
-assert.Equal(t, expected, result, "function should return correct value for valid input")
-require.NoError(t, err, "setup should succeed without errors")
-```
-
-**Why this matters**: Good assertion messages make test failures easier to debug.
-
-
-
-
-📋 Implementation Guidelines
-
-#### Priority Order
-1. **High**: Add missing tests for critical functions
-2. **High**: Convert manual error checks to testify assertions
-3. **Medium**: Refactor similar tests into table-driven tests
-4. **Medium**: Improve test names and organization
-5. **Low**: Add assertion messages
-
-### Best Practices from `scratchpad/testing.md`
-- ✅ Use `require.*` for critical setup (stops test on failure)
-- ✅ Use `assert.*` for test validations (continues checking)
-- ✅ Write table-driven tests with `t.Run()` and descriptive names
-- ✅ No mocks or test suites - test real component interactions
-- ✅ Always include helpful assertion messages
-
-### Testing Commands
-```bash
-# Run tests for this file
-go test -v [PACKAGE_PATH] -run [TEST_NAME]
-
-# Run tests with coverage
-go test -cover [PACKAGE_PATH]
-
-# Run all tests
-make test-unit
-```
-
-
-
-### Acceptance Criteria
-
-- [ ] All manual error checks replaced with testify assertions (`require.NoError`, `assert.Equal`, etc.)
-- [ ] Similar test functions refactored into table-driven tests
-- [ ] All critical functions in source file have corresponding tests
-- [ ] Test names are descriptive and follow conventions
-- [ ] All assertions include helpful messages
-- [ ] Tests pass: `make test-unit`
-- [ ] Code follows patterns in `scratchpad/testing.md`
-
-### Additional Context
-
-- **Repository Testing Guidelines**: See `scratchpad/testing.md` for comprehensive testing patterns
-- **Example Tests**: Look at recent test files in `pkg/workflow/*_test.go` for examples
-- **Testify Documentation**: https://github.com/stretchr/testify
-
----
-
-**Priority**: Medium
-**Effort**: [Small/Medium/Large based on amount of work]
-**Expected Impact**: Improved test quality, better error messages, easier maintenance
-
-**Files Involved:**
-- Test file: `[FILE_PATH]`
-- Source file: `[SOURCE_FILE]` (if exists)
-```
-
-### 6. Update Processed Files Cache
-
-After creating the issue, update the cache to record this file as processed:
-
-```bash
-# Append to cache with current date
-CACHE_FILE="/tmp/gh-aw/repo-memory/default/memory/testify-expert/processed_files.txt"
-mkdir -p "$(dirname "$CACHE_FILE")"
-TODAY=$(date '+%Y-%m-%d')
-echo "${TARGET_FILE}|${TODAY}" >> "$CACHE_FILE"
-
-# Sort and deduplicate cache (keep most recent date for each file)
-sort -t'|' -k1,1 -k2,2r "$CACHE_FILE" | \
- awk -F'|' '!seen[$1]++' > "${CACHE_FILE}.tmp"
-mv "${CACHE_FILE}.tmp" "$CACHE_FILE"
-
-echo "✅ Updated cache with processed file: $TARGET_FILE"
-```
+- Append `|` to `processed_files.txt`.
+- Deduplicate by file path, keeping the newest date.
## Output Requirements
-Your workflow MUST follow this sequence:
-
-1. **Load cache** - Check which files have been processed
-2. **Select file** - Choose one unprocessed or old file (>30 days)
-3. **Analyze file** - Use Serena to deeply analyze the test file
-4. **Create issue** - Generate detailed issue with specific improvements
-5. **Update cache** - Record the file as processed with today's date
-
-### Output Format
-
-**If no unprocessed files:**
-```
-✅ All [N] test files have been analyzed in the last 30 days!
-Next analysis will begin after cache expires.
-Cache location: /tmp/gh-aw/repo-memory/default/memory/testify-expert/
-```
-
-**If analysis completed:**
-```
-🧪 Daily Testify Expert Analysis Complete
-
-Selected File: [FILE_PATH]
-Test Functions: [COUNT]
-Lines of Code: [LOC]
-
-Analysis Summary:
-✅ [Strengths count] strengths identified
-🎯 [Improvements count] areas for improvement
-📝 Issue created with detailed recommendations
-
-Issue: #[NUMBER] - Improve Test Quality: [FILE_PATH]
-
-Cache Updated: [FILE_PATH] marked as processed on [DATE]
-Total Processed Files: [COUNT]
-```
-
-## Important Guidelines
-
-- **One file per day**: Focus on providing high-quality, detailed analysis for a single file
-- **Use Serena extensively**: Leverage the language server for semantic understanding
-- **Be specific and actionable**: Provide code examples, not vague advice
-- **Follow repository patterns**: Reference `scratchpad/testing.md` and existing test patterns
-- **Cache management**: Always update the cache after processing
-- **30-day cycle**: Files become eligible for re-analysis after 30 days
-- **Priority to uncovered code**: Prefer files with lower test coverage when selecting
-
-## Testify Best Practices Reference
-
-### Common Patterns from `scratchpad/testing.md`
-
-**Use `require.*` for setup:**
-```go
-config, err := LoadConfig()
-require.NoError(t, err, "config loading should succeed")
-require.NotNil(t, config, "config should not be nil")
-```
-
-**Use `assert.*` for validations:**
-```go
-result := ProcessData(input)
-assert.Equal(t, expected, result, "should process data correctly")
-assert.True(t, result.IsValid(), "result should be valid")
-```
-
-**Table-driven tests:**
-```go
-tests := []struct {
- name string
- input string
- expected string
- shouldErr bool
-}{
- {"valid case", "input", "output", false},
- {"error case", "", "", true},
-}
-
-for _, tt := range tests {
- t.Run(tt.name, func(t *testing.T) {
- // test implementation
- })
-}
-```
-
-## Serena Configuration
+### If no eligible file exists
-The Serena MCP server is configured for this workspace with:
-- **Language**: Go
-- **Project**: ${{ github.workspace }}
-- **Memory**: `/tmp/gh-aw/cache-memory/serena/`
+Return a success message saying all test files were analyzed in the last 30 days and include cache location.
-Use Serena to:
-- Understand test file structure and patterns
-- Identify the source file being tested
-- Detect missing test coverage
-- Suggest testify assertion improvements
-- Find table-driven test opportunities
-- Analyze test quality and maintainability
+### If analysis was completed
-## Example Analysis Flow
+Return a compact summary with selected file, counts, created issue number/title, and cache update confirmation.
-1. **Cache Check**: "Found 15 processed files, 772 candidates remaining"
-2. **File Selection**: "Selected: ./pkg/workflow/compiler_test.go (last processed: never)"
-3. **Serena Analysis**: "Analyzing test structure... Found 12 test functions, source has 25 exported functions"
-4. **Quality Assessment**: "Identified 3 strengths, 5 improvement areas"
-5. **Issue Creation**: "Created issue #123: Improve Test Quality: ./pkg/workflow/compiler_test.go"
-6. **Cache Update**: "Updated cache: ./pkg/workflow/compiler_test.go|2026-01-14"
+## Guardrails
-Begin your analysis now. Load the cache, select a test file, perform deep quality analysis, create an issue with specific improvements, and update the cache.
+- One file per run.
+- Prefer precise recommendations over long prose.
+- Follow patterns in `scratchpad/testing.md` and nearby `pkg/**/_test.go` files.
+- Always update cache after successful analysis.
-{{#runtime-import shared/noop-reminder.md}}
\ No newline at end of file
+{{#runtime-import shared/noop-reminder.md}}
diff --git a/.github/workflows/dataflow-pr-discussion-dataset.lock.yml b/.github/workflows/dataflow-pr-discussion-dataset.lock.yml
index c1769231d66..3117f4aafa3 100644
--- a/.github/workflows/dataflow-pr-discussion-dataset.lock.yml
+++ b/.github/workflows/dataflow-pr-discussion-dataset.lock.yml
@@ -1,4 +1,4 @@
-# gh-aw-metadata: {"schema_version":"v4","frontmatter_hash":"12cfc1ca56e0c8d139d143271def182c2ec11cea8cacae8f9e041f9cc5d6ba20","body_hash":"6631d19ff20865a3d71e4440df0bf82b0c2a5b543090ced4084270915d0e7e39","strict":true,"agent_id":"copilot","engine_versions":{"copilot":"1.0.60"}}
+# gh-aw-metadata: {"schema_version":"v4","frontmatter_hash":"12cfc1ca56e0c8d139d143271def182c2ec11cea8cacae8f9e041f9cc5d6ba20","body_hash":"48d94b7afa6f6f1c3b7f6743ecbd385d7d8e2707172bb50c1dae4f52553dbf26","strict":true,"agent_id":"copilot","engine_versions":{"copilot":"1.0.60"}}
# gh-aw-manifest: {"version":1,"secrets":["COPILOT_GITHUB_TOKEN","GH_AW_GITHUB_MCP_SERVER_TOKEN","GH_AW_GITHUB_TOKEN","GH_AW_OTEL_GRAFANA_AUTHORIZATION","GH_AW_OTEL_GRAFANA_ENDPOINT","GH_AW_OTEL_SENTRY_AUTHORIZATION","GH_AW_OTEL_SENTRY_ENDPOINT","GITHUB_TOKEN"],"actions":[{"repo":"actions/cache/restore","sha":"27d5ce7f107fe9357f9df03efb73ab90386fccae","version":"v5.0.5"},{"repo":"actions/cache/save","sha":"27d5ce7f107fe9357f9df03efb73ab90386fccae","version":"v5.0.5"},{"repo":"actions/checkout","sha":"df4cb1c069e1874edd31b4311f1884172cec0e10","version":"v6.0.3"},{"repo":"actions/download-artifact","sha":"3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c","version":"v8.0.1"},{"repo":"actions/github-script","sha":"3a2844b7e9c422d3c10d287c895573f7108da1b3","version":"v9.0.0"},{"repo":"actions/setup-node","sha":"48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e","version":"v6.4.0"},{"repo":"actions/upload-artifact","sha":"043fb46d1a93c77aae656e7c1c64a875d1fc6a0a","version":"v7.0.1"},{"repo":"safedep/pmg","sha":"46cc70db535107183c9e752bb55d1d5c5f1a9290","version":"v1"}],"containers":[{"image":"ghcr.io/github/gh-aw-firewall/agent:0.27.2","digest":"sha256:f88e5b17b6b7a600117bc121114d6ce2155c88c983c0c939c5df884f730fa1d6","pinned_image":"ghcr.io/github/gh-aw-firewall/agent:0.27.2@sha256:f88e5b17b6b7a600117bc121114d6ce2155c88c983c0c939c5df884f730fa1d6"},{"image":"ghcr.io/github/gh-aw-firewall/api-proxy:0.27.2","digest":"sha256:ee39841d980878ebbb87592903b06d31a1af500c71525c9616f7e8e2a27041a4","pinned_image":"ghcr.io/github/gh-aw-firewall/api-proxy:0.27.2@sha256:ee39841d980878ebbb87592903b06d31a1af500c71525c9616f7e8e2a27041a4"},{"image":"ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.2","digest":"sha256:02f3ec08f32dc26c5427920c6a2e2f3036238fce44802f2f11ef49ed8621b5d0","pinned_image":"ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.2@sha256:02f3ec08f32dc26c5427920c6a2e2f3036238fce44802f2f11ef49ed8621b5d0"},{"image":"ghcr.io/github/gh-aw-firewall/squid:0.27.2","digest":"sha256:2e3a717e5f19a654cd9a2263beb52012b56bcb68562ec5ae2e42f9d156b49591","pinned_image":"ghcr.io/github/gh-aw-firewall/squid:0.27.2@sha256:2e3a717e5f19a654cd9a2263beb52012b56bcb68562ec5ae2e42f9d156b49591"},{"image":"ghcr.io/github/gh-aw-mcpg:v0.3.25","digest":"sha256:c10331ad17668ef89f38f5e356678788a40b0cd5fef96e8f92e1d9c1de47cbaa","pinned_image":"ghcr.io/github/gh-aw-mcpg:v0.3.25@sha256:c10331ad17668ef89f38f5e356678788a40b0cd5fef96e8f92e1d9c1de47cbaa"},{"image":"ghcr.io/github/github-mcp-server:v1.1.2","digest":"sha256:30197479d8036c7811892bc07e06f9a05c9ef3cdd79bc59f256d50647f95788c","pinned_image":"ghcr.io/github/github-mcp-server:v1.1.2@sha256:30197479d8036c7811892bc07e06f9a05c9ef3cdd79bc59f256d50647f95788c"}]}
# This file was automatically generated by gh-aw. DO NOT EDIT. To debug this workflow, load the skill at https://github.com/github/gh-aw/blob/main/debug.md
#
diff --git a/.github/workflows/deep-report.lock.yml b/.github/workflows/deep-report.lock.yml
index ccec9eb7bbe..432275c7816 100644
--- a/.github/workflows/deep-report.lock.yml
+++ b/.github/workflows/deep-report.lock.yml
@@ -1,4 +1,4 @@
-# gh-aw-metadata: {"schema_version":"v4","frontmatter_hash":"b1378e3a94dc80144c9098262e28b1643aa88cc03737e623786dd73e87d8319f","body_hash":"998dc32188e283fc86b37ca07bef72bd4c957f0282c50af482395434a8b2cb66","strict":true,"agent_id":"claude","engine_versions":{"claude":"2.1.168"}}
+# gh-aw-metadata: {"schema_version":"v4","frontmatter_hash":"b1378e3a94dc80144c9098262e28b1643aa88cc03737e623786dd73e87d8319f","body_hash":"63488dbf010b6030f02caa1c7c8a6825e839bfba81cc9125657575ffdb28e366","strict":true,"agent_id":"claude","engine_versions":{"claude":"2.1.168"}}
# gh-aw-manifest: {"version":1,"secrets":["ANTHROPIC_API_KEY","GH_AW_GITHUB_MCP_SERVER_TOKEN","GH_AW_GITHUB_TOKEN","GH_AW_OTEL_GRAFANA_AUTHORIZATION","GH_AW_OTEL_GRAFANA_ENDPOINT","GH_AW_OTEL_SENTRY_AUTHORIZATION","GH_AW_OTEL_SENTRY_ENDPOINT","GITHUB_TOKEN"],"actions":[{"repo":"actions/cache/restore","sha":"27d5ce7f107fe9357f9df03efb73ab90386fccae","version":"v5.0.5"},{"repo":"actions/cache/save","sha":"27d5ce7f107fe9357f9df03efb73ab90386fccae","version":"v5.0.5"},{"repo":"actions/checkout","sha":"df4cb1c069e1874edd31b4311f1884172cec0e10","version":"v6.0.3"},{"repo":"actions/download-artifact","sha":"3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c","version":"v8.0.1"},{"repo":"actions/github-script","sha":"3a2844b7e9c422d3c10d287c895573f7108da1b3","version":"v9.0.0"},{"repo":"actions/setup-go","sha":"4a3601121dd01d1626a1e23e37211e3254c1c06c","version":"v6.4.0"},{"repo":"actions/setup-node","sha":"48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e","version":"v6.4.0"},{"repo":"actions/upload-artifact","sha":"043fb46d1a93c77aae656e7c1c64a875d1fc6a0a","version":"v7.0.1"},{"repo":"docker/build-push-action","sha":"f9f3042f7e2789586610d6e8b85c8f03e5195baf","version":"v7.2.0"},{"repo":"docker/setup-buildx-action","sha":"d7f5e7f509e45cec5c76c4d5afdd7de93d0b3df5","version":"v4.1.0"}],"containers":[{"image":"ghcr.io/github/gh-aw-firewall/agent:0.27.2","digest":"sha256:f88e5b17b6b7a600117bc121114d6ce2155c88c983c0c939c5df884f730fa1d6","pinned_image":"ghcr.io/github/gh-aw-firewall/agent:0.27.2@sha256:f88e5b17b6b7a600117bc121114d6ce2155c88c983c0c939c5df884f730fa1d6"},{"image":"ghcr.io/github/gh-aw-firewall/api-proxy:0.27.2","digest":"sha256:ee39841d980878ebbb87592903b06d31a1af500c71525c9616f7e8e2a27041a4","pinned_image":"ghcr.io/github/gh-aw-firewall/api-proxy:0.27.2@sha256:ee39841d980878ebbb87592903b06d31a1af500c71525c9616f7e8e2a27041a4"},{"image":"ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.2","digest":"sha256:02f3ec08f32dc26c5427920c6a2e2f3036238fce44802f2f11ef49ed8621b5d0","pinned_image":"ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.2@sha256:02f3ec08f32dc26c5427920c6a2e2f3036238fce44802f2f11ef49ed8621b5d0"},{"image":"ghcr.io/github/gh-aw-firewall/squid:0.27.2","digest":"sha256:2e3a717e5f19a654cd9a2263beb52012b56bcb68562ec5ae2e42f9d156b49591","pinned_image":"ghcr.io/github/gh-aw-firewall/squid:0.27.2@sha256:2e3a717e5f19a654cd9a2263beb52012b56bcb68562ec5ae2e42f9d156b49591"},{"image":"ghcr.io/github/gh-aw-mcpg:v0.3.25","digest":"sha256:c10331ad17668ef89f38f5e356678788a40b0cd5fef96e8f92e1d9c1de47cbaa","pinned_image":"ghcr.io/github/gh-aw-mcpg:v0.3.25@sha256:c10331ad17668ef89f38f5e356678788a40b0cd5fef96e8f92e1d9c1de47cbaa"},{"image":"ghcr.io/github/github-mcp-server:v1.1.2","digest":"sha256:30197479d8036c7811892bc07e06f9a05c9ef3cdd79bc59f256d50647f95788c","pinned_image":"ghcr.io/github/github-mcp-server:v1.1.2@sha256:30197479d8036c7811892bc07e06f9a05c9ef3cdd79bc59f256d50647f95788c"},{"image":"node:lts-alpine","digest":"sha256:2bdb65ed1dab192432bc31c95f94155ca5ad7fc1392fb7eb7526ab682fa5bf14","pinned_image":"node:lts-alpine@sha256:2bdb65ed1dab192432bc31c95f94155ca5ad7fc1392fb7eb7526ab682fa5bf14"}]}
# This file was automatically generated by gh-aw. DO NOT EDIT. To debug this workflow, load the skill at https://github.com/github/gh-aw/blob/main/debug.md
#
diff --git a/.github/workflows/dependabot-burner.lock.yml b/.github/workflows/dependabot-burner.lock.yml
index 206c00d3c20..b27a9bef747 100644
--- a/.github/workflows/dependabot-burner.lock.yml
+++ b/.github/workflows/dependabot-burner.lock.yml
@@ -1,4 +1,4 @@
-# gh-aw-metadata: {"schema_version":"v4","frontmatter_hash":"3cc03aaba0ace04be14e041ef8d61d80a95df783ea7aa0167114a14328dbd61e","body_hash":"3470bacc9b6c0ad0c46389ade4a62c696ae2c3f9ccd221e1e52636823bfd1e1f","strict":true,"agent_id":"copilot","engine_versions":{"copilot":"1.0.60"}}
+# gh-aw-metadata: {"schema_version":"v4","frontmatter_hash":"3cc03aaba0ace04be14e041ef8d61d80a95df783ea7aa0167114a14328dbd61e","body_hash":"a8f0c4a4c782bf4bbba4c6a363ef75912c9818946a5a152f51fadbd6885bfdb5","strict":true,"agent_id":"copilot","engine_versions":{"copilot":"1.0.60"}}
# gh-aw-manifest: {"version":1,"secrets":["COPILOT_GITHUB_TOKEN","GH_AW_GITHUB_MCP_SERVER_TOKEN","GH_AW_GITHUB_TOKEN","GH_AW_OTEL_GRAFANA_AUTHORIZATION","GH_AW_OTEL_GRAFANA_ENDPOINT","GH_AW_OTEL_SENTRY_AUTHORIZATION","GH_AW_OTEL_SENTRY_ENDPOINT","GITHUB_TOKEN"],"actions":[{"repo":"actions/cache/restore","sha":"27d5ce7f107fe9357f9df03efb73ab90386fccae","version":"v5.0.5"},{"repo":"actions/cache/save","sha":"27d5ce7f107fe9357f9df03efb73ab90386fccae","version":"v5.0.5"},{"repo":"actions/checkout","sha":"df4cb1c069e1874edd31b4311f1884172cec0e10","version":"v6.0.3"},{"repo":"actions/download-artifact","sha":"3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c","version":"v8.0.1"},{"repo":"actions/github-script","sha":"3a2844b7e9c422d3c10d287c895573f7108da1b3","version":"v9.0.0"},{"repo":"actions/setup-node","sha":"48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e","version":"v6.4.0"},{"repo":"actions/upload-artifact","sha":"043fb46d1a93c77aae656e7c1c64a875d1fc6a0a","version":"v7.0.1"}],"containers":[{"image":"ghcr.io/github/gh-aw-firewall/agent:0.27.2","digest":"sha256:f88e5b17b6b7a600117bc121114d6ce2155c88c983c0c939c5df884f730fa1d6","pinned_image":"ghcr.io/github/gh-aw-firewall/agent:0.27.2@sha256:f88e5b17b6b7a600117bc121114d6ce2155c88c983c0c939c5df884f730fa1d6"},{"image":"ghcr.io/github/gh-aw-firewall/api-proxy:0.27.2","digest":"sha256:ee39841d980878ebbb87592903b06d31a1af500c71525c9616f7e8e2a27041a4","pinned_image":"ghcr.io/github/gh-aw-firewall/api-proxy:0.27.2@sha256:ee39841d980878ebbb87592903b06d31a1af500c71525c9616f7e8e2a27041a4"},{"image":"ghcr.io/github/gh-aw-firewall/squid:0.27.2","digest":"sha256:2e3a717e5f19a654cd9a2263beb52012b56bcb68562ec5ae2e42f9d156b49591","pinned_image":"ghcr.io/github/gh-aw-firewall/squid:0.27.2@sha256:2e3a717e5f19a654cd9a2263beb52012b56bcb68562ec5ae2e42f9d156b49591"},{"image":"ghcr.io/github/gh-aw-mcpg:v0.3.25","digest":"sha256:c10331ad17668ef89f38f5e356678788a40b0cd5fef96e8f92e1d9c1de47cbaa","pinned_image":"ghcr.io/github/gh-aw-mcpg:v0.3.25@sha256:c10331ad17668ef89f38f5e356678788a40b0cd5fef96e8f92e1d9c1de47cbaa"},{"image":"ghcr.io/github/github-mcp-server:v1.1.2","digest":"sha256:30197479d8036c7811892bc07e06f9a05c9ef3cdd79bc59f256d50647f95788c","pinned_image":"ghcr.io/github/github-mcp-server:v1.1.2@sha256:30197479d8036c7811892bc07e06f9a05c9ef3cdd79bc59f256d50647f95788c"}]}
# This file was automatically generated by gh-aw. DO NOT EDIT. To debug this workflow, load the skill at https://github.com/github/gh-aw/blob/main/debug.md
#
diff --git a/.github/workflows/dependabot-go-checker.lock.yml b/.github/workflows/dependabot-go-checker.lock.yml
index 1238aaf6b2e..3b41c903ad9 100644
--- a/.github/workflows/dependabot-go-checker.lock.yml
+++ b/.github/workflows/dependabot-go-checker.lock.yml
@@ -1,4 +1,4 @@
-# gh-aw-metadata: {"schema_version":"v4","frontmatter_hash":"4e24be2714ec962b4af20b1508f8b6633e6c41bb42c295023f888edcbd3960ab","body_hash":"bad71687b17cce9668e55a3ff7ff814f10c036ce9210288eb3aa99ec920f38bf","strict":true,"agent_id":"copilot","engine_versions":{"copilot":"1.0.60"}}
+# gh-aw-metadata: {"schema_version":"v4","frontmatter_hash":"4e24be2714ec962b4af20b1508f8b6633e6c41bb42c295023f888edcbd3960ab","body_hash":"f6cc230ddb0f0ce402897327fc026ea7d6e423b8b252186687a2b35b56e42def","strict":true,"agent_id":"copilot","engine_versions":{"copilot":"1.0.60"}}
# gh-aw-manifest: {"version":1,"secrets":["COPILOT_GITHUB_TOKEN","GH_AW_GITHUB_MCP_SERVER_TOKEN","GH_AW_GITHUB_TOKEN","GH_AW_OTEL_GRAFANA_AUTHORIZATION","GH_AW_OTEL_GRAFANA_ENDPOINT","GH_AW_OTEL_SENTRY_AUTHORIZATION","GH_AW_OTEL_SENTRY_ENDPOINT","GITHUB_TOKEN"],"actions":[{"repo":"actions/cache/restore","sha":"27d5ce7f107fe9357f9df03efb73ab90386fccae","version":"v5.0.5"},{"repo":"actions/cache/save","sha":"27d5ce7f107fe9357f9df03efb73ab90386fccae","version":"v5.0.5"},{"repo":"actions/checkout","sha":"df4cb1c069e1874edd31b4311f1884172cec0e10","version":"v6.0.3"},{"repo":"actions/download-artifact","sha":"3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c","version":"v8.0.1"},{"repo":"actions/github-script","sha":"3a2844b7e9c422d3c10d287c895573f7108da1b3","version":"v9.0.0"},{"repo":"actions/setup-node","sha":"48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e","version":"v6.4.0"},{"repo":"actions/upload-artifact","sha":"043fb46d1a93c77aae656e7c1c64a875d1fc6a0a","version":"v7.0.1"}],"containers":[{"image":"ghcr.io/github/gh-aw-firewall/agent:0.27.2","digest":"sha256:f88e5b17b6b7a600117bc121114d6ce2155c88c983c0c939c5df884f730fa1d6","pinned_image":"ghcr.io/github/gh-aw-firewall/agent:0.27.2@sha256:f88e5b17b6b7a600117bc121114d6ce2155c88c983c0c939c5df884f730fa1d6"},{"image":"ghcr.io/github/gh-aw-firewall/api-proxy:0.27.2","digest":"sha256:ee39841d980878ebbb87592903b06d31a1af500c71525c9616f7e8e2a27041a4","pinned_image":"ghcr.io/github/gh-aw-firewall/api-proxy:0.27.2@sha256:ee39841d980878ebbb87592903b06d31a1af500c71525c9616f7e8e2a27041a4"},{"image":"ghcr.io/github/gh-aw-firewall/squid:0.27.2","digest":"sha256:2e3a717e5f19a654cd9a2263beb52012b56bcb68562ec5ae2e42f9d156b49591","pinned_image":"ghcr.io/github/gh-aw-firewall/squid:0.27.2@sha256:2e3a717e5f19a654cd9a2263beb52012b56bcb68562ec5ae2e42f9d156b49591"},{"image":"ghcr.io/github/gh-aw-mcpg:v0.3.25","digest":"sha256:c10331ad17668ef89f38f5e356678788a40b0cd5fef96e8f92e1d9c1de47cbaa","pinned_image":"ghcr.io/github/gh-aw-mcpg:v0.3.25@sha256:c10331ad17668ef89f38f5e356678788a40b0cd5fef96e8f92e1d9c1de47cbaa"},{"image":"ghcr.io/github/github-mcp-server:v1.1.2","digest":"sha256:30197479d8036c7811892bc07e06f9a05c9ef3cdd79bc59f256d50647f95788c","pinned_image":"ghcr.io/github/github-mcp-server:v1.1.2@sha256:30197479d8036c7811892bc07e06f9a05c9ef3cdd79bc59f256d50647f95788c"}]}
# This file was automatically generated by gh-aw. DO NOT EDIT. To debug this workflow, load the skill at https://github.com/github/gh-aw/blob/main/debug.md
#
diff --git a/.github/workflows/deployment-incident-monitor.lock.yml b/.github/workflows/deployment-incident-monitor.lock.yml
index 89f79a9deec..ff20ffc0990 100644
--- a/.github/workflows/deployment-incident-monitor.lock.yml
+++ b/.github/workflows/deployment-incident-monitor.lock.yml
@@ -1,4 +1,4 @@
-# gh-aw-metadata: {"schema_version":"v4","frontmatter_hash":"46b026cae3654b07caa7043d59e399cbec3c907a6467e080eba00d4e12a888ef","body_hash":"3c3fb0a702d5434c3d95093a6b67bf19413faeee1365bb6e027356d5aa0273a9","strict":true,"agent_id":"copilot","engine_versions":{"copilot":"1.0.60","copilot-sdk":"1.0.0"}}
+# gh-aw-metadata: {"schema_version":"v4","frontmatter_hash":"46b026cae3654b07caa7043d59e399cbec3c907a6467e080eba00d4e12a888ef","body_hash":"cefb70fc337855db3e12f3d07431b454886f173a8ecae66d964dcccfd2072266","strict":true,"agent_id":"copilot","engine_versions":{"copilot":"1.0.60","copilot-sdk":"1.0.0"}}
# gh-aw-manifest: {"version":1,"secrets":["COPILOT_GITHUB_TOKEN","GH_AW_GITHUB_MCP_SERVER_TOKEN","GH_AW_GITHUB_TOKEN","GH_AW_OTEL_GRAFANA_AUTHORIZATION","GH_AW_OTEL_GRAFANA_ENDPOINT","GH_AW_OTEL_SENTRY_AUTHORIZATION","GH_AW_OTEL_SENTRY_ENDPOINT","GITHUB_TOKEN"],"actions":[{"repo":"actions/cache/restore","sha":"27d5ce7f107fe9357f9df03efb73ab90386fccae","version":"v5.0.5"},{"repo":"actions/cache/save","sha":"27d5ce7f107fe9357f9df03efb73ab90386fccae","version":"v5.0.5"},{"repo":"actions/checkout","sha":"df4cb1c069e1874edd31b4311f1884172cec0e10","version":"v6.0.3"},{"repo":"actions/download-artifact","sha":"3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c","version":"v8.0.1"},{"repo":"actions/github-script","sha":"3a2844b7e9c422d3c10d287c895573f7108da1b3","version":"v9.0.0"},{"repo":"actions/setup-node","sha":"48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e","version":"v6.4.0"},{"repo":"actions/upload-artifact","sha":"043fb46d1a93c77aae656e7c1c64a875d1fc6a0a","version":"v7.0.1"}],"containers":[{"image":"ghcr.io/github/gh-aw-firewall/agent:0.27.2","digest":"sha256:f88e5b17b6b7a600117bc121114d6ce2155c88c983c0c939c5df884f730fa1d6","pinned_image":"ghcr.io/github/gh-aw-firewall/agent:0.27.2@sha256:f88e5b17b6b7a600117bc121114d6ce2155c88c983c0c939c5df884f730fa1d6"},{"image":"ghcr.io/github/gh-aw-firewall/api-proxy:0.27.2","digest":"sha256:ee39841d980878ebbb87592903b06d31a1af500c71525c9616f7e8e2a27041a4","pinned_image":"ghcr.io/github/gh-aw-firewall/api-proxy:0.27.2@sha256:ee39841d980878ebbb87592903b06d31a1af500c71525c9616f7e8e2a27041a4"},{"image":"ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.2","digest":"sha256:02f3ec08f32dc26c5427920c6a2e2f3036238fce44802f2f11ef49ed8621b5d0","pinned_image":"ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.2@sha256:02f3ec08f32dc26c5427920c6a2e2f3036238fce44802f2f11ef49ed8621b5d0"},{"image":"ghcr.io/github/gh-aw-firewall/squid:0.27.2","digest":"sha256:2e3a717e5f19a654cd9a2263beb52012b56bcb68562ec5ae2e42f9d156b49591","pinned_image":"ghcr.io/github/gh-aw-firewall/squid:0.27.2@sha256:2e3a717e5f19a654cd9a2263beb52012b56bcb68562ec5ae2e42f9d156b49591"},{"image":"ghcr.io/github/gh-aw-mcpg:v0.3.25","digest":"sha256:c10331ad17668ef89f38f5e356678788a40b0cd5fef96e8f92e1d9c1de47cbaa","pinned_image":"ghcr.io/github/gh-aw-mcpg:v0.3.25@sha256:c10331ad17668ef89f38f5e356678788a40b0cd5fef96e8f92e1d9c1de47cbaa"},{"image":"ghcr.io/github/github-mcp-server:v1.1.2","digest":"sha256:30197479d8036c7811892bc07e06f9a05c9ef3cdd79bc59f256d50647f95788c","pinned_image":"ghcr.io/github/github-mcp-server:v1.1.2@sha256:30197479d8036c7811892bc07e06f9a05c9ef3cdd79bc59f256d50647f95788c"}]}
# This file was automatically generated by gh-aw. DO NOT EDIT. To debug this workflow, load the skill at https://github.com/github/gh-aw/blob/main/debug.md
#
diff --git a/.github/workflows/design-decision-gate.lock.yml b/.github/workflows/design-decision-gate.lock.yml
index 534e08c5847..8073a232a2f 100644
--- a/.github/workflows/design-decision-gate.lock.yml
+++ b/.github/workflows/design-decision-gate.lock.yml
@@ -1,4 +1,4 @@
-# gh-aw-metadata: {"schema_version":"v4","frontmatter_hash":"1c1efd464b8abce72ea3e7a83b6fbe9bd835f14977119ec27b8b6639b23662a7","body_hash":"53a8f8c9a62074de78a50d9f21a4e757d1f7639b56adc0b0ef7140790ac45e90","strict":true,"agent_id":"claude","engine_versions":{"claude":"2.1.168"}}
+# gh-aw-metadata: {"schema_version":"v4","frontmatter_hash":"1c1efd464b8abce72ea3e7a83b6fbe9bd835f14977119ec27b8b6639b23662a7","body_hash":"9880585d9d235e2471ffd64a8f88bc3980d510d92a24ce288650c7e6bfc3ee10","strict":true,"agent_id":"claude","engine_versions":{"claude":"2.1.168"}}
# gh-aw-manifest: {"version":1,"secrets":["ANTHROPIC_API_KEY","GH_AW_CI_TRIGGER_TOKEN","GH_AW_GITHUB_MCP_SERVER_TOKEN","GH_AW_GITHUB_TOKEN","GH_AW_OTEL_GRAFANA_AUTHORIZATION","GH_AW_OTEL_GRAFANA_ENDPOINT","GH_AW_OTEL_SENTRY_AUTHORIZATION","GH_AW_OTEL_SENTRY_ENDPOINT","GITHUB_TOKEN"],"actions":[{"repo":"actions/cache/restore","sha":"27d5ce7f107fe9357f9df03efb73ab90386fccae","version":"v5.0.5"},{"repo":"actions/cache/save","sha":"27d5ce7f107fe9357f9df03efb73ab90386fccae","version":"v5.0.5"},{"repo":"actions/checkout","sha":"df4cb1c069e1874edd31b4311f1884172cec0e10","version":"v6.0.3"},{"repo":"actions/download-artifact","sha":"3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c","version":"v8.0.1"},{"repo":"actions/github-script","sha":"3a2844b7e9c422d3c10d287c895573f7108da1b3","version":"v9.0.0"},{"repo":"actions/setup-node","sha":"48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e","version":"v6.4.0"},{"repo":"actions/upload-artifact","sha":"043fb46d1a93c77aae656e7c1c64a875d1fc6a0a","version":"v7.0.1"}],"containers":[{"image":"ghcr.io/github/gh-aw-firewall/agent:0.27.2","digest":"sha256:f88e5b17b6b7a600117bc121114d6ce2155c88c983c0c939c5df884f730fa1d6","pinned_image":"ghcr.io/github/gh-aw-firewall/agent:0.27.2@sha256:f88e5b17b6b7a600117bc121114d6ce2155c88c983c0c939c5df884f730fa1d6"},{"image":"ghcr.io/github/gh-aw-firewall/api-proxy:0.27.2","digest":"sha256:ee39841d980878ebbb87592903b06d31a1af500c71525c9616f7e8e2a27041a4","pinned_image":"ghcr.io/github/gh-aw-firewall/api-proxy:0.27.2@sha256:ee39841d980878ebbb87592903b06d31a1af500c71525c9616f7e8e2a27041a4"},{"image":"ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.2","digest":"sha256:02f3ec08f32dc26c5427920c6a2e2f3036238fce44802f2f11ef49ed8621b5d0","pinned_image":"ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.2@sha256:02f3ec08f32dc26c5427920c6a2e2f3036238fce44802f2f11ef49ed8621b5d0"},{"image":"ghcr.io/github/gh-aw-firewall/squid:0.27.2","digest":"sha256:2e3a717e5f19a654cd9a2263beb52012b56bcb68562ec5ae2e42f9d156b49591","pinned_image":"ghcr.io/github/gh-aw-firewall/squid:0.27.2@sha256:2e3a717e5f19a654cd9a2263beb52012b56bcb68562ec5ae2e42f9d156b49591"},{"image":"ghcr.io/github/gh-aw-mcpg:v0.3.25","digest":"sha256:c10331ad17668ef89f38f5e356678788a40b0cd5fef96e8f92e1d9c1de47cbaa","pinned_image":"ghcr.io/github/gh-aw-mcpg:v0.3.25@sha256:c10331ad17668ef89f38f5e356678788a40b0cd5fef96e8f92e1d9c1de47cbaa"},{"image":"ghcr.io/github/github-mcp-server:v1.1.2","digest":"sha256:30197479d8036c7811892bc07e06f9a05c9ef3cdd79bc59f256d50647f95788c","pinned_image":"ghcr.io/github/github-mcp-server:v1.1.2@sha256:30197479d8036c7811892bc07e06f9a05c9ef3cdd79bc59f256d50647f95788c"}]}
# This file was automatically generated by gh-aw. DO NOT EDIT. To debug this workflow, load the skill at https://github.com/github/gh-aw/blob/main/debug.md
#
diff --git a/.github/workflows/dev-hawk.lock.yml b/.github/workflows/dev-hawk.lock.yml
index 2f22ddcf757..a7f1ab04497 100644
--- a/.github/workflows/dev-hawk.lock.yml
+++ b/.github/workflows/dev-hawk.lock.yml
@@ -1,4 +1,4 @@
-# gh-aw-metadata: {"schema_version":"v4","frontmatter_hash":"17b189eca06365fa3df289963131920a04bfef149fb64778b9afb34024ba5061","body_hash":"c28cad1f7b0355e2716fb4d8fd44a3326694cf64cfdc597f44db022956cf86ea","strict":true,"agent_id":"copilot","engine_versions":{"copilot":"1.0.60","copilot-sdk":"1.0.0"}}
+# gh-aw-metadata: {"schema_version":"v4","frontmatter_hash":"17b189eca06365fa3df289963131920a04bfef149fb64778b9afb34024ba5061","body_hash":"1bec0986e3cc05e1b769c119a0e2f5412f7dcdad90528e4f0d2ef833a7623641","strict":true,"agent_id":"copilot","engine_versions":{"copilot":"1.0.60","copilot-sdk":"1.0.0"}}
# gh-aw-manifest: {"version":1,"secrets":["GH_AW_GITHUB_MCP_SERVER_TOKEN","GH_AW_GITHUB_TOKEN","GH_AW_OTEL_GRAFANA_AUTHORIZATION","GH_AW_OTEL_GRAFANA_ENDPOINT","GH_AW_OTEL_SENTRY_AUTHORIZATION","GH_AW_OTEL_SENTRY_ENDPOINT","GITHUB_TOKEN"],"actions":[{"repo":"actions/cache/restore","sha":"27d5ce7f107fe9357f9df03efb73ab90386fccae","version":"v5.0.5"},{"repo":"actions/cache/save","sha":"27d5ce7f107fe9357f9df03efb73ab90386fccae","version":"v5.0.5"},{"repo":"actions/checkout","sha":"df4cb1c069e1874edd31b4311f1884172cec0e10","version":"v6.0.3"},{"repo":"actions/download-artifact","sha":"3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c","version":"v8.0.1"},{"repo":"actions/github-script","sha":"3a2844b7e9c422d3c10d287c895573f7108da1b3","version":"v9.0.0"},{"repo":"actions/setup-go","sha":"4a3601121dd01d1626a1e23e37211e3254c1c06c","version":"v6.4.0"},{"repo":"actions/setup-node","sha":"48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e","version":"v6.4.0"},{"repo":"actions/upload-artifact","sha":"043fb46d1a93c77aae656e7c1c64a875d1fc6a0a","version":"v7.0.1"},{"repo":"docker/build-push-action","sha":"f9f3042f7e2789586610d6e8b85c8f03e5195baf","version":"v7.2.0"},{"repo":"docker/setup-buildx-action","sha":"d7f5e7f509e45cec5c76c4d5afdd7de93d0b3df5","version":"v4.1.0"}],"containers":[{"image":"ghcr.io/github/gh-aw-firewall/agent:0.27.2","digest":"sha256:f88e5b17b6b7a600117bc121114d6ce2155c88c983c0c939c5df884f730fa1d6","pinned_image":"ghcr.io/github/gh-aw-firewall/agent:0.27.2@sha256:f88e5b17b6b7a600117bc121114d6ce2155c88c983c0c939c5df884f730fa1d6"},{"image":"ghcr.io/github/gh-aw-firewall/api-proxy:0.27.2","digest":"sha256:ee39841d980878ebbb87592903b06d31a1af500c71525c9616f7e8e2a27041a4","pinned_image":"ghcr.io/github/gh-aw-firewall/api-proxy:0.27.2@sha256:ee39841d980878ebbb87592903b06d31a1af500c71525c9616f7e8e2a27041a4"},{"image":"ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.2","digest":"sha256:02f3ec08f32dc26c5427920c6a2e2f3036238fce44802f2f11ef49ed8621b5d0","pinned_image":"ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.2@sha256:02f3ec08f32dc26c5427920c6a2e2f3036238fce44802f2f11ef49ed8621b5d0"},{"image":"ghcr.io/github/gh-aw-firewall/squid:0.27.2","digest":"sha256:2e3a717e5f19a654cd9a2263beb52012b56bcb68562ec5ae2e42f9d156b49591","pinned_image":"ghcr.io/github/gh-aw-firewall/squid:0.27.2@sha256:2e3a717e5f19a654cd9a2263beb52012b56bcb68562ec5ae2e42f9d156b49591"},{"image":"ghcr.io/github/gh-aw-mcpg:v0.3.25","digest":"sha256:c10331ad17668ef89f38f5e356678788a40b0cd5fef96e8f92e1d9c1de47cbaa","pinned_image":"ghcr.io/github/gh-aw-mcpg:v0.3.25@sha256:c10331ad17668ef89f38f5e356678788a40b0cd5fef96e8f92e1d9c1de47cbaa"},{"image":"ghcr.io/github/github-mcp-server:v1.1.2","digest":"sha256:30197479d8036c7811892bc07e06f9a05c9ef3cdd79bc59f256d50647f95788c","pinned_image":"ghcr.io/github/github-mcp-server:v1.1.2@sha256:30197479d8036c7811892bc07e06f9a05c9ef3cdd79bc59f256d50647f95788c"}]}
# This file was automatically generated by gh-aw. DO NOT EDIT. To debug this workflow, load the skill at https://github.com/github/gh-aw/blob/main/debug.md
#
diff --git a/.github/workflows/dev.lock.yml b/.github/workflows/dev.lock.yml
index 3da92c19ef8..b974b37a0ef 100644
--- a/.github/workflows/dev.lock.yml
+++ b/.github/workflows/dev.lock.yml
@@ -1,4 +1,4 @@
-# gh-aw-metadata: {"schema_version":"v4","frontmatter_hash":"e5b3d15b58a5d9aaf9f98d8cdde9198ded3050ae7b26a04ae92c859d38251f03","body_hash":"1ed645e6df6ac81908cdf085c283a10cf4a23964a664b1398297c86588fe6b76","agent_id":"codex","agent_model":"gpt-5.4","engine_versions":{"codex":"0.137.0"}}
+# gh-aw-metadata: {"schema_version":"v4","frontmatter_hash":"e5b3d15b58a5d9aaf9f98d8cdde9198ded3050ae7b26a04ae92c859d38251f03","body_hash":"5b410bb5440f068fe2548af04ab07b6f07926ae33aadd478a37a09fe1b290bca","agent_id":"codex","agent_model":"gpt-5.4","engine_versions":{"codex":"0.137.0"}}
# gh-aw-manifest: {"version":1,"secrets":["CODEX_API_KEY","GH_AW_GITHUB_MCP_SERVER_TOKEN","GH_AW_GITHUB_TOKEN","GH_AW_OTEL_GRAFANA_AUTHORIZATION","GH_AW_OTEL_GRAFANA_ENDPOINT","GH_AW_OTEL_SENTRY_AUTHORIZATION","GH_AW_OTEL_SENTRY_ENDPOINT","GITHUB_TOKEN","OPENAI_API_KEY"],"actions":[{"repo":"actions/cache/restore","sha":"27d5ce7f107fe9357f9df03efb73ab90386fccae","version":"v5.0.5"},{"repo":"actions/cache/save","sha":"27d5ce7f107fe9357f9df03efb73ab90386fccae","version":"v5.0.5"},{"repo":"actions/checkout","sha":"df4cb1c069e1874edd31b4311f1884172cec0e10","version":"v6.0.3"},{"repo":"actions/download-artifact","sha":"3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c","version":"v8.0.1"},{"repo":"actions/github-script","sha":"3a2844b7e9c422d3c10d287c895573f7108da1b3","version":"v9.0.0"},{"repo":"actions/setup-node","sha":"48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e","version":"v6.4.0"},{"repo":"actions/upload-artifact","sha":"043fb46d1a93c77aae656e7c1c64a875d1fc6a0a","version":"v7.0.1"}],"containers":[{"image":"ghcr.io/github/gh-aw-firewall/agent:0.27.2","digest":"sha256:f88e5b17b6b7a600117bc121114d6ce2155c88c983c0c939c5df884f730fa1d6","pinned_image":"ghcr.io/github/gh-aw-firewall/agent:0.27.2@sha256:f88e5b17b6b7a600117bc121114d6ce2155c88c983c0c939c5df884f730fa1d6"},{"image":"ghcr.io/github/gh-aw-firewall/api-proxy:0.27.2","digest":"sha256:ee39841d980878ebbb87592903b06d31a1af500c71525c9616f7e8e2a27041a4","pinned_image":"ghcr.io/github/gh-aw-firewall/api-proxy:0.27.2@sha256:ee39841d980878ebbb87592903b06d31a1af500c71525c9616f7e8e2a27041a4"},{"image":"ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.2","digest":"sha256:02f3ec08f32dc26c5427920c6a2e2f3036238fce44802f2f11ef49ed8621b5d0","pinned_image":"ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.2@sha256:02f3ec08f32dc26c5427920c6a2e2f3036238fce44802f2f11ef49ed8621b5d0"},{"image":"ghcr.io/github/gh-aw-firewall/squid:0.27.2","digest":"sha256:2e3a717e5f19a654cd9a2263beb52012b56bcb68562ec5ae2e42f9d156b49591","pinned_image":"ghcr.io/github/gh-aw-firewall/squid:0.27.2@sha256:2e3a717e5f19a654cd9a2263beb52012b56bcb68562ec5ae2e42f9d156b49591"},{"image":"ghcr.io/github/gh-aw-mcpg:v0.3.25","digest":"sha256:c10331ad17668ef89f38f5e356678788a40b0cd5fef96e8f92e1d9c1de47cbaa","pinned_image":"ghcr.io/github/gh-aw-mcpg:v0.3.25@sha256:c10331ad17668ef89f38f5e356678788a40b0cd5fef96e8f92e1d9c1de47cbaa"},{"image":"ghcr.io/github/github-mcp-server:v1.1.2","digest":"sha256:30197479d8036c7811892bc07e06f9a05c9ef3cdd79bc59f256d50647f95788c","pinned_image":"ghcr.io/github/github-mcp-server:v1.1.2@sha256:30197479d8036c7811892bc07e06f9a05c9ef3cdd79bc59f256d50647f95788c"}]}
# This file was automatically generated by gh-aw. DO NOT EDIT. To debug this workflow, load the skill at https://github.com/github/gh-aw/blob/main/debug.md
#
diff --git a/.github/workflows/developer-docs-consolidator.lock.yml b/.github/workflows/developer-docs-consolidator.lock.yml
index 31d8d422cde..0226cb7d08b 100644
--- a/.github/workflows/developer-docs-consolidator.lock.yml
+++ b/.github/workflows/developer-docs-consolidator.lock.yml
@@ -248,25 +248,25 @@ jobs:
run: |
bash "${RUNNER_TEMP}/gh-aw/actions/create_prompt_first.sh"
{
- cat << 'GH_AW_PROMPT_018e9300a8c72fae_EOF'
+ cat << 'GH_AW_PROMPT_19d69eedac17a876_EOF'
- GH_AW_PROMPT_018e9300a8c72fae_EOF
+ GH_AW_PROMPT_19d69eedac17a876_EOF
cat "${RUNNER_TEMP}/gh-aw/prompts/xpia.md"
cat "${RUNNER_TEMP}/gh-aw/prompts/temp_folder_prompt.md"
cat "${RUNNER_TEMP}/gh-aw/prompts/markdown.md"
cat "${RUNNER_TEMP}/gh-aw/prompts/cache_memory_prompt.md"
cat "${RUNNER_TEMP}/gh-aw/prompts/repo_memory_prompt.md"
cat "${RUNNER_TEMP}/gh-aw/prompts/safe_outputs_prompt.md"
- cat << 'GH_AW_PROMPT_018e9300a8c72fae_EOF'
+ cat << 'GH_AW_PROMPT_19d69eedac17a876_EOF'
Tools: create_discussion, create_pull_request, missing_tool, missing_data, noop
- GH_AW_PROMPT_018e9300a8c72fae_EOF
+ GH_AW_PROMPT_19d69eedac17a876_EOF
cat "${RUNNER_TEMP}/gh-aw/prompts/safe_outputs_create_pull_request.md"
- cat << 'GH_AW_PROMPT_018e9300a8c72fae_EOF'
+ cat << 'GH_AW_PROMPT_19d69eedac17a876_EOF'
- GH_AW_PROMPT_018e9300a8c72fae_EOF
+ GH_AW_PROMPT_19d69eedac17a876_EOF
cat "${RUNNER_TEMP}/gh-aw/prompts/mcp_cli_tools_prompt.md"
- cat << 'GH_AW_PROMPT_018e9300a8c72fae_EOF'
+ cat << 'GH_AW_PROMPT_19d69eedac17a876_EOF'
The following GitHub context information is available for this workflow:
{{#if github.actor}}
@@ -295,45 +295,19 @@ jobs:
{{/if}}
- GH_AW_PROMPT_018e9300a8c72fae_EOF
+ GH_AW_PROMPT_19d69eedac17a876_EOF
cat "${RUNNER_TEMP}/gh-aw/prompts/cli_proxy_with_safeoutputs_prompt.md"
- cat << 'GH_AW_PROMPT_018e9300a8c72fae_EOF'
+ cat << 'GH_AW_PROMPT_19d69eedac17a876_EOF'
{{#runtime-import .github/workflows/shared/mcp/serena-go.md}}
{{#runtime-import .github/workflows/shared/otlp.md}}
{{#runtime-import .github/workflows/shared/reporting.md}}
## Serena Code Analysis
- The Serena MCP server is configured for **["go"]** analysis in this workspace:
- - **Workspace**: `__GH_AW_GITHUB_WORKSPACE__`
- - **Memory**: `/tmp/gh-aw/cache-memory/serena/`
-
- ### Project Activation
-
- Before analyzing code, activate the Serena project:
- ```
- Tool: activate_project
- Args: { "path": "__GH_AW_GITHUB_WORKSPACE__" }
- ```
-
- ### Available Capabilities
-
- Serena provides IDE-grade Language Server Protocol (LSP) tools including:
- - **Symbol search**: `find_symbol` — locate functions, types, interfaces by name
- - **Navigation**: `find_referencing_symbols` — find all callers/usages of a symbol
- - **Type info**: `get_symbol_documentation` — hover-level type and doc information
- - **Code editing**: `replace_symbol_body`, `insert_after_symbol` — symbol-level edits
- - **Diagnostics**: `get_diagnostics` — compiler errors and linter warnings
-
- ### Analysis Guidelines
-
- 1. **Use semantic tools over text search** — prefer Serena's LSP tools over `grep`
- 2. **Activate project first** — always call `activate_project` before other tools
- 3. **Cross-reference findings** — validate with multiple tools for accuracy
- 4. **Focus on the relevant language files** — ignore unrelated file types
+ Serena is enabled for **["go"]** in `__GH_AW_GITHUB_WORKSPACE__`. Start by calling `activate_project` with that workspace path, then prefer Serena semantic tools for symbol lookup, references, docs, diagnostics, and structured edits.
{{#runtime-import .github/workflows/shared/noop-reminder.md}}
{{#runtime-import .github/workflows/developer-docs-consolidator.md}}
- GH_AW_PROMPT_018e9300a8c72fae_EOF
+ GH_AW_PROMPT_19d69eedac17a876_EOF
} > "$GH_AW_PROMPT"
- name: Interpolate variables and render templates
uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
diff --git a/.github/workflows/dictation-prompt.lock.yml b/.github/workflows/dictation-prompt.lock.yml
index 57f88698827..1b8f3bee66b 100644
--- a/.github/workflows/dictation-prompt.lock.yml
+++ b/.github/workflows/dictation-prompt.lock.yml
@@ -1,4 +1,4 @@
-# gh-aw-metadata: {"schema_version":"v4","frontmatter_hash":"370d33d07d497668859e10a1fe2e8a42272a21b10e781d0d942b652db9941a10","body_hash":"d9a4cc629c1719b0b622c59292322502901dc0ba4b6c916a78de0fe8711b47f3","strict":true,"agent_id":"copilot","engine_versions":{"copilot":"1.0.60","copilot-sdk":"1.0.0"}}
+# gh-aw-metadata: {"schema_version":"v4","frontmatter_hash":"370d33d07d497668859e10a1fe2e8a42272a21b10e781d0d942b652db9941a10","body_hash":"eafe0b3814f31526886d24b4fc2ec7a7a45dd544800c4599e8f084df37872136","strict":true,"agent_id":"copilot","engine_versions":{"copilot":"1.0.60","copilot-sdk":"1.0.0"}}
# gh-aw-manifest: {"version":1,"secrets":["GH_AW_CI_TRIGGER_TOKEN","GH_AW_GITHUB_MCP_SERVER_TOKEN","GH_AW_GITHUB_TOKEN","GH_AW_OTEL_GRAFANA_AUTHORIZATION","GH_AW_OTEL_GRAFANA_ENDPOINT","GH_AW_OTEL_SENTRY_AUTHORIZATION","GH_AW_OTEL_SENTRY_ENDPOINT","GITHUB_TOKEN"],"actions":[{"repo":"actions/cache/restore","sha":"27d5ce7f107fe9357f9df03efb73ab90386fccae","version":"v5.0.5"},{"repo":"actions/cache/save","sha":"27d5ce7f107fe9357f9df03efb73ab90386fccae","version":"v5.0.5"},{"repo":"actions/checkout","sha":"df4cb1c069e1874edd31b4311f1884172cec0e10","version":"v6.0.3"},{"repo":"actions/download-artifact","sha":"3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c","version":"v8.0.1"},{"repo":"actions/github-script","sha":"3a2844b7e9c422d3c10d287c895573f7108da1b3","version":"v9.0.0"},{"repo":"actions/setup-node","sha":"48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e","version":"v6.4.0"},{"repo":"actions/upload-artifact","sha":"043fb46d1a93c77aae656e7c1c64a875d1fc6a0a","version":"v7.0.1"}],"containers":[{"image":"ghcr.io/github/gh-aw-firewall/agent:0.27.2","digest":"sha256:f88e5b17b6b7a600117bc121114d6ce2155c88c983c0c939c5df884f730fa1d6","pinned_image":"ghcr.io/github/gh-aw-firewall/agent:0.27.2@sha256:f88e5b17b6b7a600117bc121114d6ce2155c88c983c0c939c5df884f730fa1d6"},{"image":"ghcr.io/github/gh-aw-firewall/api-proxy:0.27.2","digest":"sha256:ee39841d980878ebbb87592903b06d31a1af500c71525c9616f7e8e2a27041a4","pinned_image":"ghcr.io/github/gh-aw-firewall/api-proxy:0.27.2@sha256:ee39841d980878ebbb87592903b06d31a1af500c71525c9616f7e8e2a27041a4"},{"image":"ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.2","digest":"sha256:02f3ec08f32dc26c5427920c6a2e2f3036238fce44802f2f11ef49ed8621b5d0","pinned_image":"ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.2@sha256:02f3ec08f32dc26c5427920c6a2e2f3036238fce44802f2f11ef49ed8621b5d0"},{"image":"ghcr.io/github/gh-aw-firewall/squid:0.27.2","digest":"sha256:2e3a717e5f19a654cd9a2263beb52012b56bcb68562ec5ae2e42f9d156b49591","pinned_image":"ghcr.io/github/gh-aw-firewall/squid:0.27.2@sha256:2e3a717e5f19a654cd9a2263beb52012b56bcb68562ec5ae2e42f9d156b49591"},{"image":"ghcr.io/github/gh-aw-mcpg:v0.3.25","digest":"sha256:c10331ad17668ef89f38f5e356678788a40b0cd5fef96e8f92e1d9c1de47cbaa","pinned_image":"ghcr.io/github/gh-aw-mcpg:v0.3.25@sha256:c10331ad17668ef89f38f5e356678788a40b0cd5fef96e8f92e1d9c1de47cbaa"},{"image":"ghcr.io/github/github-mcp-server:v1.1.2","digest":"sha256:30197479d8036c7811892bc07e06f9a05c9ef3cdd79bc59f256d50647f95788c","pinned_image":"ghcr.io/github/github-mcp-server:v1.1.2@sha256:30197479d8036c7811892bc07e06f9a05c9ef3cdd79bc59f256d50647f95788c"}]}
# This file was automatically generated by gh-aw. DO NOT EDIT. To debug this workflow, load the skill at https://github.com/github/gh-aw/blob/main/debug.md
#
diff --git a/.github/workflows/duplicate-code-detector.lock.yml b/.github/workflows/duplicate-code-detector.lock.yml
index a8bea004952..67f823cfb39 100644
--- a/.github/workflows/duplicate-code-detector.lock.yml
+++ b/.github/workflows/duplicate-code-detector.lock.yml
@@ -1,4 +1,4 @@
-# gh-aw-metadata: {"schema_version":"v4","frontmatter_hash":"b83721c4b99efe6310f4922957e6deb37bb2c63f038a2a6d1f2ada2720b40ab9","body_hash":"cee6b2ce72a80dd2eea24e909adc6a2a66e295d0f424de790f6c35aa4f927e51","strict":true,"agent_id":"codex","engine_versions":{"codex":"0.137.0"}}
+# gh-aw-metadata: {"schema_version":"v4","frontmatter_hash":"b83721c4b99efe6310f4922957e6deb37bb2c63f038a2a6d1f2ada2720b40ab9","body_hash":"4b3313d76fbecdb56281416164a1c6c725d57ecb4e9cc5882fcef7add96c5e67","strict":true,"agent_id":"codex","engine_versions":{"codex":"0.137.0"}}
# gh-aw-manifest: {"version":1,"secrets":["CODEX_API_KEY","GH_AW_AGENT_TOKEN","GH_AW_GITHUB_MCP_SERVER_TOKEN","GH_AW_GITHUB_TOKEN","GH_AW_OTEL_GRAFANA_AUTHORIZATION","GH_AW_OTEL_GRAFANA_ENDPOINT","GH_AW_OTEL_SENTRY_AUTHORIZATION","GH_AW_OTEL_SENTRY_ENDPOINT","GITHUB_TOKEN","OPENAI_API_KEY"],"actions":[{"repo":"actions/cache/restore","sha":"27d5ce7f107fe9357f9df03efb73ab90386fccae","version":"v5.0.5"},{"repo":"actions/cache/save","sha":"27d5ce7f107fe9357f9df03efb73ab90386fccae","version":"v5.0.5"},{"repo":"actions/checkout","sha":"df4cb1c069e1874edd31b4311f1884172cec0e10","version":"v6.0.3"},{"repo":"actions/download-artifact","sha":"3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c","version":"v8.0.1"},{"repo":"actions/github-script","sha":"3a2844b7e9c422d3c10d287c895573f7108da1b3","version":"v9.0.0"},{"repo":"actions/setup-node","sha":"48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e","version":"v6.4.0"},{"repo":"actions/upload-artifact","sha":"043fb46d1a93c77aae656e7c1c64a875d1fc6a0a","version":"v7.0.1"}],"containers":[{"image":"ghcr.io/github/gh-aw-firewall/agent:0.27.2","digest":"sha256:f88e5b17b6b7a600117bc121114d6ce2155c88c983c0c939c5df884f730fa1d6","pinned_image":"ghcr.io/github/gh-aw-firewall/agent:0.27.2@sha256:f88e5b17b6b7a600117bc121114d6ce2155c88c983c0c939c5df884f730fa1d6"},{"image":"ghcr.io/github/gh-aw-firewall/api-proxy:0.27.2","digest":"sha256:ee39841d980878ebbb87592903b06d31a1af500c71525c9616f7e8e2a27041a4","pinned_image":"ghcr.io/github/gh-aw-firewall/api-proxy:0.27.2@sha256:ee39841d980878ebbb87592903b06d31a1af500c71525c9616f7e8e2a27041a4"},{"image":"ghcr.io/github/gh-aw-firewall/squid:0.27.2","digest":"sha256:2e3a717e5f19a654cd9a2263beb52012b56bcb68562ec5ae2e42f9d156b49591","pinned_image":"ghcr.io/github/gh-aw-firewall/squid:0.27.2@sha256:2e3a717e5f19a654cd9a2263beb52012b56bcb68562ec5ae2e42f9d156b49591"},{"image":"ghcr.io/github/gh-aw-mcpg:v0.3.25","digest":"sha256:c10331ad17668ef89f38f5e356678788a40b0cd5fef96e8f92e1d9c1de47cbaa","pinned_image":"ghcr.io/github/gh-aw-mcpg:v0.3.25@sha256:c10331ad17668ef89f38f5e356678788a40b0cd5fef96e8f92e1d9c1de47cbaa"},{"image":"ghcr.io/github/github-mcp-server:v1.1.2","digest":"sha256:30197479d8036c7811892bc07e06f9a05c9ef3cdd79bc59f256d50647f95788c","pinned_image":"ghcr.io/github/github-mcp-server:v1.1.2@sha256:30197479d8036c7811892bc07e06f9a05c9ef3cdd79bc59f256d50647f95788c"},{"image":"ghcr.io/github/serena-mcp-server:latest","digest":"sha256:bf343399e3725c45528f531a230f3a04521d4cdef29f9a5af6282ff0d3c393c5","pinned_image":"ghcr.io/github/serena-mcp-server:latest@sha256:bf343399e3725c45528f531a230f3a04521d4cdef29f9a5af6282ff0d3c393c5"}]}
# This file was automatically generated by gh-aw. DO NOT EDIT. To debug this workflow, load the skill at https://github.com/github/gh-aw/blob/main/debug.md
#
@@ -249,20 +249,20 @@ jobs:
run: |
bash "${RUNNER_TEMP}/gh-aw/actions/create_prompt_first.sh"
{
- cat << 'GH_AW_PROMPT_bc0a5f109794d0ac_EOF'
+ cat << 'GH_AW_PROMPT_e8b3c53e7ce8427b_EOF'
- GH_AW_PROMPT_bc0a5f109794d0ac_EOF
+ GH_AW_PROMPT_e8b3c53e7ce8427b_EOF
cat "${RUNNER_TEMP}/gh-aw/prompts/xpia.md"
cat "${RUNNER_TEMP}/gh-aw/prompts/temp_folder_prompt.md"
cat "${RUNNER_TEMP}/gh-aw/prompts/markdown.md"
cat "${RUNNER_TEMP}/gh-aw/prompts/safe_outputs_prompt.md"
- cat << 'GH_AW_PROMPT_bc0a5f109794d0ac_EOF'
+ cat << 'GH_AW_PROMPT_e8b3c53e7ce8427b_EOF'
Tools: create_issue(max:3), missing_tool, missing_data, noop
- GH_AW_PROMPT_bc0a5f109794d0ac_EOF
+ GH_AW_PROMPT_e8b3c53e7ce8427b_EOF
cat "${RUNNER_TEMP}/gh-aw/prompts/mcp_cli_tools_prompt.md"
- cat << 'GH_AW_PROMPT_bc0a5f109794d0ac_EOF'
+ cat << 'GH_AW_PROMPT_e8b3c53e7ce8427b_EOF'
The following GitHub context information is available for this workflow:
{{#if github.actor}}
@@ -291,9 +291,9 @@ jobs:
{{/if}}
- GH_AW_PROMPT_bc0a5f109794d0ac_EOF
+ GH_AW_PROMPT_e8b3c53e7ce8427b_EOF
cat "${RUNNER_TEMP}/gh-aw/prompts/github_mcp_tools_with_safeoutputs_prompt.md"
- cat << 'GH_AW_PROMPT_bc0a5f109794d0ac_EOF'
+ cat << 'GH_AW_PROMPT_e8b3c53e7ce8427b_EOF'
{{#runtime-import .github/workflows/shared/go-source-analysis.md}}
{{#runtime-import .github/workflows/shared/otlp.md}}
@@ -301,35 +301,9 @@ jobs:
{{#runtime-import .github/workflows/shared/reporting.md}}
## Serena Code Analysis
- The Serena MCP server is configured for **["go"]** analysis in this workspace:
- - **Workspace**: `__GH_AW_GITHUB_WORKSPACE__`
- - **Memory**: `/tmp/gh-aw/cache-memory/serena/`
-
- ### Project Activation
-
- Before analyzing code, activate the Serena project:
- ```
- Tool: activate_project
- Args: { "path": "__GH_AW_GITHUB_WORKSPACE__" }
- ```
-
- ### Available Capabilities
-
- Serena provides IDE-grade Language Server Protocol (LSP) tools including:
- - **Symbol search**: `find_symbol` — locate functions, types, interfaces by name
- - **Navigation**: `find_referencing_symbols` — find all callers/usages of a symbol
- - **Type info**: `get_symbol_documentation` — hover-level type and doc information
- - **Code editing**: `replace_symbol_body`, `insert_after_symbol` — symbol-level edits
- - **Diagnostics**: `get_diagnostics` — compiler errors and linter warnings
-
- ### Analysis Guidelines
-
- 1. **Use semantic tools over text search** — prefer Serena's LSP tools over `grep`
- 2. **Activate project first** — always call `activate_project` before other tools
- 3. **Cross-reference findings** — validate with multiple tools for accuracy
- 4. **Focus on the relevant language files** — ignore unrelated file types
+ Serena is enabled for **["go"]** in `__GH_AW_GITHUB_WORKSPACE__`. Start by calling `activate_project` with that workspace path, then prefer Serena semantic tools for symbol lookup, references, docs, diagnostics, and structured edits.
{{#runtime-import .github/workflows/duplicate-code-detector.md}}
- GH_AW_PROMPT_bc0a5f109794d0ac_EOF
+ GH_AW_PROMPT_e8b3c53e7ce8427b_EOF
} > "$GH_AW_PROMPT"
- name: Interpolate variables and render templates
uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
diff --git a/.github/workflows/functional-pragmatist.lock.yml b/.github/workflows/functional-pragmatist.lock.yml
index 4cb566f80de..4065041fb34 100644
--- a/.github/workflows/functional-pragmatist.lock.yml
+++ b/.github/workflows/functional-pragmatist.lock.yml
@@ -1,4 +1,4 @@
-# gh-aw-metadata: {"schema_version":"v4","frontmatter_hash":"d66801fd0346d459fbd5387b69f2a3cffa1e535595b8fdfc7bdfd3bd2da357f3","body_hash":"63a7fe59094a1eb81821309aca6ff198d4fd9304e2b0a87d13a4b6da7f3eea3f","strict":true,"agent_id":"copilot","engine_versions":{"copilot":"1.0.60"}}
+# gh-aw-metadata: {"schema_version":"v4","frontmatter_hash":"d66801fd0346d459fbd5387b69f2a3cffa1e535595b8fdfc7bdfd3bd2da357f3","body_hash":"a8d2fde01a7c7d147efe8dee003de177c3aee7304d01ae32c10a94239f0cd098","strict":true,"agent_id":"copilot","engine_versions":{"copilot":"1.0.60"}}
# gh-aw-manifest: {"version":1,"secrets":["COPILOT_GITHUB_TOKEN","GH_AW_CI_TRIGGER_TOKEN","GH_AW_GITHUB_MCP_SERVER_TOKEN","GH_AW_GITHUB_TOKEN","GH_AW_OTEL_GRAFANA_AUTHORIZATION","GH_AW_OTEL_GRAFANA_ENDPOINT","GH_AW_OTEL_SENTRY_AUTHORIZATION","GH_AW_OTEL_SENTRY_ENDPOINT","GITHUB_TOKEN"],"actions":[{"repo":"actions/cache/restore","sha":"27d5ce7f107fe9357f9df03efb73ab90386fccae","version":"v5.0.5"},{"repo":"actions/cache/save","sha":"27d5ce7f107fe9357f9df03efb73ab90386fccae","version":"v5.0.5"},{"repo":"actions/checkout","sha":"df4cb1c069e1874edd31b4311f1884172cec0e10","version":"v6.0.3"},{"repo":"actions/download-artifact","sha":"3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c","version":"v8.0.1"},{"repo":"actions/github-script","sha":"3a2844b7e9c422d3c10d287c895573f7108da1b3","version":"v9.0.0"},{"repo":"actions/setup-node","sha":"48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e","version":"v6.4.0"},{"repo":"actions/upload-artifact","sha":"043fb46d1a93c77aae656e7c1c64a875d1fc6a0a","version":"v7.0.1"}],"containers":[{"image":"ghcr.io/github/gh-aw-firewall/agent:0.27.2","digest":"sha256:f88e5b17b6b7a600117bc121114d6ce2155c88c983c0c939c5df884f730fa1d6","pinned_image":"ghcr.io/github/gh-aw-firewall/agent:0.27.2@sha256:f88e5b17b6b7a600117bc121114d6ce2155c88c983c0c939c5df884f730fa1d6"},{"image":"ghcr.io/github/gh-aw-firewall/api-proxy:0.27.2","digest":"sha256:ee39841d980878ebbb87592903b06d31a1af500c71525c9616f7e8e2a27041a4","pinned_image":"ghcr.io/github/gh-aw-firewall/api-proxy:0.27.2@sha256:ee39841d980878ebbb87592903b06d31a1af500c71525c9616f7e8e2a27041a4"},{"image":"ghcr.io/github/gh-aw-firewall/squid:0.27.2","digest":"sha256:2e3a717e5f19a654cd9a2263beb52012b56bcb68562ec5ae2e42f9d156b49591","pinned_image":"ghcr.io/github/gh-aw-firewall/squid:0.27.2@sha256:2e3a717e5f19a654cd9a2263beb52012b56bcb68562ec5ae2e42f9d156b49591"},{"image":"ghcr.io/github/gh-aw-mcpg:v0.3.25","digest":"sha256:c10331ad17668ef89f38f5e356678788a40b0cd5fef96e8f92e1d9c1de47cbaa","pinned_image":"ghcr.io/github/gh-aw-mcpg:v0.3.25@sha256:c10331ad17668ef89f38f5e356678788a40b0cd5fef96e8f92e1d9c1de47cbaa"},{"image":"ghcr.io/github/github-mcp-server:v1.1.2","digest":"sha256:30197479d8036c7811892bc07e06f9a05c9ef3cdd79bc59f256d50647f95788c","pinned_image":"ghcr.io/github/github-mcp-server:v1.1.2@sha256:30197479d8036c7811892bc07e06f9a05c9ef3cdd79bc59f256d50647f95788c"}]}
# This file was automatically generated by gh-aw. DO NOT EDIT. To debug this workflow, load the skill at https://github.com/github/gh-aw/blob/main/debug.md
#
diff --git a/.github/workflows/glossary-maintainer.lock.yml b/.github/workflows/glossary-maintainer.lock.yml
index 1020f092a7b..e3f2f67990f 100644
--- a/.github/workflows/glossary-maintainer.lock.yml
+++ b/.github/workflows/glossary-maintainer.lock.yml
@@ -247,25 +247,25 @@ jobs:
run: |
bash "${RUNNER_TEMP}/gh-aw/actions/create_prompt_first.sh"
{
- cat << 'GH_AW_PROMPT_597eb5fed8fd5d78_EOF'
+ cat << 'GH_AW_PROMPT_5e07a8b4a363f4b9_EOF'
- GH_AW_PROMPT_597eb5fed8fd5d78_EOF
+ GH_AW_PROMPT_5e07a8b4a363f4b9_EOF
cat "${RUNNER_TEMP}/gh-aw/prompts/xpia.md"
cat "${RUNNER_TEMP}/gh-aw/prompts/temp_folder_prompt.md"
cat "${RUNNER_TEMP}/gh-aw/prompts/markdown.md"
cat "${RUNNER_TEMP}/gh-aw/prompts/cache_memory_prompt.md"
cat "${RUNNER_TEMP}/gh-aw/prompts/repo_memory_prompt.md"
cat "${RUNNER_TEMP}/gh-aw/prompts/safe_outputs_prompt.md"
- cat << 'GH_AW_PROMPT_597eb5fed8fd5d78_EOF'
+ cat << 'GH_AW_PROMPT_5e07a8b4a363f4b9_EOF'
Tools: create_pull_request, missing_tool, missing_data, noop
- GH_AW_PROMPT_597eb5fed8fd5d78_EOF
+ GH_AW_PROMPT_5e07a8b4a363f4b9_EOF
cat "${RUNNER_TEMP}/gh-aw/prompts/safe_outputs_create_pull_request.md"
- cat << 'GH_AW_PROMPT_597eb5fed8fd5d78_EOF'
+ cat << 'GH_AW_PROMPT_5e07a8b4a363f4b9_EOF'
- GH_AW_PROMPT_597eb5fed8fd5d78_EOF
+ GH_AW_PROMPT_5e07a8b4a363f4b9_EOF
cat "${RUNNER_TEMP}/gh-aw/prompts/mcp_cli_tools_prompt.md"
- cat << 'GH_AW_PROMPT_597eb5fed8fd5d78_EOF'
+ cat << 'GH_AW_PROMPT_5e07a8b4a363f4b9_EOF'
The following GitHub context information is available for this workflow:
{{#if github.actor}}
@@ -307,9 +307,9 @@ jobs:
stop immediately and report the limitation rather than spending turns trying to work around it.
- GH_AW_PROMPT_597eb5fed8fd5d78_EOF
+ GH_AW_PROMPT_5e07a8b4a363f4b9_EOF
cat "${RUNNER_TEMP}/gh-aw/prompts/cli_proxy_with_safeoutputs_prompt.md"
- cat << 'GH_AW_PROMPT_597eb5fed8fd5d78_EOF'
+ cat << 'GH_AW_PROMPT_5e07a8b4a363f4b9_EOF'
{{#runtime-import .github/skills/documentation/SKILL.md}}
{{#runtime-import .github/agents/technical-doc-writer.agent.md}}
@@ -317,36 +317,10 @@ jobs:
{{#runtime-import .github/workflows/shared/otlp.md}}
## Serena Code Analysis
- The Serena MCP server is configured for **["go"]** analysis in this workspace:
- - **Workspace**: `__GH_AW_GITHUB_WORKSPACE__`
- - **Memory**: `/tmp/gh-aw/cache-memory/serena/`
-
- ### Project Activation
-
- Before analyzing code, activate the Serena project:
- ```
- Tool: activate_project
- Args: { "path": "__GH_AW_GITHUB_WORKSPACE__" }
- ```
-
- ### Available Capabilities
-
- Serena provides IDE-grade Language Server Protocol (LSP) tools including:
- - **Symbol search**: `find_symbol` — locate functions, types, interfaces by name
- - **Navigation**: `find_referencing_symbols` — find all callers/usages of a symbol
- - **Type info**: `get_symbol_documentation` — hover-level type and doc information
- - **Code editing**: `replace_symbol_body`, `insert_after_symbol` — symbol-level edits
- - **Diagnostics**: `get_diagnostics` — compiler errors and linter warnings
-
- ### Analysis Guidelines
-
- 1. **Use semantic tools over text search** — prefer Serena's LSP tools over `grep`
- 2. **Activate project first** — always call `activate_project` before other tools
- 3. **Cross-reference findings** — validate with multiple tools for accuracy
- 4. **Focus on the relevant language files** — ignore unrelated file types
+ Serena is enabled for **["go"]** in `__GH_AW_GITHUB_WORKSPACE__`. Start by calling `activate_project` with that workspace path, then prefer Serena semantic tools for symbol lookup, references, docs, diagnostics, and structured edits.
{{#runtime-import .github/workflows/shared/noop-reminder.md}}
{{#runtime-import .github/workflows/glossary-maintainer.md}}
- GH_AW_PROMPT_597eb5fed8fd5d78_EOF
+ GH_AW_PROMPT_5e07a8b4a363f4b9_EOF
} > "$GH_AW_PROMPT"
- name: Interpolate variables and render templates
uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
diff --git a/.github/workflows/go-fan.lock.yml b/.github/workflows/go-fan.lock.yml
index 41d6ccf1811..13cfd954ec4 100644
--- a/.github/workflows/go-fan.lock.yml
+++ b/.github/workflows/go-fan.lock.yml
@@ -248,21 +248,21 @@ jobs:
run: |
bash "${RUNNER_TEMP}/gh-aw/actions/create_prompt_first.sh"
{
- cat << 'GH_AW_PROMPT_2d255fc233567831_EOF'
+ cat << 'GH_AW_PROMPT_ae2aca19a1e1704f_EOF'
- GH_AW_PROMPT_2d255fc233567831_EOF
+ GH_AW_PROMPT_ae2aca19a1e1704f_EOF
cat "${RUNNER_TEMP}/gh-aw/prompts/xpia.md"
cat "${RUNNER_TEMP}/gh-aw/prompts/temp_folder_prompt.md"
cat "${RUNNER_TEMP}/gh-aw/prompts/markdown.md"
cat "${RUNNER_TEMP}/gh-aw/prompts/cache_memory_prompt.md"
cat "${RUNNER_TEMP}/gh-aw/prompts/safe_outputs_prompt.md"
- cat << 'GH_AW_PROMPT_2d255fc233567831_EOF'
+ cat << 'GH_AW_PROMPT_ae2aca19a1e1704f_EOF'
Tools: create_issue, missing_tool, missing_data, noop
- GH_AW_PROMPT_2d255fc233567831_EOF
+ GH_AW_PROMPT_ae2aca19a1e1704f_EOF
cat "${RUNNER_TEMP}/gh-aw/prompts/mcp_cli_tools_prompt.md"
- cat << 'GH_AW_PROMPT_2d255fc233567831_EOF'
+ cat << 'GH_AW_PROMPT_ae2aca19a1e1704f_EOF'
The following GitHub context information is available for this workflow:
{{#if github.actor}}
@@ -291,9 +291,9 @@ jobs:
{{/if}}
- GH_AW_PROMPT_2d255fc233567831_EOF
+ GH_AW_PROMPT_ae2aca19a1e1704f_EOF
cat "${RUNNER_TEMP}/gh-aw/prompts/cli_proxy_with_safeoutputs_prompt.md"
- cat << 'GH_AW_PROMPT_2d255fc233567831_EOF'
+ cat << 'GH_AW_PROMPT_ae2aca19a1e1704f_EOF'
{{#runtime-import .github/workflows/shared/go-source-analysis.md}}
{{#runtime-import .github/workflows/shared/otlp.md}}
@@ -302,36 +302,10 @@ jobs:
{{#runtime-import .github/workflows/shared/mcp/serena-go.md}}
## Serena Code Analysis
- The Serena MCP server is configured for **["go"]** analysis in this workspace:
- - **Workspace**: `__GH_AW_GITHUB_WORKSPACE__`
- - **Memory**: `/tmp/gh-aw/cache-memory/serena/`
-
- ### Project Activation
-
- Before analyzing code, activate the Serena project:
- ```
- Tool: activate_project
- Args: { "path": "__GH_AW_GITHUB_WORKSPACE__" }
- ```
-
- ### Available Capabilities
-
- Serena provides IDE-grade Language Server Protocol (LSP) tools including:
- - **Symbol search**: `find_symbol` — locate functions, types, interfaces by name
- - **Navigation**: `find_referencing_symbols` — find all callers/usages of a symbol
- - **Type info**: `get_symbol_documentation` — hover-level type and doc information
- - **Code editing**: `replace_symbol_body`, `insert_after_symbol` — symbol-level edits
- - **Diagnostics**: `get_diagnostics` — compiler errors and linter warnings
-
- ### Analysis Guidelines
-
- 1. **Use semantic tools over text search** — prefer Serena's LSP tools over `grep`
- 2. **Activate project first** — always call `activate_project` before other tools
- 3. **Cross-reference findings** — validate with multiple tools for accuracy
- 4. **Focus on the relevant language files** — ignore unrelated file types
+ Serena is enabled for **["go"]** in `__GH_AW_GITHUB_WORKSPACE__`. Start by calling `activate_project` with that workspace path, then prefer Serena semantic tools for symbol lookup, references, docs, diagnostics, and structured edits.
{{#runtime-import .github/workflows/shared/noop-reminder.md}}
{{#runtime-import .github/workflows/go-fan.md}}
- GH_AW_PROMPT_2d255fc233567831_EOF
+ GH_AW_PROMPT_ae2aca19a1e1704f_EOF
} > "$GH_AW_PROMPT"
- name: Interpolate variables and render templates
uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
diff --git a/.github/workflows/go-pattern-detector.lock.yml b/.github/workflows/go-pattern-detector.lock.yml
index 0f161457872..5dc5704b152 100644
--- a/.github/workflows/go-pattern-detector.lock.yml
+++ b/.github/workflows/go-pattern-detector.lock.yml
@@ -1,4 +1,4 @@
-# gh-aw-metadata: {"schema_version":"v4","frontmatter_hash":"c18a82daae16bee78c3cdefd4d44076e065e318a914aba34a6dfb4b0003cb3c4","body_hash":"e69cc87d51018bea2f68be62b01c6c3ab064e246c13b2f963d14d286fac1210c","strict":true,"agent_id":"claude","engine_versions":{"claude":"2.1.168"}}
+# gh-aw-metadata: {"schema_version":"v4","frontmatter_hash":"c18a82daae16bee78c3cdefd4d44076e065e318a914aba34a6dfb4b0003cb3c4","body_hash":"3f7d59d89af3b0b478e8c6ea60d03d002a33ea825df6972105b091ae111e26cd","strict":true,"agent_id":"claude","engine_versions":{"claude":"2.1.168"}}
# gh-aw-manifest: {"version":1,"secrets":["ANTHROPIC_API_KEY","GH_AW_GITHUB_MCP_SERVER_TOKEN","GH_AW_GITHUB_TOKEN","GH_AW_OTEL_GRAFANA_AUTHORIZATION","GH_AW_OTEL_GRAFANA_ENDPOINT","GH_AW_OTEL_SENTRY_AUTHORIZATION","GH_AW_OTEL_SENTRY_ENDPOINT","GITHUB_TOKEN"],"actions":[{"repo":"actions/cache/restore","sha":"27d5ce7f107fe9357f9df03efb73ab90386fccae","version":"v5.0.5"},{"repo":"actions/cache/save","sha":"27d5ce7f107fe9357f9df03efb73ab90386fccae","version":"v5.0.5"},{"repo":"actions/checkout","sha":"df4cb1c069e1874edd31b4311f1884172cec0e10","version":"v6.0.3"},{"repo":"actions/download-artifact","sha":"3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c","version":"v8.0.1"},{"repo":"actions/github-script","sha":"3a2844b7e9c422d3c10d287c895573f7108da1b3","version":"v9.0.0"},{"repo":"actions/setup-node","sha":"48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e","version":"v6.4.0"},{"repo":"actions/upload-artifact","sha":"043fb46d1a93c77aae656e7c1c64a875d1fc6a0a","version":"v7.0.1"}],"containers":[{"image":"ghcr.io/github/gh-aw-firewall/agent:0.27.2","digest":"sha256:f88e5b17b6b7a600117bc121114d6ce2155c88c983c0c939c5df884f730fa1d6","pinned_image":"ghcr.io/github/gh-aw-firewall/agent:0.27.2@sha256:f88e5b17b6b7a600117bc121114d6ce2155c88c983c0c939c5df884f730fa1d6"},{"image":"ghcr.io/github/gh-aw-firewall/api-proxy:0.27.2","digest":"sha256:ee39841d980878ebbb87592903b06d31a1af500c71525c9616f7e8e2a27041a4","pinned_image":"ghcr.io/github/gh-aw-firewall/api-proxy:0.27.2@sha256:ee39841d980878ebbb87592903b06d31a1af500c71525c9616f7e8e2a27041a4"},{"image":"ghcr.io/github/gh-aw-firewall/squid:0.27.2","digest":"sha256:2e3a717e5f19a654cd9a2263beb52012b56bcb68562ec5ae2e42f9d156b49591","pinned_image":"ghcr.io/github/gh-aw-firewall/squid:0.27.2@sha256:2e3a717e5f19a654cd9a2263beb52012b56bcb68562ec5ae2e42f9d156b49591"},{"image":"ghcr.io/github/gh-aw-mcpg:v0.3.25","digest":"sha256:c10331ad17668ef89f38f5e356678788a40b0cd5fef96e8f92e1d9c1de47cbaa","pinned_image":"ghcr.io/github/gh-aw-mcpg:v0.3.25@sha256:c10331ad17668ef89f38f5e356678788a40b0cd5fef96e8f92e1d9c1de47cbaa"},{"image":"ghcr.io/github/github-mcp-server:v1.1.2","digest":"sha256:30197479d8036c7811892bc07e06f9a05c9ef3cdd79bc59f256d50647f95788c","pinned_image":"ghcr.io/github/github-mcp-server:v1.1.2@sha256:30197479d8036c7811892bc07e06f9a05c9ef3cdd79bc59f256d50647f95788c"},{"image":"mcp/ast-grep:latest","digest":"sha256:5fc3f2e9dcf2c019e92662f608b8d89e12134ed6d91e6f5461de6efd506a1e72","pinned_image":"mcp/ast-grep:latest@sha256:5fc3f2e9dcf2c019e92662f608b8d89e12134ed6d91e6f5461de6efd506a1e72"}]}
# This file was automatically generated by gh-aw. DO NOT EDIT. To debug this workflow, load the skill at https://github.com/github/gh-aw/blob/main/debug.md
#
diff --git a/.github/workflows/gpclean.lock.yml b/.github/workflows/gpclean.lock.yml
index e9f7b6d3786..a3f971ecde2 100644
--- a/.github/workflows/gpclean.lock.yml
+++ b/.github/workflows/gpclean.lock.yml
@@ -1,4 +1,4 @@
-# gh-aw-metadata: {"schema_version":"v4","frontmatter_hash":"6f7fcc4df893d3baa3e560c49fa7346e7698e45736ec47b68fff6e8df5ba507d","body_hash":"afebcaee0c57dbf7c8d9e5f900b2b2593f74706b165d7211fec4d4e45900c4d3","agent_id":"copilot","engine_versions":{"copilot":"1.0.60"}}
+# gh-aw-metadata: {"schema_version":"v4","frontmatter_hash":"6f7fcc4df893d3baa3e560c49fa7346e7698e45736ec47b68fff6e8df5ba507d","body_hash":"caaebc053371d9a29dde1b3ec63bce2d1f6e0ac18eb06749ee1094d8516d522a","agent_id":"copilot","engine_versions":{"copilot":"1.0.60"}}
# gh-aw-manifest: {"version":1,"secrets":["COPILOT_GITHUB_TOKEN","GH_AW_GITHUB_MCP_SERVER_TOKEN","GH_AW_GITHUB_TOKEN","GH_AW_OTEL_GRAFANA_AUTHORIZATION","GH_AW_OTEL_GRAFANA_ENDPOINT","GH_AW_OTEL_SENTRY_AUTHORIZATION","GH_AW_OTEL_SENTRY_ENDPOINT","GITHUB_TOKEN"],"actions":[{"repo":"actions/cache/restore","sha":"27d5ce7f107fe9357f9df03efb73ab90386fccae","version":"v5.0.5"},{"repo":"actions/cache/save","sha":"27d5ce7f107fe9357f9df03efb73ab90386fccae","version":"v5.0.5"},{"repo":"actions/checkout","sha":"df4cb1c069e1874edd31b4311f1884172cec0e10","version":"v6.0.3"},{"repo":"actions/download-artifact","sha":"3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c","version":"v8.0.1"},{"repo":"actions/github-script","sha":"3a2844b7e9c422d3c10d287c895573f7108da1b3","version":"v9.0.0"},{"repo":"actions/setup-node","sha":"48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e","version":"v6.4.0"},{"repo":"actions/upload-artifact","sha":"043fb46d1a93c77aae656e7c1c64a875d1fc6a0a","version":"v7.0.1"}],"containers":[{"image":"ghcr.io/github/gh-aw-firewall/agent:0.27.2","digest":"sha256:f88e5b17b6b7a600117bc121114d6ce2155c88c983c0c939c5df884f730fa1d6","pinned_image":"ghcr.io/github/gh-aw-firewall/agent:0.27.2@sha256:f88e5b17b6b7a600117bc121114d6ce2155c88c983c0c939c5df884f730fa1d6"},{"image":"ghcr.io/github/gh-aw-firewall/api-proxy:0.27.2","digest":"sha256:ee39841d980878ebbb87592903b06d31a1af500c71525c9616f7e8e2a27041a4","pinned_image":"ghcr.io/github/gh-aw-firewall/api-proxy:0.27.2@sha256:ee39841d980878ebbb87592903b06d31a1af500c71525c9616f7e8e2a27041a4"},{"image":"ghcr.io/github/gh-aw-firewall/squid:0.27.2","digest":"sha256:2e3a717e5f19a654cd9a2263beb52012b56bcb68562ec5ae2e42f9d156b49591","pinned_image":"ghcr.io/github/gh-aw-firewall/squid:0.27.2@sha256:2e3a717e5f19a654cd9a2263beb52012b56bcb68562ec5ae2e42f9d156b49591"},{"image":"ghcr.io/github/gh-aw-mcpg:v0.3.25","digest":"sha256:c10331ad17668ef89f38f5e356678788a40b0cd5fef96e8f92e1d9c1de47cbaa","pinned_image":"ghcr.io/github/gh-aw-mcpg:v0.3.25@sha256:c10331ad17668ef89f38f5e356678788a40b0cd5fef96e8f92e1d9c1de47cbaa"},{"image":"ghcr.io/github/github-mcp-server:v1.1.2","digest":"sha256:30197479d8036c7811892bc07e06f9a05c9ef3cdd79bc59f256d50647f95788c","pinned_image":"ghcr.io/github/github-mcp-server:v1.1.2@sha256:30197479d8036c7811892bc07e06f9a05c9ef3cdd79bc59f256d50647f95788c"}]}
# This file was automatically generated by gh-aw. DO NOT EDIT. To debug this workflow, load the skill at https://github.com/github/gh-aw/blob/main/debug.md
#
diff --git a/.github/workflows/issue-arborist.lock.yml b/.github/workflows/issue-arborist.lock.yml
index ea0793aeaac..1cd07cd39b8 100644
--- a/.github/workflows/issue-arborist.lock.yml
+++ b/.github/workflows/issue-arborist.lock.yml
@@ -1,4 +1,4 @@
-# gh-aw-metadata: {"schema_version":"v4","frontmatter_hash":"4b14a6039ccbb99634f4412db80f612356e6a245107e5ddbee3f26f56c9a0d68","body_hash":"9c5b0ce81a4f8511ca9419abea3729ef62bb65815eff005277e617172821b735","strict":true,"agent_id":"codex","engine_versions":{"codex":"0.137.0"}}
+# gh-aw-metadata: {"schema_version":"v4","frontmatter_hash":"4b14a6039ccbb99634f4412db80f612356e6a245107e5ddbee3f26f56c9a0d68","body_hash":"fed9ae147e9566a9f757a21aad049fab05672fac149027577fdc2d3f06fbbfc2","strict":true,"agent_id":"codex","engine_versions":{"codex":"0.137.0"}}
# gh-aw-manifest: {"version":1,"secrets":["CODEX_API_KEY","GH_AW_GITHUB_MCP_SERVER_TOKEN","GH_AW_GITHUB_TOKEN","GH_AW_OTEL_GRAFANA_AUTHORIZATION","GH_AW_OTEL_GRAFANA_ENDPOINT","GH_AW_OTEL_SENTRY_AUTHORIZATION","GH_AW_OTEL_SENTRY_ENDPOINT","GITHUB_TOKEN","OPENAI_API_KEY"],"actions":[{"repo":"actions/cache/restore","sha":"27d5ce7f107fe9357f9df03efb73ab90386fccae","version":"v5.0.5"},{"repo":"actions/cache/save","sha":"27d5ce7f107fe9357f9df03efb73ab90386fccae","version":"v5.0.5"},{"repo":"actions/checkout","sha":"df4cb1c069e1874edd31b4311f1884172cec0e10","version":"v6.0.3"},{"repo":"actions/download-artifact","sha":"3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c","version":"v8.0.1"},{"repo":"actions/github-script","sha":"3a2844b7e9c422d3c10d287c895573f7108da1b3","version":"v9.0.0"},{"repo":"actions/setup-node","sha":"48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e","version":"v6.4.0"},{"repo":"actions/upload-artifact","sha":"043fb46d1a93c77aae656e7c1c64a875d1fc6a0a","version":"v7.0.1"}],"containers":[{"image":"ghcr.io/github/gh-aw-firewall/agent:0.27.2","digest":"sha256:f88e5b17b6b7a600117bc121114d6ce2155c88c983c0c939c5df884f730fa1d6","pinned_image":"ghcr.io/github/gh-aw-firewall/agent:0.27.2@sha256:f88e5b17b6b7a600117bc121114d6ce2155c88c983c0c939c5df884f730fa1d6"},{"image":"ghcr.io/github/gh-aw-firewall/api-proxy:0.27.2","digest":"sha256:ee39841d980878ebbb87592903b06d31a1af500c71525c9616f7e8e2a27041a4","pinned_image":"ghcr.io/github/gh-aw-firewall/api-proxy:0.27.2@sha256:ee39841d980878ebbb87592903b06d31a1af500c71525c9616f7e8e2a27041a4"},{"image":"ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.2","digest":"sha256:02f3ec08f32dc26c5427920c6a2e2f3036238fce44802f2f11ef49ed8621b5d0","pinned_image":"ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.2@sha256:02f3ec08f32dc26c5427920c6a2e2f3036238fce44802f2f11ef49ed8621b5d0"},{"image":"ghcr.io/github/gh-aw-firewall/squid:0.27.2","digest":"sha256:2e3a717e5f19a654cd9a2263beb52012b56bcb68562ec5ae2e42f9d156b49591","pinned_image":"ghcr.io/github/gh-aw-firewall/squid:0.27.2@sha256:2e3a717e5f19a654cd9a2263beb52012b56bcb68562ec5ae2e42f9d156b49591"},{"image":"ghcr.io/github/gh-aw-mcpg:v0.3.25","digest":"sha256:c10331ad17668ef89f38f5e356678788a40b0cd5fef96e8f92e1d9c1de47cbaa","pinned_image":"ghcr.io/github/gh-aw-mcpg:v0.3.25@sha256:c10331ad17668ef89f38f5e356678788a40b0cd5fef96e8f92e1d9c1de47cbaa"},{"image":"ghcr.io/github/github-mcp-server:v1.1.2","digest":"sha256:30197479d8036c7811892bc07e06f9a05c9ef3cdd79bc59f256d50647f95788c","pinned_image":"ghcr.io/github/github-mcp-server:v1.1.2@sha256:30197479d8036c7811892bc07e06f9a05c9ef3cdd79bc59f256d50647f95788c"}]}
# This file was automatically generated by gh-aw. DO NOT EDIT. To debug this workflow, load the skill at https://github.com/github/gh-aw/blob/main/debug.md
#
diff --git a/.github/workflows/issue-triage-agent.lock.yml b/.github/workflows/issue-triage-agent.lock.yml
index 8e0570b85fe..38e8dcd54ff 100644
--- a/.github/workflows/issue-triage-agent.lock.yml
+++ b/.github/workflows/issue-triage-agent.lock.yml
@@ -1,4 +1,4 @@
-# gh-aw-metadata: {"schema_version":"v4","frontmatter_hash":"3d56d9e472ad5ebdb54b1bde9276f125969e402e5ee19029389f89d9d4c3c6f5","body_hash":"b6c2966f507c47a22a17d5bffd0da2153482857b6f32c8a49a9f7c2405badfb4","strict":true,"agent_id":"copilot","engine_versions":{"copilot":"1.0.60"}}
+# gh-aw-metadata: {"schema_version":"v4","frontmatter_hash":"3d56d9e472ad5ebdb54b1bde9276f125969e402e5ee19029389f89d9d4c3c6f5","body_hash":"f0412a726e5b818b7278211cae5e24fe99cd4d64b0b6ef7bbc290d92307e684d","strict":true,"agent_id":"copilot","engine_versions":{"copilot":"1.0.60"}}
# gh-aw-manifest: {"version":1,"secrets":["COPILOT_GITHUB_TOKEN","GH_AW_GITHUB_MCP_SERVER_TOKEN","GH_AW_GITHUB_TOKEN","GH_AW_OTEL_GRAFANA_AUTHORIZATION","GH_AW_OTEL_GRAFANA_ENDPOINT","GH_AW_OTEL_SENTRY_AUTHORIZATION","GH_AW_OTEL_SENTRY_ENDPOINT","GITHUB_TOKEN"],"actions":[{"repo":"actions/cache/restore","sha":"27d5ce7f107fe9357f9df03efb73ab90386fccae","version":"v5.0.5"},{"repo":"actions/cache/save","sha":"27d5ce7f107fe9357f9df03efb73ab90386fccae","version":"v5.0.5"},{"repo":"actions/checkout","sha":"df4cb1c069e1874edd31b4311f1884172cec0e10","version":"v6.0.3"},{"repo":"actions/download-artifact","sha":"3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c","version":"v8.0.1"},{"repo":"actions/github-script","sha":"3a2844b7e9c422d3c10d287c895573f7108da1b3","version":"v9.0.0"},{"repo":"actions/setup-node","sha":"48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e","version":"v6.4.0"},{"repo":"actions/upload-artifact","sha":"043fb46d1a93c77aae656e7c1c64a875d1fc6a0a","version":"v7.0.1"}],"containers":[{"image":"ghcr.io/github/gh-aw-firewall/agent:0.27.2","digest":"sha256:f88e5b17b6b7a600117bc121114d6ce2155c88c983c0c939c5df884f730fa1d6","pinned_image":"ghcr.io/github/gh-aw-firewall/agent:0.27.2@sha256:f88e5b17b6b7a600117bc121114d6ce2155c88c983c0c939c5df884f730fa1d6"},{"image":"ghcr.io/github/gh-aw-firewall/api-proxy:0.27.2","digest":"sha256:ee39841d980878ebbb87592903b06d31a1af500c71525c9616f7e8e2a27041a4","pinned_image":"ghcr.io/github/gh-aw-firewall/api-proxy:0.27.2@sha256:ee39841d980878ebbb87592903b06d31a1af500c71525c9616f7e8e2a27041a4"},{"image":"ghcr.io/github/gh-aw-firewall/squid:0.27.2","digest":"sha256:2e3a717e5f19a654cd9a2263beb52012b56bcb68562ec5ae2e42f9d156b49591","pinned_image":"ghcr.io/github/gh-aw-firewall/squid:0.27.2@sha256:2e3a717e5f19a654cd9a2263beb52012b56bcb68562ec5ae2e42f9d156b49591"},{"image":"ghcr.io/github/gh-aw-mcpg:v0.3.25","digest":"sha256:c10331ad17668ef89f38f5e356678788a40b0cd5fef96e8f92e1d9c1de47cbaa","pinned_image":"ghcr.io/github/gh-aw-mcpg:v0.3.25@sha256:c10331ad17668ef89f38f5e356678788a40b0cd5fef96e8f92e1d9c1de47cbaa"},{"image":"ghcr.io/github/github-mcp-server:v1.1.2","digest":"sha256:30197479d8036c7811892bc07e06f9a05c9ef3cdd79bc59f256d50647f95788c","pinned_image":"ghcr.io/github/github-mcp-server:v1.1.2@sha256:30197479d8036c7811892bc07e06f9a05c9ef3cdd79bc59f256d50647f95788c"}]}
# This file was automatically generated by gh-aw. DO NOT EDIT. To debug this workflow, load the skill at https://github.com/github/gh-aw/blob/main/debug.md
#
diff --git a/.github/workflows/linter-miner.lock.yml b/.github/workflows/linter-miner.lock.yml
index 3b9e141f33a..c9f8faa3bea 100644
--- a/.github/workflows/linter-miner.lock.yml
+++ b/.github/workflows/linter-miner.lock.yml
@@ -238,24 +238,24 @@ jobs:
run: |
bash "${RUNNER_TEMP}/gh-aw/actions/create_prompt_first.sh"
{
- cat << 'GH_AW_PROMPT_98e2965343b668b6_EOF'
+ cat << 'GH_AW_PROMPT_5a39532c5dce1d2c_EOF'
- GH_AW_PROMPT_98e2965343b668b6_EOF
+ GH_AW_PROMPT_5a39532c5dce1d2c_EOF
cat "${RUNNER_TEMP}/gh-aw/prompts/xpia.md"
cat "${RUNNER_TEMP}/gh-aw/prompts/temp_folder_prompt.md"
cat "${RUNNER_TEMP}/gh-aw/prompts/markdown.md"
cat "${RUNNER_TEMP}/gh-aw/prompts/cache_memory_prompt.md"
cat "${RUNNER_TEMP}/gh-aw/prompts/safe_outputs_prompt.md"
- cat << 'GH_AW_PROMPT_98e2965343b668b6_EOF'
+ cat << 'GH_AW_PROMPT_5a39532c5dce1d2c_EOF'
Tools: create_pull_request, missing_tool, missing_data, noop
- GH_AW_PROMPT_98e2965343b668b6_EOF
+ GH_AW_PROMPT_5a39532c5dce1d2c_EOF
cat "${RUNNER_TEMP}/gh-aw/prompts/safe_outputs_create_pull_request.md"
- cat << 'GH_AW_PROMPT_98e2965343b668b6_EOF'
+ cat << 'GH_AW_PROMPT_5a39532c5dce1d2c_EOF'
- GH_AW_PROMPT_98e2965343b668b6_EOF
+ GH_AW_PROMPT_5a39532c5dce1d2c_EOF
cat "${RUNNER_TEMP}/gh-aw/prompts/mcp_cli_tools_prompt.md"
- cat << 'GH_AW_PROMPT_98e2965343b668b6_EOF'
+ cat << 'GH_AW_PROMPT_5a39532c5dce1d2c_EOF'
The following GitHub context information is available for this workflow:
{{#if github.actor}}
@@ -284,43 +284,17 @@ jobs:
{{/if}}
- GH_AW_PROMPT_98e2965343b668b6_EOF
+ GH_AW_PROMPT_5a39532c5dce1d2c_EOF
cat "${RUNNER_TEMP}/gh-aw/prompts/cli_proxy_with_safeoutputs_prompt.md"
- cat << 'GH_AW_PROMPT_98e2965343b668b6_EOF'
+ cat << 'GH_AW_PROMPT_5a39532c5dce1d2c_EOF'
{{#runtime-import .github/workflows/shared/mcp/serena-go.md}}
{{#runtime-import .github/workflows/shared/otlp.md}}
## Serena Code Analysis
- The Serena MCP server is configured for **["go"]** analysis in this workspace:
- - **Workspace**: `__GH_AW_GITHUB_WORKSPACE__`
- - **Memory**: `/tmp/gh-aw/cache-memory/serena/`
-
- ### Project Activation
-
- Before analyzing code, activate the Serena project:
- ```
- Tool: activate_project
- Args: { "path": "__GH_AW_GITHUB_WORKSPACE__" }
- ```
-
- ### Available Capabilities
-
- Serena provides IDE-grade Language Server Protocol (LSP) tools including:
- - **Symbol search**: `find_symbol` — locate functions, types, interfaces by name
- - **Navigation**: `find_referencing_symbols` — find all callers/usages of a symbol
- - **Type info**: `get_symbol_documentation` — hover-level type and doc information
- - **Code editing**: `replace_symbol_body`, `insert_after_symbol` — symbol-level edits
- - **Diagnostics**: `get_diagnostics` — compiler errors and linter warnings
-
- ### Analysis Guidelines
-
- 1. **Use semantic tools over text search** — prefer Serena's LSP tools over `grep`
- 2. **Activate project first** — always call `activate_project` before other tools
- 3. **Cross-reference findings** — validate with multiple tools for accuracy
- 4. **Focus on the relevant language files** — ignore unrelated file types
+ Serena is enabled for **["go"]** in `__GH_AW_GITHUB_WORKSPACE__`. Start by calling `activate_project` with that workspace path, then prefer Serena semantic tools for symbol lookup, references, docs, diagnostics, and structured edits.
{{#runtime-import .github/workflows/linter-miner.md}}
- GH_AW_PROMPT_98e2965343b668b6_EOF
+ GH_AW_PROMPT_5a39532c5dce1d2c_EOF
} > "$GH_AW_PROMPT"
- name: Interpolate variables and render templates
uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
diff --git a/.github/workflows/mcp-inspector.lock.yml b/.github/workflows/mcp-inspector.lock.yml
index 2b8b9878dca..1806c5b0eda 100644
--- a/.github/workflows/mcp-inspector.lock.yml
+++ b/.github/workflows/mcp-inspector.lock.yml
@@ -288,21 +288,21 @@ jobs:
run: |
bash "${RUNNER_TEMP}/gh-aw/actions/create_prompt_first.sh"
{
- cat << 'GH_AW_PROMPT_6a8e66c9bd50a486_EOF'
+ cat << 'GH_AW_PROMPT_acc9b52bbf66f865_EOF'
- GH_AW_PROMPT_6a8e66c9bd50a486_EOF
+ GH_AW_PROMPT_acc9b52bbf66f865_EOF
cat "${RUNNER_TEMP}/gh-aw/prompts/xpia.md"
cat "${RUNNER_TEMP}/gh-aw/prompts/temp_folder_prompt.md"
cat "${RUNNER_TEMP}/gh-aw/prompts/markdown.md"
cat "${RUNNER_TEMP}/gh-aw/prompts/cache_memory_prompt.md"
cat "${RUNNER_TEMP}/gh-aw/prompts/safe_outputs_prompt.md"
- cat << 'GH_AW_PROMPT_6a8e66c9bd50a486_EOF'
+ cat << 'GH_AW_PROMPT_acc9b52bbf66f865_EOF'
Tools: create_discussion, missing_tool, missing_data, noop, notion_add_comment, post_to_slack_channel
- GH_AW_PROMPT_6a8e66c9bd50a486_EOF
+ GH_AW_PROMPT_acc9b52bbf66f865_EOF
cat "${RUNNER_TEMP}/gh-aw/prompts/mcp_cli_tools_prompt.md"
- cat << 'GH_AW_PROMPT_6a8e66c9bd50a486_EOF'
+ cat << 'GH_AW_PROMPT_acc9b52bbf66f865_EOF'
The following GitHub context information is available for this workflow:
{{#if github.actor}}
@@ -331,9 +331,9 @@ jobs:
{{/if}}
- GH_AW_PROMPT_6a8e66c9bd50a486_EOF
+ GH_AW_PROMPT_acc9b52bbf66f865_EOF
cat "${RUNNER_TEMP}/gh-aw/prompts/github_mcp_tools_with_safeoutputs_prompt.md"
- cat << 'GH_AW_PROMPT_6a8e66c9bd50a486_EOF'
+ cat << 'GH_AW_PROMPT_acc9b52bbf66f865_EOF'
{{#runtime-import .github/workflows/shared/mcp/arxiv.md}}
{{#runtime-import .github/workflows/shared/mcp/ast-grep.md}}
@@ -354,36 +354,10 @@ jobs:
{{#runtime-import .github/workflows/shared/reporting.md}}
## Serena Code Analysis
- The Serena MCP server is configured for **["go"]** analysis in this workspace:
- - **Workspace**: `__GH_AW_GITHUB_WORKSPACE__`
- - **Memory**: `/tmp/gh-aw/cache-memory/serena/`
-
- ### Project Activation
-
- Before analyzing code, activate the Serena project:
- ```
- Tool: activate_project
- Args: { "path": "__GH_AW_GITHUB_WORKSPACE__" }
- ```
-
- ### Available Capabilities
-
- Serena provides IDE-grade Language Server Protocol (LSP) tools including:
- - **Symbol search**: `find_symbol` — locate functions, types, interfaces by name
- - **Navigation**: `find_referencing_symbols` — find all callers/usages of a symbol
- - **Type info**: `get_symbol_documentation` — hover-level type and doc information
- - **Code editing**: `replace_symbol_body`, `insert_after_symbol` — symbol-level edits
- - **Diagnostics**: `get_diagnostics` — compiler errors and linter warnings
-
- ### Analysis Guidelines
-
- 1. **Use semantic tools over text search** — prefer Serena's LSP tools over `grep`
- 2. **Activate project first** — always call `activate_project` before other tools
- 3. **Cross-reference findings** — validate with multiple tools for accuracy
- 4. **Focus on the relevant language files** — ignore unrelated file types
+ Serena is enabled for **["go"]** in `__GH_AW_GITHUB_WORKSPACE__`. Start by calling `activate_project` with that workspace path, then prefer Serena semantic tools for symbol lookup, references, docs, diagnostics, and structured edits.
{{#runtime-import .github/workflows/shared/noop-reminder.md}}
{{#runtime-import .github/workflows/mcp-inspector.md}}
- GH_AW_PROMPT_6a8e66c9bd50a486_EOF
+ GH_AW_PROMPT_acc9b52bbf66f865_EOF
} > "$GH_AW_PROMPT"
- name: Interpolate variables and render templates
uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
diff --git a/.github/workflows/org-health-report.lock.yml b/.github/workflows/org-health-report.lock.yml
index 928a518556b..5457b3b14da 100644
--- a/.github/workflows/org-health-report.lock.yml
+++ b/.github/workflows/org-health-report.lock.yml
@@ -1,4 +1,4 @@
-# gh-aw-metadata: {"schema_version":"v4","frontmatter_hash":"36510c2f35f042be2c98e03609ca737d87cf8ae4650c73033522880e34a1a35e","body_hash":"7aaf82311acb468181b81ecc09199f5bac18fe1a9f2055ef3ef09871b835ee62","strict":true,"agent_id":"copilot","engine_versions":{"copilot":"1.0.60","copilot-sdk":"1.0.0"}}
+# gh-aw-metadata: {"schema_version":"v4","frontmatter_hash":"36510c2f35f042be2c98e03609ca737d87cf8ae4650c73033522880e34a1a35e","body_hash":"000c6a101a1cf25db21cd286fb0fce17e48e0c03262bb825b8cc424fba9b4451","strict":true,"agent_id":"copilot","engine_versions":{"copilot":"1.0.60","copilot-sdk":"1.0.0"}}
# gh-aw-manifest: {"version":1,"secrets":["COPILOT_GITHUB_TOKEN","GH_AW_GITHUB_MCP_SERVER_TOKEN","GH_AW_GITHUB_TOKEN","GH_AW_OTEL_GRAFANA_AUTHORIZATION","GH_AW_OTEL_GRAFANA_ENDPOINT","GH_AW_OTEL_SENTRY_AUTHORIZATION","GH_AW_OTEL_SENTRY_ENDPOINT","GITHUB_TOKEN"],"actions":[{"repo":"actions/cache/restore","sha":"27d5ce7f107fe9357f9df03efb73ab90386fccae","version":"v5.0.5"},{"repo":"actions/cache/save","sha":"27d5ce7f107fe9357f9df03efb73ab90386fccae","version":"v5.0.5"},{"repo":"actions/checkout","sha":"df4cb1c069e1874edd31b4311f1884172cec0e10","version":"v6.0.3"},{"repo":"actions/download-artifact","sha":"3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c","version":"v8.0.1"},{"repo":"actions/github-script","sha":"3a2844b7e9c422d3c10d287c895573f7108da1b3","version":"v9.0.0"},{"repo":"actions/setup-node","sha":"48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e","version":"v6.4.0"},{"repo":"actions/setup-python","sha":"a309ff8b426b58ec0e2a45f0f869d46889d02405","version":"v6.2.0"},{"repo":"actions/upload-artifact","sha":"043fb46d1a93c77aae656e7c1c64a875d1fc6a0a","version":"v7.0.1"}],"containers":[{"image":"ghcr.io/github/gh-aw-firewall/agent:0.27.2","digest":"sha256:f88e5b17b6b7a600117bc121114d6ce2155c88c983c0c939c5df884f730fa1d6","pinned_image":"ghcr.io/github/gh-aw-firewall/agent:0.27.2@sha256:f88e5b17b6b7a600117bc121114d6ce2155c88c983c0c939c5df884f730fa1d6"},{"image":"ghcr.io/github/gh-aw-firewall/api-proxy:0.27.2","digest":"sha256:ee39841d980878ebbb87592903b06d31a1af500c71525c9616f7e8e2a27041a4","pinned_image":"ghcr.io/github/gh-aw-firewall/api-proxy:0.27.2@sha256:ee39841d980878ebbb87592903b06d31a1af500c71525c9616f7e8e2a27041a4"},{"image":"ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.2","digest":"sha256:02f3ec08f32dc26c5427920c6a2e2f3036238fce44802f2f11ef49ed8621b5d0","pinned_image":"ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.2@sha256:02f3ec08f32dc26c5427920c6a2e2f3036238fce44802f2f11ef49ed8621b5d0"},{"image":"ghcr.io/github/gh-aw-firewall/squid:0.27.2","digest":"sha256:2e3a717e5f19a654cd9a2263beb52012b56bcb68562ec5ae2e42f9d156b49591","pinned_image":"ghcr.io/github/gh-aw-firewall/squid:0.27.2@sha256:2e3a717e5f19a654cd9a2263beb52012b56bcb68562ec5ae2e42f9d156b49591"},{"image":"ghcr.io/github/gh-aw-mcpg:v0.3.25","digest":"sha256:c10331ad17668ef89f38f5e356678788a40b0cd5fef96e8f92e1d9c1de47cbaa","pinned_image":"ghcr.io/github/gh-aw-mcpg:v0.3.25@sha256:c10331ad17668ef89f38f5e356678788a40b0cd5fef96e8f92e1d9c1de47cbaa"},{"image":"ghcr.io/github/github-mcp-server:v1.1.2","digest":"sha256:30197479d8036c7811892bc07e06f9a05c9ef3cdd79bc59f256d50647f95788c","pinned_image":"ghcr.io/github/github-mcp-server:v1.1.2@sha256:30197479d8036c7811892bc07e06f9a05c9ef3cdd79bc59f256d50647f95788c"}]}
# This file was automatically generated by gh-aw. DO NOT EDIT. To debug this workflow, load the skill at https://github.com/github/gh-aw/blob/main/debug.md
#
diff --git a/.github/workflows/pdf-summary.lock.yml b/.github/workflows/pdf-summary.lock.yml
index 5ed6c7e7bf3..064b93640c4 100644
--- a/.github/workflows/pdf-summary.lock.yml
+++ b/.github/workflows/pdf-summary.lock.yml
@@ -1,4 +1,4 @@
-# gh-aw-metadata: {"schema_version":"v4","frontmatter_hash":"35e0f9e38aa4f2548a31d474c954f098515d5a589ba4825ef852a335fd667c43","body_hash":"9d96088060b717a822ef0bd2ebdf1a3016ad0cec0da09295763e4d1a90816b6a","strict":true,"agent_id":"copilot","engine_versions":{"copilot":"1.0.60","copilot-sdk":"1.0.0"}}
+# gh-aw-metadata: {"schema_version":"v4","frontmatter_hash":"35e0f9e38aa4f2548a31d474c954f098515d5a589ba4825ef852a335fd667c43","body_hash":"c77f100d26d8d699ae258583267f7f4549e9ef41081a84eda34b5b46b5ac2d00","strict":true,"agent_id":"copilot","engine_versions":{"copilot":"1.0.60","copilot-sdk":"1.0.0"}}
# gh-aw-manifest: {"version":1,"secrets":["COPILOT_GITHUB_TOKEN","GH_AW_GITHUB_MCP_SERVER_TOKEN","GH_AW_GITHUB_TOKEN","GH_AW_OTEL_GRAFANA_AUTHORIZATION","GH_AW_OTEL_GRAFANA_ENDPOINT","GH_AW_OTEL_SENTRY_AUTHORIZATION","GH_AW_OTEL_SENTRY_ENDPOINT","GITHUB_TOKEN"],"actions":[{"repo":"actions/cache/restore","sha":"27d5ce7f107fe9357f9df03efb73ab90386fccae","version":"v5.0.5"},{"repo":"actions/cache/save","sha":"27d5ce7f107fe9357f9df03efb73ab90386fccae","version":"v5.0.5"},{"repo":"actions/checkout","sha":"df4cb1c069e1874edd31b4311f1884172cec0e10","version":"v6.0.3"},{"repo":"actions/download-artifact","sha":"3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c","version":"v8.0.1"},{"repo":"actions/github-script","sha":"3a2844b7e9c422d3c10d287c895573f7108da1b3","version":"v9.0.0"},{"repo":"actions/setup-node","sha":"48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e","version":"v6.4.0"},{"repo":"actions/upload-artifact","sha":"043fb46d1a93c77aae656e7c1c64a875d1fc6a0a","version":"v7.0.1"}],"containers":[{"image":"ghcr.io/github/gh-aw-firewall/agent:0.27.2","digest":"sha256:f88e5b17b6b7a600117bc121114d6ce2155c88c983c0c939c5df884f730fa1d6","pinned_image":"ghcr.io/github/gh-aw-firewall/agent:0.27.2@sha256:f88e5b17b6b7a600117bc121114d6ce2155c88c983c0c939c5df884f730fa1d6"},{"image":"ghcr.io/github/gh-aw-firewall/api-proxy:0.27.2","digest":"sha256:ee39841d980878ebbb87592903b06d31a1af500c71525c9616f7e8e2a27041a4","pinned_image":"ghcr.io/github/gh-aw-firewall/api-proxy:0.27.2@sha256:ee39841d980878ebbb87592903b06d31a1af500c71525c9616f7e8e2a27041a4"},{"image":"ghcr.io/github/gh-aw-firewall/squid:0.27.2","digest":"sha256:2e3a717e5f19a654cd9a2263beb52012b56bcb68562ec5ae2e42f9d156b49591","pinned_image":"ghcr.io/github/gh-aw-firewall/squid:0.27.2@sha256:2e3a717e5f19a654cd9a2263beb52012b56bcb68562ec5ae2e42f9d156b49591"},{"image":"ghcr.io/github/gh-aw-mcpg:v0.3.25","digest":"sha256:c10331ad17668ef89f38f5e356678788a40b0cd5fef96e8f92e1d9c1de47cbaa","pinned_image":"ghcr.io/github/gh-aw-mcpg:v0.3.25@sha256:c10331ad17668ef89f38f5e356678788a40b0cd5fef96e8f92e1d9c1de47cbaa"},{"image":"ghcr.io/github/github-mcp-server:v1.1.2","digest":"sha256:30197479d8036c7811892bc07e06f9a05c9ef3cdd79bc59f256d50647f95788c","pinned_image":"ghcr.io/github/github-mcp-server:v1.1.2@sha256:30197479d8036c7811892bc07e06f9a05c9ef3cdd79bc59f256d50647f95788c"},{"image":"mcp/markitdown","digest":"sha256:1cef3bf502503310ed0884441874ccf6cdaac20136dc1179797fa048269dc4cb","pinned_image":"mcp/markitdown@sha256:1cef3bf502503310ed0884441874ccf6cdaac20136dc1179797fa048269dc4cb"}]}
# This file was automatically generated by gh-aw. DO NOT EDIT. To debug this workflow, load the skill at https://github.com/github/gh-aw/blob/main/debug.md
#
diff --git a/.github/workflows/poem-bot.lock.yml b/.github/workflows/poem-bot.lock.yml
index 9b2d24f0dc4..d9a48efbeab 100644
--- a/.github/workflows/poem-bot.lock.yml
+++ b/.github/workflows/poem-bot.lock.yml
@@ -1,4 +1,4 @@
-# gh-aw-metadata: {"schema_version":"v4","frontmatter_hash":"0e3ca545bb1668ef024f6132c3c3c08651c086b67a237435ab52aa8223dfe028","body_hash":"340adb8abfa683427414e0cd9ac557a146a2c3fa85dcd9a42b06ec3e524c3262","strict":true,"agent_id":"copilot","agent_model":"gpt-5","engine_versions":{"copilot":"1.0.60"}}
+# gh-aw-metadata: {"schema_version":"v4","frontmatter_hash":"0e3ca545bb1668ef024f6132c3c3c08651c086b67a237435ab52aa8223dfe028","body_hash":"74c11e330dbf0c3885713ff1820a25c7e3e305f0d771db61b7ffd02b97d5467d","strict":true,"agent_id":"copilot","agent_model":"gpt-5","engine_versions":{"copilot":"1.0.60"}}
# gh-aw-manifest: {"version":1,"secrets":["COPILOT_GITHUB_TOKEN","GH_AW_AGENT_TOKEN","GH_AW_GITHUB_MCP_SERVER_TOKEN","GH_AW_GITHUB_TOKEN","GH_AW_OTEL_GRAFANA_AUTHORIZATION","GH_AW_OTEL_GRAFANA_ENDPOINT","GH_AW_OTEL_SENTRY_AUTHORIZATION","GH_AW_OTEL_SENTRY_ENDPOINT","GITHUB_TOKEN"],"actions":[{"repo":"actions/cache/restore","sha":"27d5ce7f107fe9357f9df03efb73ab90386fccae","version":"v5.0.5"},{"repo":"actions/cache/save","sha":"27d5ce7f107fe9357f9df03efb73ab90386fccae","version":"v5.0.5"},{"repo":"actions/checkout","sha":"df4cb1c069e1874edd31b4311f1884172cec0e10","version":"v6.0.3"},{"repo":"actions/download-artifact","sha":"3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c","version":"v8.0.1"},{"repo":"actions/github-script","sha":"3a2844b7e9c422d3c10d287c895573f7108da1b3","version":"v9.0.0"},{"repo":"actions/setup-node","sha":"48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e","version":"v6.4.0"},{"repo":"actions/upload-artifact","sha":"043fb46d1a93c77aae656e7c1c64a875d1fc6a0a","version":"v7.0.1"}],"containers":[{"image":"ghcr.io/github/gh-aw-firewall/agent:0.27.2","digest":"sha256:f88e5b17b6b7a600117bc121114d6ce2155c88c983c0c939c5df884f730fa1d6","pinned_image":"ghcr.io/github/gh-aw-firewall/agent:0.27.2@sha256:f88e5b17b6b7a600117bc121114d6ce2155c88c983c0c939c5df884f730fa1d6"},{"image":"ghcr.io/github/gh-aw-firewall/api-proxy:0.27.2","digest":"sha256:ee39841d980878ebbb87592903b06d31a1af500c71525c9616f7e8e2a27041a4","pinned_image":"ghcr.io/github/gh-aw-firewall/api-proxy:0.27.2@sha256:ee39841d980878ebbb87592903b06d31a1af500c71525c9616f7e8e2a27041a4"},{"image":"ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.2","digest":"sha256:02f3ec08f32dc26c5427920c6a2e2f3036238fce44802f2f11ef49ed8621b5d0","pinned_image":"ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.2@sha256:02f3ec08f32dc26c5427920c6a2e2f3036238fce44802f2f11ef49ed8621b5d0"},{"image":"ghcr.io/github/gh-aw-firewall/squid:0.27.2","digest":"sha256:2e3a717e5f19a654cd9a2263beb52012b56bcb68562ec5ae2e42f9d156b49591","pinned_image":"ghcr.io/github/gh-aw-firewall/squid:0.27.2@sha256:2e3a717e5f19a654cd9a2263beb52012b56bcb68562ec5ae2e42f9d156b49591"},{"image":"ghcr.io/github/gh-aw-mcpg:v0.3.25","digest":"sha256:c10331ad17668ef89f38f5e356678788a40b0cd5fef96e8f92e1d9c1de47cbaa","pinned_image":"ghcr.io/github/gh-aw-mcpg:v0.3.25@sha256:c10331ad17668ef89f38f5e356678788a40b0cd5fef96e8f92e1d9c1de47cbaa"},{"image":"ghcr.io/github/github-mcp-server:v1.1.2","digest":"sha256:30197479d8036c7811892bc07e06f9a05c9ef3cdd79bc59f256d50647f95788c","pinned_image":"ghcr.io/github/github-mcp-server:v1.1.2@sha256:30197479d8036c7811892bc07e06f9a05c9ef3cdd79bc59f256d50647f95788c"}]}
# This file was automatically generated by gh-aw. DO NOT EDIT. To debug this workflow, load the skill at https://github.com/github/gh-aw/blob/main/debug.md
#
diff --git a/.github/workflows/pr-code-quality-reviewer.lock.yml b/.github/workflows/pr-code-quality-reviewer.lock.yml
index b91b8b233d0..6f4c30e9a20 100644
--- a/.github/workflows/pr-code-quality-reviewer.lock.yml
+++ b/.github/workflows/pr-code-quality-reviewer.lock.yml
@@ -1,5 +1,5 @@
-# gh-aw-metadata: {"schema_version":"v4","frontmatter_hash":"3f210c01fc5dfdc2658d1b2c6e7c6d40b2f79bf19b88e8b6c41e94565afcb726","body_hash":"4d3260d49c3010a13ea7c49bba10f51f2b9f1c1473ceca69008cfe766a9b273c","strict":true,"agent_id":"copilot","engine_versions":{"copilot":"1.0.60","copilot-sdk":"1.0.0"}}
-# gh-aw-manifest: {"version":1,"secrets":["GH_AW_GITHUB_MCP_SERVER_TOKEN","GH_AW_GITHUB_TOKEN","GH_AW_OTEL_GRAFANA_AUTHORIZATION","GH_AW_OTEL_GRAFANA_ENDPOINT","GH_AW_OTEL_SENTRY_AUTHORIZATION","GH_AW_OTEL_SENTRY_ENDPOINT","GITHUB_TOKEN"],"actions":[{"repo":"actions/cache/restore","sha":"27d5ce7f107fe9357f9df03efb73ab90386fccae","version":"v5.0.5"},{"repo":"actions/cache/save","sha":"27d5ce7f107fe9357f9df03efb73ab90386fccae","version":"v5.0.5"},{"repo":"actions/checkout","sha":"df4cb1c069e1874edd31b4311f1884172cec0e10","version":"v6.0.3"},{"repo":"actions/download-artifact","sha":"3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c","version":"v8.0.1"},{"repo":"actions/github-script","sha":"3a2844b7e9c422d3c10d287c895573f7108da1b3","version":"v9.0.0"},{"repo":"actions/setup-node","sha":"48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e","version":"v6.4.0"},{"repo":"actions/upload-artifact","sha":"043fb46d1a93c77aae656e7c1c64a875d1fc6a0a","version":"v7.0.1"}],"containers":[{"image":"ghcr.io/github/gh-aw-firewall/agent:0.27.2","digest":"sha256:f88e5b17b6b7a600117bc121114d6ce2155c88c983c0c939c5df884f730fa1d6","pinned_image":"ghcr.io/github/gh-aw-firewall/agent:0.27.2@sha256:f88e5b17b6b7a600117bc121114d6ce2155c88c983c0c939c5df884f730fa1d6"},{"image":"ghcr.io/github/gh-aw-firewall/api-proxy:0.27.2","digest":"sha256:ee39841d980878ebbb87592903b06d31a1af500c71525c9616f7e8e2a27041a4","pinned_image":"ghcr.io/github/gh-aw-firewall/api-proxy:0.27.2@sha256:ee39841d980878ebbb87592903b06d31a1af500c71525c9616f7e8e2a27041a4"},{"image":"ghcr.io/github/gh-aw-firewall/squid:0.27.2","digest":"sha256:2e3a717e5f19a654cd9a2263beb52012b56bcb68562ec5ae2e42f9d156b49591","pinned_image":"ghcr.io/github/gh-aw-firewall/squid:0.27.2@sha256:2e3a717e5f19a654cd9a2263beb52012b56bcb68562ec5ae2e42f9d156b49591"},{"image":"ghcr.io/github/gh-aw-mcpg:v0.3.25","digest":"sha256:c10331ad17668ef89f38f5e356678788a40b0cd5fef96e8f92e1d9c1de47cbaa","pinned_image":"ghcr.io/github/gh-aw-mcpg:v0.3.25@sha256:c10331ad17668ef89f38f5e356678788a40b0cd5fef96e8f92e1d9c1de47cbaa"},{"image":"ghcr.io/github/github-mcp-server:v1.1.2","digest":"sha256:30197479d8036c7811892bc07e06f9a05c9ef3cdd79bc59f256d50647f95788c","pinned_image":"ghcr.io/github/github-mcp-server:v1.1.2@sha256:30197479d8036c7811892bc07e06f9a05c9ef3cdd79bc59f256d50647f95788c"}]}
+# gh-aw-metadata: {"schema_version":"v4","frontmatter_hash":"661ab4bd42bd83eff79d7d460f50a12e3cee567ac434b2d37a2480d9a0e20965","body_hash":"4d3260d49c3010a13ea7c49bba10f51f2b9f1c1473ceca69008cfe766a9b273c","strict":true,"agent_id":"copilot","engine_versions":{"copilot":"1.0.60","copilot-sdk":"1.0.0"}}
+# gh-aw-manifest: {"version":1,"secrets":["GH_AW_GITHUB_MCP_SERVER_TOKEN","GH_AW_GITHUB_TOKEN","GH_AW_OTEL_GRAFANA_AUTHORIZATION","GH_AW_OTEL_GRAFANA_ENDPOINT","GH_AW_OTEL_SENTRY_AUTHORIZATION","GH_AW_OTEL_SENTRY_ENDPOINT","GITHUB_TOKEN"],"actions":[{"repo":"actions/cache/restore","sha":"27d5ce7f107fe9357f9df03efb73ab90386fccae","version":"v5.0.5"},{"repo":"actions/cache/save","sha":"27d5ce7f107fe9357f9df03efb73ab90386fccae","version":"v5.0.5"},{"repo":"actions/checkout","sha":"df4cb1c069e1874edd31b4311f1884172cec0e10","version":"v6.0.3"},{"repo":"actions/download-artifact","sha":"3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c","version":"v8.0.1"},{"repo":"actions/github-script","sha":"3a2844b7e9c422d3c10d287c895573f7108da1b3","version":"v9.0.0"},{"repo":"actions/setup-node","sha":"48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e","version":"v6.4.0"},{"repo":"actions/upload-artifact","sha":"043fb46d1a93c77aae656e7c1c64a875d1fc6a0a","version":"v7.0.1"}],"containers":[{"image":"ghcr.io/github/gh-aw-firewall/agent:0.27.2","digest":"sha256:f88e5b17b6b7a600117bc121114d6ce2155c88c983c0c939c5df884f730fa1d6","pinned_image":"ghcr.io/github/gh-aw-firewall/agent:0.27.2@sha256:f88e5b17b6b7a600117bc121114d6ce2155c88c983c0c939c5df884f730fa1d6"},{"image":"ghcr.io/github/gh-aw-firewall/api-proxy:0.27.2","digest":"sha256:ee39841d980878ebbb87592903b06d31a1af500c71525c9616f7e8e2a27041a4","pinned_image":"ghcr.io/github/gh-aw-firewall/api-proxy:0.27.2@sha256:ee39841d980878ebbb87592903b06d31a1af500c71525c9616f7e8e2a27041a4"},{"image":"ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.2","digest":"sha256:02f3ec08f32dc26c5427920c6a2e2f3036238fce44802f2f11ef49ed8621b5d0","pinned_image":"ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.2@sha256:02f3ec08f32dc26c5427920c6a2e2f3036238fce44802f2f11ef49ed8621b5d0"},{"image":"ghcr.io/github/gh-aw-firewall/squid:0.27.2","digest":"sha256:2e3a717e5f19a654cd9a2263beb52012b56bcb68562ec5ae2e42f9d156b49591","pinned_image":"ghcr.io/github/gh-aw-firewall/squid:0.27.2@sha256:2e3a717e5f19a654cd9a2263beb52012b56bcb68562ec5ae2e42f9d156b49591"},{"image":"ghcr.io/github/gh-aw-mcpg:v0.3.25","digest":"sha256:c10331ad17668ef89f38f5e356678788a40b0cd5fef96e8f92e1d9c1de47cbaa","pinned_image":"ghcr.io/github/gh-aw-mcpg:v0.3.25@sha256:c10331ad17668ef89f38f5e356678788a40b0cd5fef96e8f92e1d9c1de47cbaa"},{"image":"ghcr.io/github/github-mcp-server:v1.1.2","digest":"sha256:30197479d8036c7811892bc07e06f9a05c9ef3cdd79bc59f256d50647f95788c","pinned_image":"ghcr.io/github/github-mcp-server:v1.1.2@sha256:30197479d8036c7811892bc07e06f9a05c9ef3cdd79bc59f256d50647f95788c"}]}
# This file was automatically generated by gh-aw. DO NOT EDIT. To debug this workflow, load the skill at https://github.com/github/gh-aw/blob/main/debug.md
#
# ___ _ _
@@ -53,6 +53,7 @@
# Container images used:
# - ghcr.io/github/gh-aw-firewall/agent:0.27.2@sha256:f88e5b17b6b7a600117bc121114d6ce2155c88c983c0c939c5df884f730fa1d6
# - ghcr.io/github/gh-aw-firewall/api-proxy:0.27.2@sha256:ee39841d980878ebbb87592903b06d31a1af500c71525c9616f7e8e2a27041a4
+# - ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.2@sha256:02f3ec08f32dc26c5427920c6a2e2f3036238fce44802f2f11ef49ed8621b5d0
# - ghcr.io/github/gh-aw-firewall/squid:0.27.2@sha256:2e3a717e5f19a654cd9a2263beb52012b56bcb68562ec5ae2e42f9d156b49591
# - ghcr.io/github/gh-aw-mcpg:v0.3.25@sha256:c10331ad17668ef89f38f5e356678788a40b0cd5fef96e8f92e1d9c1de47cbaa
# - ghcr.io/github/github-mcp-server:v1.1.2@sha256:30197479d8036c7811892bc07e06f9a05c9ef3cdd79bc59f256d50647f95788c
@@ -286,20 +287,20 @@ jobs:
run: |
bash "${RUNNER_TEMP}/gh-aw/actions/create_prompt_first.sh"
{
- cat << 'GH_AW_PROMPT_c0038e1f1e128d33_EOF'
+ cat << 'GH_AW_PROMPT_9ccae2af0dc705bf_EOF'
- GH_AW_PROMPT_c0038e1f1e128d33_EOF
+ GH_AW_PROMPT_9ccae2af0dc705bf_EOF
cat "${RUNNER_TEMP}/gh-aw/prompts/xpia.md"
cat "${RUNNER_TEMP}/gh-aw/prompts/temp_folder_prompt.md"
cat "${RUNNER_TEMP}/gh-aw/prompts/markdown.md"
cat "${RUNNER_TEMP}/gh-aw/prompts/safe_outputs_prompt.md"
- cat << 'GH_AW_PROMPT_c0038e1f1e128d33_EOF'
+ cat << 'GH_AW_PROMPT_9ccae2af0dc705bf_EOF'
Tools: create_pull_request_review_comment(max:10), submit_pull_request_review, create_check_run, missing_tool, missing_data, noop
- GH_AW_PROMPT_c0038e1f1e128d33_EOF
+ GH_AW_PROMPT_9ccae2af0dc705bf_EOF
cat "${RUNNER_TEMP}/gh-aw/prompts/mcp_cli_tools_prompt.md"
- cat << 'GH_AW_PROMPT_c0038e1f1e128d33_EOF'
+ cat << 'GH_AW_PROMPT_9ccae2af0dc705bf_EOF'
The following GitHub context information is available for this workflow:
{{#if github.actor}}
@@ -328,19 +329,19 @@ jobs:
{{/if}}
- GH_AW_PROMPT_c0038e1f1e128d33_EOF
- cat "${RUNNER_TEMP}/gh-aw/prompts/github_mcp_tools_with_safeoutputs_prompt.md"
+ GH_AW_PROMPT_9ccae2af0dc705bf_EOF
+ cat "${RUNNER_TEMP}/gh-aw/prompts/cli_proxy_with_safeoutputs_prompt.md"
if [ "$GITHUB_EVENT_NAME" = "issue_comment" ] && [ -n "$GH_AW_IS_PR_COMMENT" ] || [ "$GITHUB_EVENT_NAME" = "pull_request_review_comment" ] || [ "$GITHUB_EVENT_NAME" = "pull_request_review" ]; then
cat "${RUNNER_TEMP}/gh-aw/prompts/pr_context_prompt.md"
fi
- cat << 'GH_AW_PROMPT_c0038e1f1e128d33_EOF'
+ cat << 'GH_AW_PROMPT_9ccae2af0dc705bf_EOF'
{{#runtime-import .github/workflows/shared/otlp.md}}
{{#runtime-import .github/workflows/shared/github-guard-policy.md}}
{{#runtime-import .github/workflows/shared/pr-code-review-config.md}}
{{#runtime-import .github/workflows/shared/noop-reminder.md}}
{{#runtime-import .github/workflows/pr-code-quality-reviewer.md}}
- GH_AW_PROMPT_c0038e1f1e128d33_EOF
+ GH_AW_PROMPT_9ccae2af0dc705bf_EOF
} > "$GH_AW_PROMPT"
- name: Interpolate variables and render templates
uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
@@ -568,7 +569,7 @@ jobs:
GH_AW_SKILL_DIR: ".github/skills"
run: bash "${RUNNER_TEMP}/gh-aw/actions/restore_inline_skills.sh"
- name: Download container images
- run: bash "${RUNNER_TEMP}/gh-aw/actions/download_docker_images.sh" ghcr.io/github/gh-aw-firewall/agent:0.27.2@sha256:f88e5b17b6b7a600117bc121114d6ce2155c88c983c0c939c5df884f730fa1d6 ghcr.io/github/gh-aw-firewall/api-proxy:0.27.2@sha256:ee39841d980878ebbb87592903b06d31a1af500c71525c9616f7e8e2a27041a4 ghcr.io/github/gh-aw-firewall/squid:0.27.2@sha256:2e3a717e5f19a654cd9a2263beb52012b56bcb68562ec5ae2e42f9d156b49591 ghcr.io/github/gh-aw-mcpg:v0.3.25@sha256:c10331ad17668ef89f38f5e356678788a40b0cd5fef96e8f92e1d9c1de47cbaa ghcr.io/github/github-mcp-server:v1.1.2@sha256:30197479d8036c7811892bc07e06f9a05c9ef3cdd79bc59f256d50647f95788c
+ run: bash "${RUNNER_TEMP}/gh-aw/actions/download_docker_images.sh" ghcr.io/github/gh-aw-firewall/agent:0.27.2@sha256:f88e5b17b6b7a600117bc121114d6ce2155c88c983c0c939c5df884f730fa1d6 ghcr.io/github/gh-aw-firewall/api-proxy:0.27.2@sha256:ee39841d980878ebbb87592903b06d31a1af500c71525c9616f7e8e2a27041a4 ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.2@sha256:02f3ec08f32dc26c5427920c6a2e2f3036238fce44802f2f11ef49ed8621b5d0 ghcr.io/github/gh-aw-firewall/squid:0.27.2@sha256:2e3a717e5f19a654cd9a2263beb52012b56bcb68562ec5ae2e42f9d156b49591 ghcr.io/github/gh-aw-mcpg:v0.3.25@sha256:c10331ad17668ef89f38f5e356678788a40b0cd5fef96e8f92e1d9c1de47cbaa ghcr.io/github/github-mcp-server:v1.1.2@sha256:30197479d8036c7811892bc07e06f9a05c9ef3cdd79bc59f256d50647f95788c
- name: Generate Safe Outputs Config
run: |
mkdir -p "${RUNNER_TEMP}/gh-aw/safeoutputs"
@@ -780,7 +781,6 @@ jobs:
GH_AW_SAFE_OUTPUTS: ${{ steps.set-runtime-paths.outputs.GH_AW_SAFE_OUTPUTS }}
GH_AW_SAFE_OUTPUTS_API_KEY: ${{ steps.safe-outputs-start.outputs.api_key }}
GH_AW_SAFE_OUTPUTS_PORT: ${{ steps.safe-outputs-start.outputs.port }}
- GITHUB_MCP_SERVER_TOKEN: ${{ secrets.GH_AW_GITHUB_MCP_SERVER_TOKEN || secrets.GH_AW_GITHUB_TOKEN || secrets.GITHUB_TOKEN }}
run: |
set -eo pipefail
mkdir -p "${RUNNER_TEMP}/gh-aw/mcp-config"
@@ -811,28 +811,9 @@ jobs:
mkdir -p "$HOME/.copilot"
GH_AW_NODE=$(which node 2>/dev/null || command -v node 2>/dev/null || echo node)
- cat << GH_AW_MCP_CONFIG_b4ad4e8277ea809a_EOF | "$GH_AW_NODE" "${RUNNER_TEMP}/gh-aw/actions/start_mcp_gateway.cjs"
+ cat << GH_AW_MCP_CONFIG_91fa07d379a1dfd6_EOF | "$GH_AW_NODE" "${RUNNER_TEMP}/gh-aw/actions/start_mcp_gateway.cjs"
{
"mcpServers": {
- "github": {
- "type": "stdio",
- "container": "ghcr.io/github/github-mcp-server:v1.1.2",
- "env": {
- "GITHUB_HOST": "\${GITHUB_SERVER_URL}",
- "GITHUB_PERSONAL_ACCESS_TOKEN": "\${GITHUB_MCP_SERVER_TOKEN}",
- "GITHUB_READ_ONLY": "1",
- "GITHUB_TOOLSETS": "pull_requests,repos"
- },
- "guard-policies": {
- "allow-only": {
- "approval-labels": ${{ steps.parse-guard-vars.outputs.approval_labels }},
- "blocked-users": ${{ steps.parse-guard-vars.outputs.blocked_users }},
- "min-integrity": "approved",
- "repos": "all",
- "trusted-users": ${{ steps.parse-guard-vars.outputs.trusted_users }}
- }
- }
- },
"safeoutputs": {
"type": "http",
"url": "http://host.docker.internal:$GH_AW_SAFE_OUTPUTS_PORT",
@@ -860,7 +841,7 @@ jobs:
}
}
}
- GH_AW_MCP_CONFIG_b4ad4e8277ea809a_EOF
+ GH_AW_MCP_CONFIG_91fa07d379a1dfd6_EOF
- name: Mount MCP servers as CLIs
id: mount-mcp-clis
continue-on-error: true
@@ -882,6 +863,14 @@ jobs:
id: pre_agent_audit
continue-on-error: true
run: bash "${RUNNER_TEMP}/gh-aw/actions/audit_pre_agent_workspace.sh"
+ - name: Start CLI Proxy
+ env:
+ GH_TOKEN: ${{ secrets.GH_AW_GITHUB_MCP_SERVER_TOKEN || secrets.GH_AW_GITHUB_TOKEN || secrets.GITHUB_TOKEN }}
+ GITHUB_SERVER_URL: ${{ github.server_url }}
+ CLI_PROXY_POLICY: '{"allow-only":{"min-integrity":"approved","repos":"all"}}'
+ CLI_PROXY_IMAGE: 'ghcr.io/github/gh-aw-mcpg:v0.3.25'
+ run: |
+ bash "${RUNNER_TEMP}/gh-aw/actions/start_cli_proxy.sh"
- name: Execute GitHub Copilot CLI
id: agentic_execution
# Copilot CLI tool arguments (sorted):
@@ -921,7 +910,7 @@ jobs:
GH_AW_TOOL_CACHE_MOUNT="/home/runner/work/_tool:/home/runner/work/_tool:ro"
fi
# shellcheck disable=SC1003
- sudo -E awf --config "${RUNNER_TEMP}/gh-aw/awf-config.json" --container-workdir "${GITHUB_WORKSPACE}" --mount "${RUNNER_TEMP}/gh-aw:${RUNNER_TEMP}/gh-aw:ro" --mount "${RUNNER_TEMP}/gh-aw:/host${RUNNER_TEMP}/gh-aw:ro" ${GH_AW_TOOL_CACHE_MOUNT:+--mount "$GH_AW_TOOL_CACHE_MOUNT"} ${GH_AW_DOCKER_HOST:+--docker-host "$GH_AW_DOCKER_HOST"} ${GH_AW_DOCKER_HOST_PATH_PREFIX_ARGS} --env-all --exclude-env COPILOT_GITHUB_TOKEN --exclude-env GITHUB_MCP_SERVER_TOKEN --exclude-env MCP_GATEWAY_API_KEY --log-level info --proxy-logs-dir /tmp/gh-aw/sandbox/firewall/logs --audit-dir /tmp/gh-aw/sandbox/firewall/audit --enable-host-access --allow-host-ports 80,443,8080 --skip-pull \
+ sudo -E awf --config "${RUNNER_TEMP}/gh-aw/awf-config.json" --container-workdir "${GITHUB_WORKSPACE}" --mount "${RUNNER_TEMP}/gh-aw:${RUNNER_TEMP}/gh-aw:ro" --mount "${RUNNER_TEMP}/gh-aw:/host${RUNNER_TEMP}/gh-aw:ro" ${GH_AW_TOOL_CACHE_MOUNT:+--mount "$GH_AW_TOOL_CACHE_MOUNT"} ${GH_AW_DOCKER_HOST:+--docker-host "$GH_AW_DOCKER_HOST"} ${GH_AW_DOCKER_HOST_PATH_PREFIX_ARGS} --env-all --exclude-env COPILOT_GITHUB_TOKEN --exclude-env GH_TOKEN --exclude-env GITHUB_MCP_SERVER_TOKEN --exclude-env MCP_GATEWAY_API_KEY --log-level info --proxy-logs-dir /tmp/gh-aw/sandbox/firewall/logs --audit-dir /tmp/gh-aw/sandbox/firewall/audit --enable-host-access --allow-host-ports 80,443,8080 --skip-pull --difc-proxy-host host.docker.internal:18443 --difc-proxy-ca-cert /tmp/gh-aw/difc-proxy-tls/ca.crt \
-- /bin/bash -c 'set +o histexpand; export PATH="${RUNNER_TEMP}/gh-aw/mcp-cli/bin:$PATH" && GH_AW_TOOL_CACHE="${RUNNER_TOOL_CACHE:-/opt/hostedtoolcache}"; export PATH="$(find "$GH_AW_TOOL_CACHE" /opt/hostedtoolcache /home/runner/work/_tool -maxdepth 5 -type d -name bin 2>/dev/null | tr '\''\n'\'' '\'':'\'')$PATH"; [ -n "$GOROOT" ] && export PATH="$GOROOT/bin:$PATH" || true && GH_AW_NODE_EXEC="${GH_AW_NODE_BIN:-}"; if [ -z "$GH_AW_NODE_EXEC" ] || [ ! -x "$GH_AW_NODE_EXEC" ]; then GH_AW_NODE_EXEC="$(command -v node 2>/dev/null || true)"; fi; if [ -z "$GH_AW_NODE_EXEC" ]; then echo "node runtime missing on this runner — check runtimes.node in workflow YAML" >&2; exit 127; fi; GH_AW_WORKSPACE_NODE_MODULES="${GITHUB_WORKSPACE:-$PWD}/node_modules"; if [ -d "$GH_AW_WORKSPACE_NODE_MODULES" ]; then export NODE_PATH="${GH_AW_WORKSPACE_NODE_MODULES}${NODE_PATH:+:${NODE_PATH}}"; fi; GH_AW_NPM_GLOBAL_ROOT="$(npm root -g 2>/dev/null || true)"; if [ -n "$GH_AW_NPM_GLOBAL_ROOT" ]; then export NODE_PATH="${GH_AW_NPM_GLOBAL_ROOT}${NODE_PATH:+:${NODE_PATH}}"; fi; "$GH_AW_NODE_EXEC" ${RUNNER_TEMP}/gh-aw/actions/copilot_harness.cjs "$GH_AW_NODE_EXEC" "${RUNNER_TEMP}/gh-aw/actions/copilot_sdk_driver.cjs" /usr/local/bin/copilot' 2>&1 | tee -a /tmp/gh-aw/agent-stdio.log
env:
AWF_REFLECT_ENABLED: 1
@@ -940,6 +929,7 @@ jobs:
GH_AW_SAFE_OUTPUTS: ${{ steps.set-runtime-paths.outputs.GH_AW_SAFE_OUTPUTS }}
GH_AW_TIMEOUT_MINUTES: 15
GH_AW_VERSION: dev
+ GH_TOKEN: ${{ secrets.GH_AW_GITHUB_TOKEN || github.token }}
GITHUB_API_URL: ${{ github.api_url }}
GITHUB_AW: true
GITHUB_COPILOT_INTEGRATION_ID: agentic-workflows
@@ -956,6 +946,10 @@ jobs:
RUNNER_TEMP: ${{ runner.temp }}
S2STOKENS: true
TRACEPARENT: ${{ env.GITHUB_AW_OTEL_TRACE_ID != '' && env.GITHUB_AW_OTEL_PARENT_SPAN_ID != '' && format('00-{0}-{1}-01', env.GITHUB_AW_OTEL_TRACE_ID, env.GITHUB_AW_OTEL_PARENT_SPAN_ID) || '' }}
+ - name: Stop CLI Proxy
+ if: always()
+ continue-on-error: true
+ run: bash "${RUNNER_TEMP}/gh-aw/actions/stop_cli_proxy.sh"
- name: Detect agent errors
if: always()
id: detect-agent-errors
diff --git a/.github/workflows/pr-code-quality-reviewer.md b/.github/workflows/pr-code-quality-reviewer.md
index ca5b459556e..4221852577e 100644
--- a/.github/workflows/pr-code-quality-reviewer.md
+++ b/.github/workflows/pr-code-quality-reviewer.md
@@ -23,6 +23,10 @@ imports:
- shared/otlp.md
tools:
cli-proxy: true
+ github:
+ mode: gh-proxy
+ toolsets:
+ - default
safe-outputs:
create-pull-request-review-comment:
max: 10
diff --git a/.github/workflows/pr-nitpick-reviewer.lock.yml b/.github/workflows/pr-nitpick-reviewer.lock.yml
index 3f36405eb0d..c6bfea29480 100644
--- a/.github/workflows/pr-nitpick-reviewer.lock.yml
+++ b/.github/workflows/pr-nitpick-reviewer.lock.yml
@@ -1,4 +1,4 @@
-# gh-aw-metadata: {"schema_version":"v4","frontmatter_hash":"82f37cad1c1ae4b9848bd8e18d24b63f7ce90897e0e095e1d0e3289f83709dd5","body_hash":"142690b25cc76c2692cde7dad0e5a355e01a4e2a132dc921ee8b033c04d4161b","strict":true,"agent_id":"copilot","engine_versions":{"copilot":"1.0.60","copilot-sdk":"1.0.0"}}
+# gh-aw-metadata: {"schema_version":"v4","frontmatter_hash":"82f37cad1c1ae4b9848bd8e18d24b63f7ce90897e0e095e1d0e3289f83709dd5","body_hash":"064b036e8d60d33fd59f8453b6e3a5841e8271adca0a76b086650e081f92ce96","strict":true,"agent_id":"copilot","engine_versions":{"copilot":"1.0.60","copilot-sdk":"1.0.0"}}
# gh-aw-manifest: {"version":1,"secrets":["COPILOT_GITHUB_TOKEN","GH_AW_GITHUB_MCP_SERVER_TOKEN","GH_AW_GITHUB_TOKEN","GH_AW_OTEL_GRAFANA_AUTHORIZATION","GH_AW_OTEL_GRAFANA_ENDPOINT","GH_AW_OTEL_SENTRY_AUTHORIZATION","GH_AW_OTEL_SENTRY_ENDPOINT","GITHUB_TOKEN"],"actions":[{"repo":"actions/cache/restore","sha":"27d5ce7f107fe9357f9df03efb73ab90386fccae","version":"v5.0.5"},{"repo":"actions/cache/save","sha":"27d5ce7f107fe9357f9df03efb73ab90386fccae","version":"v5.0.5"},{"repo":"actions/checkout","sha":"df4cb1c069e1874edd31b4311f1884172cec0e10","version":"v6.0.3"},{"repo":"actions/download-artifact","sha":"3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c","version":"v8.0.1"},{"repo":"actions/github-script","sha":"3a2844b7e9c422d3c10d287c895573f7108da1b3","version":"v9.0.0"},{"repo":"actions/setup-node","sha":"48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e","version":"v6.4.0"},{"repo":"actions/upload-artifact","sha":"043fb46d1a93c77aae656e7c1c64a875d1fc6a0a","version":"v7.0.1"}],"containers":[{"image":"ghcr.io/github/gh-aw-firewall/agent:0.27.2","digest":"sha256:f88e5b17b6b7a600117bc121114d6ce2155c88c983c0c939c5df884f730fa1d6","pinned_image":"ghcr.io/github/gh-aw-firewall/agent:0.27.2@sha256:f88e5b17b6b7a600117bc121114d6ce2155c88c983c0c939c5df884f730fa1d6"},{"image":"ghcr.io/github/gh-aw-firewall/api-proxy:0.27.2","digest":"sha256:ee39841d980878ebbb87592903b06d31a1af500c71525c9616f7e8e2a27041a4","pinned_image":"ghcr.io/github/gh-aw-firewall/api-proxy:0.27.2@sha256:ee39841d980878ebbb87592903b06d31a1af500c71525c9616f7e8e2a27041a4"},{"image":"ghcr.io/github/gh-aw-firewall/squid:0.27.2","digest":"sha256:2e3a717e5f19a654cd9a2263beb52012b56bcb68562ec5ae2e42f9d156b49591","pinned_image":"ghcr.io/github/gh-aw-firewall/squid:0.27.2@sha256:2e3a717e5f19a654cd9a2263beb52012b56bcb68562ec5ae2e42f9d156b49591"},{"image":"ghcr.io/github/gh-aw-mcpg:v0.3.25","digest":"sha256:c10331ad17668ef89f38f5e356678788a40b0cd5fef96e8f92e1d9c1de47cbaa","pinned_image":"ghcr.io/github/gh-aw-mcpg:v0.3.25@sha256:c10331ad17668ef89f38f5e356678788a40b0cd5fef96e8f92e1d9c1de47cbaa"},{"image":"ghcr.io/github/github-mcp-server:v1.1.2","digest":"sha256:30197479d8036c7811892bc07e06f9a05c9ef3cdd79bc59f256d50647f95788c","pinned_image":"ghcr.io/github/github-mcp-server:v1.1.2@sha256:30197479d8036c7811892bc07e06f9a05c9ef3cdd79bc59f256d50647f95788c"}]}
# This file was automatically generated by gh-aw. DO NOT EDIT. To debug this workflow, load the skill at https://github.com/github/gh-aw/blob/main/debug.md
#
diff --git a/.github/workflows/pr-triage-agent.lock.yml b/.github/workflows/pr-triage-agent.lock.yml
index d6f9f1e353a..88320673c96 100644
--- a/.github/workflows/pr-triage-agent.lock.yml
+++ b/.github/workflows/pr-triage-agent.lock.yml
@@ -1,4 +1,4 @@
-# gh-aw-metadata: {"schema_version":"v4","frontmatter_hash":"3b0110169b6a0aee306c1586550d29b8aeb4abd4537af3509494182ea832c38d","body_hash":"30e8a94da14ac41b4cfacb616613168f5773e157b09245bc8c45fde456ed19ae","strict":true,"agent_id":"copilot","engine_versions":{"copilot":"1.0.60","copilot-sdk":"1.0.0"}}
+# gh-aw-metadata: {"schema_version":"v4","frontmatter_hash":"3b0110169b6a0aee306c1586550d29b8aeb4abd4537af3509494182ea832c38d","body_hash":"f7ed7fcaf7cb3e6043d11f79b63a516194a755016f6bbfd6875ce1c9efb20a86","strict":true,"agent_id":"copilot","engine_versions":{"copilot":"1.0.60","copilot-sdk":"1.0.0"}}
# gh-aw-manifest: {"version":1,"secrets":["COPILOT_GITHUB_TOKEN","GH_AW_GITHUB_MCP_SERVER_TOKEN","GH_AW_GITHUB_TOKEN","GH_AW_OTEL_GRAFANA_AUTHORIZATION","GH_AW_OTEL_GRAFANA_ENDPOINT","GH_AW_OTEL_SENTRY_AUTHORIZATION","GH_AW_OTEL_SENTRY_ENDPOINT","GITHUB_TOKEN"],"actions":[{"repo":"actions/cache/restore","sha":"27d5ce7f107fe9357f9df03efb73ab90386fccae","version":"v5.0.5"},{"repo":"actions/cache/save","sha":"27d5ce7f107fe9357f9df03efb73ab90386fccae","version":"v5.0.5"},{"repo":"actions/checkout","sha":"df4cb1c069e1874edd31b4311f1884172cec0e10","version":"v6.0.3"},{"repo":"actions/download-artifact","sha":"3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c","version":"v8.0.1"},{"repo":"actions/github-script","sha":"3a2844b7e9c422d3c10d287c895573f7108da1b3","version":"v9.0.0"},{"repo":"actions/setup-node","sha":"48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e","version":"v6.4.0"},{"repo":"actions/upload-artifact","sha":"043fb46d1a93c77aae656e7c1c64a875d1fc6a0a","version":"v7.0.1"}],"containers":[{"image":"ghcr.io/github/gh-aw-firewall/agent:0.27.2","digest":"sha256:f88e5b17b6b7a600117bc121114d6ce2155c88c983c0c939c5df884f730fa1d6","pinned_image":"ghcr.io/github/gh-aw-firewall/agent:0.27.2@sha256:f88e5b17b6b7a600117bc121114d6ce2155c88c983c0c939c5df884f730fa1d6"},{"image":"ghcr.io/github/gh-aw-firewall/api-proxy:0.27.2","digest":"sha256:ee39841d980878ebbb87592903b06d31a1af500c71525c9616f7e8e2a27041a4","pinned_image":"ghcr.io/github/gh-aw-firewall/api-proxy:0.27.2@sha256:ee39841d980878ebbb87592903b06d31a1af500c71525c9616f7e8e2a27041a4"},{"image":"ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.2","digest":"sha256:02f3ec08f32dc26c5427920c6a2e2f3036238fce44802f2f11ef49ed8621b5d0","pinned_image":"ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.2@sha256:02f3ec08f32dc26c5427920c6a2e2f3036238fce44802f2f11ef49ed8621b5d0"},{"image":"ghcr.io/github/gh-aw-firewall/squid:0.27.2","digest":"sha256:2e3a717e5f19a654cd9a2263beb52012b56bcb68562ec5ae2e42f9d156b49591","pinned_image":"ghcr.io/github/gh-aw-firewall/squid:0.27.2@sha256:2e3a717e5f19a654cd9a2263beb52012b56bcb68562ec5ae2e42f9d156b49591"},{"image":"ghcr.io/github/gh-aw-mcpg:v0.3.25","digest":"sha256:c10331ad17668ef89f38f5e356678788a40b0cd5fef96e8f92e1d9c1de47cbaa","pinned_image":"ghcr.io/github/gh-aw-mcpg:v0.3.25@sha256:c10331ad17668ef89f38f5e356678788a40b0cd5fef96e8f92e1d9c1de47cbaa"},{"image":"ghcr.io/github/github-mcp-server:v1.1.2","digest":"sha256:30197479d8036c7811892bc07e06f9a05c9ef3cdd79bc59f256d50647f95788c","pinned_image":"ghcr.io/github/github-mcp-server:v1.1.2@sha256:30197479d8036c7811892bc07e06f9a05c9ef3cdd79bc59f256d50647f95788c"}]}
# This file was automatically generated by gh-aw. DO NOT EDIT. To debug this workflow, load the skill at https://github.com/github/gh-aw/blob/main/debug.md
#
diff --git a/.github/workflows/pr-triage-agent.md b/.github/workflows/pr-triage-agent.md
index 4ae93b0c97c..c7c5c3fd922 100644
--- a/.github/workflows/pr-triage-agent.md
+++ b/.github/workflows/pr-triage-agent.md
@@ -50,411 +50,91 @@ max-ai-credits: 1500
# PR Triage Agent
-You are an automated PR triage system responsible for categorizing, assessing risk, prioritizing, and recommending actions for agent-created pull requests in the repository.
+You triage open agent-created PRs: categorize, score risk/priority, recommend actions, apply triage labels, and publish one report issue.
## Current Context
- **Repository**: ${{ github.repository }}
- **Run ID**: ${{ github.run_id }}
-## Your Mission
+## Required Phases
-Process all open agent-created PRs in the backlog to:
-1. Categorize each PR by type
-2. Assess risk level
-3. Calculate priority score
-4. Recommend actions
-5. Apply labels for filtering
-6. Identify batch processing opportunities
-7. Generate comprehensive triage report
+### Phase 1: Collect data
-## Workflow Execution
+- Load prior state from `/tmp/gh-aw/repo-memory/default/` when present.
+- Fetch open PRs authored by `app/github-copilot`.
+- Keep **fork PRs only** (`head.repo.full_name != base.repo.full_name`).
+- Capture number/title/body/files/CI/age/labels/review status/comments and optional agent-quality metadata.
-### Phase 1: Data Collection (5 minutes)
+### Phase 2: Classify and assess risk
-**1.1 Load Historical Data from Memory**
+Classify by dominant change pattern (`docs`, `test`, `formatting`, `chore`, `refactor`, `bug`, `feature`) and then assess risk:
+- **Low**: docs/tests/formatting-only or tiny low-risk edits.
+- **Medium**: moderate refactors/chore/non-critical fixes.
+- **High**: behavior/security/critical-path or large changes.
-Check for existing triage data in shared memory at `/tmp/gh-aw/repo-memory/default/`:
-- `pr-triage-latest.json` - Last run's results
-- `metrics/latest.json` - Agent performance metrics from Metrics Collector
-- `agent-performance-latest.md` - Agent quality scores
+### Phase 3: Score priority (0-100)
-**1.2 Query Open Agent PRs**
+Compute total = `impact (0-50) + urgency (0-30) + quality (0-20)`.
-Use GitHub tools to fetch all open pull requests:
-- Filter by: `is:open is:pr author:app/github-copilot`
-- **Fork PRs only**: After fetching, filter to include only PRs where `head.repo.full_name` differs from `base.repo.full_name` (i.e., PRs opened from forks, not from branches within the same repository). Skip any PRs that originate from the same repository.
-- Get PR details including:
- - Number, title, description, author
- - Files changed (count and paths)
- - CI status (passing/failing/pending)
- - Created date, updated date
- - Existing labels
- - Review status
- - Comments count
+- Impact considers user/business effect and file criticality.
+- Urgency considers security/blockers, CI health, and staleness.
+- Quality considers CI, description quality, tests, and agent-quality signals.
-**1.3 Load Agent Quality Scores**
+### Phase 4: Recommend actions
-If Agent Performance Analyzer data exists, load quality scores for each agent workflow to use in quality assessment.
+Pick one action per PR:
+- `auto_merge` (low risk, high quality, CI passing)
+- `fast_track` (high-value and ready for expedited human review)
+- `batch_review` (similar low/medium-risk PRs)
+- `defer` (low-value work)
+- `close` (stale/superseded/invalid)
-### Phase 2: Categorization and Risk Assessment (10 minutes)
+### Phase 5: Batch and label
-For each PR, perform the following analysis:
+- Detect similar PR clusters (category/risk/overlap/workflow similarity).
+- Assign batch IDs for groups of 3+.
+- Apply triage labels:
+ - type: `pr-type:*`
+ - risk: `pr-risk:*`
+ - priority: `pr-priority:*`
+ - action: `pr-action:*`
+ - source: `pr-agent:*`
+ - optional batch: `pr-batch:*`
+- Remove conflicting old triage labels, preserve non-triage labels.
-**2.1 Categorize PR Type**
+### Phase 6: Comment each triaged PR
-Determine category based on file patterns and PR description:
+Post a compact comment with category, risk, total score, score breakdown, recommended action, and optional batch info.
-**File Pattern Rules:**
-- **docs**: Changes only to `.md`, `.txt`, `.rst` files in `docs/`, `README.md`, `CHANGELOG.md`
-- **test**: Changes only to `*_test.go`, `*_test.js`, `*.test.js`, `*Tests.cs`, `*Test.cs` files
-- **formatting**: Changes matching `.prettierrc`, `.editorconfig`, or whitespace-only diffs
-- **chore**: Changes to `Makefile`, `.github/workflows/*.yml`, `go.mod`, `package.json`, `*.csproj`, CI configs
-- **refactor**: Code changes with no new features or bug fixes (look for keywords: "refactor", "restructure", "reorganize")
-- **bug**: Keywords in title/description: "fix", "bug", "issue", "error", "crash"
-- **feature**: Keywords in title/description: "add", "implement", "new", "feature", "support"
+### Phase 7: Create the triage report issue
-**2.2 Assess Risk Level**
+Create one issue report using `###`/`####` headings only. Keep summary visible and put long lists in ``.
+Include at least:
+- executive totals,
+- distribution by category/risk/priority/action,
+- top-priority PRs,
+- auto-merge candidates,
+- fast-track items,
+- batch opportunities,
+- close candidates,
+- key trends and next actions.
-Calculate risk based on category and change scope:
+### Phase 8: Save run state
-**Low Risk:**
-- Documentation changes only
-- Test additions/changes only
-- Formatting changes only (whitespace, linting)
-- Changes < 50 lines in low-risk files
+Write `/tmp/gh-aw/repo-memory/default/pr-triage-latest.json` containing run metadata, selected candidates, batches, and summary stats for the next run.
-**Medium Risk:**
-- Refactoring without behavior changes
-- Chore updates (dependencies, build scripts)
-- Bug fixes in non-critical areas
-- Changes 50-200 lines
+## Guardrails
-**High Risk:**
-- New features (behavior changes)
-- Bug fixes in critical paths (compilation, security, core logic)
-- Changes > 200 lines
-- Changes to security-sensitive code
-- Breaking changes
-
-### Phase 3: Priority Scoring (5 minutes)
-
-Calculate priority score (0-100) using three components:
-
-**3.1 Impact Score (0-50)**
-
-- **Critical (40-50)**: Security fixes, production bugs, blocking issues, P0/P1 labels
-- **High (30-39)**: Performance improvements, important features, P2 labels
-- **Medium (20-29)**: Minor features, non-blocking bugs, improvements
-- **Low (0-19)**: Documentation, tests, formatting, tech debt
-
-Factors:
-- Category (bug/feature = higher, docs/test = lower)
-- Files affected (core logic = higher, docs = lower)
-- Issue references (P0/P1 issues = higher)
-
-**3.2 Urgency Score (0-30)**
-
-- **Critical (25-30)**: Security vulnerabilities, production failures
-- **High (15-24)**: User-facing bugs, CI failures blocking work
-- **Medium (8-14)**: Quality improvements, tech debt
-- **Low (0-7)**: Nice-to-haves, optimizations
-
-Factors:
-- Age of PR (older = more urgent, max +10 points for PRs > 30 days old)
-- CI status (failing = +5 urgency)
-- Labels (security = +20, P0 = +15, P1 = +10)
-
-**3.3 Quality Score (0-20)**
-
-- **Excellent (16-20)**: CI passing, good description, includes tests, agent quality score > 80%
-- **Good (11-15)**: CI passing, basic description, agent quality score 60-80%
-- **Fair (6-10)**: CI passing or description present, agent quality score 40-60%
-- **Poor (0-5)**: CI failing, no description, agent quality score < 40%
-
-Factors:
-- CI status (+10 if passing)
-- PR description quality (+5 if detailed, +2 if present)
-- Test coverage (+3 if tests included)
-- Agent quality score from performance analyzer
-
-**Total Priority = Impact + Urgency + Quality**
-
-### Phase 4: Action Recommendations (5 minutes)
-
-Based on risk, priority, and quality, recommend one of these actions:
-
-**auto_merge:**
-- Risk: Low
-- Priority: Any
-- Quality: > 15 (Excellent/Good)
-- CI: Passing
-- Criteria: Safe changes (docs, tests, formatting) from trusted agents (quality > 80%)
-
-**fast_track:**
-- Risk: Medium or High
-- Priority: > 70
-- Quality: > 10
-- CI: Passing
-- Criteria: High-priority PRs needing quick review but not auto-mergeable
-
-**batch_review:**
-- Risk: Low or Medium
-- Priority: 30-70
-- Similarity: Similar to other PRs (same category, similar files)
-- Criteria: Group for efficient batch review
-
-**defer:**
-- Risk: Low
-- Priority: < 30
-- Criteria: Low-impact changes that can wait
-
-**close:**
-- Age: > 90 days with no activity
-- Status: Superseded by newer PR, outdated, invalid
-- CI: Failing for > 30 days with no fixes
-
-### Phase 5: Batch Processing (3 minutes)
-
-**5.1 Detect Similar PRs**
-
-Group PRs that are similar enough to review together:
-
-**Similarity Criteria:**
-- Same category and risk level
-- Overlapping file changes (> 50% file overlap)
-- Same agent workflow
-- Similar descriptions (keyword matching)
-
-**5.2 Generate Batch IDs**
-
-For each group of similar PRs (3+ PRs):
-- Create batch ID: `batch-{category}-{sequential-number}`
-- Example: `batch-docs-001`, `batch-test-002`
-
-### Phase 6: Label Application (2 minutes)
-
-For each PR, add the following labels:
-
-**Type Labels:**
-- `pr-type:bug`, `pr-type:feature`, `pr-type:docs`, `pr-type:test`, `pr-type:formatting`, `pr-type:refactor`, `pr-type:chore`
-
-**Risk Labels:**
-- `pr-risk:low`, `pr-risk:medium`, `pr-risk:high`
-
-**Priority Labels:**
-- `pr-priority:high` (score >= 70)
-- `pr-priority:medium` (score 40-69)
-- `pr-priority:low` (score < 40)
-
-**Action Labels:**
-- `pr-action:auto-merge`, `pr-action:fast-track`, `pr-action:batch-review`, `pr-action:defer`, `pr-action:close`
-
-**Agent Labels:**
-- `pr-agent:{workflow-name}` - Name of the workflow that created the PR
-
-**Batch Labels** (if applicable):
-- `pr-batch:{batch-id}` - Batch ID for similar PRs
-
-**Label Management:**
-- Remove existing conflicting labels before adding new ones
-- Keep non-triage labels intact (e.g., existing issue labels)
-
-### Phase 7: PR Comments (2 minutes)
-
-For each triaged PR, add a comment with the triage results:
-
-```markdown
-### 🔍 PR Triage Results
-
-**Category:** {category} | **Risk:** {risk} | **Priority:** {priority_score}/100
-
-### Scores Breakdown
-- **Impact:** {impact_score}/50 - {impact_rationale}
-- **Urgency:** {urgency_score}/30 - {urgency_rationale}
-- **Quality:** {quality_score}/20 - {quality_rationale}
-
-### 📋 Recommended Action: {action}
-
-{action_explanation}
-
-{batch_info_if_applicable}
-
----
-*Triaged by PR Triage Agent on {date}*
-```
-
-### Phase 8: Report Generation (3 minutes)
-
-Create a comprehensive triage report as a GitHub Issue:
-
-**Report Formatting**: Use h3 (###) or lower for all headers in the report. Wrap long sections (>10 items) in `Section Name
` tags to improve readability.
-
-**Report Structure:**
-
-```markdown
-### PR Triage Report - {date}
-
-### Executive Summary
-
-- **Total PRs Triaged:** {count}
-- **New PRs:** {new_count}
-- **Re-triaged:** {re_triage_count}
-- **Auto-merge Candidates:** {auto_merge_count}
-- **Fast-track Needed:** {fast_track_count}
-- **Batches Identified:** {batch_count}
-- **Close Candidates:** {close_count}
-
-### Triage Statistics
-
-
-By Category
-
-- Bug: {bug_count}
-- Feature: {feature_count}
-- Docs: {docs_count}
-- Test: {test_count}
-- Formatting: {formatting_count}
-- Refactor: {refactor_count}
-- Chore: {chore_count}
-
-
-
-
-By Risk Level
-
-- High Risk: {high_risk_count}
-- Medium Risk: {medium_risk_count}
-- Low Risk: {low_risk_count}
-
-
-
-
-By Priority
-
-- High Priority (70-100): {high_priority_count}
-- Medium Priority (40-69): {medium_priority_count}
-- Low Priority (0-39): {low_priority_count}
-
-
-
-#### By Recommended Action
-- Auto-merge: {auto_merge_count}
-- Fast-track: {fast_track_count}
-- Batch Review: {batch_review_count}
-- Defer: {defer_count}
-- Close: {close_count}
-
-### 🚀 Top Priority PRs (Top 10)
-
-{list_top_10_prs_with_scores_and_links}
-
-### ✅ Auto-merge Candidates
-
-{list_auto_merge_prs}
-
-### ⚡ Fast-track Review Needed
-
-{list_fast_track_prs}
-
-### 📦 Batch Processing Opportunities
-
-{list_batches_with_pr_numbers}
-
-### 🗑️ Close Candidates
-
-{list_close_candidate_prs_with_reasons}
-
-### 📊 Agent Performance Summary
-
-{summary_of_prs_by_agent_with_quality_scores}
-
-### 🔄 Trends
-
-{compare_to_previous_runs_if_available}
-
-### Next Steps
-
-1. Review auto-merge candidates for immediate merge
-2. Fast-track high-priority PRs for urgent review
-3. Schedule batch reviews for grouped PRs
-4. Close outdated/invalid PRs
-5. Re-triage in 6 hours for new PRs
-
----
-*Generated by PR Triage Agent - Run #{run_id}*
-```
-
-### Phase 9: Save State to Memory (1 minute)
-
-Save current triage state to repo memory for next run:
-
-**File: `/tmp/gh-aw/repo-memory/default/pr-triage-latest.json`**
-
-```json
-{
- "run_date": "ISO timestamp",
- "run_id": "run_id",
- "total_prs_triaged": 0,
- "auto_merge_candidates": [],
- "fast_track_needed": [],
- "batches": {},
- "close_candidates": [],
- "statistics": {
- "by_category": {},
- "by_risk": {},
- "by_priority": {},
- "by_action": {}
- }
-}
-```
-
-## Important Guidelines
-
-**Fair and Objective:**
-- Base all scores on measurable criteria
-- Don't penalize PRs from less active agents
-- Consider PR context and purpose
-- Acknowledge external factors (API issues, CI flakiness)
-
-**Actionable Results:**
-- Every triage result should lead to a clear action
-- Provide specific reasons for recommendations
-- Include links to PRs and relevant documentation
-- Make it easy for humans to act on recommendations
-
-**Efficient Processing:**
-- Batch similar operations (labeling, commenting)
-- Cache agent quality scores for reuse
-- Avoid redundant API calls
-- Process PRs in priority order
-
-**Continuous Improvement:**
-- Track triage accuracy over time
-- Learn from human overrides (PR labels manually changed)
-- Adjust scoring algorithms based on feedback
-- Improve batch detection with better similarity matching
+- Be consistent and criteria-driven.
+- Prefer actionable outputs over narration.
+- Handle edge cases: empty PR descriptions, mixed-change PRs, stale PRs, superseded PRs, and failing CI.
## Success Criteria
-Your effectiveness is measured by:
-- **Coverage:** 100% of open agent PRs triaged each run
-- **Accuracy:** 90%+ correct categorization and risk assessment
-- **Actionability:** Clear recommendations for every PR
-- **Backlog Reduction:** Enable processing of 605-PR backlog within 2 weeks
-- **Auto-merge Success:** High confidence in auto-merge candidates (no false positives)
-- **Batch Efficiency:** Reduce review time through effective batching
-
-## Edge Cases to Handle
-
-1. **PRs with no description**: Use file changes only for categorization
-2. **Mixed-type PRs**: Assign primary category based on most significant change
-3. **Very old PRs**: Increase urgency score but verify they're not obsolete
-4. **Conflicting labels**: Remove old triage labels, keep non-triage labels
-5. **Superseded PRs**: Identify duplicates and recommend closing older ones
-6. **CI failures**: Don't auto-merge, consider for fast-track if high priority
-
-Execute all phases systematically and maintain consistency in scoring and recommendations across all PRs.
+- 100% of eligible open fork PRs triaged.
+- Every triaged PR has labels + recommendation.
+- Report is easy to act on and concise.
{{#runtime-import .github/triage.md}}
diff --git a/.github/workflows/repo-tree-map.lock.yml b/.github/workflows/repo-tree-map.lock.yml
index fadbc3fa6cf..6e0f0a548a3 100644
--- a/.github/workflows/repo-tree-map.lock.yml
+++ b/.github/workflows/repo-tree-map.lock.yml
@@ -1,4 +1,4 @@
-# gh-aw-metadata: {"schema_version":"v4","frontmatter_hash":"5c58e091481cfc287381c2a68fd43a5cdd6ea1ee71b53e0b2d27553fdad5c163","body_hash":"2e30379af14fa2afdc18060006a9e8c9a02ddf8e91579f3f3a15627927b38a16","strict":true,"agent_id":"copilot","engine_versions":{"copilot":"1.0.60"}}
+# gh-aw-metadata: {"schema_version":"v4","frontmatter_hash":"5c58e091481cfc287381c2a68fd43a5cdd6ea1ee71b53e0b2d27553fdad5c163","body_hash":"a59cb60bda736f3d303dbad7afe0cc936f5946f43c24b7324a9cb0cf80aa17dd","strict":true,"agent_id":"copilot","engine_versions":{"copilot":"1.0.60"}}
# gh-aw-manifest: {"version":1,"secrets":["COPILOT_GITHUB_TOKEN","GH_AW_GITHUB_MCP_SERVER_TOKEN","GH_AW_GITHUB_TOKEN","GH_AW_OTEL_GRAFANA_AUTHORIZATION","GH_AW_OTEL_GRAFANA_ENDPOINT","GH_AW_OTEL_SENTRY_AUTHORIZATION","GH_AW_OTEL_SENTRY_ENDPOINT","GITHUB_TOKEN"],"actions":[{"repo":"actions/cache/restore","sha":"27d5ce7f107fe9357f9df03efb73ab90386fccae","version":"v5.0.5"},{"repo":"actions/cache/save","sha":"27d5ce7f107fe9357f9df03efb73ab90386fccae","version":"v5.0.5"},{"repo":"actions/checkout","sha":"df4cb1c069e1874edd31b4311f1884172cec0e10","version":"v6.0.3"},{"repo":"actions/download-artifact","sha":"3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c","version":"v8.0.1"},{"repo":"actions/github-script","sha":"3a2844b7e9c422d3c10d287c895573f7108da1b3","version":"v9.0.0"},{"repo":"actions/setup-node","sha":"48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e","version":"v6.4.0"},{"repo":"actions/upload-artifact","sha":"043fb46d1a93c77aae656e7c1c64a875d1fc6a0a","version":"v7.0.1"}],"containers":[{"image":"ghcr.io/github/gh-aw-firewall/agent:0.27.2","digest":"sha256:f88e5b17b6b7a600117bc121114d6ce2155c88c983c0c939c5df884f730fa1d6","pinned_image":"ghcr.io/github/gh-aw-firewall/agent:0.27.2@sha256:f88e5b17b6b7a600117bc121114d6ce2155c88c983c0c939c5df884f730fa1d6"},{"image":"ghcr.io/github/gh-aw-firewall/api-proxy:0.27.2","digest":"sha256:ee39841d980878ebbb87592903b06d31a1af500c71525c9616f7e8e2a27041a4","pinned_image":"ghcr.io/github/gh-aw-firewall/api-proxy:0.27.2@sha256:ee39841d980878ebbb87592903b06d31a1af500c71525c9616f7e8e2a27041a4"},{"image":"ghcr.io/github/gh-aw-firewall/squid:0.27.2","digest":"sha256:2e3a717e5f19a654cd9a2263beb52012b56bcb68562ec5ae2e42f9d156b49591","pinned_image":"ghcr.io/github/gh-aw-firewall/squid:0.27.2@sha256:2e3a717e5f19a654cd9a2263beb52012b56bcb68562ec5ae2e42f9d156b49591"},{"image":"ghcr.io/github/gh-aw-mcpg:v0.3.25","digest":"sha256:c10331ad17668ef89f38f5e356678788a40b0cd5fef96e8f92e1d9c1de47cbaa","pinned_image":"ghcr.io/github/gh-aw-mcpg:v0.3.25@sha256:c10331ad17668ef89f38f5e356678788a40b0cd5fef96e8f92e1d9c1de47cbaa"},{"image":"ghcr.io/github/github-mcp-server:v1.1.2","digest":"sha256:30197479d8036c7811892bc07e06f9a05c9ef3cdd79bc59f256d50647f95788c","pinned_image":"ghcr.io/github/github-mcp-server:v1.1.2@sha256:30197479d8036c7811892bc07e06f9a05c9ef3cdd79bc59f256d50647f95788c"}]}
# This file was automatically generated by gh-aw. DO NOT EDIT. To debug this workflow, load the skill at https://github.com/github/gh-aw/blob/main/debug.md
#
diff --git a/.github/workflows/research.lock.yml b/.github/workflows/research.lock.yml
index 7cd7b79d3b9..7ff730146d0 100644
--- a/.github/workflows/research.lock.yml
+++ b/.github/workflows/research.lock.yml
@@ -1,4 +1,4 @@
-# gh-aw-metadata: {"schema_version":"v4","frontmatter_hash":"4975f3e5157c3dcc5f53c25cf5c6e4a25e8f994fb631928ef6f0a2447697a92d","body_hash":"9bde5b0e7b1b23523830601e6b4bb32f3261a8276abb9f9b06a5c0b3b2530633","strict":true,"agent_id":"copilot","engine_versions":{"copilot":"1.0.60"}}
+# gh-aw-metadata: {"schema_version":"v4","frontmatter_hash":"4975f3e5157c3dcc5f53c25cf5c6e4a25e8f994fb631928ef6f0a2447697a92d","body_hash":"20031838b98aa964a7c20530b8aec1787871f8821e6dff15c5eafc6e250e939e","strict":true,"agent_id":"copilot","engine_versions":{"copilot":"1.0.60"}}
# gh-aw-manifest: {"version":1,"secrets":["COPILOT_GITHUB_TOKEN","GH_AW_GITHUB_MCP_SERVER_TOKEN","GH_AW_GITHUB_TOKEN","GH_AW_OTEL_GRAFANA_AUTHORIZATION","GH_AW_OTEL_GRAFANA_ENDPOINT","GH_AW_OTEL_SENTRY_AUTHORIZATION","GH_AW_OTEL_SENTRY_ENDPOINT","GITHUB_TOKEN","TAVILY_API_KEY"],"actions":[{"repo":"actions/cache/restore","sha":"27d5ce7f107fe9357f9df03efb73ab90386fccae","version":"v5.0.5"},{"repo":"actions/cache/save","sha":"27d5ce7f107fe9357f9df03efb73ab90386fccae","version":"v5.0.5"},{"repo":"actions/checkout","sha":"df4cb1c069e1874edd31b4311f1884172cec0e10","version":"v6.0.3"},{"repo":"actions/download-artifact","sha":"3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c","version":"v8.0.1"},{"repo":"actions/github-script","sha":"3a2844b7e9c422d3c10d287c895573f7108da1b3","version":"v9.0.0"},{"repo":"actions/setup-node","sha":"48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e","version":"v6.4.0"},{"repo":"actions/upload-artifact","sha":"043fb46d1a93c77aae656e7c1c64a875d1fc6a0a","version":"v7.0.1"}],"containers":[{"image":"ghcr.io/github/gh-aw-firewall/agent:0.27.2","digest":"sha256:f88e5b17b6b7a600117bc121114d6ce2155c88c983c0c939c5df884f730fa1d6","pinned_image":"ghcr.io/github/gh-aw-firewall/agent:0.27.2@sha256:f88e5b17b6b7a600117bc121114d6ce2155c88c983c0c939c5df884f730fa1d6"},{"image":"ghcr.io/github/gh-aw-firewall/api-proxy:0.27.2","digest":"sha256:ee39841d980878ebbb87592903b06d31a1af500c71525c9616f7e8e2a27041a4","pinned_image":"ghcr.io/github/gh-aw-firewall/api-proxy:0.27.2@sha256:ee39841d980878ebbb87592903b06d31a1af500c71525c9616f7e8e2a27041a4"},{"image":"ghcr.io/github/gh-aw-firewall/squid:0.27.2","digest":"sha256:2e3a717e5f19a654cd9a2263beb52012b56bcb68562ec5ae2e42f9d156b49591","pinned_image":"ghcr.io/github/gh-aw-firewall/squid:0.27.2@sha256:2e3a717e5f19a654cd9a2263beb52012b56bcb68562ec5ae2e42f9d156b49591"},{"image":"ghcr.io/github/gh-aw-mcpg:v0.3.25","digest":"sha256:c10331ad17668ef89f38f5e356678788a40b0cd5fef96e8f92e1d9c1de47cbaa","pinned_image":"ghcr.io/github/gh-aw-mcpg:v0.3.25@sha256:c10331ad17668ef89f38f5e356678788a40b0cd5fef96e8f92e1d9c1de47cbaa"},{"image":"ghcr.io/github/github-mcp-server:v1.1.2","digest":"sha256:30197479d8036c7811892bc07e06f9a05c9ef3cdd79bc59f256d50647f95788c","pinned_image":"ghcr.io/github/github-mcp-server:v1.1.2@sha256:30197479d8036c7811892bc07e06f9a05c9ef3cdd79bc59f256d50647f95788c"}]}
# This file was automatically generated by gh-aw. DO NOT EDIT. To debug this workflow, load the skill at https://github.com/github/gh-aw/blob/main/debug.md
#
diff --git a/.github/workflows/scout.lock.yml b/.github/workflows/scout.lock.yml
index feb682a56ef..af4204b8f7b 100644
--- a/.github/workflows/scout.lock.yml
+++ b/.github/workflows/scout.lock.yml
@@ -1,4 +1,4 @@
-# gh-aw-metadata: {"schema_version":"v4","frontmatter_hash":"3487f5a73d00e6bf7f4a0511723c3ab1293603acbe9c237bbd3f6f776a0b084c","body_hash":"e7d20af97149d8fbe05e73f1b20f7b6002479c8e4023737faf7f76243b9e6ca1","strict":true,"agent_id":"claude","engine_versions":{"claude":"2.1.168"}}
+# gh-aw-metadata: {"schema_version":"v4","frontmatter_hash":"3487f5a73d00e6bf7f4a0511723c3ab1293603acbe9c237bbd3f6f776a0b084c","body_hash":"92521fc5f76a4edf6f39cf129a2e77f16c0d7e85ce99a3f71d0ac051b0322c60","strict":true,"agent_id":"claude","engine_versions":{"claude":"2.1.168"}}
# gh-aw-manifest: {"version":1,"secrets":["ANTHROPIC_API_KEY","GH_AW_GITHUB_MCP_SERVER_TOKEN","GH_AW_GITHUB_TOKEN","GH_AW_OTEL_GRAFANA_AUTHORIZATION","GH_AW_OTEL_GRAFANA_ENDPOINT","GH_AW_OTEL_SENTRY_AUTHORIZATION","GH_AW_OTEL_SENTRY_ENDPOINT","GITHUB_TOKEN","TAVILY_API_KEY"],"actions":[{"repo":"actions/cache/restore","sha":"27d5ce7f107fe9357f9df03efb73ab90386fccae","version":"v5.0.5"},{"repo":"actions/cache/save","sha":"27d5ce7f107fe9357f9df03efb73ab90386fccae","version":"v5.0.5"},{"repo":"actions/checkout","sha":"df4cb1c069e1874edd31b4311f1884172cec0e10","version":"v6.0.3"},{"repo":"actions/download-artifact","sha":"3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c","version":"v8.0.1"},{"repo":"actions/github-script","sha":"3a2844b7e9c422d3c10d287c895573f7108da1b3","version":"v9.0.0"},{"repo":"actions/setup-node","sha":"48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e","version":"v6.4.0"},{"repo":"actions/upload-artifact","sha":"043fb46d1a93c77aae656e7c1c64a875d1fc6a0a","version":"v7.0.1"}],"containers":[{"image":"ghcr.io/github/gh-aw-firewall/agent:0.27.2","digest":"sha256:f88e5b17b6b7a600117bc121114d6ce2155c88c983c0c939c5df884f730fa1d6","pinned_image":"ghcr.io/github/gh-aw-firewall/agent:0.27.2@sha256:f88e5b17b6b7a600117bc121114d6ce2155c88c983c0c939c5df884f730fa1d6"},{"image":"ghcr.io/github/gh-aw-firewall/api-proxy:0.27.2","digest":"sha256:ee39841d980878ebbb87592903b06d31a1af500c71525c9616f7e8e2a27041a4","pinned_image":"ghcr.io/github/gh-aw-firewall/api-proxy:0.27.2@sha256:ee39841d980878ebbb87592903b06d31a1af500c71525c9616f7e8e2a27041a4"},{"image":"ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.2","digest":"sha256:02f3ec08f32dc26c5427920c6a2e2f3036238fce44802f2f11ef49ed8621b5d0","pinned_image":"ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.2@sha256:02f3ec08f32dc26c5427920c6a2e2f3036238fce44802f2f11ef49ed8621b5d0"},{"image":"ghcr.io/github/gh-aw-firewall/squid:0.27.2","digest":"sha256:2e3a717e5f19a654cd9a2263beb52012b56bcb68562ec5ae2e42f9d156b49591","pinned_image":"ghcr.io/github/gh-aw-firewall/squid:0.27.2@sha256:2e3a717e5f19a654cd9a2263beb52012b56bcb68562ec5ae2e42f9d156b49591"},{"image":"ghcr.io/github/gh-aw-mcpg:v0.3.25","digest":"sha256:c10331ad17668ef89f38f5e356678788a40b0cd5fef96e8f92e1d9c1de47cbaa","pinned_image":"ghcr.io/github/gh-aw-mcpg:v0.3.25@sha256:c10331ad17668ef89f38f5e356678788a40b0cd5fef96e8f92e1d9c1de47cbaa"},{"image":"ghcr.io/github/github-mcp-server:v1.1.2","digest":"sha256:30197479d8036c7811892bc07e06f9a05c9ef3cdd79bc59f256d50647f95788c","pinned_image":"ghcr.io/github/github-mcp-server:v1.1.2@sha256:30197479d8036c7811892bc07e06f9a05c9ef3cdd79bc59f256d50647f95788c"},{"image":"mcp/arxiv-mcp-server","digest":"sha256:6dc6bba6dfed97f4ad6eb8d23a5c98ef5b7fa6184937d54b2d675801cd9dd29e","pinned_image":"mcp/arxiv-mcp-server@sha256:6dc6bba6dfed97f4ad6eb8d23a5c98ef5b7fa6184937d54b2d675801cd9dd29e"},{"image":"mcp/markitdown","digest":"sha256:1cef3bf502503310ed0884441874ccf6cdaac20136dc1179797fa048269dc4cb","pinned_image":"mcp/markitdown@sha256:1cef3bf502503310ed0884441874ccf6cdaac20136dc1179797fa048269dc4cb"}]}
# This file was automatically generated by gh-aw. DO NOT EDIT. To debug this workflow, load the skill at https://github.com/github/gh-aw/blob/main/debug.md
#
diff --git a/.github/workflows/semantic-function-refactor.lock.yml b/.github/workflows/semantic-function-refactor.lock.yml
index f36bc1f7f1e..97332d4c3c2 100644
--- a/.github/workflows/semantic-function-refactor.lock.yml
+++ b/.github/workflows/semantic-function-refactor.lock.yml
@@ -1,4 +1,4 @@
-# gh-aw-metadata: {"schema_version":"v4","frontmatter_hash":"44d5c73caba208164b5027b6d0723bc6c80d6b2ffd83fcda2511ecb0a288d6f0","body_hash":"a7f2fd76a61f19009f49345cc708a6e11fdeba11e31a8dfd9f6a0d29ac7443ce","strict":true,"agent_id":"claude","engine_versions":{"claude":"2.1.168"}}
+# gh-aw-metadata: {"schema_version":"v4","frontmatter_hash":"44d5c73caba208164b5027b6d0723bc6c80d6b2ffd83fcda2511ecb0a288d6f0","body_hash":"a99db7d46e0b833ebf9e2c4a974a2ccfc7d27784973b5f0398e4c3f16cde6459","strict":true,"agent_id":"claude","engine_versions":{"claude":"2.1.168"}}
# gh-aw-manifest: {"version":1,"secrets":["ANTHROPIC_API_KEY","GH_AW_GITHUB_MCP_SERVER_TOKEN","GH_AW_GITHUB_TOKEN","GH_AW_OTEL_GRAFANA_AUTHORIZATION","GH_AW_OTEL_GRAFANA_ENDPOINT","GH_AW_OTEL_SENTRY_AUTHORIZATION","GH_AW_OTEL_SENTRY_ENDPOINT","GITHUB_TOKEN"],"actions":[{"repo":"actions/cache/restore","sha":"27d5ce7f107fe9357f9df03efb73ab90386fccae","version":"v5.0.5"},{"repo":"actions/cache/save","sha":"27d5ce7f107fe9357f9df03efb73ab90386fccae","version":"v5.0.5"},{"repo":"actions/checkout","sha":"df4cb1c069e1874edd31b4311f1884172cec0e10","version":"v6.0.3"},{"repo":"actions/download-artifact","sha":"3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c","version":"v8.0.1"},{"repo":"actions/github-script","sha":"3a2844b7e9c422d3c10d287c895573f7108da1b3","version":"v9.0.0"},{"repo":"actions/setup-node","sha":"48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e","version":"v6.4.0"},{"repo":"actions/upload-artifact","sha":"043fb46d1a93c77aae656e7c1c64a875d1fc6a0a","version":"v7.0.1"}],"containers":[{"image":"ghcr.io/github/gh-aw-firewall/agent:0.27.2","digest":"sha256:f88e5b17b6b7a600117bc121114d6ce2155c88c983c0c939c5df884f730fa1d6","pinned_image":"ghcr.io/github/gh-aw-firewall/agent:0.27.2@sha256:f88e5b17b6b7a600117bc121114d6ce2155c88c983c0c939c5df884f730fa1d6"},{"image":"ghcr.io/github/gh-aw-firewall/api-proxy:0.27.2","digest":"sha256:ee39841d980878ebbb87592903b06d31a1af500c71525c9616f7e8e2a27041a4","pinned_image":"ghcr.io/github/gh-aw-firewall/api-proxy:0.27.2@sha256:ee39841d980878ebbb87592903b06d31a1af500c71525c9616f7e8e2a27041a4"},{"image":"ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.2","digest":"sha256:02f3ec08f32dc26c5427920c6a2e2f3036238fce44802f2f11ef49ed8621b5d0","pinned_image":"ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.2@sha256:02f3ec08f32dc26c5427920c6a2e2f3036238fce44802f2f11ef49ed8621b5d0"},{"image":"ghcr.io/github/gh-aw-firewall/squid:0.27.2","digest":"sha256:2e3a717e5f19a654cd9a2263beb52012b56bcb68562ec5ae2e42f9d156b49591","pinned_image":"ghcr.io/github/gh-aw-firewall/squid:0.27.2@sha256:2e3a717e5f19a654cd9a2263beb52012b56bcb68562ec5ae2e42f9d156b49591"},{"image":"ghcr.io/github/gh-aw-mcpg:v0.3.25","digest":"sha256:c10331ad17668ef89f38f5e356678788a40b0cd5fef96e8f92e1d9c1de47cbaa","pinned_image":"ghcr.io/github/gh-aw-mcpg:v0.3.25@sha256:c10331ad17668ef89f38f5e356678788a40b0cd5fef96e8f92e1d9c1de47cbaa"},{"image":"ghcr.io/github/github-mcp-server:v1.1.2","digest":"sha256:30197479d8036c7811892bc07e06f9a05c9ef3cdd79bc59f256d50647f95788c","pinned_image":"ghcr.io/github/github-mcp-server:v1.1.2@sha256:30197479d8036c7811892bc07e06f9a05c9ef3cdd79bc59f256d50647f95788c"},{"image":"ghcr.io/github/serena-mcp-server:latest","digest":"sha256:bf343399e3725c45528f531a230f3a04521d4cdef29f9a5af6282ff0d3c393c5","pinned_image":"ghcr.io/github/serena-mcp-server:latest@sha256:bf343399e3725c45528f531a230f3a04521d4cdef29f9a5af6282ff0d3c393c5"}]}
# This file was automatically generated by gh-aw. DO NOT EDIT. To debug this workflow, load the skill at https://github.com/github/gh-aw/blob/main/debug.md
#
@@ -246,20 +246,20 @@ jobs:
run: |
bash "${RUNNER_TEMP}/gh-aw/actions/create_prompt_first.sh"
{
- cat << 'GH_AW_PROMPT_e43fbf985aa9f486_EOF'
+ cat << 'GH_AW_PROMPT_c580de9f20f4f701_EOF'
- GH_AW_PROMPT_e43fbf985aa9f486_EOF
+ GH_AW_PROMPT_c580de9f20f4f701_EOF
cat "${RUNNER_TEMP}/gh-aw/prompts/xpia.md"
cat "${RUNNER_TEMP}/gh-aw/prompts/temp_folder_prompt.md"
cat "${RUNNER_TEMP}/gh-aw/prompts/markdown.md"
cat "${RUNNER_TEMP}/gh-aw/prompts/safe_outputs_prompt.md"
- cat << 'GH_AW_PROMPT_e43fbf985aa9f486_EOF'
+ cat << 'GH_AW_PROMPT_c580de9f20f4f701_EOF'
Tools: create_issue, close_issue(max:10), missing_tool, missing_data, noop
- GH_AW_PROMPT_e43fbf985aa9f486_EOF
+ GH_AW_PROMPT_c580de9f20f4f701_EOF
cat "${RUNNER_TEMP}/gh-aw/prompts/mcp_cli_tools_prompt.md"
- cat << 'GH_AW_PROMPT_e43fbf985aa9f486_EOF'
+ cat << 'GH_AW_PROMPT_c580de9f20f4f701_EOF'
The following GitHub context information is available for this workflow:
{{#if github.actor}}
@@ -288,9 +288,9 @@ jobs:
{{/if}}
- GH_AW_PROMPT_e43fbf985aa9f486_EOF
+ GH_AW_PROMPT_c580de9f20f4f701_EOF
cat "${RUNNER_TEMP}/gh-aw/prompts/cli_proxy_with_safeoutputs_prompt.md"
- cat << 'GH_AW_PROMPT_e43fbf985aa9f486_EOF'
+ cat << 'GH_AW_PROMPT_c580de9f20f4f701_EOF'
{{#runtime-import .github/workflows/shared/go-source-analysis.md}}
{{#runtime-import .github/workflows/shared/otlp.md}}
@@ -298,36 +298,10 @@ jobs:
{{#runtime-import .github/workflows/shared/reporting.md}}
## Serena Code Analysis
- The Serena MCP server is configured for **["go"]** analysis in this workspace:
- - **Workspace**: `__GH_AW_GITHUB_WORKSPACE__`
- - **Memory**: `/tmp/gh-aw/cache-memory/serena/`
-
- ### Project Activation
-
- Before analyzing code, activate the Serena project:
- ```
- Tool: activate_project
- Args: { "path": "__GH_AW_GITHUB_WORKSPACE__" }
- ```
-
- ### Available Capabilities
-
- Serena provides IDE-grade Language Server Protocol (LSP) tools including:
- - **Symbol search**: `find_symbol` — locate functions, types, interfaces by name
- - **Navigation**: `find_referencing_symbols` — find all callers/usages of a symbol
- - **Type info**: `get_symbol_documentation` — hover-level type and doc information
- - **Code editing**: `replace_symbol_body`, `insert_after_symbol` — symbol-level edits
- - **Diagnostics**: `get_diagnostics` — compiler errors and linter warnings
-
- ### Analysis Guidelines
-
- 1. **Use semantic tools over text search** — prefer Serena's LSP tools over `grep`
- 2. **Activate project first** — always call `activate_project` before other tools
- 3. **Cross-reference findings** — validate with multiple tools for accuracy
- 4. **Focus on the relevant language files** — ignore unrelated file types
+ Serena is enabled for **["go"]** in `__GH_AW_GITHUB_WORKSPACE__`. Start by calling `activate_project` with that workspace path, then prefer Serena semantic tools for symbol lookup, references, docs, diagnostics, and structured edits.
{{#runtime-import .github/workflows/shared/noop-reminder.md}}
{{#runtime-import .github/workflows/semantic-function-refactor.md}}
- GH_AW_PROMPT_e43fbf985aa9f486_EOF
+ GH_AW_PROMPT_c580de9f20f4f701_EOF
} > "$GH_AW_PROMPT"
- name: Interpolate variables and render templates
uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
diff --git a/.github/workflows/sergo.lock.yml b/.github/workflows/sergo.lock.yml
index 72221daef09..4a9578384f1 100644
--- a/.github/workflows/sergo.lock.yml
+++ b/.github/workflows/sergo.lock.yml
@@ -248,21 +248,21 @@ jobs:
run: |
bash "${RUNNER_TEMP}/gh-aw/actions/create_prompt_first.sh"
{
- cat << 'GH_AW_PROMPT_cd99ee1506bc4a84_EOF'
+ cat << 'GH_AW_PROMPT_476e0e41b61c1784_EOF'
- GH_AW_PROMPT_cd99ee1506bc4a84_EOF
+ GH_AW_PROMPT_476e0e41b61c1784_EOF
cat "${RUNNER_TEMP}/gh-aw/prompts/xpia.md"
cat "${RUNNER_TEMP}/gh-aw/prompts/temp_folder_prompt.md"
cat "${RUNNER_TEMP}/gh-aw/prompts/markdown.md"
cat "${RUNNER_TEMP}/gh-aw/prompts/repo_memory_prompt.md"
cat "${RUNNER_TEMP}/gh-aw/prompts/safe_outputs_prompt.md"
- cat << 'GH_AW_PROMPT_cd99ee1506bc4a84_EOF'
+ cat << 'GH_AW_PROMPT_476e0e41b61c1784_EOF'
Tools: create_issue(max:3), create_discussion, missing_tool, missing_data, noop
- GH_AW_PROMPT_cd99ee1506bc4a84_EOF
+ GH_AW_PROMPT_476e0e41b61c1784_EOF
cat "${RUNNER_TEMP}/gh-aw/prompts/mcp_cli_tools_prompt.md"
- cat << 'GH_AW_PROMPT_cd99ee1506bc4a84_EOF'
+ cat << 'GH_AW_PROMPT_476e0e41b61c1784_EOF'
The following GitHub context information is available for this workflow:
{{#if github.actor}}
@@ -291,45 +291,19 @@ jobs:
{{/if}}
- GH_AW_PROMPT_cd99ee1506bc4a84_EOF
+ GH_AW_PROMPT_476e0e41b61c1784_EOF
cat "${RUNNER_TEMP}/gh-aw/prompts/cli_proxy_with_safeoutputs_prompt.md"
- cat << 'GH_AW_PROMPT_cd99ee1506bc4a84_EOF'
+ cat << 'GH_AW_PROMPT_476e0e41b61c1784_EOF'
{{#runtime-import .github/workflows/shared/mcp/serena-go.md}}
{{#runtime-import .github/workflows/shared/otlp.md}}
{{#runtime-import .github/workflows/shared/reporting.md}}
## Serena Code Analysis
- The Serena MCP server is configured for **["go"]** analysis in this workspace:
- - **Workspace**: `__GH_AW_GITHUB_WORKSPACE__`
- - **Memory**: `/tmp/gh-aw/cache-memory/serena/`
-
- ### Project Activation
-
- Before analyzing code, activate the Serena project:
- ```
- Tool: activate_project
- Args: { "path": "__GH_AW_GITHUB_WORKSPACE__" }
- ```
-
- ### Available Capabilities
-
- Serena provides IDE-grade Language Server Protocol (LSP) tools including:
- - **Symbol search**: `find_symbol` — locate functions, types, interfaces by name
- - **Navigation**: `find_referencing_symbols` — find all callers/usages of a symbol
- - **Type info**: `get_symbol_documentation` — hover-level type and doc information
- - **Code editing**: `replace_symbol_body`, `insert_after_symbol` — symbol-level edits
- - **Diagnostics**: `get_diagnostics` — compiler errors and linter warnings
-
- ### Analysis Guidelines
-
- 1. **Use semantic tools over text search** — prefer Serena's LSP tools over `grep`
- 2. **Activate project first** — always call `activate_project` before other tools
- 3. **Cross-reference findings** — validate with multiple tools for accuracy
- 4. **Focus on the relevant language files** — ignore unrelated file types
+ Serena is enabled for **["go"]** in `__GH_AW_GITHUB_WORKSPACE__`. Start by calling `activate_project` with that workspace path, then prefer Serena semantic tools for symbol lookup, references, docs, diagnostics, and structured edits.
{{#runtime-import .github/workflows/shared/noop-reminder.md}}
{{#runtime-import .github/workflows/sergo.md}}
- GH_AW_PROMPT_cd99ee1506bc4a84_EOF
+ GH_AW_PROMPT_476e0e41b61c1784_EOF
} > "$GH_AW_PROMPT"
- name: Interpolate variables and render templates
uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
diff --git a/.github/workflows/shared/go-source-analysis.md b/.github/workflows/shared/go-source-analysis.md
index fb7173d3663..4944a2015db 100644
--- a/.github/workflows/shared/go-source-analysis.md
+++ b/.github/workflows/shared/go-source-analysis.md
@@ -17,12 +17,4 @@ tools:
Serena Go LSP analysis is configured for this workspace. Standard bash tools for Go source navigation are available.
-### Bash Navigation Tools
-
-Use these bash tools to supplement Serena's semantic analysis:
-
-- `find pkg -name '*.go' ! -name '*_test.go' -type f` — list all non-test Go source files
-- `find pkg/ -maxdepth 1 -ls` / `find pkg/workflow/ -maxdepth 1 -ls` — explore directory structure
-- `wc -l pkg/**/*.go` — measure file sizes
-- `head -n * pkg/**/*.go` / `cat pkg/**/*.go` — read file contents
-- `grep -r 'func ' pkg --include='*.go'` — find all function definitions
\ No newline at end of file
+Use Serena semantic tools first; use the listed bash commands only for quick file discovery, sizing, and raw content checks.
\ No newline at end of file
diff --git a/.github/workflows/shared/mcp/serena.md b/.github/workflows/shared/mcp/serena.md
index 1ba26a09c22..cf77dae3c4f 100644
--- a/.github/workflows/shared/mcp/serena.md
+++ b/.github/workflows/shared/mcp/serena.md
@@ -45,30 +45,4 @@ mcp-servers:
## Serena Code Analysis
-The Serena MCP server is configured for **${{ github.aw.import-inputs.languages }}** analysis in this workspace:
-- **Workspace**: `${{ github.workspace }}`
-- **Memory**: `/tmp/gh-aw/cache-memory/serena/`
-
-### Project Activation
-
-Before analyzing code, activate the Serena project:
-```
-Tool: activate_project
-Args: { "path": "${{ github.workspace }}" }
-```
-
-### Available Capabilities
-
-Serena provides IDE-grade Language Server Protocol (LSP) tools including:
-- **Symbol search**: `find_symbol` — locate functions, types, interfaces by name
-- **Navigation**: `find_referencing_symbols` — find all callers/usages of a symbol
-- **Type info**: `get_symbol_documentation` — hover-level type and doc information
-- **Code editing**: `replace_symbol_body`, `insert_after_symbol` — symbol-level edits
-- **Diagnostics**: `get_diagnostics` — compiler errors and linter warnings
-
-### Analysis Guidelines
-
-1. **Use semantic tools over text search** — prefer Serena's LSP tools over `grep`
-2. **Activate project first** — always call `activate_project` before other tools
-3. **Cross-reference findings** — validate with multiple tools for accuracy
-4. **Focus on the relevant language files** — ignore unrelated file types
+Serena is enabled for **${{ github.aw.import-inputs.languages }}** in `${{ github.workspace }}`. Start by calling `activate_project` with that workspace path, then prefer Serena semantic tools for symbol lookup, references, docs, diagnostics, and structured edits.
diff --git a/.github/workflows/shared/reporting.md b/.github/workflows/shared/reporting.md
index 72d61b434ef..cfee3559cf9 100644
--- a/.github/workflows/shared/reporting.md
+++ b/.github/workflows/shared/reporting.md
@@ -4,67 +4,9 @@
## Report Structure Guidelines
-### 1. Header Levels
-**Use h3 (###) or lower for all headers in your issue report to maintain proper document hierarchy.**
-
-When creating GitHub issues or discussions:
-- Use `###` (h3) for main sections (e.g., "### Test Summary")
-- Use `####` (h4) for subsections (e.g., "#### Device-Specific Results")
-- Never use `##` (h2) or `#` (h1) in reports - these are reserved for titles
-
-### 2. Progressive Disclosure
-**Wrap detailed test results in `Section Name
` tags to improve readability and reduce scrolling.**
-
-Use collapsible sections for:
-- Verbose details (full test logs, raw data)
-- Secondary information (minor warnings, extra context)
-- Per-item breakdowns when there are many items
-
-Always keep critical information visible (summary, critical issues, key metrics).
-
-### 3. Report Structure Pattern
-
-1. **Overview**: 1-2 paragraphs summarizing key findings
-2. **Critical Information**: Show immediately (summary stats, critical issues)
-3. **Details**: Use `Section Name
` for expanded content
-4. **Context**: Add helpful metadata (workflow run, date, trigger)
-
-### Design Principles (Airbnb-Inspired)
-
-Reports should:
-- **Build trust through clarity**: Most important info immediately visible
-- **Exceed expectations**: Add helpful context like trends, comparisons
-- **Create delight**: Use progressive disclosure to reduce overwhelm
-- **Maintain consistency**: Follow patterns across all reports
-
-### Example Report Structure
-
-```markdown
-### Summary
-- Key metric 1: value
-- Key metric 2: value
-- Status: ✅/⚠️/❌
-
-### Critical Issues
-[Always visible - these are important]
-
-
-View Detailed Results
-
-[Comprehensive details, logs, traces]
-
-
-
-
-View All Warnings
-
-[Minor issues and potential problems]
-
-
-
-### Recommendations
-[Actionable next steps - keep visible]
-```
+- Use `###` (or lower) headers only.
+- Keep summary and critical actions visible; move long detail into `` blocks.
+- Structure reports as: overview → key metrics/issues → collapsible detail → next actions.
## Workflow Run References
diff --git a/.github/workflows/smoke-codex.lock.yml b/.github/workflows/smoke-codex.lock.yml
index af81e8d434c..a7c4db489f8 100644
--- a/.github/workflows/smoke-codex.lock.yml
+++ b/.github/workflows/smoke-codex.lock.yml
@@ -307,25 +307,25 @@ jobs:
run: |
bash "${RUNNER_TEMP}/gh-aw/actions/create_prompt_first.sh"
{
- cat << 'GH_AW_PROMPT_1f0b16eeaf0f65ee_EOF'
+ cat << 'GH_AW_PROMPT_370ba7656cfd048e_EOF'
- GH_AW_PROMPT_1f0b16eeaf0f65ee_EOF
+ GH_AW_PROMPT_370ba7656cfd048e_EOF
cat "${RUNNER_TEMP}/gh-aw/prompts/xpia.md"
cat "${RUNNER_TEMP}/gh-aw/prompts/temp_folder_prompt.md"
cat "${RUNNER_TEMP}/gh-aw/prompts/markdown.md"
cat "${RUNNER_TEMP}/gh-aw/prompts/playwright_prompt.md"
cat "${RUNNER_TEMP}/gh-aw/prompts/cache_memory_prompt.md"
cat "${RUNNER_TEMP}/gh-aw/prompts/safe_outputs_prompt.md"
- cat << 'GH_AW_PROMPT_1f0b16eeaf0f65ee_EOF'
+ cat << 'GH_AW_PROMPT_370ba7656cfd048e_EOF'
Tools: add_comment(max:2), create_issue, add_labels, remove_labels, unassign_from_user, hide_comment(max:5), set_issue_field, missing_tool, missing_data, noop, add_smoked_label
- GH_AW_PROMPT_1f0b16eeaf0f65ee_EOF
+ GH_AW_PROMPT_370ba7656cfd048e_EOF
cat "${RUNNER_TEMP}/gh-aw/prompts/safe_outputs_comment_memory.md"
- cat << 'GH_AW_PROMPT_1f0b16eeaf0f65ee_EOF'
+ cat << 'GH_AW_PROMPT_370ba7656cfd048e_EOF'
- GH_AW_PROMPT_1f0b16eeaf0f65ee_EOF
+ GH_AW_PROMPT_370ba7656cfd048e_EOF
cat "${RUNNER_TEMP}/gh-aw/prompts/mcp_cli_tools_prompt.md"
- cat << 'GH_AW_PROMPT_1f0b16eeaf0f65ee_EOF'
+ cat << 'GH_AW_PROMPT_370ba7656cfd048e_EOF'
The following GitHub context information is available for this workflow:
{{#if github.actor}}
@@ -367,12 +367,12 @@ jobs:
stop immediately and report the limitation rather than spending turns trying to work around it.
- GH_AW_PROMPT_1f0b16eeaf0f65ee_EOF
+ GH_AW_PROMPT_370ba7656cfd048e_EOF
cat "${RUNNER_TEMP}/gh-aw/prompts/cli_proxy_with_safeoutputs_prompt.md"
if [ "$GITHUB_EVENT_NAME" = "issue_comment" ] && [ -n "$GH_AW_IS_PR_COMMENT" ] || [ "$GITHUB_EVENT_NAME" = "pull_request_review_comment" ] || [ "$GITHUB_EVENT_NAME" = "pull_request_review" ]; then
cat "${RUNNER_TEMP}/gh-aw/prompts/pr_context_prompt.md"
fi
- cat << 'GH_AW_PROMPT_1f0b16eeaf0f65ee_EOF'
+ cat << 'GH_AW_PROMPT_370ba7656cfd048e_EOF'
{{#runtime-import .github/workflows/shared/gh.md}}
{{#runtime-import .github/workflows/shared/reporting-otlp.md}}
@@ -382,36 +382,10 @@ jobs:
{{#runtime-import .github/workflows/shared/reporting.md}}
## Serena Code Analysis
- The Serena MCP server is configured for **["go"]** analysis in this workspace:
- - **Workspace**: `__GH_AW_GITHUB_WORKSPACE__`
- - **Memory**: `/tmp/gh-aw/cache-memory/serena/`
-
- ### Project Activation
-
- Before analyzing code, activate the Serena project:
- ```
- Tool: activate_project
- Args: { "path": "__GH_AW_GITHUB_WORKSPACE__" }
- ```
-
- ### Available Capabilities
-
- Serena provides IDE-grade Language Server Protocol (LSP) tools including:
- - **Symbol search**: `find_symbol` — locate functions, types, interfaces by name
- - **Navigation**: `find_referencing_symbols` — find all callers/usages of a symbol
- - **Type info**: `get_symbol_documentation` — hover-level type and doc information
- - **Code editing**: `replace_symbol_body`, `insert_after_symbol` — symbol-level edits
- - **Diagnostics**: `get_diagnostics` — compiler errors and linter warnings
-
- ### Analysis Guidelines
-
- 1. **Use semantic tools over text search** — prefer Serena's LSP tools over `grep`
- 2. **Activate project first** — always call `activate_project` before other tools
- 3. **Cross-reference findings** — validate with multiple tools for accuracy
- 4. **Focus on the relevant language files** — ignore unrelated file types
+ Serena is enabled for **["go"]** in `__GH_AW_GITHUB_WORKSPACE__`. Start by calling `activate_project` with that workspace path, then prefer Serena semantic tools for symbol lookup, references, docs, diagnostics, and structured edits.
{{#runtime-import .github/workflows/shared/noop-reminder.md}}
{{#runtime-import .github/workflows/smoke-codex.md}}
- GH_AW_PROMPT_1f0b16eeaf0f65ee_EOF
+ GH_AW_PROMPT_370ba7656cfd048e_EOF
} > "$GH_AW_PROMPT"
- name: Interpolate variables and render templates
uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
diff --git a/.github/workflows/smoke-copilot-aoai-apikey.lock.yml b/.github/workflows/smoke-copilot-aoai-apikey.lock.yml
index a0109394e8a..f14a4146129 100644
--- a/.github/workflows/smoke-copilot-aoai-apikey.lock.yml
+++ b/.github/workflows/smoke-copilot-aoai-apikey.lock.yml
@@ -1,4 +1,4 @@
-# gh-aw-metadata: {"schema_version":"v4","frontmatter_hash":"a6eed4eb255073210f1baefec5fe1a60df7714e52455b24122e159921d77921c","body_hash":"3dd365cb3526073cdea10f5984fb3c3474631f71c70465ee2ee84cc423f74cc5","agent_id":"copilot","agent_model":"o4-mini-aw","engine_versions":{"copilot":"1.0.60"}}
+# gh-aw-metadata: {"schema_version":"v4","frontmatter_hash":"a6eed4eb255073210f1baefec5fe1a60df7714e52455b24122e159921d77921c","body_hash":"6112c1aeca076815d2a84819df94447ce3611986d2a41f6034877d0c160c6db5","agent_id":"copilot","agent_model":"o4-mini-aw","engine_versions":{"copilot":"1.0.60"}}
# gh-aw-manifest: {"version":1,"secrets":["FOUNDRY_API_KEY","FOUNDRY_OPENAI_ENDPOINT","GH_AW_GITHUB_MCP_SERVER_TOKEN","GH_AW_GITHUB_TOKEN","GH_AW_OTEL_GRAFANA_AUTHORIZATION","GH_AW_OTEL_GRAFANA_ENDPOINT","GH_AW_OTEL_SENTRY_AUTHORIZATION","GH_AW_OTEL_SENTRY_ENDPOINT","GITHUB_TOKEN"],"actions":[{"repo":"actions/cache/restore","sha":"27d5ce7f107fe9357f9df03efb73ab90386fccae","version":"v5.0.5"},{"repo":"actions/cache/save","sha":"27d5ce7f107fe9357f9df03efb73ab90386fccae","version":"v5.0.5"},{"repo":"actions/checkout","sha":"df4cb1c069e1874edd31b4311f1884172cec0e10","version":"v6.0.3"},{"repo":"actions/download-artifact","sha":"3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c","version":"v8.0.1"},{"repo":"actions/github-script","sha":"3a2844b7e9c422d3c10d287c895573f7108da1b3","version":"v9.0.0"},{"repo":"actions/setup-go","sha":"4a3601121dd01d1626a1e23e37211e3254c1c06c","version":"v6.4.0"},{"repo":"actions/setup-node","sha":"48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e","version":"v6.4.0"},{"repo":"actions/upload-artifact","sha":"043fb46d1a93c77aae656e7c1c64a875d1fc6a0a","version":"v7.0.1"},{"repo":"docker/build-push-action","sha":"f9f3042f7e2789586610d6e8b85c8f03e5195baf","version":"v7.2.0"},{"repo":"docker/setup-buildx-action","sha":"d7f5e7f509e45cec5c76c4d5afdd7de93d0b3df5","version":"v4.1.0"}],"containers":[{"image":"ghcr.io/github/gh-aw-firewall/agent:0.27.2","digest":"sha256:f88e5b17b6b7a600117bc121114d6ce2155c88c983c0c939c5df884f730fa1d6","pinned_image":"ghcr.io/github/gh-aw-firewall/agent:0.27.2@sha256:f88e5b17b6b7a600117bc121114d6ce2155c88c983c0c939c5df884f730fa1d6"},{"image":"ghcr.io/github/gh-aw-firewall/api-proxy:0.27.2","digest":"sha256:ee39841d980878ebbb87592903b06d31a1af500c71525c9616f7e8e2a27041a4","pinned_image":"ghcr.io/github/gh-aw-firewall/api-proxy:0.27.2@sha256:ee39841d980878ebbb87592903b06d31a1af500c71525c9616f7e8e2a27041a4"},{"image":"ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.2","digest":"sha256:02f3ec08f32dc26c5427920c6a2e2f3036238fce44802f2f11ef49ed8621b5d0","pinned_image":"ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.2@sha256:02f3ec08f32dc26c5427920c6a2e2f3036238fce44802f2f11ef49ed8621b5d0"},{"image":"ghcr.io/github/gh-aw-firewall/squid:0.27.2","digest":"sha256:2e3a717e5f19a654cd9a2263beb52012b56bcb68562ec5ae2e42f9d156b49591","pinned_image":"ghcr.io/github/gh-aw-firewall/squid:0.27.2@sha256:2e3a717e5f19a654cd9a2263beb52012b56bcb68562ec5ae2e42f9d156b49591"},{"image":"ghcr.io/github/gh-aw-mcpg:v0.3.25","digest":"sha256:c10331ad17668ef89f38f5e356678788a40b0cd5fef96e8f92e1d9c1de47cbaa","pinned_image":"ghcr.io/github/gh-aw-mcpg:v0.3.25@sha256:c10331ad17668ef89f38f5e356678788a40b0cd5fef96e8f92e1d9c1de47cbaa"},{"image":"ghcr.io/github/github-mcp-server:v1.1.2","digest":"sha256:30197479d8036c7811892bc07e06f9a05c9ef3cdd79bc59f256d50647f95788c","pinned_image":"ghcr.io/github/github-mcp-server:v1.1.2@sha256:30197479d8036c7811892bc07e06f9a05c9ef3cdd79bc59f256d50647f95788c"},{"image":"ghcr.io/github/serena-mcp-server:latest","digest":"sha256:bf343399e3725c45528f531a230f3a04521d4cdef29f9a5af6282ff0d3c393c5","pinned_image":"ghcr.io/github/serena-mcp-server:latest@sha256:bf343399e3725c45528f531a230f3a04521d4cdef29f9a5af6282ff0d3c393c5"}]}
# This file was automatically generated by gh-aw. DO NOT EDIT. To debug this workflow, load the skill at https://github.com/github/gh-aw/blob/main/debug.md
#
@@ -350,25 +350,25 @@ jobs:
run: |
bash "${RUNNER_TEMP}/gh-aw/actions/create_prompt_first.sh"
{
- cat << 'GH_AW_PROMPT_0fbfbec66867f46c_EOF'
+ cat << 'GH_AW_PROMPT_763df7d7cf5ba93e_EOF'
- GH_AW_PROMPT_0fbfbec66867f46c_EOF
+ GH_AW_PROMPT_763df7d7cf5ba93e_EOF
cat "${RUNNER_TEMP}/gh-aw/prompts/xpia.md"
cat "${RUNNER_TEMP}/gh-aw/prompts/temp_folder_prompt.md"
cat "${RUNNER_TEMP}/gh-aw/prompts/markdown.md"
cat "${RUNNER_TEMP}/gh-aw/prompts/playwright_prompt.md"
cat "${RUNNER_TEMP}/gh-aw/prompts/cache_memory_prompt.md"
cat "${RUNNER_TEMP}/gh-aw/prompts/safe_outputs_prompt.md"
- cat << 'GH_AW_PROMPT_0fbfbec66867f46c_EOF'
+ cat << 'GH_AW_PROMPT_763df7d7cf5ba93e_EOF'
Tools: add_comment(max:2), create_issue, create_discussion, create_pull_request_review_comment(max:5), submit_pull_request_review, reply_to_pull_request_review_comment(max:5), add_labels, remove_labels, create_check_run, set_issue_type, dispatch_workflow, missing_tool, missing_data, noop, send_slack_message
- GH_AW_PROMPT_0fbfbec66867f46c_EOF
+ GH_AW_PROMPT_763df7d7cf5ba93e_EOF
cat "${RUNNER_TEMP}/gh-aw/prompts/safe_outputs_comment_memory.md"
- cat << 'GH_AW_PROMPT_0fbfbec66867f46c_EOF'
+ cat << 'GH_AW_PROMPT_763df7d7cf5ba93e_EOF'
- GH_AW_PROMPT_0fbfbec66867f46c_EOF
+ GH_AW_PROMPT_763df7d7cf5ba93e_EOF
cat "${RUNNER_TEMP}/gh-aw/prompts/mcp_cli_tools_prompt.md"
- cat << 'GH_AW_PROMPT_0fbfbec66867f46c_EOF'
+ cat << 'GH_AW_PROMPT_763df7d7cf5ba93e_EOF'
The following GitHub context information is available for this workflow:
{{#if github.actor}}
@@ -397,12 +397,12 @@ jobs:
{{/if}}
- GH_AW_PROMPT_0fbfbec66867f46c_EOF
+ GH_AW_PROMPT_763df7d7cf5ba93e_EOF
cat "${RUNNER_TEMP}/gh-aw/prompts/cli_proxy_with_safeoutputs_prompt.md"
if [ "$GITHUB_EVENT_NAME" = "issue_comment" ] && [ -n "$GH_AW_IS_PR_COMMENT" ] || [ "$GITHUB_EVENT_NAME" = "pull_request_review_comment" ] || [ "$GITHUB_EVENT_NAME" = "pull_request_review" ]; then
cat "${RUNNER_TEMP}/gh-aw/prompts/pr_context_prompt.md"
fi
- cat << 'GH_AW_PROMPT_0fbfbec66867f46c_EOF'
+ cat << 'GH_AW_PROMPT_763df7d7cf5ba93e_EOF'
{{#runtime-import .github/workflows/shared/github-guard-policy.md}}
{{#runtime-import .github/workflows/shared/gh.md}}
@@ -412,36 +412,10 @@ jobs:
{{#runtime-import .github/workflows/shared/otlp.md}}
## Serena Code Analysis
- The Serena MCP server is configured for **["go"]** analysis in this workspace:
- - **Workspace**: `__GH_AW_GITHUB_WORKSPACE__`
- - **Memory**: `/tmp/gh-aw/cache-memory/serena/`
-
- ### Project Activation
-
- Before analyzing code, activate the Serena project:
- ```
- Tool: activate_project
- Args: { "path": "__GH_AW_GITHUB_WORKSPACE__" }
- ```
-
- ### Available Capabilities
-
- Serena provides IDE-grade Language Server Protocol (LSP) tools including:
- - **Symbol search**: `find_symbol` — locate functions, types, interfaces by name
- - **Navigation**: `find_referencing_symbols` — find all callers/usages of a symbol
- - **Type info**: `get_symbol_documentation` — hover-level type and doc information
- - **Code editing**: `replace_symbol_body`, `insert_after_symbol` — symbol-level edits
- - **Diagnostics**: `get_diagnostics` — compiler errors and linter warnings
-
- ### Analysis Guidelines
-
- 1. **Use semantic tools over text search** — prefer Serena's LSP tools over `grep`
- 2. **Activate project first** — always call `activate_project` before other tools
- 3. **Cross-reference findings** — validate with multiple tools for accuracy
- 4. **Focus on the relevant language files** — ignore unrelated file types
+ Serena is enabled for **["go"]** in `__GH_AW_GITHUB_WORKSPACE__`. Start by calling `activate_project` with that workspace path, then prefer Serena semantic tools for symbol lookup, references, docs, diagnostics, and structured edits.
{{#runtime-import .github/workflows/shared/noop-reminder.md}}
{{#runtime-import .github/workflows/smoke-copilot-aoai-apikey.md}}
- GH_AW_PROMPT_0fbfbec66867f46c_EOF
+ GH_AW_PROMPT_763df7d7cf5ba93e_EOF
} > "$GH_AW_PROMPT"
- name: Interpolate variables and render templates
uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
diff --git a/.github/workflows/smoke-copilot-aoai-entra.lock.yml b/.github/workflows/smoke-copilot-aoai-entra.lock.yml
index a13b89fee36..29b83384bd4 100644
--- a/.github/workflows/smoke-copilot-aoai-entra.lock.yml
+++ b/.github/workflows/smoke-copilot-aoai-entra.lock.yml
@@ -1,4 +1,4 @@
-# gh-aw-metadata: {"schema_version":"v4","frontmatter_hash":"aba61bc550265ab03dbf7a4c1c330fbe8dee427169fa180fe08975529ea0026b","body_hash":"544a4bb8ccad1f2b14e10c580fbd23705eb8196559fb5606a048c9f8415a9b0c","agent_id":"copilot","agent_model":"o4-mini-aw","engine_versions":{"copilot":"1.0.60"}}
+# gh-aw-metadata: {"schema_version":"v4","frontmatter_hash":"aba61bc550265ab03dbf7a4c1c330fbe8dee427169fa180fe08975529ea0026b","body_hash":"28391c920f1e2f0de620798cc3026b8a4ab4412ee5a9d9d0a158f5a06fc976f5","agent_id":"copilot","agent_model":"o4-mini-aw","engine_versions":{"copilot":"1.0.60"}}
# gh-aw-manifest: {"version":1,"secrets":["FOUNDRY_OPENAI_ENDPOINT","GH_AW_GITHUB_MCP_SERVER_TOKEN","GH_AW_GITHUB_TOKEN","GH_AW_OTEL_GRAFANA_AUTHORIZATION","GH_AW_OTEL_GRAFANA_ENDPOINT","GH_AW_OTEL_SENTRY_AUTHORIZATION","GH_AW_OTEL_SENTRY_ENDPOINT","GITHUB_TOKEN"],"actions":[{"repo":"actions/cache/restore","sha":"27d5ce7f107fe9357f9df03efb73ab90386fccae","version":"v5.0.5"},{"repo":"actions/cache/save","sha":"27d5ce7f107fe9357f9df03efb73ab90386fccae","version":"v5.0.5"},{"repo":"actions/checkout","sha":"df4cb1c069e1874edd31b4311f1884172cec0e10","version":"v6.0.3"},{"repo":"actions/download-artifact","sha":"3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c","version":"v8.0.1"},{"repo":"actions/github-script","sha":"3a2844b7e9c422d3c10d287c895573f7108da1b3","version":"v9.0.0"},{"repo":"actions/setup-go","sha":"4a3601121dd01d1626a1e23e37211e3254c1c06c","version":"v6.4.0"},{"repo":"actions/setup-node","sha":"48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e","version":"v6.4.0"},{"repo":"actions/upload-artifact","sha":"043fb46d1a93c77aae656e7c1c64a875d1fc6a0a","version":"v7.0.1"},{"repo":"docker/build-push-action","sha":"f9f3042f7e2789586610d6e8b85c8f03e5195baf","version":"v7.2.0"},{"repo":"docker/setup-buildx-action","sha":"d7f5e7f509e45cec5c76c4d5afdd7de93d0b3df5","version":"v4.1.0"}],"containers":[{"image":"ghcr.io/github/gh-aw-firewall/agent:0.27.2","digest":"sha256:f88e5b17b6b7a600117bc121114d6ce2155c88c983c0c939c5df884f730fa1d6","pinned_image":"ghcr.io/github/gh-aw-firewall/agent:0.27.2@sha256:f88e5b17b6b7a600117bc121114d6ce2155c88c983c0c939c5df884f730fa1d6"},{"image":"ghcr.io/github/gh-aw-firewall/api-proxy:0.27.2","digest":"sha256:ee39841d980878ebbb87592903b06d31a1af500c71525c9616f7e8e2a27041a4","pinned_image":"ghcr.io/github/gh-aw-firewall/api-proxy:0.27.2@sha256:ee39841d980878ebbb87592903b06d31a1af500c71525c9616f7e8e2a27041a4"},{"image":"ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.2","digest":"sha256:02f3ec08f32dc26c5427920c6a2e2f3036238fce44802f2f11ef49ed8621b5d0","pinned_image":"ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.2@sha256:02f3ec08f32dc26c5427920c6a2e2f3036238fce44802f2f11ef49ed8621b5d0"},{"image":"ghcr.io/github/gh-aw-firewall/squid:0.27.2","digest":"sha256:2e3a717e5f19a654cd9a2263beb52012b56bcb68562ec5ae2e42f9d156b49591","pinned_image":"ghcr.io/github/gh-aw-firewall/squid:0.27.2@sha256:2e3a717e5f19a654cd9a2263beb52012b56bcb68562ec5ae2e42f9d156b49591"},{"image":"ghcr.io/github/gh-aw-mcpg:v0.3.25","digest":"sha256:c10331ad17668ef89f38f5e356678788a40b0cd5fef96e8f92e1d9c1de47cbaa","pinned_image":"ghcr.io/github/gh-aw-mcpg:v0.3.25@sha256:c10331ad17668ef89f38f5e356678788a40b0cd5fef96e8f92e1d9c1de47cbaa"},{"image":"ghcr.io/github/github-mcp-server:v1.1.2","digest":"sha256:30197479d8036c7811892bc07e06f9a05c9ef3cdd79bc59f256d50647f95788c","pinned_image":"ghcr.io/github/github-mcp-server:v1.1.2@sha256:30197479d8036c7811892bc07e06f9a05c9ef3cdd79bc59f256d50647f95788c"},{"image":"ghcr.io/github/serena-mcp-server:latest","digest":"sha256:bf343399e3725c45528f531a230f3a04521d4cdef29f9a5af6282ff0d3c393c5","pinned_image":"ghcr.io/github/serena-mcp-server:latest@sha256:bf343399e3725c45528f531a230f3a04521d4cdef29f9a5af6282ff0d3c393c5"}]}
# This file was automatically generated by gh-aw. DO NOT EDIT. To debug this workflow, load the skill at https://github.com/github/gh-aw/blob/main/debug.md
#
@@ -349,25 +349,25 @@ jobs:
run: |
bash "${RUNNER_TEMP}/gh-aw/actions/create_prompt_first.sh"
{
- cat << 'GH_AW_PROMPT_32194ed40fd02c9a_EOF'
+ cat << 'GH_AW_PROMPT_9d9b05f821ba5ebb_EOF'
- GH_AW_PROMPT_32194ed40fd02c9a_EOF
+ GH_AW_PROMPT_9d9b05f821ba5ebb_EOF
cat "${RUNNER_TEMP}/gh-aw/prompts/xpia.md"
cat "${RUNNER_TEMP}/gh-aw/prompts/temp_folder_prompt.md"
cat "${RUNNER_TEMP}/gh-aw/prompts/markdown.md"
cat "${RUNNER_TEMP}/gh-aw/prompts/playwright_prompt.md"
cat "${RUNNER_TEMP}/gh-aw/prompts/cache_memory_prompt.md"
cat "${RUNNER_TEMP}/gh-aw/prompts/safe_outputs_prompt.md"
- cat << 'GH_AW_PROMPT_32194ed40fd02c9a_EOF'
+ cat << 'GH_AW_PROMPT_9d9b05f821ba5ebb_EOF'
Tools: add_comment(max:2), create_issue, create_discussion, create_pull_request_review_comment(max:5), submit_pull_request_review, reply_to_pull_request_review_comment(max:5), add_labels, remove_labels, create_check_run, set_issue_type, dispatch_workflow, missing_tool, missing_data, noop, send_slack_message
- GH_AW_PROMPT_32194ed40fd02c9a_EOF
+ GH_AW_PROMPT_9d9b05f821ba5ebb_EOF
cat "${RUNNER_TEMP}/gh-aw/prompts/safe_outputs_comment_memory.md"
- cat << 'GH_AW_PROMPT_32194ed40fd02c9a_EOF'
+ cat << 'GH_AW_PROMPT_9d9b05f821ba5ebb_EOF'
- GH_AW_PROMPT_32194ed40fd02c9a_EOF
+ GH_AW_PROMPT_9d9b05f821ba5ebb_EOF
cat "${RUNNER_TEMP}/gh-aw/prompts/mcp_cli_tools_prompt.md"
- cat << 'GH_AW_PROMPT_32194ed40fd02c9a_EOF'
+ cat << 'GH_AW_PROMPT_9d9b05f821ba5ebb_EOF'
The following GitHub context information is available for this workflow:
{{#if github.actor}}
@@ -396,12 +396,12 @@ jobs:
{{/if}}
- GH_AW_PROMPT_32194ed40fd02c9a_EOF
+ GH_AW_PROMPT_9d9b05f821ba5ebb_EOF
cat "${RUNNER_TEMP}/gh-aw/prompts/cli_proxy_with_safeoutputs_prompt.md"
if [ "$GITHUB_EVENT_NAME" = "issue_comment" ] && [ -n "$GH_AW_IS_PR_COMMENT" ] || [ "$GITHUB_EVENT_NAME" = "pull_request_review_comment" ] || [ "$GITHUB_EVENT_NAME" = "pull_request_review" ]; then
cat "${RUNNER_TEMP}/gh-aw/prompts/pr_context_prompt.md"
fi
- cat << 'GH_AW_PROMPT_32194ed40fd02c9a_EOF'
+ cat << 'GH_AW_PROMPT_9d9b05f821ba5ebb_EOF'
{{#runtime-import .github/workflows/shared/github-guard-policy.md}}
{{#runtime-import .github/workflows/shared/gh.md}}
@@ -411,36 +411,10 @@ jobs:
{{#runtime-import .github/workflows/shared/otlp.md}}
## Serena Code Analysis
- The Serena MCP server is configured for **["go"]** analysis in this workspace:
- - **Workspace**: `__GH_AW_GITHUB_WORKSPACE__`
- - **Memory**: `/tmp/gh-aw/cache-memory/serena/`
-
- ### Project Activation
-
- Before analyzing code, activate the Serena project:
- ```
- Tool: activate_project
- Args: { "path": "__GH_AW_GITHUB_WORKSPACE__" }
- ```
-
- ### Available Capabilities
-
- Serena provides IDE-grade Language Server Protocol (LSP) tools including:
- - **Symbol search**: `find_symbol` — locate functions, types, interfaces by name
- - **Navigation**: `find_referencing_symbols` — find all callers/usages of a symbol
- - **Type info**: `get_symbol_documentation` — hover-level type and doc information
- - **Code editing**: `replace_symbol_body`, `insert_after_symbol` — symbol-level edits
- - **Diagnostics**: `get_diagnostics` — compiler errors and linter warnings
-
- ### Analysis Guidelines
-
- 1. **Use semantic tools over text search** — prefer Serena's LSP tools over `grep`
- 2. **Activate project first** — always call `activate_project` before other tools
- 3. **Cross-reference findings** — validate with multiple tools for accuracy
- 4. **Focus on the relevant language files** — ignore unrelated file types
+ Serena is enabled for **["go"]** in `__GH_AW_GITHUB_WORKSPACE__`. Start by calling `activate_project` with that workspace path, then prefer Serena semantic tools for symbol lookup, references, docs, diagnostics, and structured edits.
{{#runtime-import .github/workflows/shared/noop-reminder.md}}
{{#runtime-import .github/workflows/smoke-copilot-aoai-entra.md}}
- GH_AW_PROMPT_32194ed40fd02c9a_EOF
+ GH_AW_PROMPT_9d9b05f821ba5ebb_EOF
} > "$GH_AW_PROMPT"
- name: Interpolate variables and render templates
uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
diff --git a/.github/workflows/smoke-copilot-arm.lock.yml b/.github/workflows/smoke-copilot-arm.lock.yml
index 897f54ac3dc..e6ca61b9b58 100644
--- a/.github/workflows/smoke-copilot-arm.lock.yml
+++ b/.github/workflows/smoke-copilot-arm.lock.yml
@@ -304,22 +304,22 @@ jobs:
run: |
bash "${RUNNER_TEMP}/gh-aw/actions/create_prompt_first.sh"
{
- cat << 'GH_AW_PROMPT_9180d985da45796b_EOF'
+ cat << 'GH_AW_PROMPT_6fee0e2dcfafe586_EOF'
- GH_AW_PROMPT_9180d985da45796b_EOF
+ GH_AW_PROMPT_6fee0e2dcfafe586_EOF
cat "${RUNNER_TEMP}/gh-aw/prompts/xpia.md"
cat "${RUNNER_TEMP}/gh-aw/prompts/temp_folder_prompt.md"
cat "${RUNNER_TEMP}/gh-aw/prompts/markdown.md"
cat "${RUNNER_TEMP}/gh-aw/prompts/playwright_prompt.md"
cat "${RUNNER_TEMP}/gh-aw/prompts/cache_memory_prompt.md"
cat "${RUNNER_TEMP}/gh-aw/prompts/safe_outputs_prompt.md"
- cat << 'GH_AW_PROMPT_9180d985da45796b_EOF'
+ cat << 'GH_AW_PROMPT_6fee0e2dcfafe586_EOF'
Tools: add_comment(max:2), create_issue, create_discussion, create_pull_request_review_comment(max:5), submit_pull_request_review, add_labels, remove_labels, dispatch_workflow, missing_tool, missing_data, noop, send_slack_message
- GH_AW_PROMPT_9180d985da45796b_EOF
+ GH_AW_PROMPT_6fee0e2dcfafe586_EOF
cat "${RUNNER_TEMP}/gh-aw/prompts/mcp_cli_tools_prompt.md"
- cat << 'GH_AW_PROMPT_9180d985da45796b_EOF'
+ cat << 'GH_AW_PROMPT_6fee0e2dcfafe586_EOF'
The following GitHub context information is available for this workflow:
{{#if github.actor}}
@@ -348,12 +348,12 @@ jobs:
{{/if}}
- GH_AW_PROMPT_9180d985da45796b_EOF
+ GH_AW_PROMPT_6fee0e2dcfafe586_EOF
cat "${RUNNER_TEMP}/gh-aw/prompts/github_mcp_tools_with_safeoutputs_prompt.md"
if [ "$GITHUB_EVENT_NAME" = "issue_comment" ] && [ -n "$GH_AW_IS_PR_COMMENT" ] || [ "$GITHUB_EVENT_NAME" = "pull_request_review_comment" ] || [ "$GITHUB_EVENT_NAME" = "pull_request_review" ]; then
cat "${RUNNER_TEMP}/gh-aw/prompts/pr_context_prompt.md"
fi
- cat << 'GH_AW_PROMPT_9180d985da45796b_EOF'
+ cat << 'GH_AW_PROMPT_6fee0e2dcfafe586_EOF'
{{#runtime-import .github/workflows/shared/gh.md}}
{{#runtime-import .github/workflows/shared/reporting-otlp.md}}
@@ -363,36 +363,10 @@ jobs:
{{#runtime-import .github/workflows/shared/reporting.md}}
## Serena Code Analysis
- The Serena MCP server is configured for **["go"]** analysis in this workspace:
- - **Workspace**: `__GH_AW_GITHUB_WORKSPACE__`
- - **Memory**: `/tmp/gh-aw/cache-memory/serena/`
-
- ### Project Activation
-
- Before analyzing code, activate the Serena project:
- ```
- Tool: activate_project
- Args: { "path": "__GH_AW_GITHUB_WORKSPACE__" }
- ```
-
- ### Available Capabilities
-
- Serena provides IDE-grade Language Server Protocol (LSP) tools including:
- - **Symbol search**: `find_symbol` — locate functions, types, interfaces by name
- - **Navigation**: `find_referencing_symbols` — find all callers/usages of a symbol
- - **Type info**: `get_symbol_documentation` — hover-level type and doc information
- - **Code editing**: `replace_symbol_body`, `insert_after_symbol` — symbol-level edits
- - **Diagnostics**: `get_diagnostics` — compiler errors and linter warnings
-
- ### Analysis Guidelines
-
- 1. **Use semantic tools over text search** — prefer Serena's LSP tools over `grep`
- 2. **Activate project first** — always call `activate_project` before other tools
- 3. **Cross-reference findings** — validate with multiple tools for accuracy
- 4. **Focus on the relevant language files** — ignore unrelated file types
+ Serena is enabled for **["go"]** in `__GH_AW_GITHUB_WORKSPACE__`. Start by calling `activate_project` with that workspace path, then prefer Serena semantic tools for symbol lookup, references, docs, diagnostics, and structured edits.
{{#runtime-import .github/workflows/shared/noop-reminder.md}}
{{#runtime-import .github/workflows/smoke-copilot-arm.md}}
- GH_AW_PROMPT_9180d985da45796b_EOF
+ GH_AW_PROMPT_6fee0e2dcfafe586_EOF
} > "$GH_AW_PROMPT"
- name: Interpolate variables and render templates
uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
diff --git a/.github/workflows/smoke-copilot.lock.yml b/.github/workflows/smoke-copilot.lock.yml
index 4c9ae7b0a96..60e2dfab8d3 100644
--- a/.github/workflows/smoke-copilot.lock.yml
+++ b/.github/workflows/smoke-copilot.lock.yml
@@ -1,4 +1,4 @@
-# gh-aw-metadata: {"schema_version":"v4","frontmatter_hash":"05ee2d861a3eea3abe5042079d866b02e2aabfefd261a9564af7c05bd2800f73","body_hash":"b4d74354e038778ccc3ad2ce49aebb327a1e9d570bfb37cdeb1dc6a5a83c86e9","agent_id":"copilot","agent_model":"gpt-5.4","engine_versions":{"copilot":"1.0.60"}}
+# gh-aw-metadata: {"schema_version":"v4","frontmatter_hash":"05ee2d861a3eea3abe5042079d866b02e2aabfefd261a9564af7c05bd2800f73","body_hash":"7f1f4432f5b1ba1a8433b129d11774d82d495e3c67870a5af88506557844b0ae","agent_id":"copilot","agent_model":"gpt-5.4","engine_versions":{"copilot":"1.0.60"}}
# gh-aw-manifest: {"version":1,"secrets":["COPILOT_GITHUB_TOKEN","GH_AW_GITHUB_MCP_SERVER_TOKEN","GH_AW_GITHUB_TOKEN","GH_AW_OTEL_GRAFANA_AUTHORIZATION","GH_AW_OTEL_GRAFANA_ENDPOINT","GH_AW_OTEL_SENTRY_AUTHORIZATION","GH_AW_OTEL_SENTRY_ENDPOINT","GITHUB_TOKEN"],"actions":[{"repo":"actions/cache/restore","sha":"27d5ce7f107fe9357f9df03efb73ab90386fccae","version":"v5.0.5"},{"repo":"actions/cache/save","sha":"27d5ce7f107fe9357f9df03efb73ab90386fccae","version":"v5.0.5"},{"repo":"actions/checkout","sha":"df4cb1c069e1874edd31b4311f1884172cec0e10","version":"v6.0.3"},{"repo":"actions/download-artifact","sha":"3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c","version":"v8.0.1"},{"repo":"actions/github-script","sha":"3a2844b7e9c422d3c10d287c895573f7108da1b3","version":"v9.0.0"},{"repo":"actions/setup-go","sha":"4a3601121dd01d1626a1e23e37211e3254c1c06c","version":"v6.4.0"},{"repo":"actions/setup-node","sha":"48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e","version":"v6.4.0"},{"repo":"actions/upload-artifact","sha":"043fb46d1a93c77aae656e7c1c64a875d1fc6a0a","version":"v7.0.1"},{"repo":"docker/build-push-action","sha":"f9f3042f7e2789586610d6e8b85c8f03e5195baf","version":"v7.2.0"},{"repo":"docker/setup-buildx-action","sha":"d7f5e7f509e45cec5c76c4d5afdd7de93d0b3df5","version":"v4.1.0"}],"containers":[{"image":"ghcr.io/github/gh-aw-firewall/agent:0.27.2","digest":"sha256:f88e5b17b6b7a600117bc121114d6ce2155c88c983c0c939c5df884f730fa1d6","pinned_image":"ghcr.io/github/gh-aw-firewall/agent:0.27.2@sha256:f88e5b17b6b7a600117bc121114d6ce2155c88c983c0c939c5df884f730fa1d6"},{"image":"ghcr.io/github/gh-aw-firewall/api-proxy:0.27.2","digest":"sha256:ee39841d980878ebbb87592903b06d31a1af500c71525c9616f7e8e2a27041a4","pinned_image":"ghcr.io/github/gh-aw-firewall/api-proxy:0.27.2@sha256:ee39841d980878ebbb87592903b06d31a1af500c71525c9616f7e8e2a27041a4"},{"image":"ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.2","digest":"sha256:02f3ec08f32dc26c5427920c6a2e2f3036238fce44802f2f11ef49ed8621b5d0","pinned_image":"ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.2@sha256:02f3ec08f32dc26c5427920c6a2e2f3036238fce44802f2f11ef49ed8621b5d0"},{"image":"ghcr.io/github/gh-aw-firewall/squid:0.27.2","digest":"sha256:2e3a717e5f19a654cd9a2263beb52012b56bcb68562ec5ae2e42f9d156b49591","pinned_image":"ghcr.io/github/gh-aw-firewall/squid:0.27.2@sha256:2e3a717e5f19a654cd9a2263beb52012b56bcb68562ec5ae2e42f9d156b49591"},{"image":"ghcr.io/github/gh-aw-mcpg:v0.3.25","digest":"sha256:c10331ad17668ef89f38f5e356678788a40b0cd5fef96e8f92e1d9c1de47cbaa","pinned_image":"ghcr.io/github/gh-aw-mcpg:v0.3.25@sha256:c10331ad17668ef89f38f5e356678788a40b0cd5fef96e8f92e1d9c1de47cbaa"},{"image":"ghcr.io/github/github-mcp-server:v1.1.2","digest":"sha256:30197479d8036c7811892bc07e06f9a05c9ef3cdd79bc59f256d50647f95788c","pinned_image":"ghcr.io/github/github-mcp-server:v1.1.2@sha256:30197479d8036c7811892bc07e06f9a05c9ef3cdd79bc59f256d50647f95788c"},{"image":"ghcr.io/github/serena-mcp-server:latest","digest":"sha256:bf343399e3725c45528f531a230f3a04521d4cdef29f9a5af6282ff0d3c393c5","pinned_image":"ghcr.io/github/serena-mcp-server:latest@sha256:bf343399e3725c45528f531a230f3a04521d4cdef29f9a5af6282ff0d3c393c5"}]}
# This file was automatically generated by gh-aw. DO NOT EDIT. To debug this workflow, load the skill at https://github.com/github/gh-aw/blob/main/debug.md
#
@@ -356,25 +356,25 @@ jobs:
run: |
bash "${RUNNER_TEMP}/gh-aw/actions/create_prompt_first.sh"
{
- cat << 'GH_AW_PROMPT_94c6730f305898ca_EOF'
+ cat << 'GH_AW_PROMPT_0dd8e4888c4252ce_EOF'
- GH_AW_PROMPT_94c6730f305898ca_EOF
+ GH_AW_PROMPT_0dd8e4888c4252ce_EOF
cat "${RUNNER_TEMP}/gh-aw/prompts/xpia.md"
cat "${RUNNER_TEMP}/gh-aw/prompts/temp_folder_prompt.md"
cat "${RUNNER_TEMP}/gh-aw/prompts/markdown.md"
cat "${RUNNER_TEMP}/gh-aw/prompts/playwright_prompt.md"
cat "${RUNNER_TEMP}/gh-aw/prompts/cache_memory_prompt.md"
cat "${RUNNER_TEMP}/gh-aw/prompts/safe_outputs_prompt.md"
- cat << 'GH_AW_PROMPT_94c6730f305898ca_EOF'
+ cat << 'GH_AW_PROMPT_0dd8e4888c4252ce_EOF'
Tools: add_comment(max:2), create_issue, create_discussion, create_pull_request_review_comment(max:5), submit_pull_request_review, reply_to_pull_request_review_comment(max:5), add_labels, remove_labels, create_check_run, set_issue_type, dispatch_workflow, missing_tool, missing_data, noop, send_slack_message
- GH_AW_PROMPT_94c6730f305898ca_EOF
+ GH_AW_PROMPT_0dd8e4888c4252ce_EOF
cat "${RUNNER_TEMP}/gh-aw/prompts/safe_outputs_comment_memory.md"
- cat << 'GH_AW_PROMPT_94c6730f305898ca_EOF'
+ cat << 'GH_AW_PROMPT_0dd8e4888c4252ce_EOF'
- GH_AW_PROMPT_94c6730f305898ca_EOF
+ GH_AW_PROMPT_0dd8e4888c4252ce_EOF
cat "${RUNNER_TEMP}/gh-aw/prompts/mcp_cli_tools_prompt.md"
- cat << 'GH_AW_PROMPT_94c6730f305898ca_EOF'
+ cat << 'GH_AW_PROMPT_0dd8e4888c4252ce_EOF'
The following GitHub context information is available for this workflow:
{{#if github.actor}}
@@ -403,12 +403,12 @@ jobs:
{{/if}}
- GH_AW_PROMPT_94c6730f305898ca_EOF
+ GH_AW_PROMPT_0dd8e4888c4252ce_EOF
cat "${RUNNER_TEMP}/gh-aw/prompts/cli_proxy_with_safeoutputs_prompt.md"
if [ "$GITHUB_EVENT_NAME" = "issue_comment" ] && [ -n "$GH_AW_IS_PR_COMMENT" ] || [ "$GITHUB_EVENT_NAME" = "pull_request_review_comment" ] || [ "$GITHUB_EVENT_NAME" = "pull_request_review" ]; then
cat "${RUNNER_TEMP}/gh-aw/prompts/pr_context_prompt.md"
fi
- cat << 'GH_AW_PROMPT_94c6730f305898ca_EOF'
+ cat << 'GH_AW_PROMPT_0dd8e4888c4252ce_EOF'
{{#runtime-import .github/workflows/shared/github-guard-policy.md}}
{{#runtime-import .github/workflows/shared/gh.md}}
@@ -418,36 +418,10 @@ jobs:
{{#runtime-import .github/workflows/shared/otlp.md}}
## Serena Code Analysis
- The Serena MCP server is configured for **["go"]** analysis in this workspace:
- - **Workspace**: `__GH_AW_GITHUB_WORKSPACE__`
- - **Memory**: `/tmp/gh-aw/cache-memory/serena/`
-
- ### Project Activation
-
- Before analyzing code, activate the Serena project:
- ```
- Tool: activate_project
- Args: { "path": "__GH_AW_GITHUB_WORKSPACE__" }
- ```
-
- ### Available Capabilities
-
- Serena provides IDE-grade Language Server Protocol (LSP) tools including:
- - **Symbol search**: `find_symbol` — locate functions, types, interfaces by name
- - **Navigation**: `find_referencing_symbols` — find all callers/usages of a symbol
- - **Type info**: `get_symbol_documentation` — hover-level type and doc information
- - **Code editing**: `replace_symbol_body`, `insert_after_symbol` — symbol-level edits
- - **Diagnostics**: `get_diagnostics` — compiler errors and linter warnings
-
- ### Analysis Guidelines
-
- 1. **Use semantic tools over text search** — prefer Serena's LSP tools over `grep`
- 2. **Activate project first** — always call `activate_project` before other tools
- 3. **Cross-reference findings** — validate with multiple tools for accuracy
- 4. **Focus on the relevant language files** — ignore unrelated file types
+ Serena is enabled for **["go"]** in `__GH_AW_GITHUB_WORKSPACE__`. Start by calling `activate_project` with that workspace path, then prefer Serena semantic tools for symbol lookup, references, docs, diagnostics, and structured edits.
{{#runtime-import .github/workflows/shared/noop-reminder.md}}
{{#runtime-import .github/workflows/smoke-copilot.md}}
- GH_AW_PROMPT_94c6730f305898ca_EOF
+ GH_AW_PROMPT_0dd8e4888c4252ce_EOF
} > "$GH_AW_PROMPT"
- name: Interpolate variables and render templates
uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
diff --git a/.github/workflows/smoke-crush.lock.yml b/.github/workflows/smoke-crush.lock.yml
index d06ce8081b3..8a9208d540a 100644
--- a/.github/workflows/smoke-crush.lock.yml
+++ b/.github/workflows/smoke-crush.lock.yml
@@ -1,4 +1,4 @@
-# gh-aw-metadata: {"schema_version":"v4","frontmatter_hash":"f2d3bf65ff80b21286ab6bf38827e290806f1ac496e2aff24cc5f0dcf3acd726","body_hash":"ccbb31d4c57ee1e5970fa24740bd39ad4b104b4d329996322a8caf38a03613ba","strict":true,"agent_id":"crush","agent_model":"anthropic/claude-sonnet-4-20250514","engine_versions":{"crush":"0.59.0"}}
+# gh-aw-metadata: {"schema_version":"v4","frontmatter_hash":"f2d3bf65ff80b21286ab6bf38827e290806f1ac496e2aff24cc5f0dcf3acd726","body_hash":"cc2ef81f034ad1a5a273c6e10b2297d10ee6e25484f18a23ba46525842e74e5e","strict":true,"agent_id":"crush","agent_model":"anthropic/claude-sonnet-4-20250514","engine_versions":{"crush":"0.59.0"}}
# gh-aw-manifest: {"version":1,"secrets":["ANTHROPIC_API_KEY","GH_AW_GITHUB_MCP_SERVER_TOKEN","GH_AW_GITHUB_TOKEN","GH_AW_OTEL_GRAFANA_AUTHORIZATION","GH_AW_OTEL_GRAFANA_ENDPOINT","GH_AW_OTEL_SENTRY_AUTHORIZATION","GH_AW_OTEL_SENTRY_ENDPOINT","GITHUB_TOKEN"],"actions":[{"repo":"actions/cache/restore","sha":"27d5ce7f107fe9357f9df03efb73ab90386fccae","version":"v5.0.5"},{"repo":"actions/cache/save","sha":"27d5ce7f107fe9357f9df03efb73ab90386fccae","version":"v5.0.5"},{"repo":"actions/checkout","sha":"df4cb1c069e1874edd31b4311f1884172cec0e10","version":"v6.0.3"},{"repo":"actions/download-artifact","sha":"3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c","version":"v8.0.1"},{"repo":"actions/github-script","sha":"3a2844b7e9c422d3c10d287c895573f7108da1b3","version":"v9.0.0"},{"repo":"actions/setup-node","sha":"48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e","version":"v6.4.0"},{"repo":"actions/upload-artifact","sha":"043fb46d1a93c77aae656e7c1c64a875d1fc6a0a","version":"v7.0.1"}],"containers":[{"image":"ghcr.io/github/gh-aw-firewall/agent:0.27.2","digest":"sha256:f88e5b17b6b7a600117bc121114d6ce2155c88c983c0c939c5df884f730fa1d6","pinned_image":"ghcr.io/github/gh-aw-firewall/agent:0.27.2@sha256:f88e5b17b6b7a600117bc121114d6ce2155c88c983c0c939c5df884f730fa1d6"},{"image":"ghcr.io/github/gh-aw-firewall/api-proxy:0.27.2","digest":"sha256:ee39841d980878ebbb87592903b06d31a1af500c71525c9616f7e8e2a27041a4","pinned_image":"ghcr.io/github/gh-aw-firewall/api-proxy:0.27.2@sha256:ee39841d980878ebbb87592903b06d31a1af500c71525c9616f7e8e2a27041a4"},{"image":"ghcr.io/github/gh-aw-firewall/squid:0.27.2","digest":"sha256:2e3a717e5f19a654cd9a2263beb52012b56bcb68562ec5ae2e42f9d156b49591","pinned_image":"ghcr.io/github/gh-aw-firewall/squid:0.27.2@sha256:2e3a717e5f19a654cd9a2263beb52012b56bcb68562ec5ae2e42f9d156b49591"},{"image":"ghcr.io/github/gh-aw-mcpg:v0.3.25","digest":"sha256:c10331ad17668ef89f38f5e356678788a40b0cd5fef96e8f92e1d9c1de47cbaa","pinned_image":"ghcr.io/github/gh-aw-mcpg:v0.3.25@sha256:c10331ad17668ef89f38f5e356678788a40b0cd5fef96e8f92e1d9c1de47cbaa"},{"image":"ghcr.io/github/github-mcp-server:v1.1.2","digest":"sha256:30197479d8036c7811892bc07e06f9a05c9ef3cdd79bc59f256d50647f95788c","pinned_image":"ghcr.io/github/github-mcp-server:v1.1.2@sha256:30197479d8036c7811892bc07e06f9a05c9ef3cdd79bc59f256d50647f95788c"}]}
# This file was automatically generated by gh-aw. DO NOT EDIT. To debug this workflow, load the skill at https://github.com/github/gh-aw/blob/main/debug.md
#
diff --git a/.github/workflows/spec-extractor.lock.yml b/.github/workflows/spec-extractor.lock.yml
index d306b3328cf..57324f10842 100644
--- a/.github/workflows/spec-extractor.lock.yml
+++ b/.github/workflows/spec-extractor.lock.yml
@@ -1,4 +1,4 @@
-# gh-aw-metadata: {"schema_version":"v4","frontmatter_hash":"c5af3479a0fcfae0f6878b5c0bb80558445aaff999419dc28ff741042e79c381","body_hash":"1cc93470dde4f532e7a524dbee217d9dd5a27913f4af2739fd9a4c59e22d9a1f","strict":true,"agent_id":"copilot","engine_versions":{"copilot":"1.0.60"}}
+# gh-aw-metadata: {"schema_version":"v4","frontmatter_hash":"c5af3479a0fcfae0f6878b5c0bb80558445aaff999419dc28ff741042e79c381","body_hash":"98fc9307b8b10e8ea93fe5bcbced50a1e7638157e9ee54eafe81a5b003076874","strict":true,"agent_id":"copilot","engine_versions":{"copilot":"1.0.60"}}
# gh-aw-manifest: {"version":1,"secrets":["GH_AW_CI_TRIGGER_TOKEN","GH_AW_GITHUB_MCP_SERVER_TOKEN","GH_AW_GITHUB_TOKEN","GH_AW_OTEL_GRAFANA_AUTHORIZATION","GH_AW_OTEL_GRAFANA_ENDPOINT","GH_AW_OTEL_SENTRY_AUTHORIZATION","GH_AW_OTEL_SENTRY_ENDPOINT","GITHUB_TOKEN"],"actions":[{"repo":"actions/cache/restore","sha":"27d5ce7f107fe9357f9df03efb73ab90386fccae","version":"v5.0.5"},{"repo":"actions/cache/save","sha":"27d5ce7f107fe9357f9df03efb73ab90386fccae","version":"v5.0.5"},{"repo":"actions/checkout","sha":"df4cb1c069e1874edd31b4311f1884172cec0e10","version":"v6.0.3"},{"repo":"actions/download-artifact","sha":"3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c","version":"v8.0.1"},{"repo":"actions/github-script","sha":"3a2844b7e9c422d3c10d287c895573f7108da1b3","version":"v9.0.0"},{"repo":"actions/setup-node","sha":"48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e","version":"v6.4.0"},{"repo":"actions/upload-artifact","sha":"043fb46d1a93c77aae656e7c1c64a875d1fc6a0a","version":"v7.0.1"}],"containers":[{"image":"ghcr.io/github/gh-aw-firewall/agent:0.27.2","digest":"sha256:f88e5b17b6b7a600117bc121114d6ce2155c88c983c0c939c5df884f730fa1d6","pinned_image":"ghcr.io/github/gh-aw-firewall/agent:0.27.2@sha256:f88e5b17b6b7a600117bc121114d6ce2155c88c983c0c939c5df884f730fa1d6"},{"image":"ghcr.io/github/gh-aw-firewall/api-proxy:0.27.2","digest":"sha256:ee39841d980878ebbb87592903b06d31a1af500c71525c9616f7e8e2a27041a4","pinned_image":"ghcr.io/github/gh-aw-firewall/api-proxy:0.27.2@sha256:ee39841d980878ebbb87592903b06d31a1af500c71525c9616f7e8e2a27041a4"},{"image":"ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.2","digest":"sha256:02f3ec08f32dc26c5427920c6a2e2f3036238fce44802f2f11ef49ed8621b5d0","pinned_image":"ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.2@sha256:02f3ec08f32dc26c5427920c6a2e2f3036238fce44802f2f11ef49ed8621b5d0"},{"image":"ghcr.io/github/gh-aw-firewall/squid:0.27.2","digest":"sha256:2e3a717e5f19a654cd9a2263beb52012b56bcb68562ec5ae2e42f9d156b49591","pinned_image":"ghcr.io/github/gh-aw-firewall/squid:0.27.2@sha256:2e3a717e5f19a654cd9a2263beb52012b56bcb68562ec5ae2e42f9d156b49591"},{"image":"ghcr.io/github/gh-aw-mcpg:v0.3.25","digest":"sha256:c10331ad17668ef89f38f5e356678788a40b0cd5fef96e8f92e1d9c1de47cbaa","pinned_image":"ghcr.io/github/gh-aw-mcpg:v0.3.25@sha256:c10331ad17668ef89f38f5e356678788a40b0cd5fef96e8f92e1d9c1de47cbaa"},{"image":"ghcr.io/github/github-mcp-server:v1.1.2","digest":"sha256:30197479d8036c7811892bc07e06f9a05c9ef3cdd79bc59f256d50647f95788c","pinned_image":"ghcr.io/github/github-mcp-server:v1.1.2@sha256:30197479d8036c7811892bc07e06f9a05c9ef3cdd79bc59f256d50647f95788c"},{"image":"ghcr.io/github/serena-mcp-server:latest","digest":"sha256:bf343399e3725c45528f531a230f3a04521d4cdef29f9a5af6282ff0d3c393c5","pinned_image":"ghcr.io/github/serena-mcp-server:latest@sha256:bf343399e3725c45528f531a230f3a04521d4cdef29f9a5af6282ff0d3c393c5"}]}
# This file was automatically generated by gh-aw. DO NOT EDIT. To debug this workflow, load the skill at https://github.com/github/gh-aw/blob/main/debug.md
#
@@ -240,24 +240,24 @@ jobs:
run: |
bash "${RUNNER_TEMP}/gh-aw/actions/create_prompt_first.sh"
{
- cat << 'GH_AW_PROMPT_3a1ff601014fdb06_EOF'
+ cat << 'GH_AW_PROMPT_10495d7d84bb9704_EOF'
- GH_AW_PROMPT_3a1ff601014fdb06_EOF
+ GH_AW_PROMPT_10495d7d84bb9704_EOF
cat "${RUNNER_TEMP}/gh-aw/prompts/xpia.md"
cat "${RUNNER_TEMP}/gh-aw/prompts/temp_folder_prompt.md"
cat "${RUNNER_TEMP}/gh-aw/prompts/markdown.md"
cat "${RUNNER_TEMP}/gh-aw/prompts/cache_memory_prompt.md"
cat "${RUNNER_TEMP}/gh-aw/prompts/safe_outputs_prompt.md"
- cat << 'GH_AW_PROMPT_3a1ff601014fdb06_EOF'
+ cat << 'GH_AW_PROMPT_10495d7d84bb9704_EOF'
Tools: create_pull_request, missing_tool, missing_data, noop
- GH_AW_PROMPT_3a1ff601014fdb06_EOF
+ GH_AW_PROMPT_10495d7d84bb9704_EOF
cat "${RUNNER_TEMP}/gh-aw/prompts/safe_outputs_create_pull_request.md"
- cat << 'GH_AW_PROMPT_3a1ff601014fdb06_EOF'
+ cat << 'GH_AW_PROMPT_10495d7d84bb9704_EOF'
- GH_AW_PROMPT_3a1ff601014fdb06_EOF
+ GH_AW_PROMPT_10495d7d84bb9704_EOF
cat "${RUNNER_TEMP}/gh-aw/prompts/mcp_cli_tools_prompt.md"
- cat << 'GH_AW_PROMPT_3a1ff601014fdb06_EOF'
+ cat << 'GH_AW_PROMPT_10495d7d84bb9704_EOF'
The following GitHub context information is available for this workflow:
{{#if github.actor}}
@@ -286,9 +286,9 @@ jobs:
{{/if}}
- GH_AW_PROMPT_3a1ff601014fdb06_EOF
+ GH_AW_PROMPT_10495d7d84bb9704_EOF
cat "${RUNNER_TEMP}/gh-aw/prompts/cli_proxy_with_safeoutputs_prompt.md"
- cat << 'GH_AW_PROMPT_3a1ff601014fdb06_EOF'
+ cat << 'GH_AW_PROMPT_10495d7d84bb9704_EOF'
{{#runtime-import .github/workflows/shared/reporting.md}}
{{#runtime-import .github/workflows/shared/go-source-analysis.md}}
@@ -296,36 +296,10 @@ jobs:
{{#runtime-import .github/workflows/shared/mcp/serena-go.md}}
## Serena Code Analysis
- The Serena MCP server is configured for **["go"]** analysis in this workspace:
- - **Workspace**: `__GH_AW_GITHUB_WORKSPACE__`
- - **Memory**: `/tmp/gh-aw/cache-memory/serena/`
-
- ### Project Activation
-
- Before analyzing code, activate the Serena project:
- ```
- Tool: activate_project
- Args: { "path": "__GH_AW_GITHUB_WORKSPACE__" }
- ```
-
- ### Available Capabilities
-
- Serena provides IDE-grade Language Server Protocol (LSP) tools including:
- - **Symbol search**: `find_symbol` — locate functions, types, interfaces by name
- - **Navigation**: `find_referencing_symbols` — find all callers/usages of a symbol
- - **Type info**: `get_symbol_documentation` — hover-level type and doc information
- - **Code editing**: `replace_symbol_body`, `insert_after_symbol` — symbol-level edits
- - **Diagnostics**: `get_diagnostics` — compiler errors and linter warnings
-
- ### Analysis Guidelines
-
- 1. **Use semantic tools over text search** — prefer Serena's LSP tools over `grep`
- 2. **Activate project first** — always call `activate_project` before other tools
- 3. **Cross-reference findings** — validate with multiple tools for accuracy
- 4. **Focus on the relevant language files** — ignore unrelated file types
+ Serena is enabled for **["go"]** in `__GH_AW_GITHUB_WORKSPACE__`. Start by calling `activate_project` with that workspace path, then prefer Serena semantic tools for symbol lookup, references, docs, diagnostics, and structured edits.
{{#runtime-import .github/workflows/shared/noop-reminder.md}}
{{#runtime-import .github/workflows/spec-extractor.md}}
- GH_AW_PROMPT_3a1ff601014fdb06_EOF
+ GH_AW_PROMPT_10495d7d84bb9704_EOF
} > "$GH_AW_PROMPT"
- name: Interpolate variables and render templates
uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
diff --git a/.github/workflows/spec-librarian.lock.yml b/.github/workflows/spec-librarian.lock.yml
index 7fd4d7a49be..602e869a36b 100644
--- a/.github/workflows/spec-librarian.lock.yml
+++ b/.github/workflows/spec-librarian.lock.yml
@@ -247,20 +247,20 @@ jobs:
run: |
bash "${RUNNER_TEMP}/gh-aw/actions/create_prompt_first.sh"
{
- cat << 'GH_AW_PROMPT_6efb29e0d9d769b7_EOF'
+ cat << 'GH_AW_PROMPT_e171f12b6d213e7c_EOF'
- GH_AW_PROMPT_6efb29e0d9d769b7_EOF
+ GH_AW_PROMPT_e171f12b6d213e7c_EOF
cat "${RUNNER_TEMP}/gh-aw/prompts/xpia.md"
cat "${RUNNER_TEMP}/gh-aw/prompts/temp_folder_prompt.md"
cat "${RUNNER_TEMP}/gh-aw/prompts/markdown.md"
cat "${RUNNER_TEMP}/gh-aw/prompts/safe_outputs_prompt.md"
- cat << 'GH_AW_PROMPT_6efb29e0d9d769b7_EOF'
+ cat << 'GH_AW_PROMPT_e171f12b6d213e7c_EOF'
Tools: create_issue, missing_tool, missing_data, noop
- GH_AW_PROMPT_6efb29e0d9d769b7_EOF
+ GH_AW_PROMPT_e171f12b6d213e7c_EOF
cat "${RUNNER_TEMP}/gh-aw/prompts/mcp_cli_tools_prompt.md"
- cat << 'GH_AW_PROMPT_6efb29e0d9d769b7_EOF'
+ cat << 'GH_AW_PROMPT_e171f12b6d213e7c_EOF'
The following GitHub context information is available for this workflow:
{{#if github.actor}}
@@ -289,9 +289,9 @@ jobs:
{{/if}}
- GH_AW_PROMPT_6efb29e0d9d769b7_EOF
+ GH_AW_PROMPT_e171f12b6d213e7c_EOF
cat "${RUNNER_TEMP}/gh-aw/prompts/cli_proxy_with_safeoutputs_prompt.md"
- cat << 'GH_AW_PROMPT_6efb29e0d9d769b7_EOF'
+ cat << 'GH_AW_PROMPT_e171f12b6d213e7c_EOF'
{{#runtime-import .github/workflows/shared/go-source-analysis.md}}
{{#runtime-import .github/workflows/shared/otlp.md}}
@@ -300,36 +300,10 @@ jobs:
{{#runtime-import .github/workflows/shared/mcp/serena-go.md}}
## Serena Code Analysis
- The Serena MCP server is configured for **["go"]** analysis in this workspace:
- - **Workspace**: `__GH_AW_GITHUB_WORKSPACE__`
- - **Memory**: `/tmp/gh-aw/cache-memory/serena/`
-
- ### Project Activation
-
- Before analyzing code, activate the Serena project:
- ```
- Tool: activate_project
- Args: { "path": "__GH_AW_GITHUB_WORKSPACE__" }
- ```
-
- ### Available Capabilities
-
- Serena provides IDE-grade Language Server Protocol (LSP) tools including:
- - **Symbol search**: `find_symbol` — locate functions, types, interfaces by name
- - **Navigation**: `find_referencing_symbols` — find all callers/usages of a symbol
- - **Type info**: `get_symbol_documentation` — hover-level type and doc information
- - **Code editing**: `replace_symbol_body`, `insert_after_symbol` — symbol-level edits
- - **Diagnostics**: `get_diagnostics` — compiler errors and linter warnings
-
- ### Analysis Guidelines
-
- 1. **Use semantic tools over text search** — prefer Serena's LSP tools over `grep`
- 2. **Activate project first** — always call `activate_project` before other tools
- 3. **Cross-reference findings** — validate with multiple tools for accuracy
- 4. **Focus on the relevant language files** — ignore unrelated file types
+ Serena is enabled for **["go"]** in `__GH_AW_GITHUB_WORKSPACE__`. Start by calling `activate_project` with that workspace path, then prefer Serena semantic tools for symbol lookup, references, docs, diagnostics, and structured edits.
{{#runtime-import .github/workflows/shared/noop-reminder.md}}
{{#runtime-import .github/workflows/spec-librarian.md}}
- GH_AW_PROMPT_6efb29e0d9d769b7_EOF
+ GH_AW_PROMPT_e171f12b6d213e7c_EOF
} > "$GH_AW_PROMPT"
- name: Interpolate variables and render templates
uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
diff --git a/.github/workflows/static-analysis-report.lock.yml b/.github/workflows/static-analysis-report.lock.yml
index b04fd176a74..7bcd8de25ca 100644
--- a/.github/workflows/static-analysis-report.lock.yml
+++ b/.github/workflows/static-analysis-report.lock.yml
@@ -1,4 +1,4 @@
-# gh-aw-metadata: {"schema_version":"v4","frontmatter_hash":"6dbd0f38d3ed57bde355f98e31b0e2addd7ac62a236e943ff6efa13ecd774677","body_hash":"710e032d2b64cfad4b38717fd340148e3fdd58660aeb70dad314c107b3563a8f","strict":true,"agent_id":"claude","engine_versions":{"claude":"2.1.168"}}
+# gh-aw-metadata: {"schema_version":"v4","frontmatter_hash":"6dbd0f38d3ed57bde355f98e31b0e2addd7ac62a236e943ff6efa13ecd774677","body_hash":"d0ea9731f24f4f80b85aa6d47731cb164285971b7a45d867818dc4e056bb054d","strict":true,"agent_id":"claude","engine_versions":{"claude":"2.1.168"}}
# gh-aw-manifest: {"version":1,"secrets":["ANTHROPIC_API_KEY","GH_AW_GITHUB_MCP_SERVER_TOKEN","GH_AW_GITHUB_TOKEN","GH_AW_OTEL_GRAFANA_AUTHORIZATION","GH_AW_OTEL_GRAFANA_ENDPOINT","GH_AW_OTEL_SENTRY_AUTHORIZATION","GH_AW_OTEL_SENTRY_ENDPOINT","GITHUB_TOKEN"],"actions":[{"repo":"actions/cache/restore","sha":"27d5ce7f107fe9357f9df03efb73ab90386fccae","version":"v5.0.5"},{"repo":"actions/cache/save","sha":"27d5ce7f107fe9357f9df03efb73ab90386fccae","version":"v5.0.5"},{"repo":"actions/checkout","sha":"df4cb1c069e1874edd31b4311f1884172cec0e10","version":"v6.0.3"},{"repo":"actions/download-artifact","sha":"3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c","version":"v8.0.1"},{"repo":"actions/github-script","sha":"3a2844b7e9c422d3c10d287c895573f7108da1b3","version":"v9.0.0"},{"repo":"actions/setup-go","sha":"4a3601121dd01d1626a1e23e37211e3254c1c06c","version":"v6.4.0"},{"repo":"actions/setup-node","sha":"48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e","version":"v6.4.0"},{"repo":"actions/upload-artifact","sha":"043fb46d1a93c77aae656e7c1c64a875d1fc6a0a","version":"v7.0.1"},{"repo":"docker/build-push-action","sha":"f9f3042f7e2789586610d6e8b85c8f03e5195baf","version":"v7.2.0"},{"repo":"docker/setup-buildx-action","sha":"d7f5e7f509e45cec5c76c4d5afdd7de93d0b3df5","version":"v4.1.0"}],"containers":[{"image":"ghcr.io/github/gh-aw-firewall/agent:0.27.2","digest":"sha256:f88e5b17b6b7a600117bc121114d6ce2155c88c983c0c939c5df884f730fa1d6","pinned_image":"ghcr.io/github/gh-aw-firewall/agent:0.27.2@sha256:f88e5b17b6b7a600117bc121114d6ce2155c88c983c0c939c5df884f730fa1d6"},{"image":"ghcr.io/github/gh-aw-firewall/api-proxy:0.27.2","digest":"sha256:ee39841d980878ebbb87592903b06d31a1af500c71525c9616f7e8e2a27041a4","pinned_image":"ghcr.io/github/gh-aw-firewall/api-proxy:0.27.2@sha256:ee39841d980878ebbb87592903b06d31a1af500c71525c9616f7e8e2a27041a4"},{"image":"ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.2","digest":"sha256:02f3ec08f32dc26c5427920c6a2e2f3036238fce44802f2f11ef49ed8621b5d0","pinned_image":"ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.2@sha256:02f3ec08f32dc26c5427920c6a2e2f3036238fce44802f2f11ef49ed8621b5d0"},{"image":"ghcr.io/github/gh-aw-firewall/squid:0.27.2","digest":"sha256:2e3a717e5f19a654cd9a2263beb52012b56bcb68562ec5ae2e42f9d156b49591","pinned_image":"ghcr.io/github/gh-aw-firewall/squid:0.27.2@sha256:2e3a717e5f19a654cd9a2263beb52012b56bcb68562ec5ae2e42f9d156b49591"},{"image":"ghcr.io/github/gh-aw-mcpg:v0.3.25","digest":"sha256:c10331ad17668ef89f38f5e356678788a40b0cd5fef96e8f92e1d9c1de47cbaa","pinned_image":"ghcr.io/github/gh-aw-mcpg:v0.3.25@sha256:c10331ad17668ef89f38f5e356678788a40b0cd5fef96e8f92e1d9c1de47cbaa"},{"image":"ghcr.io/github/github-mcp-server:v1.1.2","digest":"sha256:30197479d8036c7811892bc07e06f9a05c9ef3cdd79bc59f256d50647f95788c","pinned_image":"ghcr.io/github/github-mcp-server:v1.1.2@sha256:30197479d8036c7811892bc07e06f9a05c9ef3cdd79bc59f256d50647f95788c"}]}
# This file was automatically generated by gh-aw. DO NOT EDIT. To debug this workflow, load the skill at https://github.com/github/gh-aw/blob/main/debug.md
#
diff --git a/.github/workflows/super-linter.lock.yml b/.github/workflows/super-linter.lock.yml
index 99ea529bbe7..c6bc7e59d7f 100644
--- a/.github/workflows/super-linter.lock.yml
+++ b/.github/workflows/super-linter.lock.yml
@@ -1,4 +1,4 @@
-# gh-aw-metadata: {"schema_version":"v4","frontmatter_hash":"48ed3b5228d907f10b26a3d3c3f623049455e42b949f66d86d60f0f3a1dd60c3","body_hash":"ed548fb9522db47a277d0e85b8a71f3fcceb7b572c0a95e1ccee26e3e64cb4a7","strict":true,"agent_id":"copilot","engine_versions":{"copilot":"1.0.60"}}
+# gh-aw-metadata: {"schema_version":"v4","frontmatter_hash":"48ed3b5228d907f10b26a3d3c3f623049455e42b949f66d86d60f0f3a1dd60c3","body_hash":"10101ca4c6d9ec875729ccf55ae559ae44c75a07cc69b18b006a12fd19e6861a","strict":true,"agent_id":"copilot","engine_versions":{"copilot":"1.0.60"}}
# gh-aw-manifest: {"version":1,"secrets":["COPILOT_GITHUB_TOKEN","GH_AW_GITHUB_MCP_SERVER_TOKEN","GH_AW_GITHUB_TOKEN","GH_AW_OTEL_GRAFANA_AUTHORIZATION","GH_AW_OTEL_GRAFANA_ENDPOINT","GH_AW_OTEL_SENTRY_AUTHORIZATION","GH_AW_OTEL_SENTRY_ENDPOINT","GITHUB_TOKEN"],"actions":[{"repo":"actions/cache/restore","sha":"27d5ce7f107fe9357f9df03efb73ab90386fccae","version":"v5.0.5"},{"repo":"actions/cache/save","sha":"27d5ce7f107fe9357f9df03efb73ab90386fccae","version":"v5.0.5"},{"repo":"actions/checkout","sha":"df4cb1c069e1874edd31b4311f1884172cec0e10","version":"v6.0.3"},{"repo":"actions/download-artifact","sha":"3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c","version":"v8.0.1"},{"repo":"actions/github-script","sha":"3a2844b7e9c422d3c10d287c895573f7108da1b3","version":"v9.0.0"},{"repo":"actions/setup-node","sha":"48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e","version":"v6.4.0"},{"repo":"actions/upload-artifact","sha":"043fb46d1a93c77aae656e7c1c64a875d1fc6a0a","version":"v7.0.1"},{"repo":"super-linter/super-linter","sha":"9e863354e3ff62e0727d37183162c4a88873df41","version":"v8.6.0"}],"containers":[{"image":"ghcr.io/github/gh-aw-firewall/agent:0.27.2","digest":"sha256:f88e5b17b6b7a600117bc121114d6ce2155c88c983c0c939c5df884f730fa1d6","pinned_image":"ghcr.io/github/gh-aw-firewall/agent:0.27.2@sha256:f88e5b17b6b7a600117bc121114d6ce2155c88c983c0c939c5df884f730fa1d6"},{"image":"ghcr.io/github/gh-aw-firewall/api-proxy:0.27.2","digest":"sha256:ee39841d980878ebbb87592903b06d31a1af500c71525c9616f7e8e2a27041a4","pinned_image":"ghcr.io/github/gh-aw-firewall/api-proxy:0.27.2@sha256:ee39841d980878ebbb87592903b06d31a1af500c71525c9616f7e8e2a27041a4"},{"image":"ghcr.io/github/gh-aw-firewall/squid:0.27.2","digest":"sha256:2e3a717e5f19a654cd9a2263beb52012b56bcb68562ec5ae2e42f9d156b49591","pinned_image":"ghcr.io/github/gh-aw-firewall/squid:0.27.2@sha256:2e3a717e5f19a654cd9a2263beb52012b56bcb68562ec5ae2e42f9d156b49591"},{"image":"ghcr.io/github/gh-aw-mcpg:v0.3.25","digest":"sha256:c10331ad17668ef89f38f5e356678788a40b0cd5fef96e8f92e1d9c1de47cbaa","pinned_image":"ghcr.io/github/gh-aw-mcpg:v0.3.25@sha256:c10331ad17668ef89f38f5e356678788a40b0cd5fef96e8f92e1d9c1de47cbaa"},{"image":"ghcr.io/github/github-mcp-server:v1.1.2","digest":"sha256:30197479d8036c7811892bc07e06f9a05c9ef3cdd79bc59f256d50647f95788c","pinned_image":"ghcr.io/github/github-mcp-server:v1.1.2@sha256:30197479d8036c7811892bc07e06f9a05c9ef3cdd79bc59f256d50647f95788c"}]}
# This file was automatically generated by gh-aw. DO NOT EDIT. To debug this workflow, load the skill at https://github.com/github/gh-aw/blob/main/debug.md
#
diff --git a/.github/workflows/terminal-stylist.lock.yml b/.github/workflows/terminal-stylist.lock.yml
index 30288317174..cae6b55b79e 100644
--- a/.github/workflows/terminal-stylist.lock.yml
+++ b/.github/workflows/terminal-stylist.lock.yml
@@ -247,20 +247,20 @@ jobs:
run: |
bash "${RUNNER_TEMP}/gh-aw/actions/create_prompt_first.sh"
{
- cat << 'GH_AW_PROMPT_374537836cf7205c_EOF'
+ cat << 'GH_AW_PROMPT_6e134f8045b5e085_EOF'
- GH_AW_PROMPT_374537836cf7205c_EOF
+ GH_AW_PROMPT_6e134f8045b5e085_EOF
cat "${RUNNER_TEMP}/gh-aw/prompts/xpia.md"
cat "${RUNNER_TEMP}/gh-aw/prompts/temp_folder_prompt.md"
cat "${RUNNER_TEMP}/gh-aw/prompts/markdown.md"
cat "${RUNNER_TEMP}/gh-aw/prompts/safe_outputs_prompt.md"
- cat << 'GH_AW_PROMPT_374537836cf7205c_EOF'
+ cat << 'GH_AW_PROMPT_6e134f8045b5e085_EOF'
Tools: create_discussion, missing_tool, missing_data, noop
- GH_AW_PROMPT_374537836cf7205c_EOF
+ GH_AW_PROMPT_6e134f8045b5e085_EOF
cat "${RUNNER_TEMP}/gh-aw/prompts/mcp_cli_tools_prompt.md"
- cat << 'GH_AW_PROMPT_374537836cf7205c_EOF'
+ cat << 'GH_AW_PROMPT_6e134f8045b5e085_EOF'
The following GitHub context information is available for this workflow:
{{#if github.actor}}
@@ -289,45 +289,19 @@ jobs:
{{/if}}
- GH_AW_PROMPT_374537836cf7205c_EOF
+ GH_AW_PROMPT_6e134f8045b5e085_EOF
cat "${RUNNER_TEMP}/gh-aw/prompts/cli_proxy_with_safeoutputs_prompt.md"
- cat << 'GH_AW_PROMPT_374537836cf7205c_EOF'
+ cat << 'GH_AW_PROMPT_6e134f8045b5e085_EOF'
{{#runtime-import .github/workflows/shared/mcp/serena-go.md}}
{{#runtime-import .github/workflows/shared/otlp.md}}
{{#runtime-import .github/workflows/shared/reporting.md}}
## Serena Code Analysis
- The Serena MCP server is configured for **["go"]** analysis in this workspace:
- - **Workspace**: `__GH_AW_GITHUB_WORKSPACE__`
- - **Memory**: `/tmp/gh-aw/cache-memory/serena/`
-
- ### Project Activation
-
- Before analyzing code, activate the Serena project:
- ```
- Tool: activate_project
- Args: { "path": "__GH_AW_GITHUB_WORKSPACE__" }
- ```
-
- ### Available Capabilities
-
- Serena provides IDE-grade Language Server Protocol (LSP) tools including:
- - **Symbol search**: `find_symbol` — locate functions, types, interfaces by name
- - **Navigation**: `find_referencing_symbols` — find all callers/usages of a symbol
- - **Type info**: `get_symbol_documentation` — hover-level type and doc information
- - **Code editing**: `replace_symbol_body`, `insert_after_symbol` — symbol-level edits
- - **Diagnostics**: `get_diagnostics` — compiler errors and linter warnings
-
- ### Analysis Guidelines
-
- 1. **Use semantic tools over text search** — prefer Serena's LSP tools over `grep`
- 2. **Activate project first** — always call `activate_project` before other tools
- 3. **Cross-reference findings** — validate with multiple tools for accuracy
- 4. **Focus on the relevant language files** — ignore unrelated file types
+ Serena is enabled for **["go"]** in `__GH_AW_GITHUB_WORKSPACE__`. Start by calling `activate_project` with that workspace path, then prefer Serena semantic tools for symbol lookup, references, docs, diagnostics, and structured edits.
{{#runtime-import .github/workflows/shared/noop-reminder.md}}
{{#runtime-import .github/workflows/terminal-stylist.md}}
- GH_AW_PROMPT_374537836cf7205c_EOF
+ GH_AW_PROMPT_6e134f8045b5e085_EOF
} > "$GH_AW_PROMPT"
- name: Interpolate variables and render templates
uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
diff --git a/.github/workflows/test-quality-sentinel.lock.yml b/.github/workflows/test-quality-sentinel.lock.yml
index 5c893422f7b..ed83aa77abe 100644
--- a/.github/workflows/test-quality-sentinel.lock.yml
+++ b/.github/workflows/test-quality-sentinel.lock.yml
@@ -1,4 +1,4 @@
-# gh-aw-metadata: {"schema_version":"v4","frontmatter_hash":"6610d22ade49c5e3877b8864f93eea885c74ee28265d60065eb787501167aac9","body_hash":"8e1fff386f1e81cee6ed5549d6410765d51aba641835b13866e2422ac141b86e","strict":true,"agent_id":"copilot","engine_versions":{"copilot":"1.0.60"}}
+# gh-aw-metadata: {"schema_version":"v4","frontmatter_hash":"6610d22ade49c5e3877b8864f93eea885c74ee28265d60065eb787501167aac9","body_hash":"e66624f5cbf9870ca4e369bee5fab2cddc0f80a1dbc0176193d3b9a9d3fc22dd","strict":true,"agent_id":"copilot","engine_versions":{"copilot":"1.0.60"}}
# gh-aw-manifest: {"version":1,"secrets":["GH_AW_GITHUB_MCP_SERVER_TOKEN","GH_AW_GITHUB_TOKEN","GH_AW_OTEL_GRAFANA_AUTHORIZATION","GH_AW_OTEL_GRAFANA_ENDPOINT","GH_AW_OTEL_SENTRY_AUTHORIZATION","GH_AW_OTEL_SENTRY_ENDPOINT","GITHUB_TOKEN"],"actions":[{"repo":"actions/cache/restore","sha":"27d5ce7f107fe9357f9df03efb73ab90386fccae","version":"v5.0.5"},{"repo":"actions/cache/save","sha":"27d5ce7f107fe9357f9df03efb73ab90386fccae","version":"v5.0.5"},{"repo":"actions/checkout","sha":"df4cb1c069e1874edd31b4311f1884172cec0e10","version":"v6.0.3"},{"repo":"actions/download-artifact","sha":"3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c","version":"v8.0.1"},{"repo":"actions/github-script","sha":"3a2844b7e9c422d3c10d287c895573f7108da1b3","version":"v9.0.0"},{"repo":"actions/setup-node","sha":"48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e","version":"v6.4.0"},{"repo":"actions/upload-artifact","sha":"043fb46d1a93c77aae656e7c1c64a875d1fc6a0a","version":"v7.0.1"}],"containers":[{"image":"ghcr.io/github/gh-aw-firewall/agent:0.27.2","digest":"sha256:f88e5b17b6b7a600117bc121114d6ce2155c88c983c0c939c5df884f730fa1d6","pinned_image":"ghcr.io/github/gh-aw-firewall/agent:0.27.2@sha256:f88e5b17b6b7a600117bc121114d6ce2155c88c983c0c939c5df884f730fa1d6"},{"image":"ghcr.io/github/gh-aw-firewall/api-proxy:0.27.2","digest":"sha256:ee39841d980878ebbb87592903b06d31a1af500c71525c9616f7e8e2a27041a4","pinned_image":"ghcr.io/github/gh-aw-firewall/api-proxy:0.27.2@sha256:ee39841d980878ebbb87592903b06d31a1af500c71525c9616f7e8e2a27041a4"},{"image":"ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.2","digest":"sha256:02f3ec08f32dc26c5427920c6a2e2f3036238fce44802f2f11ef49ed8621b5d0","pinned_image":"ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.2@sha256:02f3ec08f32dc26c5427920c6a2e2f3036238fce44802f2f11ef49ed8621b5d0"},{"image":"ghcr.io/github/gh-aw-firewall/squid:0.27.2","digest":"sha256:2e3a717e5f19a654cd9a2263beb52012b56bcb68562ec5ae2e42f9d156b49591","pinned_image":"ghcr.io/github/gh-aw-firewall/squid:0.27.2@sha256:2e3a717e5f19a654cd9a2263beb52012b56bcb68562ec5ae2e42f9d156b49591"},{"image":"ghcr.io/github/gh-aw-mcpg:v0.3.25","digest":"sha256:c10331ad17668ef89f38f5e356678788a40b0cd5fef96e8f92e1d9c1de47cbaa","pinned_image":"ghcr.io/github/gh-aw-mcpg:v0.3.25@sha256:c10331ad17668ef89f38f5e356678788a40b0cd5fef96e8f92e1d9c1de47cbaa"},{"image":"ghcr.io/github/github-mcp-server:v1.1.2","digest":"sha256:30197479d8036c7811892bc07e06f9a05c9ef3cdd79bc59f256d50647f95788c","pinned_image":"ghcr.io/github/github-mcp-server:v1.1.2@sha256:30197479d8036c7811892bc07e06f9a05c9ef3cdd79bc59f256d50647f95788c"}]}
# This file was automatically generated by gh-aw. DO NOT EDIT. To debug this workflow, load the skill at https://github.com/github/gh-aw/blob/main/debug.md
#
diff --git a/.github/workflows/typist.lock.yml b/.github/workflows/typist.lock.yml
index bb0961994b5..9c9265b0590 100644
--- a/.github/workflows/typist.lock.yml
+++ b/.github/workflows/typist.lock.yml
@@ -284,20 +284,20 @@ jobs:
run: |
bash "${RUNNER_TEMP}/gh-aw/actions/create_prompt_first.sh"
{
- cat << 'GH_AW_PROMPT_3897188199b2dff9_EOF'
+ cat << 'GH_AW_PROMPT_fb6013acecd9a442_EOF'
- GH_AW_PROMPT_3897188199b2dff9_EOF
+ GH_AW_PROMPT_fb6013acecd9a442_EOF
cat "${RUNNER_TEMP}/gh-aw/prompts/xpia.md"
cat "${RUNNER_TEMP}/gh-aw/prompts/temp_folder_prompt.md"
cat "${RUNNER_TEMP}/gh-aw/prompts/markdown.md"
cat "${RUNNER_TEMP}/gh-aw/prompts/safe_outputs_prompt.md"
- cat << 'GH_AW_PROMPT_3897188199b2dff9_EOF'
+ cat << 'GH_AW_PROMPT_fb6013acecd9a442_EOF'
Tools: create_discussion, missing_tool, missing_data, noop
- GH_AW_PROMPT_3897188199b2dff9_EOF
+ GH_AW_PROMPT_fb6013acecd9a442_EOF
cat "${RUNNER_TEMP}/gh-aw/prompts/mcp_cli_tools_prompt.md"
- cat << 'GH_AW_PROMPT_3897188199b2dff9_EOF'
+ cat << 'GH_AW_PROMPT_fb6013acecd9a442_EOF'
The following GitHub context information is available for this workflow:
{{#if github.actor}}
@@ -326,45 +326,19 @@ jobs:
{{/if}}
- GH_AW_PROMPT_3897188199b2dff9_EOF
+ GH_AW_PROMPT_fb6013acecd9a442_EOF
cat "${RUNNER_TEMP}/gh-aw/prompts/cli_proxy_with_safeoutputs_prompt.md"
- cat << 'GH_AW_PROMPT_3897188199b2dff9_EOF'
+ cat << 'GH_AW_PROMPT_fb6013acecd9a442_EOF'
{{#runtime-import .github/workflows/shared/mcp/serena-go.md}}
{{#runtime-import .github/workflows/shared/otlp.md}}
{{#runtime-import .github/workflows/shared/reporting.md}}
## Serena Code Analysis
- The Serena MCP server is configured for **["go"]** analysis in this workspace:
- - **Workspace**: `__GH_AW_GITHUB_WORKSPACE__`
- - **Memory**: `/tmp/gh-aw/cache-memory/serena/`
-
- ### Project Activation
-
- Before analyzing code, activate the Serena project:
- ```
- Tool: activate_project
- Args: { "path": "__GH_AW_GITHUB_WORKSPACE__" }
- ```
-
- ### Available Capabilities
-
- Serena provides IDE-grade Language Server Protocol (LSP) tools including:
- - **Symbol search**: `find_symbol` — locate functions, types, interfaces by name
- - **Navigation**: `find_referencing_symbols` — find all callers/usages of a symbol
- - **Type info**: `get_symbol_documentation` — hover-level type and doc information
- - **Code editing**: `replace_symbol_body`, `insert_after_symbol` — symbol-level edits
- - **Diagnostics**: `get_diagnostics` — compiler errors and linter warnings
-
- ### Analysis Guidelines
-
- 1. **Use semantic tools over text search** — prefer Serena's LSP tools over `grep`
- 2. **Activate project first** — always call `activate_project` before other tools
- 3. **Cross-reference findings** — validate with multiple tools for accuracy
- 4. **Focus on the relevant language files** — ignore unrelated file types
+ Serena is enabled for **["go"]** in `__GH_AW_GITHUB_WORKSPACE__`. Start by calling `activate_project` with that workspace path, then prefer Serena semantic tools for symbol lookup, references, docs, diagnostics, and structured edits.
{{#runtime-import .github/workflows/shared/noop-reminder.md}}
{{#runtime-import .github/workflows/typist.md}}
- GH_AW_PROMPT_3897188199b2dff9_EOF
+ GH_AW_PROMPT_fb6013acecd9a442_EOF
} > "$GH_AW_PROMPT"
- name: Interpolate variables and render templates
uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
diff --git a/.github/workflows/workflow-health-manager.lock.yml b/.github/workflows/workflow-health-manager.lock.yml
index de9248f4fd9..956a5a32c57 100644
--- a/.github/workflows/workflow-health-manager.lock.yml
+++ b/.github/workflows/workflow-health-manager.lock.yml
@@ -1,4 +1,4 @@
-# gh-aw-metadata: {"schema_version":"v4","frontmatter_hash":"7db78c47c6eed75a21ccbfba789ab94f70f3c26c50ab0867b9b2d8d9d1451704","body_hash":"37f7ee57073d156d65a76a2c237df5bd4d4528003d748631aa865d02c3b152b7","strict":true,"agent_id":"copilot","engine_versions":{"copilot":"1.0.60"}}
+# gh-aw-metadata: {"schema_version":"v4","frontmatter_hash":"7db78c47c6eed75a21ccbfba789ab94f70f3c26c50ab0867b9b2d8d9d1451704","body_hash":"17785e8112e2395309a8b483cc9f4d71cb535997b18204f29ff5684644d36e0d","strict":true,"agent_id":"copilot","engine_versions":{"copilot":"1.0.60"}}
# gh-aw-manifest: {"version":1,"secrets":["COPILOT_GITHUB_TOKEN","GH_AW_GITHUB_MCP_SERVER_TOKEN","GH_AW_GITHUB_TOKEN","GH_AW_OTEL_GRAFANA_AUTHORIZATION","GH_AW_OTEL_GRAFANA_ENDPOINT","GH_AW_OTEL_SENTRY_AUTHORIZATION","GH_AW_OTEL_SENTRY_ENDPOINT","GITHUB_TOKEN"],"actions":[{"repo":"actions/cache/restore","sha":"27d5ce7f107fe9357f9df03efb73ab90386fccae","version":"v5.0.5"},{"repo":"actions/cache/save","sha":"27d5ce7f107fe9357f9df03efb73ab90386fccae","version":"v5.0.5"},{"repo":"actions/checkout","sha":"df4cb1c069e1874edd31b4311f1884172cec0e10","version":"v6.0.3"},{"repo":"actions/download-artifact","sha":"3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c","version":"v8.0.1"},{"repo":"actions/github-script","sha":"3a2844b7e9c422d3c10d287c895573f7108da1b3","version":"v9.0.0"},{"repo":"actions/setup-node","sha":"48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e","version":"v6.4.0"},{"repo":"actions/upload-artifact","sha":"043fb46d1a93c77aae656e7c1c64a875d1fc6a0a","version":"v7.0.1"}],"containers":[{"image":"ghcr.io/github/gh-aw-firewall/agent:0.27.2","digest":"sha256:f88e5b17b6b7a600117bc121114d6ce2155c88c983c0c939c5df884f730fa1d6","pinned_image":"ghcr.io/github/gh-aw-firewall/agent:0.27.2@sha256:f88e5b17b6b7a600117bc121114d6ce2155c88c983c0c939c5df884f730fa1d6"},{"image":"ghcr.io/github/gh-aw-firewall/api-proxy:0.27.2","digest":"sha256:ee39841d980878ebbb87592903b06d31a1af500c71525c9616f7e8e2a27041a4","pinned_image":"ghcr.io/github/gh-aw-firewall/api-proxy:0.27.2@sha256:ee39841d980878ebbb87592903b06d31a1af500c71525c9616f7e8e2a27041a4"},{"image":"ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.2","digest":"sha256:02f3ec08f32dc26c5427920c6a2e2f3036238fce44802f2f11ef49ed8621b5d0","pinned_image":"ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.2@sha256:02f3ec08f32dc26c5427920c6a2e2f3036238fce44802f2f11ef49ed8621b5d0"},{"image":"ghcr.io/github/gh-aw-firewall/squid:0.27.2","digest":"sha256:2e3a717e5f19a654cd9a2263beb52012b56bcb68562ec5ae2e42f9d156b49591","pinned_image":"ghcr.io/github/gh-aw-firewall/squid:0.27.2@sha256:2e3a717e5f19a654cd9a2263beb52012b56bcb68562ec5ae2e42f9d156b49591"},{"image":"ghcr.io/github/gh-aw-mcpg:v0.3.25","digest":"sha256:c10331ad17668ef89f38f5e356678788a40b0cd5fef96e8f92e1d9c1de47cbaa","pinned_image":"ghcr.io/github/gh-aw-mcpg:v0.3.25@sha256:c10331ad17668ef89f38f5e356678788a40b0cd5fef96e8f92e1d9c1de47cbaa"},{"image":"ghcr.io/github/github-mcp-server:v1.1.2","digest":"sha256:30197479d8036c7811892bc07e06f9a05c9ef3cdd79bc59f256d50647f95788c","pinned_image":"ghcr.io/github/github-mcp-server:v1.1.2@sha256:30197479d8036c7811892bc07e06f9a05c9ef3cdd79bc59f256d50647f95788c"}]}
# This file was automatically generated by gh-aw. DO NOT EDIT. To debug this workflow, load the skill at https://github.com/github/gh-aw/blob/main/debug.md
#
diff --git a/.github/workflows/workflow-normalizer.lock.yml b/.github/workflows/workflow-normalizer.lock.yml
index 579b28e1e8e..ee02573f446 100644
--- a/.github/workflows/workflow-normalizer.lock.yml
+++ b/.github/workflows/workflow-normalizer.lock.yml
@@ -1,4 +1,4 @@
-# gh-aw-metadata: {"schema_version":"v4","frontmatter_hash":"0ed9797cb5fd9a6dbb8ff0f11fb3fd34caf4127c0f28308b80d61dad9ba92f3d","body_hash":"62bf7c11c5440a039a29caa43381885d43ea0bb9e0e45ed4409e36971184c596","strict":true,"agent_id":"copilot","engine_versions":{"copilot":"1.0.60"}}
+# gh-aw-metadata: {"schema_version":"v4","frontmatter_hash":"0ed9797cb5fd9a6dbb8ff0f11fb3fd34caf4127c0f28308b80d61dad9ba92f3d","body_hash":"99545d0adc13a971e88eff7e79b32eff3b3e12a3ba9f869effeeee4d8d750077","strict":true,"agent_id":"copilot","engine_versions":{"copilot":"1.0.60"}}
# gh-aw-manifest: {"version":1,"secrets":["COPILOT_GITHUB_TOKEN","GH_AW_GITHUB_MCP_SERVER_TOKEN","GH_AW_GITHUB_TOKEN","GH_AW_OTEL_GRAFANA_AUTHORIZATION","GH_AW_OTEL_GRAFANA_ENDPOINT","GH_AW_OTEL_SENTRY_AUTHORIZATION","GH_AW_OTEL_SENTRY_ENDPOINT","GITHUB_TOKEN"],"actions":[{"repo":"actions/cache/restore","sha":"27d5ce7f107fe9357f9df03efb73ab90386fccae","version":"v5.0.5"},{"repo":"actions/cache/save","sha":"27d5ce7f107fe9357f9df03efb73ab90386fccae","version":"v5.0.5"},{"repo":"actions/checkout","sha":"df4cb1c069e1874edd31b4311f1884172cec0e10","version":"v6.0.3"},{"repo":"actions/download-artifact","sha":"3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c","version":"v8.0.1"},{"repo":"actions/github-script","sha":"3a2844b7e9c422d3c10d287c895573f7108da1b3","version":"v9.0.0"},{"repo":"actions/setup-go","sha":"4a3601121dd01d1626a1e23e37211e3254c1c06c","version":"v6.4.0"},{"repo":"actions/setup-node","sha":"48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e","version":"v6.4.0"},{"repo":"actions/upload-artifact","sha":"043fb46d1a93c77aae656e7c1c64a875d1fc6a0a","version":"v7.0.1"},{"repo":"docker/build-push-action","sha":"f9f3042f7e2789586610d6e8b85c8f03e5195baf","version":"v7.2.0"},{"repo":"docker/setup-buildx-action","sha":"d7f5e7f509e45cec5c76c4d5afdd7de93d0b3df5","version":"v4.1.0"}],"containers":[{"image":"ghcr.io/github/gh-aw-firewall/agent:0.27.2","digest":"sha256:f88e5b17b6b7a600117bc121114d6ce2155c88c983c0c939c5df884f730fa1d6","pinned_image":"ghcr.io/github/gh-aw-firewall/agent:0.27.2@sha256:f88e5b17b6b7a600117bc121114d6ce2155c88c983c0c939c5df884f730fa1d6"},{"image":"ghcr.io/github/gh-aw-firewall/api-proxy:0.27.2","digest":"sha256:ee39841d980878ebbb87592903b06d31a1af500c71525c9616f7e8e2a27041a4","pinned_image":"ghcr.io/github/gh-aw-firewall/api-proxy:0.27.2@sha256:ee39841d980878ebbb87592903b06d31a1af500c71525c9616f7e8e2a27041a4"},{"image":"ghcr.io/github/gh-aw-firewall/squid:0.27.2","digest":"sha256:2e3a717e5f19a654cd9a2263beb52012b56bcb68562ec5ae2e42f9d156b49591","pinned_image":"ghcr.io/github/gh-aw-firewall/squid:0.27.2@sha256:2e3a717e5f19a654cd9a2263beb52012b56bcb68562ec5ae2e42f9d156b49591"},{"image":"ghcr.io/github/gh-aw-mcpg:v0.3.25","digest":"sha256:c10331ad17668ef89f38f5e356678788a40b0cd5fef96e8f92e1d9c1de47cbaa","pinned_image":"ghcr.io/github/gh-aw-mcpg:v0.3.25@sha256:c10331ad17668ef89f38f5e356678788a40b0cd5fef96e8f92e1d9c1de47cbaa"},{"image":"ghcr.io/github/github-mcp-server:v1.1.2","digest":"sha256:30197479d8036c7811892bc07e06f9a05c9ef3cdd79bc59f256d50647f95788c","pinned_image":"ghcr.io/github/github-mcp-server:v1.1.2@sha256:30197479d8036c7811892bc07e06f9a05c9ef3cdd79bc59f256d50647f95788c"}]}
# This file was automatically generated by gh-aw. DO NOT EDIT. To debug this workflow, load the skill at https://github.com/github/gh-aw/blob/main/debug.md
#