Skip to content

refactor: relocate misplaced functions identified by semantic clustering analysis#29336

Merged
pelikhan merged 4 commits intomainfrom
copilot/refactor-semantic-function-clustering
Apr 30, 2026
Merged

refactor: relocate misplaced functions identified by semantic clustering analysis#29336
pelikhan merged 4 commits intomainfrom
copilot/refactor-semantic-function-clustering

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented Apr 30, 2026

Semantic function clustering flagged 6 functions living in files whose names misrepresent their purpose. This PR addresses the three non-optional findings.

Changes

  • pkg/cli/mcp_helpers.go (new) — extracts GetBinaryPath and logAndValidateBinaryPath out of mcp_validation.go. These are path-resolution utilities, not validators.

  • pkg/workflow/parse_helpers.go (new) — moves parseStringSliceAny and preprocessProtectedFilesField out of validation_helpers.go. These coerce/preprocess raw config data; they are parsers, not validators.

  • pkg/workflow/heredoc_validation.go (new) — moves ValidateHeredocContent and ValidateHeredocDelimiter out of strings.go. These are the only two exported validation functions outside the package's 44 *_validation.go files; they belong with their peers.

All moves are intra-package; no call sites change. The now-unused errors import is removed from strings.go.

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 verutil.test 2631�� 886795/b118/_pkg_.a om/yosida95/uritemplate/v3@v3.0.2/compile.go ache/go/1.25.8/x64/pkg/tool/linux_amd64/compile GOINSECURE GOMOD GOMODCACHE ache/go/1.25.8/x--json (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 886795/b013/ GOMODCACHE 64/pkg/tool/linux_amd64/compile rtcf�� g_.a rg/x/text@v0.36.0/internal/tag/tag.go 1/x64/bin/node GOINSECURE s 886795/b013/syma--show-toplevel ache/go/1.25.8/x64/pkg/tool/linux_amd64/compile (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 s GOMODCACHE ache/go/1.25.8/x64/pkg/tool/linux_amd64/compile rtcf�� 886795/b134/_pkg_.a rg/x/mod@v0.35.0/semver/semver.go ache/go/1.25.8/x64/pkg/tool/linux_amd64/compile GOINSECURE GOMOD GOMODCACHE ache/go/1.25.8/xsh (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)
  • 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/linux_amd64/vet /usr/bin/git y_with_repos=pubgit GO111MODULE ache/go/1.25.8/x--show-toplevel git rev-�� --show-toplevel ache/go/1.25.8/x64/pkg/tool/linux_amd64/asm /usr/bin/git -json om/google/jsonsc/opt/hostedtoolcache/node/24.14.1/x64/bin/npm .cfg git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/ai-inference/git/ref/tags/v1 --jq [.object.sha, .object.type] | @tsv user.name Test User /usr/bin/git -json GO111MODULE ache/go/1.25.8/x--show-toplevel git remo�� add origin /usr/bin/git audit-workflows.node GO111MODULE (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/TestCompileUpdateDiscussionFieldEnforcement3275632965/001 config /usr/bin/docker remote.origin.urgit 3 x_amd64/compile docker pull�� rhysd/actionlint:latest x_amd64/compile (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v3 --jq [.object.sha, .object.type] | @tsv --show-toplevel l /usr/bin/git ath ../../../.prgit GO111MODULE 64/bin/go git conf�� user.email test@example.com /opt/hostedtoolcache/node/24.14.1/x64/bin/node re GO111MODULE 64/bin/go /opt/hostedtoolcache/node/24.14.1/x64/bin/node (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 g_.a rg/x/text@v0.36.0/internal/catmsg/catmsg.go .cfg GOINSECURE fips140/edwards2-test.testlogfile=/tmp/go-build4263162196/b469/testlog.txt ache/go/1.25.8/x-test.paniconexit0 ache/go/1.25.8/x-test.v=true env Q0vAYI106 sP8T/7wqnwPqkUSI-test.run=^Test ache/go/1.25.8/x-test.short=true GOINSECURE t/internal/numberev-parse GOMODCACHE ache/go/1.25.8/x64/pkg/tool/linutest@example.com (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v5 --jq [.object.sha, .object.type] | @tsv --show-toplevel ache/go/1.25.8/x^remote\..*\.gh-resolved$ /usr/bin/git DefaultBranchFrotr DefaultBranchFro\n ache/go/1.25.8/x: git rev-�� --show-toplevel ache/go/1.25.8/x64/pkg/tool/linumyorg /usr/bin/git zOBY/_mxqyqZCEzggit GO111MODULE /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 /ref/tags/v9 node sv k/gh-aw/gh-aw/.ggit go /usr/bin/git git rev-�� --show-toplevel git /usr/bin/git /tmp/TestGuardPogit rev-parse /usr/bin/git 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, .object.type] | @tsv /v3.0.0 g/typeutil/convert_test.go sv -p crypto/internal/rev-parse -lang=go1.25 3162196/b462/types.test e=/t�� t0 -trimpath (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v6 --jq [.object.sha, .object.type] | @tsv 3423-34259/test-2905205364 -importcfg /usr/bin/git -s -w -buildmode=exe git clon�� /tmp/TestParseDefaultBranchFromLsRemoteWithRealGitmain_branch3729959138/001 /tmp/TestParseDefaultBranchFromLsRemoteWithRealGitmain_branch3729959138/002/work /usr/bin/git -json GO111MODULE 64/bin/go /usr/bin/git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v6 --jq [.object.sha, .object.type] | @tsv 884/001 go ache/node/24.14.1/x64/bin/node -json GO111MODULE 64/bin/go ache/node/24.14.1/x64/bin/node s-15�� ere remote /usr/bin/gh led-with-env-temgit GO111MODULE 64/bin/go gh (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 /opt/hostedtoolcache/go/1.25.8/xTest User /usr/bin/git /ref/tags/v9 ache/go/1.25.8/xstatus 1/x64/bin/node git rev-�� --show-toplevel /opt/hostedtoolcache/go/1.25.8/x64/pkg/tool/linux_amd64/compile /usr/bin/git ithub/workflows/git pkg/mod/golang.orev-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 --show-toplevel ache/go/1.25.8/x64/pkg/tool/linux_amd64/vet /usr/bin/git ithub/workflows/git GO111MODULE 1/x64/bin/node git rev-�� --show-toplevel 1/x64/bin/node /usr/bin/git runs/20260430-15git GO111MODULE 535416/b403/vet.--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-build633886795/b253/importcfg -pack /home/REDACTED/go/pkg/mod/golang.org/x/mod@v0.35.0/semver/semver.go env -json GO111MODULE 64/bin/go ock.json pkg/wor/opt/hostedtoolcache/go/1.25.8/x64/pkg/tool/linux_amd64/compile 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-build633886795/b140/importcfg -pack /home/REDACTED/go/pkg/mod/github.com/modelcontextprotocol/go-sdk@v1.5.0/auth/auth.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/sh _.a /semver/semver.grev-parse 64/pkg/tool/linu--show-toplevel sh -c printf '%s' "$1" sh /usr/bin/git 2247514244/.githgit 34i--fWCy 64/pkg/tool/linu--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 add-source-path-git GO111MODULE tions/setup/node--show-toplevel git rev-�� --show-toplevel go /usr/bin/git 4/001/inlined-b.git GO111MODULE 64/pkg/tool/linu--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/gh-aw-test-runs/20260430-153423-34259/test-4233331803/.github/workflows rev-parse /usr/bin/git -json GO111MODULE 64/bin/go git init�� GOMODCACHE go /usr/bin/git -json GO111MODULE x_amd64/compile git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/setup-node/git/ref/tags/v4 --jq [.object.sha, .object.type] | @tsv --show-toplevel 64/pkg/tool/linu/tmp/file-tracker-test625588515/test2.lock.yml /tmp/go-build4263162196/b404/cli.test _.a l.go 64/pkg/tool/linu--show-toplevel /tmp/go-build4263162196/b404/cli.test -tes�� bis 64/pkg/tool/linustatus /usr/bin/git _.a rtcfg ache/go/1.25.8/x--show-toplevel git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/setup-node/git/ref/tags/v4 --jq [.object.sha, .object.type] | @tsv k/gh-aw/gh-aw/.github/workflows go /usr/bin/git -json GO111MODULE 64/bin/go git clon�� /tmp/TestParseDefaultBranchFromLsRemoteWithRealGitbranch_with_hyphen977935174/00remote.origin.urgit /tmp/TestParseDefaultBranchFromLsRemoteWithRealGitbranch_with_hyphen977935174/002/work /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 /v2.0.0 stmain.go sv (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/setup-node/git/ref/tags/v6 --jq [.object.sha, .object.type] | @tsv licyBlockedUsersApprovalLabelsCompiledOutput2706--limit -trimpath r: $owner, name: $name) { hasDiscussionsEnabled } } l main -lang=go1.25 git-upload-pack /tmp�� TV6lOae4WsPt2nvzZ6yM/TV6lOae4WsPt2nvzZ6yM -dwarf=false /opt/hostedtoolcache/node/24.14.1/x64/bin/node github/workflowsgit -c=4 -nolocalimports node (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/setup-node/git/ref/tags/v6 --jq [.object.sha, .object.type] | @tsv 884/001 l ache/node/24.14.1/x64/bin/node -json GO111MODULE nch,headSha,disp--show-toplevel ache/node/24.14.1/x64/bin/node -200�� --show-toplevel go (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-test1808039861 -trimpath /usr/bin/git -p main -lang=go1.25 git conf�� --get l /usr/bin/gh go1.25.8 -c=4 -nolocalimports gh (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/upload-artifact/git/ref/tags/v4 --jq [.object.sha, .object.type] | @tsv -instructions-test-2876548819 -d ache/node/24.14.1/x64/bin/node -r foreach(ini_get_rev-parse 64/bin/go ache/node/24.14.1/x64/bin/node s-26�� ere go /usr/bin/git -json GO111MODULE 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 . ndlers-gMXm4o/error_handler.sh ules/.bin/git -b 0684e403 k/gh-aw/gh-aw/acuser.name git diff�� --binary (http block)
    • Triggering command: /usr/bin/gh gh api /repos/astral-sh/setup-uv/git/ref/tags/eac588ad8def6316056a12d4907a9d4d84ff7a3b --jq [.object.sha, .object.type] | @tsv . ache/node/24.14.1/x64/bin/node 86_64/git -b 0684e403 in/git git init�� -q (http block)
  • https://api.github.com/repos/github/gh-aw
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw --jq .default_branch .go git 1/x64/bin/node --count ba1b2d844b6caf53-1 _modules/.bin/gixterm-color 1/x64/bin/node ve -q tions/setup/js/node_modules/viteowner=github docker-buildx -exist c019108ef1911a1c-C cal/bin/git docker-buildx (http block)
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw --jq .default_branch k/gh-aw/gh-aw/.gremote.origin.url /home/REDACTED/work/gh-aw/gh-aw/actions/setup/js/node_modules/viteowner=github /tmp/go-build2572777615/b001/exe/text-output l --conditions development /tmp/go-build257rev-parse ings�� ithub/workflows git /opt/hostedtoolcache/node/24.14.-f l ings.cjs es/.bin/git /opt/hostedtoolcshow (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 GOMODCACHE 64/pkg/tool/linux_amd64/compile /usr/bin/git _.a rotocol/go-sdk@vrev-parse 64/pkg/tool/linu--show-toplevel /usr/bin/git remo�� -v l /usr/bin/git _.a kLZAPaMu6 /opt/hostedtoolc--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 om/org1/repo1.git 0/001/test-frontgit GO111MODULE tions/node_modul--show-toplevel git add test.txt go /usr/bin/git */*.ts' '**/*.jsgit GO111MODULE 1/x64/bin/bash git (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 /tmp/TestHashConsistency_InlinedImports573556834diagnostic noise should not be returned go /usr/bin/git -json GO111MODULE 64/bin/go git -C /tmp/compile-all-instructions-test-134136902/.github/workflows git /usr/bin/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 -bool -buildtags /usr/lib/git-core/git -errorsas -ifaceassert -nilfunc /usr/lib/git-core/git --gi�� for-each-ref --format=%(objectname) /usr/bin/git -json GO111MODULE (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 uts.branch -goversion /usr/bin/git -c=4 -nolocalimports -importcfg git -C /tmp/compile-all-instructions-test-134136902/.github/workflows rev-parse om/org2/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.2.3 --jq [.object.sha, .object.type] | @tsv -bool l /usr/lib/git-core/git -errorsas -ifaceassert -nilfunc /usr/lib/git-core/git main�� run --auto /usr/bin/git --detach 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-23 GOMOD GOMODCACHE 64/pkg/tool/linutest@example.com env -json GO111MODULE 64/pkg/tool/linux_amd64/compile GOINSECURE GOMOD GOMODCACHE 64/pkg/tool/linux_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 --limit 100 --created >=2026-03-31 GOMOD GOMODCACHE 64/pkg/tool/linuremote.origin.url env _.a GO111MODULE tartedAt,updatedAt,event,headBranch,headSha,displayTitle GOINSECURE GOMOD GOMODCACHE 64/pkg/tool/linux_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 --limit 100 --created >=2026-01-30 GOMOD GOMODCACHE 64/pkg/tool/linuTest User itma�� _.a GO111MODULE 64/pkg/tool/linux_amd64/compile GOINSECURE GOMOD GOMODCACHE 64/pkg/tool/linux_amd64/compile (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 xCmVfTE68 64/pkg/tool/linux_amd64/compile GOINSECURE GOMOD GOMODCACHE 64/pkg/tool/linu--json env mpiledOutput2706--limit op5fLH1pk k GOINSECURE GOMOD GOMODCACHE ache/go/1.25.8/xorigin (http block)
    • Triggering command: /usr/bin/gh gh run download 1 --dir test-logs/run-1 hOYFQ3cxW 64/pkg/tool/linux_amd64/compile GOINSECURE GOMOD GOMODCACHE 64/pkg/tool/linutest@example.com env g_.a 1iP8YSgUm ache/go/1.25.8/x64/pkg/tool/linux_amd64/compile GOINSECURE %H %ct %D (http block)
    • Triggering command: /usr/bin/gh gh api --paginate repos/{owner}/{repo}/actions/runs/1/artifacts --jq .artifacts[].name remote /usr/bin/git -json GO111MODULE 64/bin/go git -C /tmp/TestCompileUpdateDiscussionFieldEnforcement3628151390/001 config /usr/bin/git remote.origin.urgit GO111MODULE 64/bin/go 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 GO111MODULE 64/pkg/tool/linux_amd64/vet GOINSECURE o 64/src/runtime/a--show-toplevel 64/pkg/tool/linux_amd64/vet env y_with_repos_array_c311019481/001 BytXhgNOP ache/go/1.25.8/x64/pkg/tool/linux_amd64/asm GOINSECURE GOMOD GOMODCACHE ache/go/1.25.8/x64/pkg/tool/linux_amd64/asm (http block)
    • Triggering command: /usr/bin/gh gh run download 12345 --dir test-logs/run-12345 GO111MODULE 64/pkg/tool/linux_amd64/compile GOINSECURE obyte bis 64/pkg/tool/linux_amd64/compile env ut1161350817/001 57OuoO-7M ache/go/1.25.8/x64/pkg/tool/linux_amd64/compile GOINSECURE GOMOD GOMODCACHE ache/go/1.25.8/x64/pkg/tool/linuorigin (http block)
    • Triggering command: /usr/bin/gh gh api --paginate repos/{owner}/{repo}/actions/runs/12345/artifacts --jq .artifacts[].name go /usr/bin/git -json GO111MODULE 64/bin/go git -C r-test415479191/existing.md rev-parse /usr/bin/git -json GO111MODULE 64/bin/go git (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 GO111MODULE 64/pkg/tool/linux_amd64/vet GOINSECURE wasm.o 64/src/runtime/a--show-toplevel 64/pkg/tool/linux_amd64/vet env y_with_repos_array_c311019481/001 aNsjT_hWR ache/go/1.25.8/x64/pkg/tool/linux_amd64/asm GOINSECURE GOMOD GOMODCACHE ache/go/1.25.8/xTest User (http block)
    • Triggering command: /usr/bin/gh gh run download 12346 --dir test-logs/run-12346 eUCGDzm1t 64/pkg/tool/linux_amd64/compile GOINSECURE GOMOD GOMODCACHE 64/pkg/tool/linu--json env g_.a 5Lj-UidHf ache/go/1.25.8/x--created GOINSECURE ole GOMODCACHE ache/go/1.25.8/xremote.origin.url (http block)
    • Triggering command: /usr/bin/gh gh api --paginate repos/{owner}/{repo}/actions/runs/12346/artifacts --jq .artifacts[].name go /usr/bin/git -json GO111MODULE 64/bin/go git -C /tmp/gh-aw-test-runs/20260430-153902-60588/test-4120265838 config /usr/bin/git remote.origin.urgit GO111MODULE 64/bin/go git (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 DW6KATJ4J 64/pkg/tool/linux_amd64/link GOINSECURE GOMOD GOMODCACHE 64/pkg/tool/linux_amd64/link env mpiledOutput2706368914/001 qbNVEaFt_ 64/pkg/tool/linux_amd64/compile GOINSECURE GOMOD GOMODCACHE 64/pkg/tool/linuTest User (http block)
    • Triggering command: /usr/bin/gh gh run download 2 --dir test-logs/run-2 m0O72i2Jk 64/pkg/tool/linux_amd64/link GOINSECURE rm GOMODCACHE 64/pkg/tool/linux_amd64/link env rity1872029544/001 BIoY6_isA 64/pkg/tool/linux_amd64/vet GOINSECURE %H %ct %D (http block)
    • Triggering command: /usr/bin/gh gh api --paginate repos/{owner}/{repo}/actions/runs/2/artifacts --jq .artifacts[].name go /usr/bin/git -json GO111MODULE 64/bin/go git -C /tmp/TestCompileUpdateDiscussionFieldEnforcement3628151390/001 remote /usr/bin/git -json GO111MODULE 64/bin/go git (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 UHEwN-QbQ 64/pkg/tool/linux_amd64/link GOINSECURE GOMOD GOMODCACHE 64/pkg/tool/linu^remote\..*\.gh-resolved$ env edOutput1875068464/001 7zDW0_L0m ortcfg.link GOINSECURE GOMOD GOMODCACHE UB4Z85HNraJd7B2VBq/aMwv_nfK75JUCtest@example.com (http block)
    • Triggering command: /usr/bin/gh gh run download 3 --dir test-logs/run-3 yVIFwLdjv 64/pkg/tool/linux_amd64/link GOINSECURE a20poly1305 GOMODCACHE 64/pkg/tool/linux_amd64/link env util.test R30X4Bcts ortcfg.link GOINSECURE GOMOD GOMODCACHE iUEqf5PFeb3NCkL0nF/2rw-RdHCw_apH02zfbN4/uSkbk2Boorigin (http block)
    • Triggering command: /usr/bin/gh gh api --paginate repos/{owner}/{repo}/actions/runs/3/artifacts --jq .artifacts[].name go /usr/bin/git -json GO111MODULE 64/bin/go git rev-�� --show-toplevel go /usr/bin/git -json GO111MODULE 64/bin/go git (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 x_amd64/vet GOINSECURE o 64/src/internal/xterm-color x_amd64/vet env -json FSSLThW2J 64/pkg/tool/linux_amd64/link GOINSECURE GOMOD GOMODCACHE 64/pkg/tool/linutest@example.com (http block)
    • Triggering command: /usr/bin/gh gh run download 4 --dir test-logs/run-4 QyquJZDcH eutil.test GOINSECURE /bidi GOMODCACHE eutil.test 2631�� rtcfg JmzP4TwGo ache/go/1.25.8/x64/pkg/tool/linux_amd64/compile GOINSECURE GOMOD GOMODCACHE ache/go/1.25.8/x64/pkg/tool/linuremote.origin.url (http block)
    • Triggering command: /usr/bin/gh gh api --paginate repos/{owner}/{repo}/actions/runs/4/artifacts --jq .artifacts[].name config /usr/bin/git remote.origin.urgit GO111MODULE 64/bin/go git rev-�� --show-toplevel go /usr/bin/git -json GO111MODULE 64/bin/go git (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 KmEF_rn9z 64/pkg/tool/linux_amd64/compile GOINSECURE GOMOD GOMODCACHE 64/pkg/tool/linux_amd64/compile env g_.a jPRjWWcxh 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 5 --dir test-logs/run-5 xpQFH7LFx 64/pkg/tool/linux_amd64/vet GOINSECURE GOMOD GOMODCACHE 64/pkg/tool/linux_amd64/vet env rtcfg Y9sJvruy0 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/5/artifacts --jq .artifacts[].name remote /usr/bin/gh -json GO111MODULE 64/bin/go gh run 3902-60588/test-2786533754 --json /usr/bin/git --workflow nonexistent-workrev-parse --limit 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 sonrpc2/conn.go 64/bin/go GOINSECURE GOMOD GOMODCACHE go env -json GO111MODULE 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 100 GOMOD GOMODCACHE x_amd64/compile env -json 2/compile.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 (http block)
  • https://api.github.com/repos/github/gh-aw/contents/.github/workflows/shared/reporting.md
    • Triggering command: /tmp/go-build4263162196/b404/cli.test /tmp/go-build4263162196/b404/cli.test -test.testlogfile=/tmp/go-build4263162196/b404/testlog.txt -test.paniconexit0 -test.v=true -test.parallel=4 -test.timeout=10m0s -test.run=^Test -test.short=true -nolocalimports -importcfg /tmp/go-build633886795/b197/importcfg -pack env -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)
    • Triggering command: /tmp/go-build138535416/b404/cli.test /tmp/go-build138535416/b404/cli.test -test.testlogfile=/tmp/go-build138535416/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 modules/@npmcli/run-script/lib/node-gyp-bin/sh 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/linuremote.upstream.url /usr/bin/git 886795/b235/_pkggit GO111MODULE .cfg git rev-�� --show-toplevel /opt/hostedtoolcache/go/1.25.8/x64/pkg/tool/linu--jq /usr/bin/git 3423-34259/test-du -trimpath ache/go/1.25.8/x/tmp/gh-aw/aw-feature-branch.patch 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 (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 jYhsBWmby GO111MODULE ache/go/1.25.8/x64/pkg/tool/linux_amd64/asm GOINSECURE GOMOD GOMODCACHE ache/go/1.25.8/x64/pkg/tool/linux_amd64/asm rtcf�� -json 64/src/net/addrselect.go 1/x64/bin/node GOINSECURE 886795/b007/ GOMODCACHE ache/go/1.25.8/x64/pkg/tool/linux_amd64/compile (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 on' --ignore-path ../../../.prettierignore GO111MODULE x_amd64/cgo N files are not git GOMOD GOMODCACHE x_amd64/cgo (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 t/format.go 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 6171�� json' --ignore-path ../../../.pr**/*.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, .object.type] | @tsv -json GO111MODULE x_amd64/compile GOINSECURE GOMOD GOMODCACHE x_amd64/compile env -json g.go x_amd64/compile GOINSECURE GOMOD GOMODCACHE 5b4d3ZQ/CzLq7wlyremote (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 iant-521343796/.github/workflows GO111MODULE x_amd64/compile GOINSECURE GOMOD GOMODCACHE x_amd64/compile env -json .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 x_amd64/compile env -json GO111MODULE x_amd64/compile GOINSECURE GOMOD runtime/atomic/auser.email 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 6171�� json' --ignore-path ../../../.pr**/*.json GO111MODULE 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 4233331803/.github/workflows diXaaNED5 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 env 3423-34259/test-source-field-variant-2480531274/-p GO111MODULE 1/x64/bin/node GOINSECURE GOMOD GOMODCACHE ache/go/1.25.8/x-importcfg (http block)
    • Triggering command: /usr/bin/gh gh api /repos/nonexistent/action/git/ref/tags/v999.999.999 --jq [.object.sha, .object.type] | @tsv ed-imports-enabled-with-body-content.md GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go ode_�� -json GO111MODULE x_amd64/vet GOINSECURE GOMOD GOMODCACHE x_amd64/vet (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 64/pkg/tool/linux_amd64/compile env 1769308995 2XU_VxRq0 ache/go/1.25.8/x64/pkg/tool/linux_amd64/compile GOINSECURE util GOMODCACHE ache/go/1.25.8/x64/pkg/tool/linux_amd64/compile (http block)
    • Triggering command: /usr/bin/gh gh run view 12345 --repo nonexistent/repo --json status,conclusion -json GO111MODULE sh infocmp -1 xterm-color go /usr/bin/git on' --ignore-patgit GO111MODULE 64/bin/go git (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 x_amd64/compile GOINSECURE GOMOD GOMODCACHE x_amd64/compile (http block)
    • 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 x_amd64/asm GOINSECURE GOMOD GOMODCACHE x_amd64/asm (http block)
    • Triggering command: /usr/bin/gh gh workflow list --repo owner/repo --json name,path,state 3162196/b392=> GOINSECURE GOMOD GOMODCACHE /opt/hostedtoolcache/go/1.25.8/x64/pkg/tool/linux_amd64/compile 8867�� hD91/6SQQE1ua_NkYbLOdhD91 pkg/mod/github.com/goccy/go-yaml@v1.19.2/context.go e/git -p internal/nettracrev-parse -lang=go1.25 e/git (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)
  • https://api.github.com/repos/test/repo
    • Triggering command: /usr/bin/gh gh api /repos/test/repo --jq .default_branch 61 -trimpath /opt/hostedtoolcache/go/1.25.8/x64/pkg/tool/linux_amd64/vet -p crypto/internal/rev-parse -lang=go1.25 /opt/hostedtoolcache/go/1.25.8/x64/pkg/tool/linux_amd64/vet -ato�� -bool -buildtags t -errorsas -ifaceassert -nilfunc /bin/sh (http block)
    • Triggering command: /usr/bin/gh gh api /repos/test/repo --jq .default_branch --show-toplevel go /usr/bin/git 0/001/test-front/usr/bin/git GO111MODULE ache/go/1.25.8/x-v git rev-�� --show-toplevel go /usr/bin/git */*.ts' '**/*.jsgit GO111MODULE 64/pkg/tool/linu--show-toplevel 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-zcrvGi /git (dns block)

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

…ators to dedicated files

- Move GetBinaryPath + logAndValidateBinaryPath from mcp_validation.go to new mcp_helpers.go (Finding 1)
- Move parseStringSliceAny + preprocessProtectedFilesField from validation_helpers.go to new parse_helpers.go (Finding 2)
- Move ValidateHeredocContent + ValidateHeredocDelimiter from strings.go to new heredoc_validation.go (Finding 3)
- Remove unused 'errors' import from strings.go

Agent-Logs-Url: https://github.com/github/gh-aw/sessions/738bbb5c-6aad-4b17-bc0d-211ac67cd7a4

Co-authored-by: gh-aw-bot <259018956+gh-aw-bot@users.noreply.github.com>
Copilot AI changed the title [WIP] Refactor semantic function clustering analysis for organizational inconsistencies refactor: relocate misplaced functions identified by semantic clustering analysis Apr 30, 2026
Copilot AI requested a review from gh-aw-bot April 30, 2026 15:42
@pelikhan pelikhan marked this pull request as ready for review April 30, 2026 16:29
Copilot AI review requested due to automatic review settings April 30, 2026 16:29
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

Refactors code layout by relocating several misplaced helper/validation functions into files whose names better match their responsibilities, without changing call sites.

Changes:

  • Extracted MCP binary path resolution helpers into a dedicated CLI helpers file.
  • Moved workflow config coercion/parsing helpers into a dedicated parse helpers file.
  • Relocated exported heredoc validation functions into a workflow validation-focused file and removed the now-unused import from strings.go.
Show a summary per file
File Description
pkg/workflow/validation_helpers.go Removes in-file parse helper docs and points readers to the new parse_helpers.go.
pkg/workflow/strings.go Drops heredoc validation functions (moved) and removes the unused errors import.
pkg/workflow/parse_helpers.go New home for config parse/coercion helpers (parseStringSliceAny, preprocessProtectedFilesField).
pkg/workflow/heredoc_validation.go New home for exported heredoc validation functions.
pkg/cli/mcp_validation.go Removes binary path utilities (moved) and the no-longer-needed filepath import.
pkg/cli/mcp_helpers.go New home for MCP binary path resolution utilities (GetBinaryPath, logAndValidateBinaryPath).

Copilot's findings

Tip

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

  • Files reviewed: 6/6 changed files
  • Comments generated: 1

Comment thread pkg/cli/mcp_helpers.go
// Check if the binary file exists
if _, err := os.Stat(binaryPath); err != nil {
if os.IsNotExist(err) {
mcpHelpersLog.Printf("ERROR: binary file does not exist at path: %s", binaryPath)
Copy link

Copilot AI Apr 30, 2026

Choose a reason for hiding this comment

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

Logging message includes a hard-coded severity prefix ("ERROR:") which is inconsistent with other cli log messages that don't embed severity in the text (they use plain messages, sometimes prefixed with "Warning:"). Consider removing the "ERROR:" prefix (or standardizing via the logger itself) to keep log filtering/formatting consistent across the CLI (e.g., pkg/cli/compile_compiler_setup.go:90 uses "Warning:" but there are no other "ERROR:" prefixes in non-test code).

Suggested change
mcpHelpersLog.Printf("ERROR: binary file does not exist at path: %s", binaryPath)
mcpHelpersLog.Printf("binary file does not exist at path: %s", binaryPath)

Copilot uses AI. Check for mistakes.
Generated by Design Decision Gate workflow.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@github-actions
Copy link
Copy Markdown
Contributor

Commit pushed: 88a8a16

🏗️ ADR gate enforced by Design Decision Gate 🏗️

@github-actions
Copy link
Copy Markdown
Contributor

🏗️ Design Decision Gate — ADR Required

This PR makes significant changes to core business logic (223 new lines in pkg/ directories, threshold: 100) but does not have a linked Architecture Decision Record (ADR).

AI has analyzed the PR diff and generated a draft ADR to help you get started:

📄 Draft ADR: docs/adr/29336-relocate-misplaced-functions-to-semantic-homes.md

The draft captures the decision to relocate GetBinaryPath/logAndValidateBinaryPath to mcp_helpers.go, parseStringSliceAny/preprocessProtectedFilesField to parse_helpers.go, and ValidateHeredocContent/ValidateHeredocDelimiter to heredoc_validation.go — all identified via semantic clustering analysis. It also includes the two alternatives considered (leave in place with comments; consolidate into umbrella helpers.go) and the positive/negative consequences, consistent with the pattern established in ADR-27325 and ADR-28282.

What to do next

  1. Review the draft ADR committed to your branch — it was generated from the PR diff
  2. Complete any missing context — the draft is marked Draft; promote to Proposed or Accepted once you are satisfied with the content
  3. Reference the ADR in this PR body by adding a line such as:

    ADR: ADR-29336: Relocate Misplaced Functions to Semantic Homes

Once an ADR is linked in the PR body, this gate will re-run and verify the implementation matches the decision.

Why ADRs Matter

"AI made me procrastinate on key design decisions. Because refactoring was cheap, I could always say 'I'll deal with this later.' Deferring decisions corroded my ability to think clearly."

ADRs create a searchable, permanent record of why the codebase looks the way it does. Future contributors (and your future self) will thank you.


📋 Michael Nygard ADR Format Reference

An ADR must contain these four sections to be considered complete:

  • Context — What is the problem? What forces are at play?
  • Decision — What did you decide? Why?
  • Alternatives Considered — What else could have been done?
  • Consequences — What are the trade-offs (positive and negative)?

All ADRs are stored in docs/adr/ as Markdown files numbered by PR number (e.g., 29336-relocate-misplaced-functions-to-semantic-homes.md for this PR).

🔒 This PR cannot merge until an ADR is linked in the PR body.

🏗️ ADR gate enforced by Design Decision Gate 🏗️ · ● 160.6K ·

@github-actions
Copy link
Copy Markdown
Contributor

✅ smoke-ci: safeoutputs CLI comment + comment-memory run (25179150569)

Generated by Smoke CI for issue #29336 ·

@github-actions
Copy link
Copy Markdown
Contributor

Comment Memory

CI lights the path
Green checks bloom at dawn
Quiet bots still sing

Note

This comment is managed by comment memory.

It stores persistent context for this thread in the code block at the top of this comment.
Edit only the text inside the backtick fences; workflow metadata and the footer are regenerated automatically.

Learn more about comment memory

Generated by Smoke CI for issue #29336 ·

@github-actions github-actions Bot mentioned this pull request Apr 30, 2026
@pelikhan pelikhan merged commit ff25c72 into main Apr 30, 2026
32 checks passed
@pelikhan pelikhan deleted the copilot/refactor-semantic-function-clustering branch April 30, 2026 17:22
Copilot AI added a commit that referenced this pull request Apr 30, 2026
…ds from current run

The smoke test was failing at safe_outputs when resolve_pull_request_review_thread
targeted a pre-existing thread that was already resolved from a previous run.

Update test #15 to capture thread IDs from review comments created in the current run.
Update test #16 to only target unresolved threads (preferring those from test #14),
and skip gracefully with ⚠️ if no unresolved threads exist instead of failing with an API error.

Fixes: #29336"

Agent-Logs-Url: https://github.com/github/gh-aw/sessions/e28a2eef-c003-4eb0-98fd-1175fee61f52

Co-authored-by: gh-aw-bot <259018956+gh-aw-bot@users.noreply.github.com>
pelikhan pushed a commit that referenced this pull request Apr 30, 2026
…#29373)

* Initial plan

* fix: smoke claude resolve review thread targets only unresolved threads from current run

The smoke test was failing at safe_outputs when resolve_pull_request_review_thread
targeted a pre-existing thread that was already resolved from a previous run.

Update test #15 to capture thread IDs from review comments created in the current run.
Update test #16 to only target unresolved threads (preferring those from test #14),
and skip gracefully with ⚠️ if no unresolved threads exist instead of failing with an API error.

Fixes: #29336"

Agent-Logs-Url: https://github.com/github/gh-aw/sessions/e28a2eef-c003-4eb0-98fd-1175fee61f52

Co-authored-by: gh-aw-bot <259018956+gh-aw-bot@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: gh-aw-bot <259018956+gh-aw-bot@users.noreply.github.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.

[refactor] Semantic Function Clustering Analysis: Outliers and Organizational Inconsistencies

4 participants