fix: update deprecated CopilotBYOKDefaultModel to claude-sonnet-4-5-20250929#34019
Conversation
Co-authored-by: pelikhan <[email protected]>
…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 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]>
Done —
Done — |
There was a problem hiding this comment.
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
CopilotBYOKDefaultModelfrom a concrete model name to the"default"sentinel and updated constants documentation accordingly. - Recompiled a large set of
.lock.ymlworkflows and Wasm golden fixtures to propagate the new fallback value. - Updated action pin data and the
release.lock.ymlworkflow to use thedocker/metadata-action@v6pin.
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
| // 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" |
| ### 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 | ||
| ``` |
claude-sonnet-4.5was added todeprecated_models, causing all Copilot-engine workflows falling back to the hardcoded default to fail withmodel_not_supported_error.Changes
pkg/constants/engine_constants.go—CopilotBYOKDefaultModel:claude-sonnet-4.5→claude-sonnet-4-5-20250929(same Sonnet tier, same 6× ET multiplier, not deprecated)pkg/cli/data/model_multipliers.json—reference_modelupdated to match.lock.ymlworkflow files — recompiled to propagate the new default