Skip to content

Improve failure issue actionability with generic debug prompt and report-failure-as-issue option#20266

Merged
pelikhan merged 2 commits intomainfrom
copilot/improve-failure-issues-prompts
Mar 9, 2026
Merged

Improve failure issue actionability with generic debug prompt and report-failure-as-issue option#20266
pelikhan merged 2 commits intomainfrom
copilot/improve-failure-issues-prompts

Conversation

Copy link
Contributor

Copilot AI commented Mar 9, 2026

Failure tracking issues lacked a copy-pasteable prompt usable with any coding agent, and had no way to suppress issue creation per-workflow.

New debug.md root file

Symmetric counterpart to create.md — a generic entry point for any coding agent to debug workflow failures. Guides the agent to install gh aw and load the debug prompt.

Updated failure issue template (agent_failure_issue.md)

  • Option 1 (new): Copy-pasteable prompt for any agent (Copilot, Claude, Gemini, etc.):
    Debug the agentic workflow failure using https://raw.githubusercontent.com/github/gh-aw/main/debug.md
    
    The failed workflow run is at {run_url}
    
  • Option 2 / 3: Existing Copilot assignment and manual agent invocation options (renumbered)
  • Tip block: How to suppress failure issue creation:
    safe-outputs:
      report-failure-as-issue: false

New report-failure-as-issue safe-outputs option

Mirrors noop's report-as-issue pattern. Defaults to true (no behavior change for existing workflows).

  • SafeOutputsConfig.ReportFailureAsIssue *bool — new typed field
  • Compiled to explicit GH_AW_FAILURE_REPORT_AS_ISSUE: "true|false" env var in all lock files
  • handle_agent_failure.cjs short-circuits before issue creation when set to false
  • JSON schema entry with description added

Warning

Firewall rules blocked me from connecting to one or more addresses (expand for details)

I tried to connect to the following addresses, but was blocked by firewall rules:

  • https://api.github.com/graphql
    • Triggering command: /usr/bin/gh /usr/bin/gh api graphql -f query=query($owner: String!, $name: String!) { repository(owner: $owner, name: $name) { hasDiscussionsEnabled } } -f owner=github -f name=gh-aw GOMOD GOMODCACHE ortcfg env g/envutil/envutiGOINSECURE g/envutil/envutiGOMOD 64/bin/go GOINSECURE GOMOD GOMODCACHE ache/go/1.25.0/xGO111MODULE (http block)
    • Triggering command: /usr/bin/gh /usr/bin/gh api graphql -f query=query($owner: String!, $name: String!) { repository(owner: $owner, name: $name) { hasDiscussionsEnabled } } -f owner=github -f name=gh-aw GOMOD GOMODCACHE ortcfg env bf0813d7488cf446GOINSECURE GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE ache/go/1.25.0/xGO111MODULE (http block)
    • Triggering command: /usr/bin/gh /usr/bin/gh api graphql -f query=query($owner: String!, $name: String!) { repository(owner: $owner, name: $name) { hasDiscussionsEnabled } } -f owner=github -f name=gh-aw GOMOD GOMODCACHE ortcfg env b7505c45f80cd646GOINSECURE GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE ache/go/1.25.0/xGO111MODULE (http block)
  • https://api.github.com/repos/actions/ai-inference/git/ref/tags/v1
    • Triggering command: /usr/bin/gh gh api /repos/actions/ai-inference/git/ref/tags/v1 --jq .object.sha --show-toplevel go (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/ai-inference/git/ref/tags/v1 --jq .object.sha --show-toplevel gh es list --json /usr/bin/git git rev-�� --show-toplevel git /usr/bin/git --show-toplevel x_amd64/vet /usr/bin/git git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/ai-inference/git/ref/tags/v1 --jq .object.sha 12bbc9b887ba42125c4b02415007ed5563c5aeb4:pkg/workflow/compiler_types.go on rkflow/js/**/*.json /../../.prettiergit erignore /usr/bin/git sh -c npx prettier --write '**/*.cjs' '**/*.ts' '**/*.json' --ignore-path ../../../.pr**/*.json git /home/REDACTED/work/_temp/ghcca-node/node/bin/sh --show-toplevel wc /usr/bin/git sh (http block)
  • https://api.github.com/repos/actions/checkout/git/ref/tags/v3
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v3 --jq .object.sha runs/20260309-222904-31110/test-10408157/.github/workflows go 418998/b351/vet.cfg qCHF/dRc-f4ZuIFegit GO111MODULE 64/bin/go infocmp -1 xterm-color 2628269/b418/imprev-parse /opt/hostedtoolcache/go/1.25.0/x64/pkg/tool/linux_amd64/vet che/go-build/8e/git **/*.cjs 64/bin/go /opt/hostedtoolcache/go/1.25.0/x64/pkg/tool/linux_amd64/vet (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v3 --jq .object.sha --show-toplevel git /usr/bin/git /home/REDACTED/worgit rev-parse ache/node/24.14.--show-toplevel git rev-�� --show-toplevel git /usr/bin/git k/gh-aw/gh-aw/.ggit go /usr/bin/git git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v3 --jq .object.sha .js' --ignore-path .prettierignore --log-level=e!../../../pkg/workflow/js/**/*.json git k/_temp/uv-python-dir/git --show-toplevel git /usr/bin/git node js/f�� *.json' '!../../../pkg/workflow/js/**/*.json' --ignore-path ../../../.prettierignore git k/_temp/uv-python-dir/node --show-toplevel git /usr/bin/git }} ${{ github.actor }} ${{ github.actor }} ${{ --jq (http block)
  • https://api.github.com/repos/actions/checkout/git/ref/tags/v5
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v5 --jq .object.sha -json l /opt/hostedtoolcache/go/1.25.0/x-importcfg GOINSECURE GOMOD GOMODCACHE go env k/gh-aw/gh-aw/.github/workflows GO111MODULE kflow.test l GOMOD GOMODCACHE kflow.test (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v5 --jq .object.sha user.email test@example.com /usr/bin/git -json GO111MODULE ache/go/1.25.0/x--show-toplevel git conf�� user.name Test User /usr/bin/infocmp -json GO111MODULE ache/go/1.25.0/x--show-toplevel infocmp (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v5 --jq .object.sha --show-toplevel go /usr/bin/git k/gh-aw/gh-aw/.ggit GO111MODULE Name,path,create--show-toplevel git rev-�� --show-toplevel go /usr/bin/git -json GO111MODULE util.test git (http block)
  • https://api.github.com/repos/actions/checkout/git/ref/tags/v6
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v6 --jq .object.sha bility_SameInputSameOutput856938594/001/stability-test.md config /usr/bin/infocmp remote.origin.urgit GO111MODULE 64/bin/go infocmp -1 xterm-color mQW25fSdR2Uh /opt/hostedtoolcache/go/1.25.0/x64/pkg/tool/linux_amd64/link -json GO111MODULE r: $owner, name:--show-toplevel /opt/hostedtoolcache/go/1.25.0/x64/pkg/tool/linux_amd64/link (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v6 --jq .object.sha --show-toplevel -tests /usr/bin/infocmp -json GO111MODULE 64/bin/go infocmp -1 xterm-color go /usr/bin/git -json GO111MODULE repository(owne--show-toplevel git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v6 --jq .object.sha --show-toplevel go /usr/bin/git k/gh-aw/gh-aw/.ggit GO111MODULE me: String!) { --show-toplevel git rev-�� --show-toplevel go /usr/bin/git -json GO111MODULE 64/pkg/tool/linu--show-toplevel git (http block)
  • https://api.github.com/repos/actions/github-script/git/ref/tags/v8
    • Triggering command: /usr/bin/gh gh api /repos/actions/github-script/git/ref/tags/v8 --jq .object.sha -json GO111MODULE r: $owner, name:-f GOINSECURE GOMOD GOMODCACHE go env -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/github-script/git/ref/tags/v8 --jq .object.sha go1.25.0 -c=4 -nolocalimports -importcfg /tmp/go-build192418998/b389/importcfg -pack /tmp/go-build192418998/b389/_testmain.go env -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/github-script/git/ref/tags/v8 --jq .object.sha -json GO111MODULE r: $owner, name: $name) { hasDiscussionsEnabled } } GOINSECURE GOMOD GOMODCACHE go env -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)
  • https://api.github.com/repos/actions/setup-go/git/ref/tags/v4
    • Triggering command: /usr/bin/gh gh api /repos/actions/setup-go/git/ref/tags/v4 --jq .object.sha --show-toplevel (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/setup-go/git/ref/tags/v4 --jq .object.sha --show-toplevel git /usr/bin/git --show-toplevel go /opt/hostedtoolc--show-toplevel git rev-�� --show-toplevel node /usr/bin/git /home/REDACTED/worgit go /usr/bin/git git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/setup-go/git/ref/tags/v4 --jq .object.sha 5b59-dirty git 0/x64/bin/node e:]]*"\([^"]*\)"git git r git -has�� ithub/workflows/blog-auditor.md git /usr/bin/make --show-toplevel nly /usr/bin/git make (http block)
  • https://api.github.com/repos/actions/setup-node/git/ref/tags/v4
    • Triggering command: /usr/bin/gh gh api /repos/actions/setup-node/git/ref/tags/v4 --jq .object.sha bW5I/-pOH6J5YoELjpq_JbW5I rev-parse /usr/bin/infocmp -json GO111MODULE 64/bin/go 418998/b427/importcfg -1 k/gh-aw/gh-aw/pkg/timeutil/format.go k/gh-aw/gh-aw/pkg/timeutil/format_test.go ache/node/24.14.0/x64/bin/node -json GO111MODULE 64/bin/go ache/node/24.14.0/x64/bin/node (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/setup-node/git/ref/tags/v4 --jq .object.sha --show-toplevel git /usr/bin/git --show-toplevel go /opt/hostedtoolc--show-toplevel git rev-�� --show-toplevel node /usr/bin/git /home/REDACTED/worgit go /usr/bin/git git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/setup-node/git/ref/tags/v4 --jq .object.sha AF-w/B5SryylHRnrwUIVXAF-w git ache/node/24.14.0/x64/bin/sh --show-toplevel git r 9426612/b001/importcfg show�� te '../../../**/*.json' '!../../../pkg/workflow/js/**/*.json' --ignore-path ../../../.prettieriggit git /opt/hostedtoolcache/go/1.25.0/x64/pkg/tool/linux_amd64/link --show-toplevel nly /usr/bin/git /opt/hostedtoolcache/go/1.25.0/x64/pkg/tool/linux_amd64/link (http block)
  • https://api.github.com/repos/actions/upload-artifact/git/ref/tags/v4
    • Triggering command: /usr/bin/gh gh api /repos/actions/upload-artifact/git/ref/tags/v4 --jq .object.sha graphql -f /usr/bin/git -f owner=github -f git -C /home/REDACTED/work/gh-aw/gh-aw/.github/workflows config /usr/bin/infocmp remote.origin.urgit GO111MODULE 64/bin/go infocmp (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/upload-artifact/git/ref/tags/v4 --jq .object.sha --show-toplevel 0/x64/bin/node /usr/bin/git -bool -buildtags /usr/bin/git git rev-�� --show-toplevel git /usr/bin/git /tmp/compile-allgit rev-parse /usr/bin/git git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/upload-artifact/git/ref/tags/v4 --jq .object.sha --show-toplevel git 0/x64/lib/node_modules/npm/node_modules/@npmcli/run-script/lib/node-gyp-bin/sh --show-toplevel git /usr/bin/git ache/node/24.14.0/x64/bin/node s-13�� */*.ts' '**/*.json' --ignore-path ../../../.pret.prettierignore git /opt/hostedtoolcache/node/24.14.0/x64/bin/node sions.md git /usr/bin/git node (http block)
  • https://api.github.com/repos/astral-sh/setup-uv/git/ref/tags/eac588ad8def6316056a12d4907a9d4d84ff7a3b
    • Triggering command: /usr/bin/gh gh api /repos/astral-sh/setup-uv/git/ref/tags/eac588ad8def6316056a12d4907a9d4d84ff7a3b --jq .object.sha f98c39224891bbadGOINSECURE GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE ache/go/1.25.0/xGO111MODULE env 2628269/b412/_pkGOINSECURE GO111MODULE 64/bin/go GOINSECURE b/gh-aw/pkg/test-C GOMODCACHE go (http block)
    • Triggering command: /usr/bin/gh gh api /repos/astral-sh/setup-uv/git/ref/tags/eac588ad8def6316056a12d4907a9d4d84ff7a3b --jq .object.sha --show-toplevel node /usr/bin/git /usr/bin/infocmpnode git 0/x64/lib/node_modules/npm/node_--show-toplevel git rev-�� --show-toplevel node /usr/bin/git audit-workflows.git git /opt/hostedtoolc/home/REDACTED/work/gh-aw/gh-aw/.github/workflows git (http block)
  • https://api.github.com/repos/github/gh-aw/actions/runs/1/artifacts
    • Triggering command: /usr/bin/gh gh run download 1 --dir test-logs/run-1 GO111MODULE x_amd64/link GOINSECURE GOMOD GOMODCACHE x_amd64/link env ithub/workflows GO111MODULE /opt/hostedtoolcache/go/1.25.0/x64/bin/go GOINSECURE GOMOD ed } } D_/yfVVsRlKznoAR7GIxUgZ/8d2moSUnmQW25fSdR2Uh (http block)
  • https://api.github.com/repos/github/gh-aw/actions/runs/12345/artifacts
    • Triggering command: /usr/bin/gh gh run download 12345 --dir test-logs/run-12345 GO111MODULE x_amd64/vet GOINSECURE GOMOD GOMODCACHE x_amd64/vet env -json GO111MODULE me: String!) { repository(owner: $owner, name: $name) { hasDiscussionsEnabled } } GOINSECURE GOMOD ed } } iginal (http block)
  • https://api.github.com/repos/github/gh-aw/actions/runs/12346/artifacts
    • Triggering command: /usr/bin/gh gh run download 12346 --dir test-logs/run-12346 GO111MODULE x_amd64/compile GOINSECURE GOMOD GOMODCACHE x_amd64/compile env ithub/workflows GO111MODULE /opt/hostedtoolcache/go/1.25.0/x64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)
  • https://api.github.com/repos/github/gh-aw/actions/runs/2/artifacts
    • Triggering command: /usr/bin/gh gh run download 2 --dir test-logs/run-2 GO111MODULE me: String!) { -lang=go1.25 GOINSECURE GOMOD GOMODCACHE go stlo�� -json GO111MODULE /opt/hostedtoolc-importcfg GOINSECURE GOMOD GOMODCACHE go (http block)
  • https://api.github.com/repos/github/gh-aw/actions/runs/3/artifacts
    • Triggering command: /usr/bin/gh gh run download 3 --dir test-logs/run-3 GO111MODULE x_amd64/vet GOINSECURE GOMOD GOMODCACHE x_amd64/vet env -json GO111MODULE me: String!) { repository(owne-nilfunc GOINSECURE GOMOD GOMODCACHE go (http block)
  • https://api.github.com/repos/github/gh-aw/actions/runs/4/artifacts
    • Triggering command: /usr/bin/gh gh run download 4 --dir test-logs/run-4 GO111MODULE x_amd64/compile GOINSECURE GOMOD GOMODCACHE x_amd64/compile env -json GO111MODULE /opt/hostedtoolcache/go/1.25.0/x64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)
  • https://api.github.com/repos/github/gh-aw/actions/runs/5/artifacts
    • Triggering command: /usr/bin/gh gh run download 5 --dir test-logs/run-5 GO111MODULE x_amd64/compile GOINSECURE GOMOD ed } } x_amd64/compile env ithub/workflows GO111MODULE /opt/hostedtoolcache/go/1.25.0/x64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)
  • https://api.github.com/repos/github/gh-aw/actions/workflows
    • Triggering command: /usr/bin/gh gh workflow list --json name,state,path -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go env -json GO111MODULE r: $owner, name:-f GOINSECURE GOMOD GOMODCACHE go (http block)
  • https://api.github.com/repos/github/gh-aw/git/ref/tags/a70c5eada06553e3510ac27f2c3bda9d3705bccb
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/a70c5eada06553e3510ac27f2c3bda9d3705bccb --jq .object.sha 144522c24eae70baGOINSECURE GO111MODULE 64/bin/go GOINSECURE GOMOD erignore ache/go/1.25.0/xGO111MODULE env 2628269/b384/_pkGOINSECURE GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/a70c5eada06553e3510ac27f2c3bda9d3705bccb --jq .object.sha --show-toplevel node /usr/bin/git /usr/bin/git git 0/x64/lib/node_modules/npm/node_--show-toplevel git rev-�� --show-toplevel node /usr/bin/git *.json' '!../..//usr/bin/gh git ache/go/1.25.0/xgraphql git (http block)
  • https://api.github.com/repos/github/gh-aw/git/ref/tags/v1.0.0
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/v1.0.0 --jq .object.sha tmatter-with-nested-objects.md GO111MODULE /opt/hostedtoolcache/go/1.25.0/x-nilfunc GOINSECURE GOMOD GOMODCACHE go env ithub/workflows GO111MODULE /opt/hostedtoolcache/go/1.25.0/x64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/v1.0.0 --jq .object.sha --show-toplevel cp /usr/bin/git k/gh-aw/gh-aw/.ggit GOPROXY /usr/bin/git git rev-�� --show-toplevel git /usr/bin/git 2904-31110/test-git config 64/pkg/tool/linu--show-toplevel git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/v1.0.0 --jq .object.sha ignore-path ../../../.prettierignore git /usr/bin/git --show-toplevel gh ash github.actor }} ${{ github.acto bran�� 4092/001/stability-test.md git 0/x64/bin/node --show-toplevel git /usr/bin/git git (http block)
  • https://api.github.com/repos/github/gh-aw/git/ref/tags/v1.2.3
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/v1.2.3 --jq .object.sha -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go env -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)
  • https://api.github.com/repos/github/gh-aw/git/ref/tags/v2.0.0
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/v2.0.0 --jq .object.sha -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go env -json GO111MODULE repository(owner: $owner, name:-f GOINSECURE GOMOD GOMODCACHE go (http block)
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/v2.0.0 --jq .object.sha -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go env -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/v2.0.0 --jq .object.sha -json GO111MODULE r: $owner, name: $name) { hasDiscussionsEnabled } } GOINSECURE GOMOD GOMODCACHE go env -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)
  • https://api.github.com/repos/github/gh-aw/git/ref/tags/v3.0.0
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/v3.0.0 --jq .object.sha -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go env -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)
  • https://api.github.com/repos/githubnext/agentics/git/ref/tags/
    • Triggering command: /usr/bin/gh gh api /repos/githubnext/agentics/git/ref/tags/# --jq .object.sha -json GO111MODULE 64/bin/go GOINSECURE da601e424ee2bb50-V=full GOMODCACHE go env -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE node (http block)
    • Triggering command: /usr/bin/gh gh api /repos/githubnext/agentics/git/ref/tags/# --jq .object.sha --show-toplevel nly /usr/bin/git agent-persona-ex/opt/hostedtoolcache/go/1.25.0/x64/pkg/tool/linux_amd64/link git ser.test git rev-�� --show-toplevel ser.test /usr/bin/git /usr/bin/git git in/sh git (http block)
  • https://api.github.com/repos/nonexistent/action/git/ref/tags/v999.999.999
    • Triggering command: /usr/bin/gh gh api /repos/nonexistent/action/git/ref/tags/v999.999.999 --jq .object.sha ithub/workflows GO111MODULE /opt/hostedtoolcache/go/1.25.0/x-lang=go1.25 GOINSECURE GOMOD GOMODCACHE go env 2332178981/.github/workflows GO111MODULE me: String!) { repository(owne-importcfg GOINSECURE GOMOD GOMODCACHE go (http block)
    • Triggering command: /usr/bin/gh gh api /repos/nonexistent/action/git/ref/tags/v999.999.999 --jq .object.sha --show-toplevel 64/pkg/tool/linux_amd64/compile /usr/bin/git _.a GOPROXY 64/pkg/tool/linu--show-toplevel git rev-�� --show-toplevel 64/pkg/tool/linux_amd64/compile /usr/bin/git _.a go /usr/bin/git git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/nonexistent/action/git/ref/tags/v999.999.999 --jq .object.sha ypes.go git /usr/bin/sed --show-toplevel /opt/hostedtoolc-c /usr/bin/git sed s/-\�� 1/test1.md git 0/x64/bin/node --show-toplevel git /usr/bin/git git (http block)
  • https://api.github.com/repos/nonexistent/repo/actions/runs/12345
    • Triggering command: /usr/bin/gh gh run view 12345 --repo nonexistent/repo --json status,conclusion GOINSECURE GOMOD GOMODCACHE go env hub/workflows GO111MODULE me: String!) { repository(owner: $owner, name: $name) { hasDiscussionsEnabled } } GOINSECURE GOMOD GOMODCACHE go (http block)
  • https://api.github.com/repos/owner/repo/actions/workflows
    • Triggering command: /usr/bin/gh gh workflow list --json name,state,path --repo owner/repo 64/bin/go GOINSECURE GOMOD GOMODCACHE go env -json GO111MODULE r: $owner, name:-f GOINSECURE GOMOD GOMODCACHE go (http block)
    • Triggering command: /usr/bin/gh gh workflow list --json name,state,path --repo owner/repo r: $owner, name:-f GOINSECURE GOMOD GOMODCACHE go env -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)
  • https://api.github.com/repos/owner/repo/contents/file.md
    • Triggering command: /tmp/go-build192418998/b383/cli.test /tmp/go-build192418998/b383/cli.test -test.testlogfile=/tmp/go-build192418998/b383/testlog.txt -test.paniconexit0 -test.v=true -test.parallel=4 -test.timeout=10m0s -test.run=^Test -test.short=true GOINSECURE GOMOD GOMODCACHE go env -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)
  • https://api.github.com/repos/test-owner/test-repo/actions/secrets
    • Triggering command: /usr/bin/gh gh api /repos/test-owner/test-repo/actions/secrets --jq .secrets[].name -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go env -json GO111MODULE r: $owner, name: $name) { hasDiscussionsEnabled } } GOINSECURE GOMOD GOMODCACHE go (http block)

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


🔒 GitHub Advanced Security automatically protects Copilot coding agent pull requests. You can protect all pull requests by enabling Advanced Security for your repositories. Learn more about Advanced Security.

…ip, implement report-failure-as-issue option"

Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Copilot AI changed the title [WIP] Improve actionability of failure issues with generic prompts Improve failure issue actionability with generic debug prompt and report-failure-as-issue option Mar 9, 2026
@pelikhan pelikhan marked this pull request as ready for review March 9, 2026 22:41
Copilot AI review requested due to automatic review settings March 9, 2026 22:41
@pelikhan pelikhan merged commit 2397829 into main Mar 9, 2026
111 checks passed
@pelikhan pelikhan deleted the copilot/improve-failure-issues-prompts branch March 9, 2026 22:46
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Adds a generic debugging entrypoint and a per-workflow switch to suppress failure-tracking issue creation, improving the actionability and configurability of workflow-failure reporting.

Changes:

  • Add debug.md as a generic, copy-pasteable debugging prompt entrypoint for any coding agent.
  • Introduce safe-outputs.report-failure-as-issue (default true) and propagate it through config parsing → schema → compiled env vars → failure handler behavior.
  • Update the failure issue template to include the generic debug prompt and document how to disable failure issue creation.

Reviewed changes

Copilot reviewed 166 out of 166 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
pkg/workflow/safe_outputs_config.go Parse safe-outputs.report-failure-as-issue from workflow frontmatter.
pkg/workflow/notify_comment.go Always emit GH_AW_FAILURE_REPORT_AS_ISSUE ("true"/"false") into the conclusion job env.
pkg/workflow/compiler_types.go Add SafeOutputsConfig.ReportFailureAsIssue *bool typed config field.
pkg/parser/schemas/main_workflow_schema.json Add JSON schema entry for safe-outputs.report-failure-as-issue (boolean, default true).
debug.md New generic debugging prompt entrypoint that points agents to the repo’s debug prompt.
actions/setup/md/agent_failure_issue.md Add “Option 1” generic debug prompt + tip documenting report-failure-as-issue: false.
actions/setup/js/handle_agent_failure.cjs Add env-driven early return to skip failure issue creation when disabled.
.github/workflows/workflow-skill-extractor.lock.yml Add GH_AW_FAILURE_REPORT_AS_ISSUE: "true" to failure handler env.
.github/workflows/workflow-normalizer.lock.yml Add GH_AW_FAILURE_REPORT_AS_ISSUE: "true" to failure handler env.
.github/workflows/workflow-health-manager.lock.yml Add GH_AW_FAILURE_REPORT_AS_ISSUE: "true" to failure handler env.
.github/workflows/workflow-generator.lock.yml Add GH_AW_FAILURE_REPORT_AS_ISSUE: "true" to failure handler env.
.github/workflows/weekly-safe-outputs-spec-review.lock.yml Add GH_AW_FAILURE_REPORT_AS_ISSUE: "true" to failure handler env.
.github/workflows/weekly-issue-summary.lock.yml Add GH_AW_FAILURE_REPORT_AS_ISSUE: "true" to failure handler env.
.github/workflows/weekly-editors-health-check.lock.yml Add GH_AW_FAILURE_REPORT_AS_ISSUE: "true" to failure handler env.
.github/workflows/video-analyzer.lock.yml Add GH_AW_FAILURE_REPORT_AS_ISSUE: "true" to failure handler env.
.github/workflows/unbloat-docs.lock.yml Add GH_AW_FAILURE_REPORT_AS_ISSUE: "true" to failure handler env.
.github/workflows/ubuntu-image-analyzer.lock.yml Add GH_AW_FAILURE_REPORT_AS_ISSUE: "true" to failure handler env.
.github/workflows/typist.lock.yml Add GH_AW_FAILURE_REPORT_AS_ISSUE: "true" to failure handler env.
.github/workflows/tidy.lock.yml Add GH_AW_FAILURE_REPORT_AS_ISSUE: "true" to failure handler env.
.github/workflows/test-project-url-default.lock.yml Add GH_AW_FAILURE_REPORT_AS_ISSUE: "true" to failure handler env.
.github/workflows/test-dispatcher.lock.yml Add GH_AW_FAILURE_REPORT_AS_ISSUE: "true" to failure handler env.
.github/workflows/test-create-pr-error-handling.lock.yml Add GH_AW_FAILURE_REPORT_AS_ISSUE: "true" to failure handler env.
.github/workflows/terminal-stylist.lock.yml Add GH_AW_FAILURE_REPORT_AS_ISSUE: "true" to failure handler env.
.github/workflows/technical-doc-writer.lock.yml Add GH_AW_FAILURE_REPORT_AS_ISSUE: "true" to failure handler env.
.github/workflows/super-linter.lock.yml Add GH_AW_FAILURE_REPORT_AS_ISSUE: "true" to failure handler env.
.github/workflows/sub-issue-closer.lock.yml Add GH_AW_FAILURE_REPORT_AS_ISSUE: "true" to failure handler env.
.github/workflows/step-name-alignment.lock.yml Add GH_AW_FAILURE_REPORT_AS_ISSUE: "true" to failure handler env.
.github/workflows/static-analysis-report.lock.yml Add GH_AW_FAILURE_REPORT_AS_ISSUE: "true" to failure handler env.
.github/workflows/stale-repo-identifier.lock.yml Add GH_AW_FAILURE_REPORT_AS_ISSUE: "true" to failure handler env.
.github/workflows/smoke-workflow-call.lock.yml Add GH_AW_FAILURE_REPORT_AS_ISSUE: "true" to failure handler env.
.github/workflows/smoke-update-cross-repo-pr.lock.yml Add GH_AW_FAILURE_REPORT_AS_ISSUE: "true" to failure handler env.
.github/workflows/smoke-test-tools.lock.yml Add GH_AW_FAILURE_REPORT_AS_ISSUE: "true" to failure handler env.
.github/workflows/smoke-temporary-id.lock.yml Add GH_AW_FAILURE_REPORT_AS_ISSUE: "true" to failure handler env.
.github/workflows/smoke-project.lock.yml Add GH_AW_FAILURE_REPORT_AS_ISSUE: "true" to failure handler env.
.github/workflows/smoke-multi-pr.lock.yml Add GH_AW_FAILURE_REPORT_AS_ISSUE: "true" to failure handler env.
.github/workflows/smoke-gemini.lock.yml Add GH_AW_FAILURE_REPORT_AS_ISSUE: "true" to failure handler env.
.github/workflows/smoke-create-cross-repo-pr.lock.yml Add GH_AW_FAILURE_REPORT_AS_ISSUE: "true" to failure handler env.
.github/workflows/smoke-copilot.lock.yml Add GH_AW_FAILURE_REPORT_AS_ISSUE: "true" to failure handler env.
.github/workflows/smoke-copilot-arm.lock.yml Add GH_AW_FAILURE_REPORT_AS_ISSUE: "true" to failure handler env.
.github/workflows/smoke-codex.lock.yml Add GH_AW_FAILURE_REPORT_AS_ISSUE: "true" to failure handler env.
.github/workflows/smoke-claude.lock.yml Add GH_AW_FAILURE_REPORT_AS_ISSUE: "true" to failure handler env.
.github/workflows/smoke-agent.lock.yml Add GH_AW_FAILURE_REPORT_AS_ISSUE: "true" to failure handler env.
.github/workflows/slide-deck-maintainer.lock.yml Add GH_AW_FAILURE_REPORT_AS_ISSUE: "true" to failure handler env.
.github/workflows/sergo.lock.yml Add GH_AW_FAILURE_REPORT_AS_ISSUE: "true" to failure handler env.
.github/workflows/semantic-function-refactor.lock.yml Add GH_AW_FAILURE_REPORT_AS_ISSUE: "true" to failure handler env.
.github/workflows/security-review.lock.yml Add GH_AW_FAILURE_REPORT_AS_ISSUE: "true" to failure handler env.
.github/workflows/security-compliance.lock.yml Add GH_AW_FAILURE_REPORT_AS_ISSUE: "true" to failure handler env.
.github/workflows/security-alert-burndown.campaign.g.lock.yml Add GH_AW_FAILURE_REPORT_AS_ISSUE: "true" to failure handler env.
.github/workflows/scout.lock.yml Add GH_AW_FAILURE_REPORT_AS_ISSUE: "true" to failure handler env.
.github/workflows/schema-consistency-checker.lock.yml Add GH_AW_FAILURE_REPORT_AS_ISSUE: "true" to failure handler env.
.github/workflows/safe-output-health.lock.yml Add GH_AW_FAILURE_REPORT_AS_ISSUE: "true" to failure handler env.
.github/workflows/research.lock.yml Add GH_AW_FAILURE_REPORT_AS_ISSUE: "true" to failure handler env.
.github/workflows/repository-quality-improver.lock.yml Add GH_AW_FAILURE_REPORT_AS_ISSUE: "true" to failure handler env.
.github/workflows/repo-tree-map.lock.yml Add GH_AW_FAILURE_REPORT_AS_ISSUE: "true" to failure handler env.
.github/workflows/repo-audit-analyzer.lock.yml Add GH_AW_FAILURE_REPORT_AS_ISSUE: "true" to failure handler env.
.github/workflows/release.lock.yml Add GH_AW_FAILURE_REPORT_AS_ISSUE: "true" to failure handler env.
.github/workflows/refiner.lock.yml Add GH_AW_FAILURE_REPORT_AS_ISSUE: "true" to failure handler env.
.github/workflows/q.lock.yml Add GH_AW_FAILURE_REPORT_AS_ISSUE: "true" to failure handler env.
.github/workflows/python-data-charts.lock.yml Add GH_AW_FAILURE_REPORT_AS_ISSUE: "true" to failure handler env.
.github/workflows/prompt-clustering-analysis.lock.yml Add GH_AW_FAILURE_REPORT_AS_ISSUE: "true" to failure handler env.
.github/workflows/pr-triage-agent.lock.yml Add GH_AW_FAILURE_REPORT_AS_ISSUE: "true" to failure handler env.
.github/workflows/pr-nitpick-reviewer.lock.yml Add GH_AW_FAILURE_REPORT_AS_ISSUE: "true" to failure handler env.
.github/workflows/portfolio-analyst.lock.yml Add GH_AW_FAILURE_REPORT_AS_ISSUE: "true" to failure handler env.
.github/workflows/poem-bot.lock.yml Add GH_AW_FAILURE_REPORT_AS_ISSUE: "true" to failure handler env.
.github/workflows/plan.lock.yml Add GH_AW_FAILURE_REPORT_AS_ISSUE: "true" to failure handler env.
.github/workflows/pdf-summary.lock.yml Add GH_AW_FAILURE_REPORT_AS_ISSUE: "true" to failure handler env.
.github/workflows/org-health-report.lock.yml Add GH_AW_FAILURE_REPORT_AS_ISSUE: "true" to failure handler env.
.github/workflows/notion-issue-summary.lock.yml Add GH_AW_FAILURE_REPORT_AS_ISSUE: "true" to failure handler env.
.github/workflows/mergefest.lock.yml Add GH_AW_FAILURE_REPORT_AS_ISSUE: "true" to failure handler env.
.github/workflows/mcp-inspector.lock.yml Add GH_AW_FAILURE_REPORT_AS_ISSUE: "true" to failure handler env.
.github/workflows/lockfile-stats.lock.yml Add GH_AW_FAILURE_REPORT_AS_ISSUE: "true" to failure handler env.
.github/workflows/layout-spec-maintainer.lock.yml Add GH_AW_FAILURE_REPORT_AS_ISSUE: "true" to failure handler env.
.github/workflows/jsweep.lock.yml Add GH_AW_FAILURE_REPORT_AS_ISSUE: "true" to failure handler env.
.github/workflows/issue-triage-agent.lock.yml Add GH_AW_FAILURE_REPORT_AS_ISSUE: "true" to failure handler env.
.github/workflows/issue-monster.lock.yml Add GH_AW_FAILURE_REPORT_AS_ISSUE: "true" to failure handler env.
.github/workflows/issue-arborist.lock.yml Add GH_AW_FAILURE_REPORT_AS_ISSUE: "true" to failure handler env.
.github/workflows/instructions-janitor.lock.yml Add GH_AW_FAILURE_REPORT_AS_ISSUE: "true" to failure handler env.
.github/workflows/hourly-ci-cleaner.lock.yml Add GH_AW_FAILURE_REPORT_AS_ISSUE: "true" to failure handler env.
.github/workflows/grumpy-reviewer.lock.yml Add GH_AW_FAILURE_REPORT_AS_ISSUE: "true" to failure handler env.
.github/workflows/gpclean.lock.yml Add GH_AW_FAILURE_REPORT_AS_ISSUE: "true" to failure handler env.
.github/workflows/go-pattern-detector.lock.yml Add GH_AW_FAILURE_REPORT_AS_ISSUE: "true" to failure handler env.
.github/workflows/go-logger.lock.yml Add GH_AW_FAILURE_REPORT_AS_ISSUE: "true" to failure handler env.
.github/workflows/go-fan.lock.yml Add GH_AW_FAILURE_REPORT_AS_ISSUE: "true" to failure handler env.
.github/workflows/glossary-maintainer.lock.yml Add GH_AW_FAILURE_REPORT_AS_ISSUE: "true" to failure handler env.
.github/workflows/github-remote-mcp-auth-test.lock.yml Add GH_AW_FAILURE_REPORT_AS_ISSUE: "true" to failure handler env.
.github/workflows/github-mcp-tools-report.lock.yml Add GH_AW_FAILURE_REPORT_AS_ISSUE: "true" to failure handler env.
.github/workflows/github-mcp-structural-analysis.lock.yml Add GH_AW_FAILURE_REPORT_AS_ISSUE: "true" to failure handler env.
.github/workflows/functional-pragmatist.lock.yml Add GH_AW_FAILURE_REPORT_AS_ISSUE: "true" to failure handler env.
.github/workflows/firewall-escape.lock.yml Add GH_AW_FAILURE_REPORT_AS_ISSUE: "true" to failure handler env.
.github/workflows/example-workflow-analyzer.lock.yml Add GH_AW_FAILURE_REPORT_AS_ISSUE: "true" to failure handler env.
.github/workflows/duplicate-code-detector.lock.yml Add GH_AW_FAILURE_REPORT_AS_ISSUE: "true" to failure handler env.
.github/workflows/draft-pr-cleanup.lock.yml Add GH_AW_FAILURE_REPORT_AS_ISSUE: "true" to failure handler env.
.github/workflows/docs-noob-tester.lock.yml Add GH_AW_FAILURE_REPORT_AS_ISSUE: "true" to failure handler env.
.github/workflows/discussion-task-miner.lock.yml Add GH_AW_FAILURE_REPORT_AS_ISSUE: "true" to failure handler env.
.github/workflows/dictation-prompt.lock.yml Add GH_AW_FAILURE_REPORT_AS_ISSUE: "true" to failure handler env.
.github/workflows/developer-docs-consolidator.lock.yml Add GH_AW_FAILURE_REPORT_AS_ISSUE: "true" to failure handler env.
.github/workflows/dev.lock.yml Add GH_AW_FAILURE_REPORT_AS_ISSUE: "true" to failure handler env.
.github/workflows/dev-hawk.lock.yml Add GH_AW_FAILURE_REPORT_AS_ISSUE: "true" to failure handler env.
.github/workflows/dependabot-go-checker.lock.yml Add GH_AW_FAILURE_REPORT_AS_ISSUE: "true" to failure handler env.
.github/workflows/dependabot-burner.lock.yml Add GH_AW_FAILURE_REPORT_AS_ISSUE: "true" to failure handler env.
.github/workflows/delight.lock.yml Add GH_AW_FAILURE_REPORT_AS_ISSUE: "true" to failure handler env.
.github/workflows/deep-report.lock.yml Add GH_AW_FAILURE_REPORT_AS_ISSUE: "true" to failure handler env.
.github/workflows/dead-code-remover.lock.yml Add GH_AW_FAILURE_REPORT_AS_ISSUE: "true" to failure handler env.
.github/workflows/daily-workflow-updater.lock.yml Add GH_AW_FAILURE_REPORT_AS_ISSUE: "true" to failure handler env.
.github/workflows/daily-testify-uber-super-expert.lock.yml Add GH_AW_FAILURE_REPORT_AS_ISSUE: "true" to failure handler env.
.github/workflows/daily-team-status.lock.yml Add GH_AW_FAILURE_REPORT_AS_ISSUE: "true" to failure handler env.
.github/workflows/daily-team-evolution-insights.lock.yml Add GH_AW_FAILURE_REPORT_AS_ISSUE: "true" to failure handler env.
.github/workflows/daily-syntax-error-quality.lock.yml Add GH_AW_FAILURE_REPORT_AS_ISSUE: "true" to failure handler env.
.github/workflows/daily-semgrep-scan.lock.yml Add GH_AW_FAILURE_REPORT_AS_ISSUE: "true" to failure handler env.
.github/workflows/daily-security-red-team.lock.yml Add GH_AW_FAILURE_REPORT_AS_ISSUE: "true" to failure handler env.
.github/workflows/daily-secrets-analysis.lock.yml Add GH_AW_FAILURE_REPORT_AS_ISSUE: "true" to failure handler env.
.github/workflows/daily-safe-outputs-conformance.lock.yml Add GH_AW_FAILURE_REPORT_AS_ISSUE: "true" to failure handler env.
.github/workflows/daily-safe-output-optimizer.lock.yml Add GH_AW_FAILURE_REPORT_AS_ISSUE: "true" to failure handler env.
.github/workflows/daily-repo-chronicle.lock.yml Add GH_AW_FAILURE_REPORT_AS_ISSUE: "true" to failure handler env.
.github/workflows/daily-rendering-scripts-verifier.lock.yml Add GH_AW_FAILURE_REPORT_AS_ISSUE: "true" to failure handler env.
.github/workflows/daily-regulatory.lock.yml Add GH_AW_FAILURE_REPORT_AS_ISSUE: "true" to failure handler env.
.github/workflows/daily-performance-summary.lock.yml Add GH_AW_FAILURE_REPORT_AS_ISSUE: "true" to failure handler env.
.github/workflows/daily-observability-report.lock.yml Add GH_AW_FAILURE_REPORT_AS_ISSUE: "true" to failure handler env.
.github/workflows/daily-news.lock.yml Add GH_AW_FAILURE_REPORT_AS_ISSUE: "true" to failure handler env.
.github/workflows/daily-multi-device-docs-tester.lock.yml Add GH_AW_FAILURE_REPORT_AS_ISSUE: "true" to failure handler env.
.github/workflows/daily-mcp-concurrency-analysis.lock.yml Add GH_AW_FAILURE_REPORT_AS_ISSUE: "true" to failure handler env.
.github/workflows/daily-malicious-code-scan.lock.yml Add GH_AW_FAILURE_REPORT_AS_ISSUE: "true" to failure handler env.
.github/workflows/daily-issues-report.lock.yml Add GH_AW_FAILURE_REPORT_AS_ISSUE: "true" to failure handler env.
.github/workflows/daily-firewall-report.lock.yml Add GH_AW_FAILURE_REPORT_AS_ISSUE: "true" to failure handler env.
.github/workflows/daily-file-diet.lock.yml Add GH_AW_FAILURE_REPORT_AS_ISSUE: "true" to failure handler env.
.github/workflows/daily-fact.lock.yml Add GH_AW_FAILURE_REPORT_AS_ISSUE: "true" to failure handler env.
.github/workflows/daily-doc-updater.lock.yml Add GH_AW_FAILURE_REPORT_AS_ISSUE: "true" to failure handler env.
.github/workflows/daily-doc-healer.lock.yml Add GH_AW_FAILURE_REPORT_AS_ISSUE: "true" to failure handler env.
.github/workflows/daily-copilot-token-report.lock.yml Add GH_AW_FAILURE_REPORT_AS_ISSUE: "true" to failure handler env.
.github/workflows/daily-compiler-quality.lock.yml Add GH_AW_FAILURE_REPORT_AS_ISSUE: "true" to failure handler env.
.github/workflows/daily-code-metrics.lock.yml Add GH_AW_FAILURE_REPORT_AS_ISSUE: "true" to failure handler env.
.github/workflows/daily-cli-tools-tester.lock.yml Add GH_AW_FAILURE_REPORT_AS_ISSUE: "true" to failure handler env.
.github/workflows/daily-cli-performance.lock.yml Add GH_AW_FAILURE_REPORT_AS_ISSUE: "true" to failure handler env.
.github/workflows/daily-choice-test.lock.yml Add GH_AW_FAILURE_REPORT_AS_ISSUE: "true" to failure handler env.
.github/workflows/daily-assign-issue-to-user.lock.yml Add GH_AW_FAILURE_REPORT_AS_ISSUE: "true" to failure handler env.
.github/workflows/daily-architecture-diagram.lock.yml Add GH_AW_FAILURE_REPORT_AS_ISSUE: "true" to failure handler env.
.github/workflows/craft.lock.yml Add GH_AW_FAILURE_REPORT_AS_ISSUE: "true" to failure handler env.
.github/workflows/copilot-session-insights.lock.yml Add GH_AW_FAILURE_REPORT_AS_ISSUE: "true" to failure handler env.
.github/workflows/copilot-pr-prompt-analysis.lock.yml Add GH_AW_FAILURE_REPORT_AS_ISSUE: "true" to failure handler env.
.github/workflows/copilot-pr-nlp-analysis.lock.yml Add GH_AW_FAILURE_REPORT_AS_ISSUE: "true" to failure handler env.
.github/workflows/copilot-pr-merged-report.lock.yml Add GH_AW_FAILURE_REPORT_AS_ISSUE: "true" to failure handler env.
.github/workflows/copilot-cli-deep-research.lock.yml Add GH_AW_FAILURE_REPORT_AS_ISSUE: "true" to failure handler env.
.github/workflows/copilot-agent-analysis.lock.yml Add GH_AW_FAILURE_REPORT_AS_ISSUE: "true" to failure handler env.
.github/workflows/contribution-check.lock.yml Add GH_AW_FAILURE_REPORT_AS_ISSUE: "true" to failure handler env.
.github/workflows/constraint-solving-potd.lock.yml Add GH_AW_FAILURE_REPORT_AS_ISSUE: "true" to failure handler env.
.github/workflows/commit-changes-analyzer.lock.yml Add GH_AW_FAILURE_REPORT_AS_ISSUE: "true" to failure handler env.
.github/workflows/code-simplifier.lock.yml Add GH_AW_FAILURE_REPORT_AS_ISSUE: "true" to failure handler env.
.github/workflows/code-scanning-fixer.lock.yml Add GH_AW_FAILURE_REPORT_AS_ISSUE: "true" to failure handler env.
.github/workflows/cloclo.lock.yml Add GH_AW_FAILURE_REPORT_AS_ISSUE: "true" to failure handler env.
.github/workflows/cli-version-checker.lock.yml Add GH_AW_FAILURE_REPORT_AS_ISSUE: "true" to failure handler env.
.github/workflows/cli-consistency-checker.lock.yml Add GH_AW_FAILURE_REPORT_AS_ISSUE: "true" to failure handler env.
.github/workflows/claude-code-user-docs-review.lock.yml Add GH_AW_FAILURE_REPORT_AS_ISSUE: "true" to failure handler env.
.github/workflows/ci-doctor.lock.yml Add GH_AW_FAILURE_REPORT_AS_ISSUE: "true" to failure handler env.
.github/workflows/ci-coach.lock.yml Add GH_AW_FAILURE_REPORT_AS_ISSUE: "true" to failure handler env.
.github/workflows/changeset.lock.yml Add GH_AW_FAILURE_REPORT_AS_ISSUE: "true" to failure handler env.
.github/workflows/breaking-change-checker.lock.yml Add GH_AW_FAILURE_REPORT_AS_ISSUE: "true" to failure handler env.
.github/workflows/brave.lock.yml Add GH_AW_FAILURE_REPORT_AS_ISSUE: "true" to failure handler env.
.github/workflows/bot-detection.lock.yml Add GH_AW_FAILURE_REPORT_AS_ISSUE: "true" to failure handler env.
.github/workflows/blog-auditor.lock.yml Add GH_AW_FAILURE_REPORT_AS_ISSUE: "true" to failure handler env.
.github/workflows/auto-triage-issues.lock.yml Add GH_AW_FAILURE_REPORT_AS_ISSUE: "true" to failure handler env.
.github/workflows/audit-workflows.lock.yml Add GH_AW_FAILURE_REPORT_AS_ISSUE: "true" to failure handler env.
.github/workflows/artifacts-summary.lock.yml Add GH_AW_FAILURE_REPORT_AS_ISSUE: "true" to failure handler env.
.github/workflows/archie.lock.yml Add GH_AW_FAILURE_REPORT_AS_ISSUE: "true" to failure handler env.
.github/workflows/ai-moderator.lock.yml Add GH_AW_FAILURE_REPORT_AS_ISSUE: "true" to failure handler env.
.github/workflows/agent-persona-explorer.lock.yml Add GH_AW_FAILURE_REPORT_AS_ISSUE: "true" to failure handler env.
.github/workflows/agent-performance-analyzer.lock.yml Add GH_AW_FAILURE_REPORT_AS_ISSUE: "true" to failure handler env.

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

You can also share your feedback on Copilot code review. Take the survey.

Comment on lines +33 to +38
You should see version information displayed. If you encounter an error, check that:

- GitHub CLI (`gh`) is installed and authenticated
- The installation script completed without errors
- `~/.local/share/gh/extensions` is in your PATH

Copy link

Copilot AI Mar 9, 2026

Choose a reason for hiding this comment

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

The troubleshooting bullet suggests ensuring ~/.local/share/gh/extensions is in PATH, but gh discovers extensions from its extensions directory without requiring PATH changes. This can mislead users who can run gh aw fine but don’t have that directory on PATH. Consider replacing this check with one that matches how extensions are actually resolved (e.g., confirm gh extension list shows the extension, or note that adding the extension dir to PATH is only needed if invoking the binary directly).

Copilot uses AI. Check for mistakes.
Comment on lines +464 to +470
// Handle report-failure-as-issue flag
if reportFailureAsIssue, exists := outputMap["report-failure-as-issue"]; exists {
if reportFailureAsIssueBool, ok := reportFailureAsIssue.(bool); ok {
config.ReportFailureAsIssue = &reportFailureAsIssueBool
safeOutputsConfigLog.Printf("Report failure as issue: %t", reportFailureAsIssueBool)
}
}
Copy link

Copilot AI Mar 9, 2026

Choose a reason for hiding this comment

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

This adds a new safe-outputs frontmatter option, but there isn’t an accompanying test asserting that report-failure-as-issue is parsed into SafeOutputsConfig.ReportFailureAsIssue (including the default behavior when omitted). Adding a focused unit test for extractSafeOutputsConfig here would prevent regressions in future safe-outputs parsing changes.

Copilot uses AI. Check for mistakes.
Comment on lines +200 to +205
// Pass report-failure-as-issue configuration flag (defaults to true if not specified)
if data.SafeOutputs != nil && data.SafeOutputs.ReportFailureAsIssue != nil && !*data.SafeOutputs.ReportFailureAsIssue {
agentFailureEnvVars = append(agentFailureEnvVars, " GH_AW_FAILURE_REPORT_AS_ISSUE: \"false\"\n")
} else {
agentFailureEnvVars = append(agentFailureEnvVars, " GH_AW_FAILURE_REPORT_AS_ISSUE: \"true\"\n")
}
Copy link

Copilot AI Mar 9, 2026

Choose a reason for hiding this comment

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

New behavior is introduced by always emitting GH_AW_FAILURE_REPORT_AS_ISSUE into the conclusion job env. There are existing tests for other env vars in notify_comment_test.go; it would be good to add coverage that (1) the env var defaults to "true" when unset and (2) it becomes "false" when SafeOutputs.ReportFailureAsIssue is explicitly set to false, to ensure lockfile generation remains consistent.

Copilot uses AI. Check for mistakes.
Comment on lines +621 to +625
// Check if failure issue reporting is disabled
if (!reportFailureAsIssue) {
core.info("Failure issue reporting is disabled (report-failure-as-issue: false), skipping failure issue creation");
return;
}
Copy link

Copilot AI Mar 9, 2026

Choose a reason for hiding this comment

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

report-failure-as-issue now short-circuits the failure handler before any issue search/creation. There are Vitest tests for handle_agent_failure.cjs (currently focused on buildCodePushFailureContext), but none that cover this new early-return behavior in main(). Adding a unit test that sets GH_AW_FAILURE_REPORT_AS_ISSUE="false" and asserts the script returns without calling GitHub APIs would protect this config flag from regressions.

Copilot uses AI. Check for mistakes.
github-actions bot added a commit that referenced this pull request Mar 10, 2026
Document new CLI flags added in #20272 (run --json, audit --repo, new
--engine, list --dir) and the report-failure-as-issue safe-outputs option
from #20266.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Improve actionability of failure issues by giving a generic prompt to give any coding agent

3 participants