Skip to content

fix: add continue-on-error: true to detection_agentic_execution step#28972

Merged
pelikhan merged 2 commits intomainfrom
copilot/aw-failures-fix-detection-parse-error
Apr 28, 2026
Merged

fix: add continue-on-error: true to detection_agentic_execution step#28972
pelikhan merged 2 commits intomainfrom
copilot/aw-failures-fix-detection-parse-error

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented Apr 28, 2026

Detection parse_error was marking workflow runs as conclusion=failure even when the agent succeeded. The actual root cause (confirmed from CI logs): the AWF api-proxy container became unhealthy during threat detection, causing detection_agentic_execution to exit code 1 — which failed the detection job, which propagated to the overall workflow run conclusion.

The "Parse and conclude" step already handles missing/incomplete detection logs correctly in warn mode (core.warning(), not core.setFailed()), but it never got a chance to redeem the job because the upstream execution step hard-failed it.

Changes

  • pkg/workflow/threat_detection.go — Inject continue-on-error: true on the detection_agentic_execution step alongside the existing if: condition injection:

    - name: Execute Claude Code CLI
      if: always() && steps.detection_guard.outputs.run_detection == 'true'
      continue-on-error: true   # ← new
      id: detection_agentic_execution

    Infrastructure failures (unhealthy container, CLI crash, API error) no longer fail the detection job. The if: always() "Parse and conclude" step then handles the empty/partial log as parse_error in warn mode and exits 0.

  • pkg/workflow/compiled_lock_files_test.go — Added AgenticExecutionStepHasContinueOnError sub-test to the smoke-workflow detection job check, enforcing the property is present in all compiled lock files.

  • 202 lock files recompiled with the new step property.

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 (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 0hSTgk3/ra5fv3s3-1 (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 ,short (http block)
  • https://api.github.com/orgs/test-owner/actions/secrets
    • Triggering command: /usr/bin/gh gh api /orgs/test-owner/actions/secrets --jq .secrets[].name -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 /orgs/test-owner/actions/secrets --jq .secrets[].name -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go env h ../../../.prettierignore GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go (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, .object.type] | @tsv --show-toplevel 64/pkg/tool/linuremote2 /usr/bin/git XMdlm1J_w GO111MODULE ache/go/1.25.8/x--show-toplevel git rev-�� --show-toplevel ache/go/1.25.8/x64/pkg/tool/linux_amd64/compile /usr/bin/git 5645364/b101/_pknode om/goccy/go-yaml/opt/hostedtoolcache/node/24.14.1/x64/bin/npm x_amd64/compile git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/ai-inference/git/ref/tags/v1 --jq [.object.sha, .object.type] | @tsv ansitiveImports4153573519/001 go /usr/bin/git */*.ts' '**/*.jsgit GO111MODULE 64/pkg/tool/linu--show-toplevel git rev-�� --show-toplevel 64/pkg/tool/linux_amd64/vet /usr/bin/git -json GO111MODULE ache/go/1.25.8/xinstall git (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, .object.type] | @tsv /tmp/go-build2339247191/b450/styles.test -importcfg /usr/bin/git -s -w -buildmode=exe git ent.�� .md md /usr/bin/git remote.origin.urgit lGitmain_branch3rev-parse x_amd64/compile git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v3 --jq [.object.sha, .object.type] | @tsv /tmp/gh-aw-test-runs/20260428-202545-63597/test-229871429 remote /usr/bin/git 1 GO111MODULE 64/bin/go git remo�� GOMODCACHE go /usr/lib/git-core/git -json GO111MODULE odules/npm/node_--show-toplevel /usr/lib/git-core/git (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, .object.type] | @tsv 2119-38104/test-3297159344/.github/workflows llzq/kleu3xr21GcpMTTxllzq ache/go/1.25.8/x64/pkg/tool/linux_amd64/compile GOINSECURE g/x/crypto/crypt--version GOMODCACHE ache/go/1.25.8/x64/pkg/tool/linux_amd64/compile ortc�� 2119-38104/test-2901834084 stmain.go 1/x64/bin/node GOINSECURE b/gh-aw/pkg/agenrev-parse GOMODCACHE ache/go/1.25.8/x64/pkg/tool/linux_amd64/link (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v5 --jq [.object.sha, .object.type] | @tsv --show-toplevel ortcfg /usr/bin/git p/smoke_test_225tr bR-V/1lTwEKDRhnW\n ache/go/1.25.8/x: git rev-�� --show-toplevel ache/go/1.25.8/x64/pkg/tool/linux_amd64/vet /usr/bin/git 4288819569 K4mu/EjXw-bZiDcnrev-parse /opt/hostedtoolc--show-toplevel git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v5 --jq [.object.sha, .object.type] | @tsv --show-toplevel 1/x64/bin/node /usr/bin/git t0 go (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, .object.type] | @tsv (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v6 --jq [.object.sha, .object.type] | @tsv FETCH_HEAD^{commit} (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v6 --jq [.object.sha, .object.type] | @tsv k/gh-aw/gh-aw/.github/workflows conntrack x_amd64/vet l -j DiscussionsEnabl--show-toplevel x_amd64/vet for-�� k/gh-aw/gh-aw --merged=e6850007bea259af1fa6fde88c78dbbc753886e7 x_amd64/vet (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, .object.type] | @tsv --show-toplevel ache/go/1.25.8/xremote /usr/bin/git 2119-38104/test-git log 9247191/b419=> git rev-�� --show-toplevel /opt/hostedtoolcache/go/1.25.8/x64/pkg/tool/linu-buildtags /usr/bin/git '/tmp/TestParseDgit '/tmp/TestParseDrev-parse /opt/hostedtoolc--show-toplevel git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/github-script/git/ref/tags/v8 --jq [.object.sha, .object.type] | @tsv -v go /usr/bin/git 3063453354 GO111MODULE /opt/hostedtoolc--oneline git rev-�� --show-toplevel go /usr/bin/git ithub/workflows GO111MODULE Name,createdAt,s--show-toplevel git (http block)
  • https://api.github.com/repos/actions/github-script/git/ref/tags/v9
    • Triggering command: /usr/bin/gh gh api /repos/actions/github-script/git/ref/tags/v9 --jq [.object.sha, .object.type] | @tsv go1.25.8 -c=4 -nolocalimports -importcfg /tmp/go-build1215645364/b244/importcfg -pack /home/REDACTED/go/pkg/mod/golang.org/x/text@v0.36.0/internal/number/common.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/v9 --jq [.object.sha, .object.type] | @tsv go1.25.8 -c=4 -nolocalimports -importcfg /tmp/go-build1215645364/b131/importcfg -pack /home/REDACTED/go/pkg/mod/github.com/modelcontextprotocol/go-sdk@v1.5.0/mcp/client.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/v9 --jq [.object.sha, .object.type] | @tsv -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/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, .object.type] | @tsv --show-toplevel 64/pkg/tool/linux_amd64/compile /usr/bin/git g_.a SUy_HbpQE 64/pkg/tool/linu--show-toplevel /usr/bin/git remo�� -v 64/pkg/tool/linux_amd64/compile /usr/bin/git y_with_explicit_git LamLkoYmy ache/go/1.25.8/x--show-toplevel git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/setup-go/git/ref/tags/v4 --jq [.object.sha, .object.type] | @tsv --show-toplevel go /usr/bin/git -json GO111MODULE ache/go/1.25.8/x--show-toplevel git init�� GOMODCACHE go /usr/bin/git '**/*.ts' '**/*.git GO111MODULE ache/go/1.25.8/x--show-toplevel git (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, .object.type] | @tsv /tmp/TestGuardPolicyTrustedUsersExpressionCompiledOutput1703713852/001 rev-parse (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/setup-node/git/ref/tags/v4 --jq [.object.sha, .object.type] | @tsv --git-dir 64/pkg/tool/linux_amd64/compile /usr/bin/gh itmaster_branch3git itmaster_branch3rev-parse 64/pkg/tool/linu--show-toplevel gh run download 3 /usr/bin/git test-logs/run-3 dAR9m3zY_ x_amd64/vet git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/setup-node/git/ref/tags/v4 --jq [.object.sha, .object.type] | @tsv r-test3181462465/existing.md go /opt/hostedtoolcache/node/24.14.1/x64/bin/node -json GO111MODULE /node node /tmp�� /home/REDACTED/work/gh-aw/gh-aw/.gtest-logs/run-5 go /usr/bin/git -json GO111MODULE 64/bin/go git (http block)
  • https://api.github.com/repos/actions/setup-node/git/ref/tags/v6
    • Triggering command: /usr/bin/gh gh api /repos/actions/setup-node/git/ref/tags/v6 --jq [.object.sha, .object.type] | @tsv ns.json and pkg/workflow/data/action_pins.json..." (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/setup-node/git/ref/tags/v6 --jq [.object.sha, .object.type] | @tsv (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/setup-node/git/ref/tags/v6 --jq [.object.sha, .object.type] | @tsv ithub/workflows (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, .object.type] | @tsv ons-test1729469185 rev-parse /usr/bin/git -json GO111MODULE 64/bin/go git rev-�� --show-toplevel l /opt/hostedtoolcache/node/24.14.1/x64/bin/node -json GO111MODULE x_amd64/compile node (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/upload-artifact/git/ref/tags/v4 --jq [.object.sha, .object.type] | @tsv --symref origin /usr/bin/git -json GO111MODULE 64/bin/go git -C /tmp/gh-aw-test-runs/20260428-20.artifacts[].name rev-parse /usr/bin/git yphen2864453978/git yphen2864453978/rev-parse 64/bin/go git (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, .object.type] | @tsv (http block)
    • Triggering command: /usr/bin/gh gh api /repos/astral-sh/setup-uv/git/ref/tags/eac588ad8def6316056a12d4907a9d4d84ff7a3b --jq [.object.sha, .object.type] | @tsv . tions/setup/js/node_modules/vite--stdout $name) { hasDiscussionsEnabled } } /tmp/bare-increm/opt/hostedtoolcache/node/24.14.1/x64/bin/node gin/full-mode-br--experimental-import-meta-resolve tions/setup/node--require git init�� -q (http block)
    • Triggering command: /usr/bin/gh gh api /repos/astral-sh/setup-uv/git/ref/tags/eac588ad8def6316056a12d4907a9d4d84ff7a3b --jq [.object.sha, .object.type] | @tsv . tions/setup/js/node_modules/vite--stdout bin/git /tmp/bare-incremgit . ode-gyp-bin/git T3Q2DeM/2hh5-hketest@example.com init�� -q st/suppress-warnings.cjs k/node_modules/.bin/git -m d3dec241..HEAD n-dir/git st/dist/workers/-f (http block)
  • https://api.github.com/repos/github/gh-aw
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw --jq .default_branch (http block)
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw --jq .default_branch -output.go git r: $owner, name: $name) { hasDiscussionsEnabled } } HEAD aeaeecaad7773c23-C k/gh-aw/gh-aw/ac/home/REDACTED/work/gh-aw/gh-aw 1/x64/bin/node ve . tions/setup/js/node_modules/vitest/suppress-warnings.cjs r: $owner, name: $name) { hasDiscussionsEnabled } } -exist mp 13296ec446b42a0d/home/REDACTED/work/gh-aw/gh-aw tions/setup/js/nshow (http block)
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw --jq .default_branch etup-node/git/reremote.origin.url main .yml 86_64/git git 1/x64/lib/node_m/home/REDACTED/work/gh-aw/gh-aw/.github/workflows /opt/hostedtoolcrev-parse -o k/gh-aw/gh-aw :latest (http block)
  • https://api.github.com/repos/github/gh-aw-actions/git/ref/tags/v0.1.2
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw-actions/git/ref/tags/v0.1.2 --jq [.object.sha, .object.type] | @tsv -2635630987/base.md -2635630987/new.md /usr/bin/docker mLsRemoteWithReagit mLsRemoteWithRearev-parse 64/pkg/tool/linu--show-toplevel docker pull�� test/concurrent-image:v1.0.0 64/pkg/tool/linux_amd64/compile /usr/bin/git g_.a xpQFH7LFx 64/pkg/tool/linu--show-toplevel git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw-actions/git/ref/tags/v0.1.2 --jq [.object.sha, .object.type] | @tsv --show-toplevel go /usr/bin/git -json GO111MODULE 1/x64/lib/node_m--show-toplevel git rev-�� --show-toplevel go (http block)
  • https://api.github.com/repos/github/gh-aw-actions/git/ref/tags/v1.0.0
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw-actions/git/ref/tags/v1.0.0 --jq [.object.sha, .object.type] | @tsv --show-toplevel go ps -json GO111MODULE 64/bin/go ps -1 git go om/owner/repo.git -json GO111MODULE x_amd64/compile git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw-actions/git/ref/tags/v1.0.0 --jq [.object.sha, .object.type] | @tsv /tmp/TestParseDefaultBranchFromLsRemoteWithRealGitcustom_branch3remote.origin.url l e/git -json GO111MODULE 64/bin/go e/git -C /tmp/TestGuardPolicyMinIntegrityOnlymin-integrity_with_repos=public_1821319794/001 rev-parse /opt/hostedtoolcache/node/24.14.1/x64/bin/node -json GO111MODULE 64/bin/go node (http block)
  • https://api.github.com/repos/github/gh-aw-actions/git/ref/tags/v1.2.3
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw-actions/git/ref/tags/v1.2.3 --jq [.object.sha, .object.type] | @tsv /tmp/TestGuardPolicyMinIntegrityOnlymin-integrity_only_defaults_repo1422303473/001 remote /usr/bin/git -json GO111MODULE 64/bin/go git -C /tmp/gh-aw-test-runs/20260428-202119-38104/test-2065952596 show /usr/bin/git -json git layTitle git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw-actions/git/ref/tags/v1.2.3 --jq [.object.sha, .object.type] | @tsv --symref origin om/testowner/testrepo.git .github/workflowgit GO111MODULE 64/bin/go git -C /tmp/TestGuardPolicyMinIntegritytest-logs/run-12345 rev-parse /usr/bin/git -json GO111MODULE 64/bin/go git (http block)
  • https://api.github.com/repos/github/gh-aw/actions/runs
    • Triggering command: /usr/bin/gh gh run list --json databaseId,number,url,status,conclusion,workflowName,createdAt,startedAt,updatedAt,event,headBranch,headSha,displayTitle --limit 100 --created >=2026-04-21 GOMOD GOMODCACHE 64/pkg/tool/linuremote.origin.url env -json oding@v0.5.4/ascii/equal_fold.go 64/pkg/tool/linux_amd64/compile GOINSECURE GOMOD GOMODCACHE NKQxPfr/feDwSjXStImIOC-NY5wN (http block)
    • Triggering command: /usr/bin/gh gh run list --json databaseId,number,url,status,conclusion,workflowName,createdAt,startedAt,updatedAt,event,headBranch,headSha,displayTitle --limit 100 --created >=2026-03-29 GOMOD GOMODCACHE 64/pkg/tool/linuremote.origin.url env add-source-path-802246653/.github/workflows GO111MODULE 64/pkg/tool/linux_amd64/compile GOINSECURE GOMOD GOMODCACHE 64/pkg/tool/linuTest User (http block)
    • Triggering command: /usr/bin/gh gh run list --json databaseId,number,url,status,conclusion,workflowName,createdAt,startedAt,updatedAt,event,headBranch,headSha,displayTitle --limit 100 --created >=2026-01-28 GOMOD GOMODCACHE 64/pkg/tool/linutest@example.com env ned-imports-enabled-with-env-template-expressions-in-body.md GO111MODULE 64/pkg/tool/linux_amd64/compile GOINSECURE GOMOD GOMODCACHE 64/pkg/tool/linu-1 (http block)
  • https://api.github.com/repos/github/gh-aw/actions/runs/1/artifacts
    • Triggering command: /usr/bin/gh gh api --paginate repos/{owner}/{repo}/actions/runs/1/artifacts --jq .artifacts[].name h00yucQ7c 64/pkg/tool/linux_amd64/compile GOINSECURE a20poly1305 GOMODCACHE 64/pkg/tool/linux_amd64/compile env g_.a R30X4Bcts ache/go/1.25.8/x64/pkg/tool/linu-test.short=true GOINSECURE %H %ct %D (http block)
    • Triggering command: /usr/bin/gh gh run download 1 --dir test-logs/run-1 sNGC5r73k 64/pkg/tool/linux_amd64/compile GOINSECURE age GOMODCACHE 64/pkg/tool/linuTest User env g_.a GO111MODULE ache/go/1.25.8/x64/pkg/tool/linux_amd64/compile GOINSECURE 5645364/b007/ GOMODCACHE ache/go/1.25.8/x64/pkg/tool/linurev-parse (http block)
    • Triggering command: /usr/bin/gh gh api --paginate repos/{owner}/{repo}/actions/runs/1/artifacts --jq .artifacts[].name GO111MODULE ache/node/24.14.1/x64/bin/node GOINSECURE GOMOD GOMODCACHE go t-19�� 2545-63597/test-3846753000/custom/workflows GO111MODULE e/git GOINSECURE GOMOD GOMODCACHE e/git (http block)
  • https://api.github.com/repos/github/gh-aw/actions/runs/12345/artifacts
    • Triggering command: /usr/bin/gh gh api --paginate repos/{owner}/{repo}/actions/runs/12345/artifacts --jq .artifacts[].name UHEwN-QbQ 64/pkg/tool/linux_amd64/link GOINSECURE GOMOD GOMODCACHE 64/pkg/tool/linux_amd64/link env ntdrain.test jPRjWWcxh ortcfg.link GOINSECURE GOMOD GOMODCACHE FYD7TXdX-i1ql3kueA/opxEl9d6gxDxhg-XZsIZ/x1VsSqnb--auto (http block)
    • Triggering command: /usr/bin/gh gh run download 12345 --dir test-logs/run-12345 Zf4ikgLhb 64/pkg/tool/linux_amd64/vet GOINSECURE GOMOD GOMODCACHE 64/pkg/tool/linux_amd64/vet env 546951670 S-MkVro-o ache/go/1.25.8/x64/pkg/tool/linux_amd64/compile GOINSECURE GOMOD GOMODCACHE ache/go/1.25.8/x64/pkg/tool/linux_amd64/compile (http block)
    • Triggering command: /usr/bin/gh gh api --paginate repos/{owner}/{repo}/actions/runs/12345/artifacts --jq .artifacts[].name GO111MODULE ache/go/1.25.8/x64/pkg/tool/linux_amd64/link GOINSECURE GOMOD erignore ache/go/1.25.8/x64/pkg/tool/linux_amd64/link env 7120115/b431/parser.test GO111MODULE 7120115/b431/importcfg.link GOINSECURE GOMOD GOMODCACHE sHVdv5FZFNYUn/rDYT3ZSPb70o-dEoF9RL/24ItgAgI1s-t8config (http block)
  • https://api.github.com/repos/github/gh-aw/actions/runs/12346/artifacts
    • Triggering command: /usr/bin/gh gh api --paginate repos/{owner}/{repo}/actions/runs/12346/artifacts --jq .artifacts[].name KmEF_rn9z 64/pkg/tool/linux_amd64/vet GOINSECURE GOMOD GOMODCACHE 64/pkg/tool/linutest@example.com env ortcfg CLJOlIPxV ache/go/1.25.8/x64/pkg/tool/linux_amd64/compile GOINSECURE GOMOD GOMODCACHE ache/go/1.25.8/x64/pkg/tool/linux_amd64/compile (http block)
    • Triggering command: /usr/bin/gh gh run download 12346 --dir test-logs/run-12346 AUUx1O_e3 64/pkg/tool/linux_amd64/vet GOINSECURE a20 GOMODCACHE Vgol9MA/jtMHmSR1PwQ4sKWnT8ry env ortcfg GFI5vTWRl ache/go/1.25.8/x64/pkg/tool/linux_amd64/compile GOINSECURE GOMOD GOMODCACHE ache/go/1.25.8/x64/pkg/tool/linux_amd64/compile (http block)
    • Triggering command: /usr/bin/gh gh api --paginate repos/{owner}/{repo}/actions/runs/12346/artifacts --jq .artifacts[].name GO111MODULE ache/go/1.25.8/x64/pkg/tool/linux_amd64/vet GOINSECURE GOMOD erignore ache/go/1.25.8/x64/pkg/tool/linux_amd64/vet env 2545-63597/test-3334149445/.github/workflows GO111MODULE /opt/hostedtoolcache/go/1.25.8/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 api --paginate repos/{owner}/{repo}/actions/runs/2/artifacts --jq .artifacts[].name 8kq6Gg-gh 64/pkg/tool/linu-nolocalimports GOINSECURE GOMOD GOMODCACHE 64/pkg/tool/linu/tmp/go-build2339247191/b462/_testmain.go env ortcfg qrk06zUvD ache/go/1.25.8/x64/pkg/tool/linux_amd64/compile GOINSECURE GOMOD GOMODCACHE ache/go/1.25.8/x64/pkg/tool/linu-importcfg (http block)
    • Triggering command: /usr/bin/gh gh run download 2 --dir test-logs/run-2 InX8DV7o_ ache/go/1.25.8/x-importcfg GOINSECURE GOMOD GOMODCACHE ache/go/1.25.8/x/home/REDACTED/work/gh-aw/gh-aw/pkg/typeutil/convert_test.go estl�� iCGQRg9lJ GO111MODULE 64/pkg/tool/linux_amd64/vet GOINSECURE 5645364/b013/ GOMODCACHE 64/pkg/tool/linux_amd64/vet (http block)
    • Triggering command: /usr/bin/gh gh api --paginate repos/{owner}/{repo}/actions/runs/2/artifacts --jq .artifacts[].name GO111MODULE (http block)
  • https://api.github.com/repos/github/gh-aw/actions/runs/3/artifacts
    • Triggering command: /usr/bin/gh gh api --paginate repos/{owner}/{repo}/actions/runs/3/artifacts --jq .artifacts[].name 06SIChxms 64/pkg/tool/linux_amd64/vet GOINSECURE GOMOD GOMODCACHE 64/pkg/tool/linux_amd64/vet env 4255916500/.github/workflows pKmvAbdZx ache/go/1.25.8/x64/pkg/tool/linu-lang=go1.25 GOINSECURE %H %ct %D (http block)
    • Triggering command: /usr/bin/gh gh run download 3 --dir test-logs/run-3 dAR9m3zY_ x_amd64/vet GOINSECURE GOMOD GOMODCACHE x_amd64/vet env ortcfg 5Hh4AuvTv x_amd64/vet GOINSECURE eader GOMODCACHE x_amd64/vet (http block)
    • Triggering command: /usr/bin/gh gh api --paginate repos/{owner}/{repo}/actions/runs/3/artifacts --jq .artifacts[].name GO111MODULE /opt/hostedtoolcache/go/1.25.8/x64/bin/go GOINSECURE GOMOD GOMODCACHE go env 2545-63597/test-3846753000/custom/workflows GO111MODULE e/git-receive-pack GOINSECURE GOMOD GOMODCACHE (http block)
  • https://api.github.com/repos/github/gh-aw/actions/runs/4/artifacts
    • Triggering command: /usr/bin/gh gh api --paginate repos/{owner}/{repo}/actions/runs/4/artifacts --jq .artifacts[].name GO111MODULE 64/pkg/tool/linux_amd64/link GOINSECURE /bidi abis 64/pkg/tool/linux_amd64/link env 4255916500/.github/workflows JmzP4TwGo ortcfg.link GOINSECURE GOMOD GOMODCACHE -4GmfpWzsnidAKUU7I/p67f43WHEJUTs4-oiIa1/9KqfPfOCpIDAkxslPM8J (http block)
    • Triggering command: /usr/bin/gh gh run download 4 --dir test-logs/run-4 3GMM57Ps3 64/pkg/tool/linux_amd64/compile GOINSECURE gset GOMODCACHE RL/24ItgAgI1s-t8test@example.com env 46/001/test-empty-frontmatter.md GO111MODULE ache/go/1.25.8/x64/pkg/tool/linux_amd64/compile GOINSECURE GOMOD GOMODCACHE ache/go/1.25.8/x64/pkg/tool/linuconfig (http block)
    • Triggering command: /usr/bin/gh gh api --paginate repos/{owner}/{repo}/actions/runs/4/artifacts --jq .artifacts[].name GO111MODULE /opt/hostedtoolcache/go/1.25.8/x64/bin/go GOINSECURE GOMOD GOMODCACHE go env runs/20260428-202545-63597/test-source-field-variant-4253527472 GO111MODULE kflows/local-workflow.lock.yml GOINSECURE GOMOD GOMODCACHE sh (http block)
  • https://api.github.com/repos/github/gh-aw/actions/runs/5/artifacts
    • Triggering command: /usr/bin/gh gh api --paginate repos/{owner}/{repo}/actions/runs/5/artifacts --jq .artifacts[].name GO111MODULE 64/pkg/tool/linux_amd64/link GOINSECURE rm abis 64/pkg/tool/linux_amd64/link env 4255916500/.github/workflows BIoY6_isA k GOINSECURE GOMOD GOMODCACHE D1vb8bV6YvrCyz0kYU/UimiJ_lt2omPMBb08Enn/rF_9p0J54_DTfFj6d_uS (http block)
    • Triggering command: /usr/bin/gh gh run download 5 --dir test-logs/run-5 dq87ptaK6 ache/go/1.25.8/x64/pkg/tool/linux_amd64/compile GOINSECURE GOMOD GOMODCACHE ache/go/1.25.8/x64/pkg/tool/linux_amd64/compile estl�� ortcfg cjNZiRS1g k GOINSECURE GOMOD GOMODCACHE ache/go/1.25.8/x64/pkg/tool/linux_amd64/compile (http block)
    • Triggering command: /usr/bin/gh gh api --paginate repos/{owner}/{repo}/actions/runs/5/artifacts --jq .artifacts[].name GO111MODULE ache/node/24.14.1/x64/bin/node GOINSECURE GOMOD GOMODCACHE go t-20�� 2545-63597/test-3846753000 GO111MODULE es.lock.yml GOINSECURE GOMOD GOMODCACHE e/git (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 64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)
    • Triggering command: /usr/bin/gh gh run list --json databaseId,number,url,status,conclusion,workflowName,createdAt,startedAt,updatedAt,event,headBranch,headSha,displayTitle --workflow nonexistent-workflow-12345 --limit 100 GOMOD GOMODCACHE x_amd64/asm env -json ii/equal_fold.go x_amd64/compile GOINSECURE GOMOD GOMODCACHE x_amd64/compile (http block)
    • Triggering command: /usr/bin/gh gh run list --json databaseId,number,url,status,conclusion,workflowName,createdAt,startedAt,updatedAt,event,headBranch,headSha,displayTitle --workflow nonexistent-workflow-12345 --limit 6 cii 64/src/runtime/alist 64/pkg/tool/linu--json env 988339807 .cfg x_amd64/link GOINSECURE GOMOD GOMODCACHE x_amd64/link (http block)
  • https://api.github.com/repos/github/gh-aw/contents/.github/workflows/shared/reporting.md
    • Triggering command: /tmp/go-build2339247191/b404/cli.test /tmp/go-build2339247191/b404/cli.test -test.testlogfile=/tmp/go-build2339247191/b404/testlog.txt -test.paniconexit0 -test.v=true -test.parallel=4 -test.timeout=10m0s -test.run=^Test -test.short=true -nolocalimports -importcfg /tmp/go-build1215645364/b223/importcfg -pack env -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)
    • Triggering command: /tmp/go-build3657120115/b404/cli.test /tmp/go-build3657120115/b404/cli.test -test.testlogfile=/tmp/go-build3657120115/b404/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/github/gh-aw/git/ref/tags/v0.47.4
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/v0.47.4 --jq [.object.sha, .object.type] | @tsv --show-toplevel ache/go/1.25.8/x64/pkg/tool/linumyorg /usr/bin/git 5645364/b254/_pkgit 28ie/dWadUuI3oiBrev-parse 5645364/b254=> git rev-�� --show-toplevel /opt/hostedtoolcache/go/1.25.8/x64/pkg/tool/linux_amd64/compile /usr/bin/git runs/20260428-20du -trimpath 1/x64/bin/node git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/v0.47.4 --jq [.object.sha, .object.type] | @tsv --show-toplevel go /usr/bin/git SameOutput173923git GO111MODULE /opt/hostedtoolc--show-toplevel git rev-�� --show-toplevel erignore /usr/bin/git 3063453354 GO111MODULE /opt/hostedtoolc/tmp/gh-aw/aw-feature-branch.patch 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, .object.type] | @tsv report.md GO111MODULE ache/go/1.25.8/x64/pkg/tool/linux_amd64/compile GOINSECURE /exithook GOMODCACHE Eu/7mNRYRFA9RXlM--jq ortc�� 5645364/b085/_pkg_.a rg/x/oauth2@v0.35.0/internal/docgithub.com/github/gh-aw/scripts ache/go/1.25.8/x64/pkg/tool/linu-lang=go1.25 GOINSECURE fips140only GOMODCACHE ache/go/1.25.8/x64/pkg/tool/linu-goversion (http block)
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/v1.0.0 --jq [.object.sha, .object.type] | @tsv -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go env 2/001 GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go (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, .object.type] | @tsv -json GO111MODULE x_amd64/compile GOINSECURE GOMOD GOMODCACHE x_amd64/compile env -json GO111MODULE x_amd64/compile GOINSECURE GOMOD GOMODCACHE x_amd64/compile (http block)
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/v1.2.3 --jq [.object.sha, .object.type] | @tsv -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go env -json GO111MODULE node 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, .object.type] | @tsv -json 7 x_amd64/compile GOINSECURE GOMOD GOMODCACHE x_amd64/compile env 3385763/001 3385763/002/work x_amd64/compile GOINSECURE GOMOD GOMODCACHE x_amd64/compile (http block)
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/v2.0.0 --jq [.object.sha, .object.type] | @tsv -json GO111MODULE x_amd64/compile GOINSECURE GOMOD GOMODCACHE x_amd64/compile env -json GO111MODULE x_amd64/compile GOINSECURE GOMOD GOMODCACHE x_amd64/compile (http block)
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/v2.0.0 --jq [.object.sha, .object.type] | @tsv -json GO111MODULE x_amd64/compile -Oz --enable-bugit GOMOD GOMODCACHE x_amd64/compile env -json 1.5.0/internal/jsonrpc2/conn.go x_amd64/compile GOINSECURE GOMOD GOMODCACHE x_amd64/compile (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, .object.type] | @tsv -json GO111MODULE x_amd64/compile GOINSECURE GOMOD GOMODCACHE d43tsyO/GfieGwTmuIc_nJx724Nd env -json GO111MODULE x_amd64/compile GOINSECURE GOMOD GOMODCACHE x_amd64/compile (http block)
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/v3.0.0 --jq [.object.sha, .object.type] | @tsv -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go env 129805254/001 129805254/002/work 64/bin/go GOINSECURE GOMOD GOMODCACHE go (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, .object.type] | @tsv 2119-38104/test-source-field-variant-4279289960/--thin GO111MODULE ache/go/1.25.8/x64/pkg/tool/linux_amd64/compile GOINSECURE 5645364/b029/ GOMODCACHE ache/go/1.25.8/x64/pkg/tool/linux_amd64/compile ortc�� efaultBranchFromLsRemoteWithRealGitcustom_branchremote.origin.url efaultBranchFromLsRemoteWithRealGitcustom_branch3782098564/001' ache/go/1.25.8/x64/pkg/tool/linux_amd64/compile GOINSECURE 5645364/b029/emprev-parse ache/go/1.25.8/x--show-toplevel ache/go/1.25.8/x64/pkg/tool/linumyorg (http block)
    • Triggering command: /usr/bin/gh gh api /repos/nonexistent/action/git/ref/tags/v999.999.999 --jq [.object.sha, .object.type] | @tsv on' --ignore-path ../../../.pret.prettierignore 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/nonexistent/repo/actions/runs/12345
    • Triggering command: /usr/bin/gh gh run view 12345 --repo nonexistent/repo --json status,conclusion GOINSECURE go-sdk/mcp GOMODCACHE ache/go/1.25.8/x64/pkg/tool/linu-test.v=true env or.md GO111MODULE sv GOINSECURE 5645364/b036/ GOMODCACHE ache/go/1.25.8/x64/pkg/tool/linutest@example.com (http block)
    • Triggering command: /usr/bin/gh gh run view 12345 --repo nonexistent/repo --json status,conclusion GOINSECURE GOMOD GOMODCACHE 1/x64/bin/node -c e: ${{ secrets.TOKEN }} GOPROXY /bin/sh GOSUMDB GOWORK 64/bin/go /bin/sh (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 64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)
    • Triggering command: /usr/bin/gh gh workflow list --repo owner/repo --json name,path,state ortcfg.link GOINSECURE GOMOD GOMODCACHE FYD7TXdX-i1ql3kueA/opxEl9d6gxDxhg-XZsIZ/x1VsSqnb--auto env ortcfg GO111MODULE g_.a GOINSECURE GOMOD GOMODCACHE ache/go/1.25.8/xrepos/{owner}/{repo}/actions/runs/12346/artifacts (http block)
    • Triggering command: /usr/bin/gh gh workflow list --json name,state,path --repo owner/repo 64/bin/go GOINSECURE GOMOD GOMODCACHE go /pre�� -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 64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)
    • 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 h ../../../.pret-- GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)
  • https://api.github.com/repos/test/repo
    • Triggering command: /usr/bin/gh gh api /repos/test/repo --jq .default_branch iCGQRg9lJ GO111MODULE 64/pkg/tool/linux_amd64/vet GOINSECURE 5645364/b013/ GOMODCACHE 64/pkg/tool/linux_amd64/vet ortc�� 5645364/b069/_pkg_.a rg/x/text@v0.36.0/internal/tag/tag.go ache/go/1.25.8/x64/pkg/tool/linux_amd64/compile GOINSECURE hlite 5645364/b013/sym--get-regexp ache/go/1.25.8/x^remote\..*\.gh-resolved$ (http block)
    • Triggering command: /usr/bin/gh gh api /repos/test/repo --jq .default_branch /tmp/gh-aw-test-runs/20260428-20--workflow config /usr/bin/git remote.origin.urgit GO111MODULE 64/bin/go git -C /tmp/gh-aw-test-runs/20260428-202545-63597/test-3159955639 config /usr/bin/git remote.origin.urgit GO111MODULE 64/bin/go git (http block)
  • invalid.example.invalid
    • Triggering command: /usr/lib/git-core/git-remote-https /usr/lib/git-core/git-remote-https origin https://invalid.example.invalid/nonexistent-repo.git e/git init�� ndor/bin/git git ode_modules/.bin/git =receive test@example.com--git-dir=/tmp/bare-incremental-08A1ef /git (dns block)

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

…28947)

When the AWF container or Claude/Copilot CLI fails during threat detection
execution (e.g. api-proxy container unhealthy), the detection_agentic_execution
step exits non-zero which marks the entire detection job as failed. Even with
continue-on-error: true on the job, GitHub shows the workflow run as failure.

The fix adds continue-on-error: true directly to the detection_agentic_execution
step so that infrastructure failures do not fail the detection job. The existing
'Parse and conclude threat detection' step (if: always()) already handles
missing or incomplete detection logs in warn mode (parse_error/agent_failure →
conclusion=warning, no core.setFailed() call).

This fixes the P1 issue where detection parse_error caused workflow run
conclusion=failure even when the agent completed its task successfully.

Agent-Logs-Url: https://github.com/github/gh-aw/sessions/cdf47d8e-721e-4895-b797-4efec008d149

Co-authored-by: gh-aw-bot <259018956+gh-aw-bot@users.noreply.github.com>
Copilot AI changed the title [WIP] Fix parse_error in detection causing false workflow failures fix: add continue-on-error: true to detection_agentic_execution step Apr 28, 2026
Copilot AI requested a review from gh-aw-bot April 28, 2026 20:32
@pelikhan pelikhan marked this pull request as ready for review April 28, 2026 20:53
Copilot AI review requested due to automatic review settings April 28, 2026 20:53
@pelikhan pelikhan merged commit 1f521ad into main Apr 28, 2026
29 checks passed
@pelikhan pelikhan deleted the copilot/aw-failures-fix-detection-parse-error branch April 28, 2026 20:55
@github-actions github-actions Bot mentioned this pull request Apr 28, 2026
Copy link
Copy Markdown
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

This PR prevents threat-detection workflow runs from being marked as failed when the detection engine step exits non-zero due to transient infrastructure issues, by making the detection engine execution steps continue-on-error: true so the downstream “Parse and conclude” step can still run and decide the final outcome.

Changes:

  • Inject continue-on-error: true into threat-detection engine execution steps in the detection job (alongside the existing injected if: guard).
  • Add/extend compiled lockfile smoke-test coverage to assert detection_agentic_execution has continue-on-error: true.
  • Recompile workflow lock files to include the updated step property.
Show a summary per file
File Description
pkg/workflow/threat_detection.go Adds continue-on-error: true injection for detection engine execution steps so infra failures don’t hard-fail the detection job before parsing/conclusion.
pkg/workflow/compiled_lock_files_test.go Adds a smoke test asserting detection_agentic_execution includes continue-on-error: true in compiled lock files.
docs/src/content/docs/agent-factory-status.mdx Removes outdated entries from the agent-factory status table.
.github/workflows/*.lock.yml Recompiled lock workflows to reflect the injected continue-on-error: true on detection execution steps.

Copilot's findings

Tip

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

  • Files reviewed: 191/191 changed files
  • Comments generated: 0

@github-actions
Copy link
Copy Markdown
Contributor

🧪 Test Quality Sentinel Report

Test Quality Score: 90/100

Excellent test quality

Metric Value
New/modified tests analyzed 1
✅ Design tests (behavioral contracts) 1 (100%)
⚠️ Implementation tests (low value) 0 (0%)
Tests with error/edge cases 1 (100%)
Duplicate test clusters 0
Test inflation detected No
🚨 Coding-guideline violations None

Test Classification Details

Test File Classification Issues Detected
AgenticExecutionStepHasContinueOnError pkg/workflow/compiled_lock_files_test.go:293 ✅ Design None

Test Analysis

AgenticExecutionStepHasContinueOnError (pkg/workflow/compiled_lock_files_test.go:293)

Classification: Design test (behavioral contract)

What design invariant does this test enforce? It enforces that the detection_agentic_execution step in compiled workflow YAML always has continue-on-error: true, ensuring infrastructure failures don't fail the detection job — a key reliability contract for all smoke workflows.

What would break if deleted? A regression where continue-on-error: true is removed from the generated YAML would go undetected, causing detection job failures to cascade and break the workflow.

Minor note: Score is 90 (not 100) because this is a single sub-case within a table-driven test structure; edge-case coverage (e.g., missing step entirely) is handled by require.NotEqual guards, which is good.


Language Support

Tests analyzed:

  • 🟨 JavaScript (*.test.cjs, *.test.js): 0 tests

Verdict

Check passed. 0% of new tests are implementation tests (threshold: 30%). The new test directly verifies the behavioral contract introduced by this PR's fix.


📖 Understanding Test Classifications

Design Tests (High Value) verify what the system does:

  • Assert on observable outputs, return values, or state changes
  • Cover error paths and boundary conditions
  • Would catch a behavioral regression if deleted
  • Remain valid even after internal refactoring

Implementation Tests (Low Value) verify how the system does it:

  • Assert on internal function calls (mocking internals)
  • Only test the happy path with typical inputs
  • Break during legitimate refactoring even when behavior is correct
  • Give false assurance: they pass even when the system is wrong

Goal: Shift toward tests that describe the system's behavioral contract — the promises it makes to its users and collaborators.

References: §25077126666

🧪 Test quality analysis by Test Quality Sentinel · ● 588.9K ·

Copy link
Copy Markdown
Contributor

@github-actions github-actions Bot left a comment

Choose a reason for hiding this comment

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

✅ Test Quality Sentinel: 90/100. Test quality is excellent — 0% of new tests are implementation tests (threshold: 30%). The single new test directly enforces the behavioral contract introduced by this fix.

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.

[aw-failures] Fix P1: Detection parse_error causes workflow run conclusion=failure even when agent succeeds

4 participants