Thanks to visit codestin.com
Credit goes to github.com

Skip to content

fix: update deprecated CopilotBYOKDefaultModel to claude-sonnet-4-5-20250929#34019

Merged
pelikhan merged 4 commits into
mainfrom
copilot/debug-ci-optimization-coach-failure
May 22, 2026
Merged

fix: update deprecated CopilotBYOKDefaultModel to claude-sonnet-4-5-20250929#34019
pelikhan merged 4 commits into
mainfrom
copilot/debug-ci-optimization-coach-failure

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented May 22, 2026

claude-sonnet-4.5 was added to deprecated_models, causing all Copilot-engine workflows falling back to the hardcoded default to fail with model_not_supported_error.

Changes

  • pkg/constants/engine_constants.goCopilotBYOKDefaultModel: claude-sonnet-4.5claude-sonnet-4-5-20250929 (same Sonnet tier, same 6× ET multiplier, not deprecated)
  • pkg/cli/data/model_multipliers.jsonreference_model updated to match
  • 234 .lock.yml workflow files — recompiled to propagate the new default
  • Wasm golden test files — regenerated to match updated compiler output

Copilot AI linked an issue May 22, 2026 that may be closed by this pull request
Copilot AI and others added 2 commits May 22, 2026 14:33
…laude-sonnet-4-5-20250929

The CI Optimization Coach workflow (run #26291902777) failed because
claude-sonnet-4.5 was recently added to the deprecated_models list. This
default is used by all Copilot-engine workflows when GH_AW_MODEL_AGENT_COPILOT
is not set.

Changes:
- pkg/constants/engine_constants.go: update CopilotBYOKDefaultModel to
  claude-sonnet-4-5-20250929 (same Sonnet tier, same 6x multiplier, not
  deprecated)
- pkg/cli/data/model_multipliers.json: update reference_model to match
- Recompile all 234 workflow lock files (make recompile)
- Update wasm golden test files (make update-wasm-golden)

Co-authored-by: pelikhan <[email protected]>
Copilot AI changed the title [WIP] Fix CI Optimization Coach workflow failure fix: update deprecated CopilotBYOKDefaultModel to claude-sonnet-4-5-20250929 May 22, 2026
Copilot AI requested a review from pelikhan May 22, 2026 14:40
@pelikhan
Copy link
Copy Markdown
Collaborator

@copilot the default model in code should be "default"

Using the platform-neutral "default" sentinel avoids hardcoding a specific
model name that can become deprecated. The Copilot CLI/AWF proxy interprets
"default" as "use the service's own default model selection".

Also reverts reference_model in model_multipliers.json (spec baseline, not
a runtime value) and updates the README and constant comment.

Co-authored-by: pelikhan <[email protected]>
Copy link
Copy Markdown
Contributor Author

Copilot AI commented May 22, 2026

@copilot the default model in code should be "default"

Done — CopilotBYOKDefaultModel is now "default" in [the latest commit]($(git -C /home/runner/work/gh-aw/gh-aw rev-parse HEAD)). All 234 workflow lock files recompiled; golden tests and unit tests pass.

@copilot the default model in code should be "default"

Done — CopilotBYOKDefaultModel is now "default" in e413d4e. All 234 workflow lock files recompiled; golden tests and unit tests pass.

@pelikhan pelikhan marked this pull request as ready for review May 22, 2026 14:59
Copilot AI review requested due to automatic review settings May 22, 2026 14:59
@pelikhan pelikhan merged commit a5a6a12 into main May 22, 2026
@pelikhan pelikhan deleted the copilot/debug-ci-optimization-coach-failure branch May 22, 2026 15:00
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

Updates the Copilot engine’s implicit/fallback model behavior across compiled workflows and golden fixtures to avoid failures caused by a deprecated hardcoded default model.

Changes:

  • Switched CopilotBYOKDefaultModel from a concrete model name to the "default" sentinel and updated constants documentation accordingly.
  • Recompiled a large set of .lock.yml workflows and Wasm golden fixtures to propagate the new fallback value.
  • Updated action pin data and the release.lock.yml workflow to use the docker/metadata-action@v6 pin.
Show a summary per file
File Description
pkg/workflow/testdata/TestWasmGolden_CompileFixtures/with-imports.golden Golden output updated to reflect Copilot model fallback change
pkg/workflow/testdata/TestWasmGolden_CompileFixtures/smoke-copilot.golden Golden output updated to reflect Copilot model fallback change
pkg/workflow/testdata/TestWasmGolden_CompileFixtures/playwright-cli-mode.golden Golden output updated to reflect Copilot model fallback change
pkg/workflow/testdata/TestWasmGolden_CompileFixtures/basic-copilot.golden Golden output updated to reflect Copilot model fallback change
pkg/workflow/testdata/TestWasmGolden_AllEngines/copilot.golden Golden output updated to reflect Copilot model fallback change
pkg/workflow/testdata/TestWasmGolden_AllEngines/claude.golden Golden output regenerated (compiler output drift)
pkg/workflow/data/action_pins.json Added pin entry for docker/metadata-action@v6
pkg/constants/README.md Documented new Copilot BYOK default model sentinel
pkg/constants/engine_constants.go Updated CopilotBYOKDefaultModel to "default" sentinel
pkg/actionpins/data/action_pins.json Added pin entry for docker/metadata-action@v6
.github/workflows/workflow-skill-extractor.lock.yml Recompiled lockfile to use "default" as Copilot model fallback
.github/workflows/workflow-normalizer.lock.yml Recompiled lockfile to use "default" as Copilot model fallback
.github/workflows/workflow-health-manager.lock.yml Recompiled lockfile to use "default" as Copilot model fallback
.github/workflows/workflow-generator.lock.yml Recompiled lockfile to use "default" as Copilot model fallback
.github/workflows/weekly-safe-outputs-spec-review.lock.yml Recompiled lockfile to use "default" as Copilot model fallback
.github/workflows/weekly-issue-summary.lock.yml Recompiled lockfile to use "default" as Copilot model fallback
.github/workflows/weekly-editors-health-check.lock.yml Recompiled lockfile to use "default" as Copilot model fallback
.github/workflows/weekly-blog-post-writer.lock.yml Recompiled lockfile to use "default" as Copilot model fallback
.github/workflows/visual-regression-checker.lock.yml Recompiled lockfile to use "default" as Copilot model fallback
.github/workflows/video-analyzer.lock.yml Recompiled lockfile to use "default" as Copilot model fallback
.github/workflows/update-astro.lock.yml Recompiled lockfile to use "default" as Copilot model fallback
.github/workflows/uk-ai-operational-resilience.lock.yml Recompiled lockfile to use "default" as Copilot model fallback
.github/workflows/ubuntu-image-analyzer.lock.yml Recompiled lockfile to use "default" as Copilot model fallback
.github/workflows/tidy.lock.yml Recompiled lockfile to use "default" as Copilot model fallback
.github/workflows/test-workflow.lock.yml Recompiled lockfile to use "default" as Copilot model fallback
.github/workflows/test-quality-sentinel.lock.yml Recompiled lockfile to use "default" as Copilot model fallback
.github/workflows/test-project-url-default.lock.yml Recompiled lockfile to use "default" as Copilot model fallback
.github/workflows/test-dispatcher.lock.yml Recompiled lockfile to use "default" as Copilot model fallback
.github/workflows/terminal-stylist.lock.yml Recompiled lockfile to use "default" as Copilot model fallback
.github/workflows/technical-doc-writer.lock.yml Recompiled lockfile to use "default" as Copilot model fallback
.github/workflows/super-linter.lock.yml Recompiled lockfile to use "default" as Copilot model fallback
.github/workflows/sub-issue-closer.lock.yml Recompiled lockfile to use "default" as Copilot model fallback
.github/workflows/stale-repo-identifier.lock.yml Recompiled lockfile to use "default" as Copilot model fallback
.github/workflows/stale-pr-cleanup.lock.yml Recompiled lockfile to use "default" as Copilot model fallback
.github/workflows/spec-librarian.lock.yml Recompiled lockfile to use "default" as Copilot model fallback
.github/workflows/spec-extractor.lock.yml Recompiled lockfile to use "default" as Copilot model fallback
.github/workflows/smoke-workflow-call.lock.yml Recompiled lockfile to use "default" as Copilot model fallback
.github/workflows/smoke-workflow-call-with-inputs.lock.yml Recompiled lockfile to use "default" as Copilot model fallback
.github/workflows/smoke-update-cross-repo-pr.lock.yml Recompiled lockfile to use "default" as Copilot model fallback
.github/workflows/smoke-test-tools.lock.yml Recompiled lockfile to use "default" as Copilot model fallback
.github/workflows/smoke-temporary-id.lock.yml Recompiled lockfile to use "default" as Copilot model fallback
.github/workflows/smoke-service-ports.lock.yml Recompiled lockfile to use "default" as Copilot model fallback
.github/workflows/smoke-project.lock.yml Recompiled lockfile to use "default" as Copilot model fallback
.github/workflows/smoke-otel-backends.lock.yml Recompiled lockfile to use "default" as Copilot model fallback
.github/workflows/smoke-multi-pr.lock.yml Recompiled lockfile to use "default" as Copilot model fallback
.github/workflows/smoke-create-cross-repo-pr.lock.yml Recompiled lockfile to use "default" as Copilot model fallback
.github/workflows/smoke-copilot.lock.yml Recompiled lockfile to use "default" as Copilot model fallback
.github/workflows/smoke-copilot-arm.lock.yml Recompiled lockfile to use "default" as Copilot model fallback
.github/workflows/smoke-ci.lock.yml Recompiled lockfile to use "default" as Copilot model fallback
.github/workflows/slide-deck-maintainer.lock.yml Recompiled lockfile to use "default" as Copilot model fallback
.github/workflows/security-review.lock.yml Recompiled lockfile to use "default" as Copilot model fallback
.github/workflows/security-compliance.lock.yml Recompiled lockfile to use "default" as Copilot model fallback
.github/workflows/research.lock.yml Recompiled lockfile to use "default" as Copilot model fallback
.github/workflows/repository-quality-improver.lock.yml Recompiled lockfile to use "default" as Copilot model fallback
.github/workflows/repo-tree-map.lock.yml Recompiled lockfile to use "default" as Copilot model fallback
.github/workflows/repo-audit-analyzer.lock.yml Recompiled lockfile to use "default" as Copilot model fallback
.github/workflows/release.lock.yml Recompiled lockfile to use "default" fallback + updated docker/metadata-action pin
.github/workflows/refiner.lock.yml Recompiled lockfile to use "default" as Copilot model fallback
.github/workflows/refactoring-cadence.lock.yml Recompiled lockfile to use "default" as Copilot model fallback
.github/workflows/q.lock.yml Recompiled lockfile to use "default" as Copilot model fallback
.github/workflows/python-data-charts.lock.yml Recompiled lockfile to use "default" as Copilot model fallback
.github/workflows/pr-triage-agent.lock.yml Recompiled lockfile to use "default" as Copilot model fallback
.github/workflows/pr-nitpick-reviewer.lock.yml Recompiled lockfile to use "default" as Copilot model fallback
.github/workflows/pr-description-caveman.lock.yml Recompiled lockfile to use "default" as Copilot model fallback
.github/workflows/pr-code-quality-reviewer.lock.yml Recompiled lockfile to use "default" as Copilot model fallback
.github/workflows/plan.lock.yml Recompiled lockfile to use "default" as Copilot model fallback
.github/workflows/pdf-summary.lock.yml Recompiled lockfile to use "default" as Copilot model fallback
.github/workflows/otlp-data-quality-validator.lock.yml Recompiled lockfile to use "default" as Copilot model fallback
.github/workflows/org-health-report.lock.yml Recompiled lockfile to use "default" as Copilot model fallback
.github/workflows/notion-issue-summary.lock.yml Recompiled lockfile to use "default" as Copilot model fallback
.github/workflows/metrics-collector.lock.yml Recompiled lockfile to use "default" as Copilot model fallback
.github/workflows/mergefest.lock.yml Recompiled lockfile to use "default" as Copilot model fallback
.github/workflows/mcp-inspector.lock.yml Recompiled lockfile to use "default" as Copilot model fallback
.github/workflows/mattpocock-skills-reviewer.lock.yml Recompiled lockfile to use "default" as Copilot model fallback
.github/workflows/linter-miner.lock.yml Recompiled lockfile to use "default" as Copilot model fallback
.github/workflows/layout-spec-maintainer.lock.yml Recompiled lockfile to use "default" as Copilot model fallback
.github/workflows/jsweep.lock.yml Recompiled lockfile to use "default" as Copilot model fallback
.github/workflows/issue-triage-agent.lock.yml Recompiled lockfile to use "default" as Copilot model fallback
.github/workflows/hippo-embed.lock.yml Recompiled lockfile to use "default" as Copilot model fallback
.github/workflows/gpclean.lock.yml Recompiled lockfile to use "default" as Copilot model fallback
.github/workflows/glossary-maintainer.lock.yml Recompiled lockfile to use "default" as Copilot model fallback
.github/workflows/functional-pragmatist.lock.yml Recompiled lockfile to use "default" as Copilot model fallback
.github/workflows/firewall.lock.yml Recompiled lockfile to use "default" as Copilot model fallback
.github/workflows/firewall-escape.lock.yml Recompiled lockfile to use "default" as Copilot model fallback
.github/workflows/example-permissions-warning.lock.yml Recompiled lockfile to use "default" as Copilot model fallback
.github/workflows/draft-pr-cleanup.lock.yml Recompiled lockfile to use "default" as Copilot model fallback
.github/workflows/docs-noob-tester.lock.yml Recompiled lockfile to use "default" as Copilot model fallback
.github/workflows/discussion-task-miner.lock.yml Recompiled lockfile to use "default" as Copilot model fallback
.github/workflows/dictation-prompt.lock.yml Recompiled lockfile to use "default" as Copilot model fallback
.github/workflows/dev-hawk.lock.yml Recompiled lockfile to use "default" as Copilot model fallback
.github/workflows/deployment-incident-monitor.lock.yml Recompiled lockfile to use "default" as Copilot model fallback
.github/workflows/dependabot-repair.lock.yml Recompiled lockfile to use "default" as Copilot model fallback
.github/workflows/dependabot-go-checker.lock.yml Recompiled lockfile to use "default" as Copilot model fallback
.github/workflows/dependabot-burner.lock.yml Recompiled lockfile to use "default" as Copilot model fallback
.github/workflows/delight.lock.yml Recompiled lockfile to use "default" as Copilot model fallback
.github/workflows/dead-code-remover.lock.yml Recompiled lockfile to use "default" as Copilot model fallback
.github/workflows/dataflow-pr-discussion-dataset.lock.yml Recompiled lockfile to use "default" as Copilot model fallback
.github/workflows/daily-workflow-updater.lock.yml Recompiled lockfile to use "default" as Copilot model fallback
.github/workflows/daily-testify-uber-super-expert.lock.yml Recompiled lockfile to use "default" as Copilot model fallback
.github/workflows/daily-team-status.lock.yml Recompiled lockfile to use "default" as Copilot model fallback
.github/workflows/daily-syntax-error-quality.lock.yml Recompiled lockfile to use "default" as Copilot model fallback
.github/workflows/daily-spdd-spec-planner.lock.yml Recompiled lockfile to use "default" as Copilot model fallback
.github/workflows/daily-skill-optimizer.lock.yml Recompiled lockfile to use "default" as Copilot model fallback
.github/workflows/daily-sentrux-report.lock.yml Recompiled lockfile to use "default" as Copilot model fallback
.github/workflows/daily-semgrep-scan.lock.yml Recompiled lockfile to use "default" as Copilot model fallback
.github/workflows/daily-security-observability.lock.yml Recompiled lockfile to use "default" as Copilot model fallback
.github/workflows/daily-secrets-analysis.lock.yml Recompiled lockfile to use "default" as Copilot model fallback
.github/workflows/daily-safe-output-integrator.lock.yml Recompiled lockfile to use "default" as Copilot model fallback
.github/workflows/daily-repo-chronicle.lock.yml Recompiled lockfile to use "default" as Copilot model fallback
.github/workflows/daily-regulatory.lock.yml Recompiled lockfile to use "default" as Copilot model fallback
.github/workflows/daily-performance-summary.lock.yml Recompiled lockfile to use "default" as Copilot model fallback
.github/workflows/daily-news.lock.yml Recompiled lockfile to use "default" as Copilot model fallback
.github/workflows/daily-model-inventory.lock.yml Recompiled lockfile to use "default" as Copilot model fallback
.github/workflows/daily-mcp-concurrency-analysis.lock.yml Recompiled lockfile to use "default" as Copilot model fallback
.github/workflows/daily-malicious-code-scan.lock.yml Recompiled lockfile to use "default" as Copilot model fallback
.github/workflows/daily-issues-report.lock.yml Recompiled lockfile to use "default" as Copilot model fallback
.github/workflows/daily-hippo-learn.lock.yml Recompiled lockfile to use "default" as Copilot model fallback
.github/workflows/daily-geo-optimizer.lock.yml Recompiled lockfile to use "default" as Copilot model fallback
.github/workflows/daily-firewall-report.lock.yml Recompiled lockfile to use "default" as Copilot model fallback
.github/workflows/daily-file-diet.lock.yml Recompiled lockfile to use "default" as Copilot model fallback
.github/workflows/daily-experiment-report.lock.yml Recompiled lockfile to use "default" as Copilot model fallback
.github/workflows/daily-compiler-threat-spec-optimizer.lock.yml Recompiled lockfile to use "default" as Copilot model fallback
.github/workflows/daily-compiler-quality.lock.yml Recompiled lockfile to use "default" as Copilot model fallback
.github/workflows/daily-cli-tools-tester.lock.yml Recompiled lockfile to use "default" as Copilot model fallback
.github/workflows/daily-cli-performance.lock.yml Recompiled lockfile to use "default" as Copilot model fallback
.github/workflows/daily-assign-issue-to-user.lock.yml Recompiled lockfile to use "default" as Copilot model fallback
.github/workflows/daily-architecture-diagram.lock.yml Recompiled lockfile to use "default" as Copilot model fallback
.github/workflows/daily-agent-of-the-day-blog-writer.lock.yml Recompiled lockfile to use "default" as Copilot model fallback
.github/workflows/craft.lock.yml Recompiled lockfile to use "default" as Copilot model fallback
.github/workflows/copilot-pr-prompt-analysis.lock.yml Recompiled lockfile to use "default" as Copilot model fallback
.github/workflows/copilot-pr-nlp-analysis.lock.yml Recompiled lockfile to use "default" as Copilot model fallback
.github/workflows/copilot-pr-merged-report.lock.yml Recompiled lockfile to use "default" as Copilot model fallback
.github/workflows/copilot-opt.lock.yml Recompiled lockfile to use "default" as Copilot model fallback
.github/workflows/copilot-cli-deep-research.lock.yml Recompiled lockfile to use "default" as Copilot model fallback
.github/workflows/contribution-check.lock.yml Recompiled lockfile to use "default" as Copilot model fallback
.github/workflows/constraint-solving-potd.lock.yml Recompiled lockfile to use "default" as Copilot model fallback
.github/workflows/code-simplifier.lock.yml Recompiled lockfile to use "default" as Copilot model fallback
.github/workflows/code-scanning-fixer.lock.yml Recompiled lockfile to use "default" as Copilot model fallback
.github/workflows/cli-consistency-checker.lock.yml Recompiled lockfile to use "default" as Copilot model fallback
.github/workflows/ci-coach.lock.yml Recompiled lockfile to use "default" as Copilot model fallback
.github/workflows/chaos-pr-bundle-fuzzer.lock.yml Recompiled lockfile to use "default" as Copilot model fallback
.github/workflows/breaking-change-checker.lock.yml Recompiled lockfile to use "default" as Copilot model fallback
.github/workflows/brave.lock.yml Recompiled lockfile to use "default" as Copilot model fallback
.github/workflows/bot-detection.lock.yml Recompiled lockfile to use "default" as Copilot model fallback
.github/workflows/aw-portfolio-yield.lock.yml Recompiled lockfile to use "default" as Copilot model fallback
.github/workflows/artifacts-summary.lock.yml Recompiled lockfile to use "default" as Copilot model fallback
.github/workflows/architecture-guardian.lock.yml Recompiled lockfile to use "default" as Copilot model fallback
.github/workflows/archie.lock.yml Recompiled lockfile to use "default" as Copilot model fallback
.github/workflows/agentic-token-optimizer.lock.yml Recompiled lockfile to use "default" as Copilot model fallback
.github/workflows/agentic-token-audit.lock.yml Recompiled lockfile to use "default" as Copilot model fallback
.github/workflows/agent-persona-explorer.lock.yml Recompiled lockfile to use "default" as Copilot model fallback
.github/workflows/agent-performance-analyzer.lock.yml Recompiled lockfile to use "default" as Copilot model fallback
.github/workflows/ace-editor.lock.yml Recompiled lockfile to use "default" as Copilot model fallback
.github/workflows/ab-testing-advisor.lock.yml Recompiled lockfile to use "default" as Copilot model fallback
.github/aw/actions-lock.json Added pin entry for docker/metadata-action@v6

Copilot's findings

Tip

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

Comments suppressed due to low confidence (1)

pkg/constants/engine_constants.go:271

  • This change makes the BYOK fallback model "default" and describes it as letting the Copilot service pick a default model. However, in Copilot BYOK mode (COPILOT_PROVIDER_* set), COPILOT_MODEL is forwarded to an external provider and docs currently describe it as an explicit model name (e.g. claude-sonnet-4). Please clarify in code comments/README whether "default" is actually supported for BYOK providers, and update the engine/BYOK documentation accordingly (e.g. docs/adr/27902-* and docs/reference/feature-flags.md currently specify a concrete fallback model).
  • Files reviewed: 155/155 changed files
  • Comments generated: 2

Comment on lines 264 to +271
// CopilotBYOKDefaultModel is the explicit fallback model for Copilot BYOK mode.
// BYOK providers require a non-empty model, so this value is used when the
// corresponding GH_AW_MODEL_*_COPILOT variable is unset.
//
// Keep this pinned to a Sonnet tier at or below 6x effective-token multiplier.
CopilotBYOKDefaultModel = "claude-sonnet-4.5"
// "default" is the platform-neutral sentinel that tells the Copilot CLI to
// use the service's own default model selection, avoiding hard-coded model
// names that may become deprecated.
CopilotBYOKDefaultModel = "default"
Comment thread pkg/constants/README.md
Comment on lines 133 to 138
### Copilot BYOK

```go
constants.CopilotBYOKDummyAPIKey // "dummy-byok-key-for-offline-mode" — placeholder key used for AWF runtime BYOK detection
constants.CopilotBYOKDefaultModel // "claude-sonnet-4.6" — explicit fallback model when GH_AW_MODEL_*_COPILOT is unset
constants.CopilotBYOKDefaultModel // "default" — platform-neutral sentinel used when GH_AW_MODEL_*_COPILOT is unset; lets the Copilot service pick the default model
```
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] CI Optimization Coach failed

3 participants