Skip to content

fix: align GH_AW_INFO_MODEL fallback with COPILOT_MODEL for copilot engine#29007

Merged
pelikhan merged 2 commits intomainfrom
copilot/fix-defaults-in-compiled-lock
Apr 29, 2026
Merged

fix: align GH_AW_INFO_MODEL fallback with COPILOT_MODEL for copilot engine#29007
pelikhan merged 2 commits intomainfrom
copilot/fix-defaults-in-compiled-lock

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented Apr 28, 2026

When vars.GH_AW_MODEL_AGENT_COPILOT is unset, GH_AW_INFO_MODEL fell back to 'auto' while COPILOT_MODEL fell back to 'claude-sonnet-4.6' — causing run metadata to record a different model than what the Copilot CLI actually used.

Changes

  • pkg/workflow/compiler_yaml_lookups.gogetDefaultAgentModel() now returns constants.CopilotBYOKDefaultModel ("claude-sonnet-4.6") for the copilot engine instead of "auto". All other engines retain "auto".
  • Test + golden files — Updated step_summary_test.go and five golden files to expect the new fallback value.
  • Lock files — Recompiled all 127 affected copilot-engine workflows.

After the fix, both env vars in generated lock files agree:

GH_AW_INFO_MODEL: ${{ vars.GH_AW_MODEL_AGENT_COPILOT || 'claude-sonnet-4.6' }}
COPILOT_MODEL:    ${{ vars.GH_AW_MODEL_AGENT_COPILOT || 'claude-sonnet-4.6' }}

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 n_mode.go n_pins.go n_pins_integratighcr.io/github/serena-mcp-server:latest n_pi�� n_pins_test.go n_reference.go n_reference_test.go n_resolver.go n_resolver_test.-C n_sha_checker.go/home/REDACTED/work/gh-aw/gh-aw/.github/workflows n_sha_checker_inrev-parse (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 n_resolver_test.-C n_sha_checker.go/home/REDACTED/work/gh-aw/gh-aw/.github/workflows n_sha_checker_inrev-parse n_sh�� n_sha_validation_test.go ation_checkout_test.go n-dir/bash (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 -c=4 -nolocalimports -importcfg /tmp/go-build3313754408/b434/importcfg -pack /home/REDACTED/work/gh-aw/gh-aw/pkg/repoutil/repoutil.go /home/REDACTED/work/gh-aw/gh-aw/pkg/repoutil/repoutil_test.go -o /tmp/go-build330GOSUMDB -trimpath 64/bin/go -p github.com/githurev-parse -lang=go1.25 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 ithub/workflows GO111MODULE 64/pkg/tool/linu--show-toplevel git rev-�� --show-toplevel 64/pkg/tool/linutest@example.com /usr/bin/git g_.a GO111MODULE .cfg 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 0814-34536/test-1416596507 -buildtags /usr/bin/unpigz -errorsas -ifaceassert -nilfunc /usr/bin/unpigz -d -c -tests /usr/bin/git -json GO111MODULE 64/bin/go 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 0814-34536/test-2393374588/.github/workflows GO111MODULE g_.a GOINSECURE GOMOD GOMODCACHE ache/go/1.25.8/x64/pkg/tool/linux_amd64/compile env 1212897764 GO111MODULE 64/pkg/tool/linux_amd64/link GOINSECURE b/gh-aw/pkg/agenrev-parse GOMODCACHE 64/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 go /usr/bin/git -json GO111MODULE ache/go/1.25.8/x: git rev-�� --show-toplevel ache/go/1.25.8/xconfig /usr/bin/git -json 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 --show-toplevel ache/go/1.25.8/x64/pkg/tool/linux_amd64/vet /usr/bin/git --show-toplevel -extld=gcc /usr/bin/gh git rev-�� --show-toplevel gh /usr/bin/git runs/20260429-00git s/4/artifacts 3754408/b464/vet--show-toplevel 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 (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v6 --jq [.object.sha, .object.type] | @tsv es.test GO111MODULE 64/pkg/tool/linux_amd64/vet GOINSECURE GOMOD GOMODCACHE 64/pkg/tool/linux_amd64/vet 3754�� licyMinIntegrityOnlymin-integrity_with_repos=public_3829268552/001 3754408/b424/_testmain.go g_.a GOINSECURE GOMOD GOMODCACHE /opt/hostedtoolcache/go/1.25.8/x-buildtags (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v6 --jq [.object.sha, .object.type] | @tsv 0814-34536/test-1212897764 -trimpath ache/node/24.14.1/x64/bin/node m0s main (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 go /usr/bin/git -json GO111MODULE e/git-upload-pac--oneline git rev-�� --show-toplevel go /usr/bin/git -json GO111MODULE /opt/hostedtoolc--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 GOSUMDB GOWORK 64/bin/go GOINSECURE GOMOD GOMODCACHE 473923/b387/impoGO111MODULE -c k/gh-aw/gh-aw/cmGOINSECURE k/gh-aw/gh-aw/cmGOMOD 64/bin/go GOSUMDB GOWORK 64/bin/go /opt/hostedtoolcGO111MODULE (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/github-script/git/ref/tags/v9 --jq [.object.sha, .object.type] | @tsv GOSUMDB GOWORK 64/bin/go GOINSECURE GOMOD GOMODCACHE 473923/b412/impoGO111MODULE /hom�� k/gh-aw/gh-aw/pkGOINSECURE k/gh-aw/gh-aw/pkGOMOD 64/bin/go **/*.json --ignore-path ../../../.pretti-json /opt/hostedtoolcGO111MODULE (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/github-script/git/ref/tags/v9 --jq [.object.sha, .object.type] | @tsv Pmyx/P_BUP1C5T15GOINSECURE GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE 473923/b443/impoGO111MODULE -E che/go-build/93/GOINSECURE GOPROXY 64/bin/go GOSUMDB GOWORK 64/bin/go /opt/hostedtoolc-buildtags (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 go 3754408/b471/vet.cfg mLsRemoteWithReagit mLsRemoteWithRearev-parse 64/bin/go /usr/bin/git remo�� -v go /tmp/go-build3313754408/b469/workflow.test -json GO111MODULE 64/pkg/tool/linu--show-toplevel /tmp/go-build3313754408/b469/workflow.test (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/TestGuardPolicyTrustedUsersRequiresMinIntegrity763100979/001 remote ache/node/24.14.1/x64/bin/node /tmp/go-build330git -trimpath 64/bin/go /opt/hostedtoolcache/go/1.25.8/x64/pkg/tool/linux_amd64/compile t-85�� k/gh-aw/gh-aw/.github/workflows/archie.md -trimpath /usr/bin/git -p main -lang=go1.25 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 go 3754408/b468/vet.cfg -json GO111MODULE 64/bin/go infocmp -1 xterm-color go /opt/hostedtoolcache/go/1.25.8/x64/pkg/tool/linux_amd64/link y_with_repos=pubgit GO111MODULE x_amd64/vet /opt/hostedtoolcache/go/1.25.8/x64/pkg/tool/linux_amd64/link (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 (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/setup-node/git/ref/tags/v6 --jq [.object.sha, .object.type] | @tsv -8Dk/5nodp3IL84tZKq5R-8Dk GO111MODULE /opt/hostedtoolcache/go/1.25.8/x64/bin/go GOINSECURE GOMOD GOMODCACHE go 3754�� licyMinIntegrityOnlymin-integrity_with_repos_arr-c=4 3754408/b420/_testmain.go 1/x64/bin/node 001' 001' GOMODCACHE /opt/hostedtoolcache/go/1.25.8/x-test.v=true (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/setup-node/git/ref/tags/v6 --jq [.object.sha, .object.type] | @tsv -bool l ache/go/1.25.8/x64/pkg/tool/linux_amd64/vet -errorsas -ifaceassert -nilfunc ache/go/1.25.8/x64/pkg/tool/linux_amd64/vet conf�� user.email test@example.com /usr/bin/git sions.md GOPROXY 64/bin/go git (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-test2367383401 rev-parse /usr/bin/infocmp l scripts/**/*.js 64/bin/go infocmp -1 xterm-color go 0"}} -json GO111MODULE layTitle 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)
  • https://api.github.com/repos/github/gh-aw
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw --jq .default_branch (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 --show-toplevel go /usr/bin/git ty-test.md GO111MODULE 64/bin/go /usr/bin/git remo�� -v go /usr/bin/git -json GO111MODULE util.test 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 k/gh-aw/gh-aw/.github/workflows/ace-editor.md rev-parse /usr/bin/git extensions.objecgit go 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/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-integrittest-logs/run-1 remote /opt/hostedtoolcache/node/24.14.1/x64/bin/node --porcelain go 64/bin/go node /tmp�� /tmp/TestHashConsistency_GoAndJavaScript3925618030/001/test-complex-frontmatter-with-tools.md go om/upstream/repo.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-22 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 --limit 100 --created >=2026-03-30 GOMOD GOMODCACHE go env add-source-path-2934730047/.github/workflows 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 --limit 100 --created >=2026-01-29 GOMOD GOMODCACHE x_amd64/link env -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE 7z/4P7r8Nx30lqcgfeature-branch (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 GO111MODULE 64/pkg/tool/linux_amd64/vet GOINSECURE GOMOD GOMODCACHE 64/pkg/tool/linux_amd64/vet env -json GO111MODULE k GOINSECURE GOMOD GOMODCACHE go (http block)
    • Triggering command: /usr/bin/gh gh run download 1 --dir test-logs/run-1 GO111MODULE ache/go/1.25.8/x64/bin/go GOINSECURE GOMOD GOMODCACHE go env 30/001/test-complex-frontmatter-with-tools.md GO111MODULE ache/go/1.25.8/x64/bin/go GOINSECURE GOMOD GOMODCACHE go (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/link GOINSECURE GOMOD GOMODCACHE 64/pkg/tool/linuTest User env 3725983159 GO111MODULE ortcfg.link GOINSECURE GOMOD GOMODCACHE FYD7TXdX-i1ql3kueA/opxEl9d6gxDxhorigin (http block)
    • Triggering command: /usr/bin/gh gh run download 12345 --dir test-logs/run-12345 GO111MODULE 64/pkg/tool/linux_amd64/vet GOINSECURE GOMOD GOMODCACHE 64/pkg/tool/linux_amd64/vet env -json GO111MODULE ache/go/1.25.8/x64/bin/go GOINSECURE GOMOD GOMODCACHE go (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 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 run download 12346 --dir test-logs/run-12346 GO111MODULE ionpins.test GOINSECURE GOMOD GOMODCACHE ionpins.test 3137�� -json GO111MODULE ache/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 GO111MODULE 64/pkg/tool/linux_amd64/compile GOINSECURE GOMOD GOMODCACHE 64/pkg/tool/linux_amd64/compile env 3925217868/.github/workflows GO111MODULE x_amd64/compile GOINSECURE GOMOD GOMODCACHE x_amd64/compile (http block)
    • Triggering command: /usr/bin/gh gh run download 2 --dir test-logs/run-2 GO111MODULE ache/go/1.25.8/x64/bin/go GOINSECURE GOMOD GOMODCACHE go env -json GO111MODULE k GOINSECURE GOMOD GOMODCACHE go (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 GO111MODULE 64/pkg/tool/linux_amd64/vet GOINSECURE GOMOD GOMODCACHE 64/pkg/tool/linux_amd64/vet env 30/001/test-empty-frontmatter.md GO111MODULE ache/go/1.25.8/x64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)
    • Triggering command: /usr/bin/gh gh run download 3 --dir test-logs/run-3 GO111MODULE ache/go/1.25.8/x64/bin/go GOINSECURE GOMOD GOMODCACHE go env 30/001/test-complex-frontmatter--test.timeout=10m0s GO111MODULE ache/go/1.25.8/x64/bin/go GOINSECURE GOMOD GOMODCACHE go (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/link GOINSECURE GOMOD GOMODCACHE x_amd64/link env util.test GO111MODULE ortcfg.link GOINSECURE GOMOD GOMODCACHE Eu/7mNRYRFA9RXlMxf9qL--/YcBrNqCWBFU4hJRv0Iid (http block)
    • Triggering command: /usr/bin/gh gh run download 4 --dir test-logs/run-4 GO111MODULE ache/go/1.25.8/x64/bin/go GOINSECURE GOMOD GOMODCACHE go env -json GO111MODULE ache/go/1.25.8/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 api --paginate repos/{owner}/{repo}/actions/runs/5/artifacts --jq .artifacts[].name GO111MODULE 64/pkg/tool/linux_amd64/link GOINSECURE GOMOD GOMODCACHE 64/pkg/tool/linux_amd64/link env 3925217868 GO111MODULE ortcfg.link GOINSECURE GOMOD GOMODCACHE D1vb8bV6YvrCyz0kYU/UimiJ_lt2omPM-test.v=true (http block)
    • Triggering command: /usr/bin/gh gh run download 5 --dir test-logs/run-5 GO111MODULE ache/go/1.25.8/x64/bin/go GOINSECURE GOMOD GOMODCACHE go env -json GO111MODULE ache/go/1.25.8/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 k/gh-aw/gh-aw/pkGOINSECURE **/*.cjs 64/bin/go **/*.json --ignore-path ../../../.pretti-bool /opt/hostedtoolc-buildtags -o /tmp/go-build330-errorsas -trimpath 64/bin/go -p main -lang=go1.25 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 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 6 GOMOD GOMODCACHE 64/pkg/tool/linux_amd64/vet env -json .cfg ache/go/1.25.8/x64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)
  • https://api.github.com/repos/github/gh-aw/contents/.github/workflows/shared/reporting.md
    • Triggering command: /tmp/go-build3313754408/b404/cli.test /tmp/go-build3313754408/b404/cli.test -test.testlogfile=/tmp/go-build3313754408/b404/testlog.txt -test.paniconexit0 -test.v=true -test.parallel=4 -test.timeout=10m0s -test.run=^Test -test.short=true GOINSECURE GOMOD GOMODCACHE node /opt�� prettier --check 64/bin/go **/*.ts **/*.json --ignore-path /bin/sh (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 go /usr/bin/git i.go ntifiers.go 64/pkg/tool/linu--show-toplevel git rev-�� --show-toplevel 64/pkg/tool/linux_amd64/compile /usr/bin/git g_.a GO111MODULE 3754408/b427/imp/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 0814-34536/test-source-field-variant-991283744/.github/workflows GO111MODULE tartedAt,updatedAt,event,headBranch,headSha,displayTitle GOINSECURE GOMOD GOMODCACHE go env -json GO111MODULE ache/go/1.25.8/x64/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 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, .object.type] | @tsv -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go 9162�� -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, .object.type] | @tsv -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go er_b�� -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, .object.type] | @tsv -template-expressions.md GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go 6293�� -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, .object.type] | @tsv -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go env lGitmaster_brancremote.origin.url lGitmaster_branch762931342/001' 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 0814-34536/test-source-field-var-test.timeout=10m0s GO111MODULE ache/go/1.25.8/x64/bin/go GOINSECURE GOMOD GOMODCACHE go env efaultBranchFromLsRemoteWithRealGitcustom_branch836624867/001' efaultBranchFromLsRemoteWithRealGitcustom_branch836624867/001' ache/go/1.25.8/x64/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 GOMOD GOMODCACHE go env /ref/tags/v9 GO111MODULE sv 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 GOSUMDB GOWORK 64/bin/go /opt/hostedtoolcGOPROXY -o /tmp/go-build330GOSUMDB -trimpath 64/bin/go -p main -lang=go1.25 go (http block)
    • Triggering command: /usr/bin/gh gh workflow list --json name,state,path --repo owner/repo 64/bin/go +7 GOWORK 64/bin/go /opt/hostedtoolc-buildtags -o /tmp/go-build330-errorsas -trimpath 64/bin/go -p main -lang=go1.25 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/opxEl9d6gxDxhorigin env -json GO111MODULE g_.a 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 che/go-build/84/GOINSECURE **/*.cjs 64/bin/go **/*.json --ignore-path ../../../.pretti-x /opt/hostedtoolcc -o /tmp/go-build330- -trimpath 64/bin/go -p main -lang=go1.25 go (http block)
  • https://api.github.com/repos/test/repo
    • Triggering command: /usr/bin/gh gh api /repos/test/repo --jq .default_branch 30/001/test-complex-frontmatter-with-tools.md GO111MODULE ache/go/1.25.8/x64/bin/go GOINSECURE GOMOD GOMODCACHE go env -json GO111MODULE ache/go/1.25.8/x64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)

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

Both now use 'claude-sonnet-4.6' (CopilotBYOKDefaultModel) as the
fallback so that the model recorded in run metadata agrees with the
model actually used by the Copilot CLI.

Fixes #29483"

Agent-Logs-Url: https://github.com/github/gh-aw/sessions/f96e681b-4609-41f0-93a7-9e97f6cee088

Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Copilot AI changed the title [WIP] Fix inconsistent defaults for GH_AW_INFO_MODEL and COPILOT_MODEL fix: align GH_AW_INFO_MODEL fallback with COPILOT_MODEL for copilot engine Apr 29, 2026
Copilot AI requested a review from pelikhan April 29, 2026 00:11
@pelikhan pelikhan marked this pull request as ready for review April 29, 2026 00:15
Copilot AI review requested due to automatic review settings April 29, 2026 00:15
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

Aligns the default GH_AW_INFO_MODEL recorded in generated workflows with the actual default model used by the Copilot CLI when no model org var is set, avoiding mismatched run metadata.

Changes:

  • Updated getDefaultAgentModel() so the copilot engine falls back to constants.CopilotBYOKDefaultModel (claude-sonnet-4.6) instead of "auto".
  • Updated step summary test expectations and wasm golden fixtures for the new fallback.
  • Regenerated copilot-engine workflow lock files to reflect the updated GH_AW_INFO_MODEL fallback.
Show a summary per file
File Description
pkg/workflow/compiler_yaml_lookups.go Makes copilot default model match CopilotBYOKDefaultModel for consistent metadata.
pkg/workflow/step_summary_test.go Updates assertions for GH_AW_INFO_MODEL fallback behavior.
pkg/workflow/testdata/wasm_golden/WasmBinary/with-imports.golden Updates golden output to expect the new Copilot model fallback.
pkg/workflow/testdata/wasm_golden/WasmBinary/basic-copilot.golden Updates golden output to expect the new Copilot model fallback.
pkg/workflow/testdata/TestWasmGolden_CompileFixtures/with-imports.golden Updates golden output to expect the new Copilot model fallback.
pkg/workflow/testdata/TestWasmGolden_CompileFixtures/smoke-copilot.golden Updates golden output to expect the new Copilot model fallback.
pkg/workflow/testdata/TestWasmGolden_CompileFixtures/basic-copilot.golden Updates golden output to expect the new Copilot model fallback.
.github/workflows/workflow-skill-extractor.lock.yml Regenerated lock to record Copilot fallback as claude-sonnet-4.6.
.github/workflows/workflow-normalizer.lock.yml Regenerated lock to record Copilot fallback as claude-sonnet-4.6.
.github/workflows/workflow-health-manager.lock.yml Regenerated lock to record Copilot fallback as claude-sonnet-4.6.
.github/workflows/workflow-generator.lock.yml Regenerated lock to record Copilot fallback as claude-sonnet-4.6.
.github/workflows/weekly-safe-outputs-spec-review.lock.yml Regenerated lock to record Copilot fallback as claude-sonnet-4.6.
.github/workflows/weekly-issue-summary.lock.yml Regenerated lock to record Copilot fallback as claude-sonnet-4.6.
.github/workflows/weekly-editors-health-check.lock.yml Regenerated lock to record Copilot fallback as claude-sonnet-4.6.
.github/workflows/weekly-blog-post-writer.lock.yml Regenerated lock to record Copilot fallback as claude-sonnet-4.6.
.github/workflows/visual-regression-checker.lock.yml Regenerated lock to record Copilot fallback as claude-sonnet-4.6.
.github/workflows/video-analyzer.lock.yml Regenerated lock to record Copilot fallback as claude-sonnet-4.6.
.github/workflows/update-astro.lock.yml Regenerated lock to record Copilot fallback as claude-sonnet-4.6.
.github/workflows/ubuntu-image-analyzer.lock.yml Regenerated lock to record Copilot fallback as claude-sonnet-4.6.
.github/workflows/tidy.lock.yml Regenerated lock to record Copilot fallback as claude-sonnet-4.6.
.github/workflows/test-workflow.lock.yml Regenerated lock to record Copilot fallback as claude-sonnet-4.6.
.github/workflows/test-quality-sentinel.lock.yml Regenerated lock to record Copilot fallback as claude-sonnet-4.6.
.github/workflows/test-project-url-default.lock.yml Regenerated lock to record Copilot fallback as claude-sonnet-4.6.
.github/workflows/test-dispatcher.lock.yml Regenerated lock to record Copilot fallback as claude-sonnet-4.6.
.github/workflows/terminal-stylist.lock.yml Regenerated lock to record Copilot fallback as claude-sonnet-4.6.
.github/workflows/technical-doc-writer.lock.yml Regenerated lock to record Copilot fallback as claude-sonnet-4.6.
.github/workflows/super-linter.lock.yml Regenerated lock to record Copilot fallback as claude-sonnet-4.6.
.github/workflows/sub-issue-closer.lock.yml Regenerated lock to record Copilot fallback as claude-sonnet-4.6.
.github/workflows/stale-repo-identifier.lock.yml Regenerated lock to record Copilot fallback as claude-sonnet-4.6.
.github/workflows/spec-librarian.lock.yml Regenerated lock to record Copilot fallback as claude-sonnet-4.6.
.github/workflows/spec-extractor.lock.yml Regenerated lock to record Copilot fallback as claude-sonnet-4.6.
.github/workflows/smoke-workflow-call.lock.yml Regenerated lock to record Copilot fallback as claude-sonnet-4.6.
.github/workflows/smoke-workflow-call-with-inputs.lock.yml Regenerated lock to record Copilot fallback as claude-sonnet-4.6.
.github/workflows/smoke-update-cross-repo-pr.lock.yml Regenerated lock to record Copilot fallback as claude-sonnet-4.6.
.github/workflows/smoke-test-tools.lock.yml Regenerated lock to record Copilot fallback as claude-sonnet-4.6.
.github/workflows/smoke-temporary-id.lock.yml Regenerated lock to record Copilot fallback as claude-sonnet-4.6.
.github/workflows/smoke-service-ports.lock.yml Regenerated lock to record Copilot fallback as claude-sonnet-4.6.
.github/workflows/smoke-project.lock.yml Regenerated lock to record Copilot fallback as claude-sonnet-4.6.
.github/workflows/smoke-multi-pr.lock.yml Regenerated lock to record Copilot fallback as claude-sonnet-4.6.
.github/workflows/smoke-create-cross-repo-pr.lock.yml Regenerated lock to record Copilot fallback as claude-sonnet-4.6.
.github/workflows/smoke-copilot.lock.yml Regenerated lock to record Copilot fallback as claude-sonnet-4.6.
.github/workflows/smoke-copilot-arm.lock.yml Regenerated lock to record Copilot fallback as claude-sonnet-4.6.
.github/workflows/smoke-ci.lock.yml Regenerated lock to record Copilot fallback as claude-sonnet-4.6.
.github/workflows/slide-deck-maintainer.lock.yml Regenerated lock to record Copilot fallback as claude-sonnet-4.6.
.github/workflows/security-review.lock.yml Regenerated lock to record Copilot fallback as claude-sonnet-4.6.
.github/workflows/security-compliance.lock.yml Regenerated lock to record Copilot fallback as claude-sonnet-4.6.
.github/workflows/research.lock.yml Regenerated lock to record Copilot fallback as claude-sonnet-4.6.
.github/workflows/repository-quality-improver.lock.yml Regenerated lock to record Copilot fallback as claude-sonnet-4.6.
.github/workflows/repo-tree-map.lock.yml Regenerated lock to record Copilot fallback as claude-sonnet-4.6.
.github/workflows/repo-audit-analyzer.lock.yml Regenerated lock to record Copilot fallback as claude-sonnet-4.6.
.github/workflows/release.lock.yml Regenerated lock to record Copilot fallback as claude-sonnet-4.6.
.github/workflows/refiner.lock.yml Regenerated lock to record Copilot fallback as claude-sonnet-4.6.
.github/workflows/refactoring-cadence.lock.yml Regenerated lock to record Copilot fallback as claude-sonnet-4.6.
.github/workflows/q.lock.yml Regenerated lock to record Copilot fallback as claude-sonnet-4.6.
.github/workflows/python-data-charts.lock.yml Regenerated lock to record Copilot fallback as claude-sonnet-4.6.
.github/workflows/pr-triage-agent.lock.yml Regenerated lock to record Copilot fallback as claude-sonnet-4.6.
.github/workflows/pr-nitpick-reviewer.lock.yml Regenerated lock to record Copilot fallback as claude-sonnet-4.6.
.github/workflows/plan.lock.yml Regenerated lock to record Copilot fallback as claude-sonnet-4.6.
.github/workflows/pdf-summary.lock.yml Regenerated lock to record Copilot fallback as claude-sonnet-4.6.
.github/workflows/org-health-report.lock.yml Regenerated lock to record Copilot fallback as claude-sonnet-4.6.
.github/workflows/notion-issue-summary.lock.yml Regenerated lock to record Copilot fallback as claude-sonnet-4.6.
.github/workflows/metrics-collector.lock.yml Regenerated lock to record Copilot fallback as claude-sonnet-4.6.
.github/workflows/mergefest.lock.yml Regenerated lock to record Copilot fallback as claude-sonnet-4.6.
.github/workflows/mcp-inspector.lock.yml Regenerated lock to record Copilot fallback as claude-sonnet-4.6.
.github/workflows/layout-spec-maintainer.lock.yml Regenerated lock to record Copilot fallback as claude-sonnet-4.6.
.github/workflows/jsweep.lock.yml Regenerated lock to record Copilot fallback as claude-sonnet-4.6.
.github/workflows/issue-triage-agent.lock.yml Regenerated lock to record Copilot fallback as claude-sonnet-4.6.
.github/workflows/hippo-embed.lock.yml Regenerated lock to record Copilot fallback as claude-sonnet-4.6.
.github/workflows/gpclean.lock.yml Regenerated lock to record Copilot fallback as claude-sonnet-4.6.
.github/workflows/glossary-maintainer.lock.yml Regenerated lock to record Copilot fallback as claude-sonnet-4.6.
.github/workflows/functional-pragmatist.lock.yml Regenerated lock to record Copilot fallback as claude-sonnet-4.6.
.github/workflows/firewall.lock.yml Regenerated lock to record Copilot fallback as claude-sonnet-4.6.
.github/workflows/firewall-escape.lock.yml Regenerated lock to record Copilot fallback as claude-sonnet-4.6.
.github/workflows/example-permissions-warning.lock.yml Regenerated lock to record Copilot fallback as claude-sonnet-4.6.
.github/workflows/draft-pr-cleanup.lock.yml Regenerated lock to record Copilot fallback as claude-sonnet-4.6.
.github/workflows/docs-noob-tester.lock.yml Regenerated lock to record Copilot fallback as claude-sonnet-4.6.
.github/workflows/discussion-task-miner.lock.yml Regenerated lock to record Copilot fallback as claude-sonnet-4.6.
.github/workflows/dictation-prompt.lock.yml Regenerated lock to record Copilot fallback as claude-sonnet-4.6.
.github/workflows/dev.lock.yml Regenerated lock to record Copilot fallback as claude-sonnet-4.6.
.github/workflows/dev-hawk.lock.yml Regenerated lock to record Copilot fallback as claude-sonnet-4.6.
.github/workflows/deployment-incident-monitor.lock.yml Regenerated lock to record Copilot fallback as claude-sonnet-4.6.
.github/workflows/dependabot-repair.lock.yml Regenerated lock to record Copilot fallback as claude-sonnet-4.6.
.github/workflows/dependabot-go-checker.lock.yml Regenerated lock to record Copilot fallback as claude-sonnet-4.6.
.github/workflows/dependabot-burner.lock.yml Regenerated lock to record Copilot fallback as claude-sonnet-4.6.
.github/workflows/delight.lock.yml Regenerated lock to record Copilot fallback as claude-sonnet-4.6.
.github/workflows/dead-code-remover.lock.yml Regenerated lock to record Copilot fallback as claude-sonnet-4.6.
.github/workflows/daily-workflow-updater.lock.yml Regenerated lock to record Copilot fallback as claude-sonnet-4.6.
.github/workflows/daily-testify-uber-super-expert.lock.yml Regenerated lock to record Copilot fallback as claude-sonnet-4.6.
.github/workflows/daily-team-status.lock.yml Regenerated lock to record Copilot fallback as claude-sonnet-4.6.
.github/workflows/daily-syntax-error-quality.lock.yml Regenerated lock to record Copilot fallback as claude-sonnet-4.6.
.github/workflows/daily-skill-optimizer.lock.yml Regenerated lock to record Copilot fallback as claude-sonnet-4.6.
.github/workflows/daily-sentrux-report.lock.yml Regenerated lock to record Copilot fallback as claude-sonnet-4.6.
.github/workflows/daily-semgrep-scan.lock.yml Regenerated lock to record Copilot fallback as claude-sonnet-4.6.
.github/workflows/daily-security-observability.lock.yml Regenerated lock to record Copilot fallback as claude-sonnet-4.6.
.github/workflows/daily-secrets-analysis.lock.yml Regenerated lock to record Copilot fallback as claude-sonnet-4.6.
.github/workflows/daily-safe-output-integrator.lock.yml Regenerated lock to record Copilot fallback as claude-sonnet-4.6.
.github/workflows/daily-repo-chronicle.lock.yml Regenerated lock to record Copilot fallback as claude-sonnet-4.6.
.github/workflows/daily-regulatory.lock.yml Regenerated lock to record Copilot fallback as claude-sonnet-4.6.
.github/workflows/daily-performance-summary.lock.yml Regenerated lock to record Copilot fallback as claude-sonnet-4.6.
.github/workflows/daily-news.lock.yml Regenerated lock to record Copilot fallback as claude-sonnet-4.6.
.github/workflows/daily-mcp-concurrency-analysis.lock.yml Regenerated lock to record Copilot fallback as claude-sonnet-4.6.
.github/workflows/daily-malicious-code-scan.lock.yml Regenerated lock to record Copilot fallback as claude-sonnet-4.6.
.github/workflows/daily-issues-report.lock.yml Regenerated lock to record Copilot fallback as claude-sonnet-4.6.
.github/workflows/daily-hippo-learn.lock.yml Regenerated lock to record Copilot fallback as claude-sonnet-4.6.
.github/workflows/daily-firewall-report.lock.yml Regenerated lock to record Copilot fallback as claude-sonnet-4.6.
.github/workflows/daily-file-diet.lock.yml Regenerated lock to record Copilot fallback as claude-sonnet-4.6.
.github/workflows/daily-compiler-quality.lock.yml Regenerated lock to record Copilot fallback as claude-sonnet-4.6.
.github/workflows/daily-cli-tools-tester.lock.yml Regenerated lock to record Copilot fallback as claude-sonnet-4.6.
.github/workflows/daily-cli-performance.lock.yml Regenerated lock to record Copilot fallback as claude-sonnet-4.6.
.github/workflows/daily-assign-issue-to-user.lock.yml Regenerated lock to record Copilot fallback as claude-sonnet-4.6.
.github/workflows/daily-architecture-diagram.lock.yml Regenerated lock to record Copilot fallback as claude-sonnet-4.6.
.github/workflows/craft.lock.yml Regenerated lock to record Copilot fallback as claude-sonnet-4.6.
.github/workflows/copilot-token-optimizer.lock.yml Regenerated lock to record Copilot fallback as claude-sonnet-4.6.
.github/workflows/copilot-token-audit.lock.yml Regenerated lock to record Copilot fallback as claude-sonnet-4.6.
.github/workflows/copilot-pr-prompt-analysis.lock.yml Regenerated lock to record Copilot fallback as claude-sonnet-4.6.
.github/workflows/copilot-pr-nlp-analysis.lock.yml Regenerated lock to record Copilot fallback as claude-sonnet-4.6.
.github/workflows/copilot-pr-merged-report.lock.yml Regenerated lock to record Copilot fallback as claude-sonnet-4.6.
.github/workflows/copilot-opt.lock.yml Regenerated lock to record Copilot fallback as claude-sonnet-4.6.
.github/workflows/copilot-cli-deep-research.lock.yml Regenerated lock to record Copilot fallback as claude-sonnet-4.6.
.github/workflows/contribution-check.lock.yml Regenerated lock to record Copilot fallback as claude-sonnet-4.6.
.github/workflows/constraint-solving-potd.lock.yml Regenerated lock to record Copilot fallback as claude-sonnet-4.6.
.github/workflows/code-simplifier.lock.yml Regenerated lock to record Copilot fallback as claude-sonnet-4.6.
.github/workflows/code-scanning-fixer.lock.yml Regenerated lock to record Copilot fallback as claude-sonnet-4.6.
.github/workflows/cli-consistency-checker.lock.yml Regenerated lock to record Copilot fallback as claude-sonnet-4.6.
.github/workflows/ci-coach.lock.yml Regenerated lock to record Copilot fallback as claude-sonnet-4.6.
.github/workflows/breaking-change-checker.lock.yml Regenerated lock to record Copilot fallback as claude-sonnet-4.6.
.github/workflows/brave.lock.yml Regenerated lock to record Copilot fallback as claude-sonnet-4.6.
.github/workflows/bot-detection.lock.yml Regenerated lock to record Copilot fallback as claude-sonnet-4.6.
.github/workflows/artifacts-summary.lock.yml Regenerated lock to record Copilot fallback as claude-sonnet-4.6.
.github/workflows/architecture-guardian.lock.yml Regenerated lock to record Copilot fallback as claude-sonnet-4.6.
.github/workflows/archie.lock.yml Regenerated lock to record Copilot fallback as claude-sonnet-4.6.
.github/workflows/agent-persona-explorer.lock.yml Regenerated lock to record Copilot fallback as claude-sonnet-4.6.
.github/workflows/agent-performance-analyzer.lock.yml Regenerated lock to record Copilot fallback as claude-sonnet-4.6.
.github/workflows/ace-editor.lock.yml Regenerated lock to record Copilot fallback as claude-sonnet-4.6.
.changeset/patch-align-copilot-info-model-default.md Documents the patch-level change in release notes.

Copilot's findings

Tip

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

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

Comment on lines +258 to 264
// For empty model, check for the complete vars expression.
// Copilot uses CopilotBYOKDefaultModel ('claude-sonnet-4.6') as fallback so that
// GH_AW_INFO_MODEL and COPILOT_MODEL agree. Other engines use '' as fallback.
if !strings.Contains(lockContent, "GH_AW_INFO_MODEL: ${{ vars.GH_AW_MODEL_AGENT_COPILOT || 'claude-sonnet-4.6' }}") &&
!strings.Contains(lockContent, "GH_AW_INFO_MODEL: ${{ vars.GH_AW_MODEL_DETECTION_COPILOT || 'claude-sonnet-4.6' }}") &&
!strings.Contains(lockContent, "GH_AW_INFO_MODEL: ${{ vars.GH_AW_MODEL_AGENT_COPILOT || '' }}") &&
!strings.Contains(lockContent, "GH_AW_INFO_MODEL: ${{ vars.GH_AW_MODEL_DETECTION_COPILOT || '' }}") {
Copy link

Copilot AI Apr 29, 2026

Choose a reason for hiding this comment

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

The empty-model assertion is overly permissive for the copilot case: it allows GH_AW_INFO_MODEL to fall back to '', which would let this test pass even if the copilot fallback accidentally regresses away from CopilotBYOKDefaultModel. Consider branching on tt.expectEngineID (or adding an explicit expectModelFallback field) so that copilot specifically requires the 'claude-sonnet-4.6' fallback, while other engines can assert their own expected fallback (typically 'auto' per getDefaultAgentModel). Also, the comment saying “Other engines use '' as fallback” is inaccurate given current compiler logic for known engines.

Copilot uses AI. Check for mistakes.
@github-actions
Copy link
Copy Markdown
Contributor

🧪 Test Quality Sentinel Report

Test Quality Score: 95/100

Excellent test quality

Metric Value
New/modified tests analyzed 1 (modified)
✅ 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
TestStepSummary (modified assertions) pkg/workflow/step_summary_test.go:255 ✅ Design None — correctly updated expected value

Analysis

The only test change in this PR updates expected string literals in an existing integration test from 'auto' to 'claude-sonnet-4.6' — aligning the test assertions with the new behavior where the copilot engine uses CopilotBYOKDefaultModel as the fallback for GH_AW_INFO_MODEL.

This is a behavioral contract test: it asserts that the compiled workflow lock file contains the correct GH_AW_INFO_MODEL vars expression. The test verifies observable compiler output — exactly what a design test should do.

No flagged tests. No issues detected.


Language Support

Tests analyzed:

  • 🐹 Go (*_test.go): 1 test — integration (//go:build integration) ✅

Verdict

Check passed. 0% of new/modified tests are implementation tests (threshold: 30%). The test change is a correct and necessary update to align assertions with the new model fallback behavior.


📖 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: §25084411317

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

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: 95/100. Test quality is excellent — 0% of new/modified tests are implementation tests (threshold: 30%). The single test change correctly updates integration test assertions to match the new claude-sonnet-4.6 fallback behavior.

@pelikhan pelikhan merged commit a13065e into main Apr 29, 2026
40 of 41 checks passed
@pelikhan pelikhan deleted the copilot/fix-defaults-in-compiled-lock branch April 29, 2026 01:08
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.

COPILOT_MODEL and GH_AW_INFO_MODEL use different defaults in compiled lock files

3 participants