From f86ebacef0b78787fc07b5669b5cd4cec8a750fe Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 21 Jul 2026 09:08:08 +0000 Subject: [PATCH 1/2] Initial plan From 14a82e5a56811e93cf131403512b5cb8865e153d Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 21 Jul 2026 09:22:02 +0000 Subject: [PATCH 2/2] feat(q): add shared/quality-gate.md import to improve output quality The Q workflow was scoring quality 10/100 and effectiveness 5/100 per the agent performance deep report. PR #43527 added the quality-gate prompt fragment for reviewer workflows but did not apply it to Q itself. This change adds `shared/quality-gate.md` to Q's imports so the agent runs a silent self-check (completeness, accuracy, actionability, freshness) before emitting any safe output, reducing the auto-rejection rate and improving overall output quality. Recompiled q.lock.yml to include the runtime-import directive. Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com> --- .github/workflows/q.lock.yml | 24 +++++++++++++----------- .github/workflows/q.md | 1 + 2 files changed, 14 insertions(+), 11 deletions(-) diff --git a/.github/workflows/q.lock.yml b/.github/workflows/q.lock.yml index 5d8aa2738b3..9993eeb2b6c 100644 --- a/.github/workflows/q.lock.yml +++ b/.github/workflows/q.lock.yml @@ -1,4 +1,4 @@ -# gh-aw-metadata: {"schema_version":"v4","frontmatter_hash":"b90dd853b22f849cfac3f8d92485e0e3cb595be1b67cf727a1fa578630050541","body_hash":"9b6d2e493f1da6f7752d5ee4bfd2a8e41cdb65637bc938b3dbee3d948a7d5734","strict":true,"agent_id":"copilot","engine_versions":{"copilot":"1.0.71","copilot-sdk":"1.0.7"}} +# gh-aw-metadata: {"schema_version":"v4","frontmatter_hash":"6f845a680efc3287702b58c72d3466cf12dff1c2938dce3a08a63b20e416ee70","body_hash":"a7e4cf7e16127785ca71e5b5362b91c5434e0f5024c163b61f4b95b64b0a5f88","strict":true,"agent_id":"copilot","engine_versions":{"copilot":"1.0.71","copilot-sdk":"1.0.7"}} # 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":"55cc8345863c7cc4c66a329aec7e433d2d1c52a9","version":"v6.1.0"},{"repo":"actions/cache/save","sha":"55cc8345863c7cc4c66a329aec7e433d2d1c52a9","version":"v6.1.0"},{"repo":"actions/checkout","sha":"9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0","version":"v7.0.0"},{"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":"b7ad1dad31e06c5925ef5d2fc7ad053ef454303e","version":"v7.0.0"},{"repo":"actions/setup-node","sha":"820762786026740c76f36085b0efc47a31fe5020","version":"v7.0.0"},{"repo":"actions/upload-artifact","sha":"043fb46d1a93c77aae656e7c1c64a875d1fc6a0a","version":"v7.0.1"},{"repo":"docker/build-push-action","sha":"53b7df96c91f9c12dcc8a07bcb9ccacbed38856a","version":"v7.3.0"},{"repo":"docker/setup-buildx-action","sha":"bb05f3f5519dd87d3ba754cc423b652a5edd6d2c","version":"v4.2.0"}],"containers":[{"image":"ghcr.io/github/gh-aw-firewall/agent:0.27.37","digest":"sha256:0d35e8682845f183c1c634699a8e8a6cbe2c271b867031410df74533243c5f67","pinned_image":"ghcr.io/github/gh-aw-firewall/agent:0.27.37@sha256:0d35e8682845f183c1c634699a8e8a6cbe2c271b867031410df74533243c5f67"},{"image":"ghcr.io/github/gh-aw-firewall/api-proxy:0.27.37","digest":"sha256:fc2970aadaeae05993e76697d29f03dc8bfb9248ff87a8f3d8b0975485a4b317","pinned_image":"ghcr.io/github/gh-aw-firewall/api-proxy:0.27.37@sha256:fc2970aadaeae05993e76697d29f03dc8bfb9248ff87a8f3d8b0975485a4b317"},{"image":"ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.37","digest":"sha256:1d5300d9b08e1c4f2ad1830860656a0656383a83280058f17e805a7c3ecda203","pinned_image":"ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.37@sha256:1d5300d9b08e1c4f2ad1830860656a0656383a83280058f17e805a7c3ecda203"},{"image":"ghcr.io/github/gh-aw-firewall/squid:0.27.37","digest":"sha256:5abc51995e5901c5d1daeefc957301ee409980e2e607391ec22c06cb2513327b","pinned_image":"ghcr.io/github/gh-aw-firewall/squid:0.27.37@sha256:5abc51995e5901c5d1daeefc957301ee409980e2e607391ec22c06cb2513327b"},{"image":"ghcr.io/github/gh-aw-mcpg:v0.4.1","digest":"sha256:ad2a979c2cd8b50098e84938ca9c9c1580eb8e91526f101a90adfba7859b2c32","pinned_image":"ghcr.io/github/gh-aw-mcpg:v0.4.1@sha256:ad2a979c2cd8b50098e84938ca9c9c1580eb8e91526f101a90adfba7859b2c32"},{"image":"ghcr.io/github/gh-aw-node","digest":"sha256:529d02eb970b1161aa25c593a9c3df57fdfad5a8add328cb3b6eccef66f3183b","pinned_image":"ghcr.io/github/gh-aw-node@sha256:529d02eb970b1161aa25c593a9c3df57fdfad5a8add328cb3b6eccef66f3183b"},{"image":"ghcr.io/github/github-mcp-server:v1.6.0","digest":"sha256:2b0c48b070f61e9d3969269ead600f62d00fb237b60ac849ef3d166ee7de9ad3","pinned_image":"ghcr.io/github/github-mcp-server:v1.6.0@sha256:2b0c48b070f61e9d3969269ead600f62d00fb237b60ac849ef3d166ee7de9ad3"}]} # 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 # @@ -28,6 +28,7 @@ # Resolved workflow manifest: # Imports: # - shared/otlp.md +# - shared/quality-gate.md # # Secrets used: # - COPILOT_GITHUB_TOKEN @@ -340,23 +341,23 @@ jobs: run: | bash "${RUNNER_TEMP}/gh-aw/actions/create_prompt_first.sh" { - cat << 'GH_AW_PROMPT_dc60310485e29f23_EOF' + cat << 'GH_AW_PROMPT_d99c4dd338699f6b_EOF' - GH_AW_PROMPT_dc60310485e29f23_EOF + GH_AW_PROMPT_d99c4dd338699f6b_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_dc60310485e29f23_EOF' + cat << 'GH_AW_PROMPT_d99c4dd338699f6b_EOF' Tools: add_comment, create_pull_request, add_labels, missing_tool, missing_data, noop - GH_AW_PROMPT_dc60310485e29f23_EOF + GH_AW_PROMPT_d99c4dd338699f6b_EOF cat "${RUNNER_TEMP}/gh-aw/prompts/safe_outputs_create_pull_request.md" - cat << 'GH_AW_PROMPT_dc60310485e29f23_EOF' + cat << 'GH_AW_PROMPT_d99c4dd338699f6b_EOF' - GH_AW_PROMPT_dc60310485e29f23_EOF + GH_AW_PROMPT_d99c4dd338699f6b_EOF cat "${RUNNER_TEMP}/gh-aw/prompts/mcp_cli_tools_prompt.md" - cat << 'GH_AW_PROMPT_dc60310485e29f23_EOF' + cat << 'GH_AW_PROMPT_d99c4dd338699f6b_EOF' The following GitHub context information is available for this workflow: {{#if github.actor}} @@ -385,16 +386,17 @@ jobs: {{/if}} - GH_AW_PROMPT_dc60310485e29f23_EOF + GH_AW_PROMPT_d99c4dd338699f6b_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_dc60310485e29f23_EOF' + cat << 'GH_AW_PROMPT_d99c4dd338699f6b_EOF' {{#runtime-import .github/workflows/shared/otlp.md}} + {{#runtime-import .github/workflows/shared/quality-gate.md}} {{#runtime-import .github/workflows/q.md}} - GH_AW_PROMPT_dc60310485e29f23_EOF + GH_AW_PROMPT_d99c4dd338699f6b_EOF } > "$GH_AW_PROMPT" - name: Interpolate variables and render templates uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0 diff --git a/.github/workflows/q.md b/.github/workflows/q.md index 43dc7301176..dea4849ac75 100644 --- a/.github/workflows/q.md +++ b/.github/workflows/q.md @@ -25,6 +25,7 @@ engine: copilot-sdk: true imports: - shared/otlp.md + - shared/quality-gate.md tools: cli-proxy: true agentic-workflows: