Use Copilot BYOK platform default model instead of hard-coded Claude fallback#34149
Conversation
|
@copilot review awf specification if there are changes in the default model selection |
Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
|
@copilot merge main and recompile |
Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Updated the remaining AWF-facing spec artifacts to match the new Copilot default-model selection ( |
|
@copilot Merge main, recompile, fix conflicts |
There was a problem hiding this comment.
Pull request overview
This PR updates the Copilot BYOK fallback model from a provider-specific Claude model name to the platform-neutral default sentinel, so the Copilot CLI/service can resolve a compatible default model and avoid provider-specific header/behavior issues.
Changes:
- Switched
constants.CopilotBYOKDefaultModelfromclaude-sonnet-4.5to"default". - Updated constants spec tests to assert
CopilotBYOKDefaultModel == "default". - Regenerated Copilot workflow/golden fixtures and updated docs/ADR examples to reflect the new fallback.
Show a summary per file
| File | Description |
|---|---|
| pkg/constants/engine_constants.go | Changes Copilot BYOK default model fallback to the "default" sentinel. |
| pkg/constants/spec_test.go | Updates spec contract test to assert the new exact constant value. |
| pkg/workflow/testdata/TestWasmGolden_CompileFixtures/basic-copilot.golden | Updates golden fixture env fallbacks (GH_AW_INFO_MODEL, COPILOT_MODEL) to 'default'. |
| pkg/workflow/testdata/TestWasmGolden_CompileFixtures/playwright-cli-mode.golden | Updates golden fixture env fallbacks to 'default'. |
| pkg/workflow/testdata/TestWasmGolden_CompileFixtures/smoke-copilot.golden | Updates golden fixture env fallbacks to 'default'. |
| pkg/workflow/testdata/TestWasmGolden_CompileFixtures/with-imports.golden | Updates golden fixture env fallbacks to 'default'. |
| pkg/workflow/testdata/TestWasmGolden_AllEngines/copilot.golden | Updates Copilot engine golden output to use 'default' fallback. |
| docs/src/content/docs/reference/feature-flags.md | Updates Copilot BYOK documentation examples to use 'default' fallback. |
| docs/adr/27902-make-copilot-byok-behavior-default.md | Updates ADR normative requirement/example to use 'default' fallback. |
| .github/workflows/ab-testing-advisor.lock.yml | Updates locked workflow Copilot model fallbacks to 'default'. |
| .github/workflows/ace-editor.lock.yml | Updates locked workflow Copilot model fallbacks to 'default'. |
| .github/workflows/agent-performance-analyzer.lock.yml | Updates locked workflow Copilot model fallbacks to 'default'. |
| .github/workflows/agent-persona-explorer.lock.yml | Updates locked workflow Copilot model fallbacks to 'default'. |
| .github/workflows/agentic-token-audit.lock.yml | Updates locked workflow Copilot model fallbacks to 'default'. |
| .github/workflows/agentic-token-optimizer.lock.yml | Updates locked workflow Copilot model fallbacks to 'default'. |
| .github/workflows/archie.lock.yml | Updates locked workflow Copilot model fallbacks to 'default'. |
| .github/workflows/architecture-guardian.lock.yml | Updates locked workflow Copilot model fallbacks to 'default'. |
| .github/workflows/artifacts-summary.lock.yml | Updates locked workflow Copilot model fallbacks to 'default'. |
| .github/workflows/aw-portfolio-yield.lock.yml | Updates locked workflow Copilot model fallbacks to 'default'. |
| .github/workflows/bot-detection.lock.yml | Updates locked workflow Copilot model fallbacks to 'default'. |
| .github/workflows/brave.lock.yml | Updates locked workflow Copilot model fallbacks to 'default'. |
| .github/workflows/breaking-change-checker.lock.yml | Updates locked workflow Copilot model fallbacks to 'default'. |
| .github/workflows/chaos-pr-bundle-fuzzer.lock.yml | Updates locked workflow Copilot model fallbacks to 'default'. |
| .github/workflows/ci-coach.lock.yml | Updates locked workflow Copilot model fallbacks to 'default'. |
| .github/workflows/cli-consistency-checker.lock.yml | Updates locked workflow Copilot model fallbacks to 'default'. |
| .github/workflows/code-scanning-fixer.lock.yml | Updates locked workflow Copilot model fallbacks to 'default'. |
| .github/workflows/code-simplifier.lock.yml | Updates locked workflow Copilot model fallbacks to 'default'. |
| .github/workflows/constraint-solving-potd.lock.yml | Updates locked workflow Copilot model fallbacks to 'default'. |
| .github/workflows/contribution-check.lock.yml | Updates locked workflow Copilot model fallbacks to 'default'. |
| .github/workflows/copilot-cli-deep-research.lock.yml | Updates locked workflow Copilot model fallbacks to 'default'. |
| .github/workflows/copilot-opt.lock.yml | Updates locked workflow Copilot model fallbacks to 'default'. |
| .github/workflows/copilot-pr-merged-report.lock.yml | Updates locked workflow Copilot model fallbacks to 'default'. |
| .github/workflows/copilot-pr-nlp-analysis.lock.yml | Updates locked workflow Copilot model fallbacks to 'default'. |
| .github/workflows/copilot-pr-prompt-analysis.lock.yml | Updates locked workflow Copilot model fallbacks to 'default'. |
| .github/workflows/craft.lock.yml | Updates locked workflow Copilot model fallbacks to 'default'. |
| .github/workflows/daily-agent-of-the-day-blog-writer.lock.yml | Updates locked workflow Copilot model fallbacks to 'default'. |
| .github/workflows/daily-architecture-diagram.lock.yml | Updates locked workflow Copilot model fallbacks to 'default'. |
| .github/workflows/daily-assign-issue-to-user.lock.yml | Updates locked workflow Copilot model fallbacks to 'default'. |
| .github/workflows/daily-cli-performance.lock.yml | Updates locked workflow Copilot model fallbacks to 'default'. |
| .github/workflows/daily-cli-tools-tester.lock.yml | Updates locked workflow Copilot model fallbacks to 'default'. |
| .github/workflows/daily-compiler-quality.lock.yml | Updates locked workflow Copilot model fallbacks to 'default'. |
| .github/workflows/daily-compiler-threat-spec-optimizer.lock.yml | Updates locked workflow Copilot model fallbacks to 'default'. |
| .github/workflows/daily-experiment-report.lock.yml | Updates locked workflow Copilot model fallbacks to 'default'. |
| .github/workflows/daily-file-diet.lock.yml | Updates locked workflow Copilot model fallbacks to 'default'. |
| .github/workflows/daily-firewall-report.lock.yml | Updates locked workflow Copilot model fallbacks to 'default'. |
| .github/workflows/daily-geo-optimizer.lock.yml | Updates locked workflow Copilot model fallbacks to 'default'. |
| .github/workflows/daily-hippo-learn.lock.yml | Updates locked workflow Copilot model fallbacks to 'default'. |
| .github/workflows/daily-issues-report.lock.yml | Updates locked workflow Copilot model fallbacks to 'default'. |
| .github/workflows/daily-malicious-code-scan.lock.yml | Updates locked workflow Copilot model fallbacks to 'default'. |
| .github/workflows/daily-mcp-concurrency-analysis.lock.yml | Updates locked workflow Copilot model fallbacks to 'default'. |
| .github/workflows/daily-model-inventory.lock.yml | Updates locked workflow Copilot model fallbacks to 'default'. |
| .github/workflows/daily-news.lock.yml | Updates locked workflow Copilot model fallbacks to 'default'. |
| .github/workflows/daily-performance-summary.lock.yml | Updates locked workflow Copilot model fallbacks to 'default'. |
| .github/workflows/daily-regulatory.lock.yml | Updates locked workflow Copilot model fallbacks to 'default'. |
| .github/workflows/daily-repo-chronicle.lock.yml | Updates locked workflow Copilot model fallbacks to 'default'. |
| .github/workflows/daily-safe-output-integrator.lock.yml | Updates locked workflow Copilot model fallbacks to 'default'. |
| .github/workflows/daily-secrets-analysis.lock.yml | Updates locked workflow Copilot model fallbacks to 'default'. |
| .github/workflows/daily-security-observability.lock.yml | Updates locked workflow Copilot model fallbacks to 'default'. |
| .github/workflows/daily-semgrep-scan.lock.yml | Updates locked workflow Copilot model fallbacks to 'default'. |
| .github/workflows/daily-sentrux-report.lock.yml | Updates locked workflow Copilot model fallbacks to 'default'. |
| .github/workflows/daily-skill-optimizer.lock.yml | Updates locked workflow Copilot model fallbacks to 'default'. |
| .github/workflows/daily-spdd-spec-planner.lock.yml | Updates locked workflow Copilot model fallbacks to 'default'. |
| .github/workflows/daily-syntax-error-quality.lock.yml | Updates locked workflow Copilot model fallbacks to 'default'. |
| .github/workflows/daily-team-status.lock.yml | Updates locked workflow Copilot model fallbacks to 'default'. |
| .github/workflows/daily-testify-uber-super-expert.lock.yml | Updates locked workflow Copilot model fallbacks to 'default'. |
| .github/workflows/daily-workflow-updater.lock.yml | Updates locked workflow Copilot model fallbacks to 'default'. |
| .github/workflows/dataflow-pr-discussion-dataset.lock.yml | Updates locked workflow Copilot model fallbacks to 'default'. |
| .github/workflows/dead-code-remover.lock.yml | Updates locked workflow Copilot model fallbacks to 'default'. |
| .github/workflows/delight.lock.yml | Updates locked workflow Copilot model fallbacks to 'default'. |
| .github/workflows/dependabot-burner.lock.yml | Updates locked workflow Copilot model fallbacks to 'default'. |
| .github/workflows/dependabot-go-checker.lock.yml | Updates locked workflow Copilot model fallbacks to 'default'. |
| .github/workflows/dependabot-repair.lock.yml | Updates locked workflow Copilot model fallbacks to 'default'. |
| .github/workflows/deployment-incident-monitor.lock.yml | Updates locked workflow Copilot model fallbacks to 'default'. |
| .github/workflows/dev-hawk.lock.yml | Updates locked workflow Copilot model fallbacks to 'default'. |
| .github/workflows/dictation-prompt.lock.yml | Updates locked workflow Copilot model fallbacks to 'default'. |
| .github/workflows/discussion-task-miner.lock.yml | Updates locked workflow Copilot model fallbacks to 'default'. |
| .github/workflows/docs-noob-tester.lock.yml | Updates locked workflow Copilot model fallbacks to 'default'. |
| .github/workflows/draft-pr-cleanup.lock.yml | Updates locked workflow Copilot model fallbacks to 'default'. |
| .github/workflows/example-permissions-warning.lock.yml | Updates locked workflow Copilot model fallbacks to 'default'. |
| .github/workflows/firewall-escape.lock.yml | Updates locked workflow Copilot model fallbacks to 'default'. |
| .github/workflows/firewall.lock.yml | Updates locked workflow Copilot model fallbacks to 'default'. |
| .github/workflows/functional-pragmatist.lock.yml | Updates locked workflow Copilot model fallbacks to 'default'. |
| .github/workflows/glossary-maintainer.lock.yml | Updates locked workflow Copilot model fallbacks to 'default'. |
| .github/workflows/gpclean.lock.yml | Updates locked workflow Copilot model fallbacks to 'default'. |
| .github/workflows/hippo-embed.lock.yml | Updates locked workflow Copilot model fallbacks to 'default'. |
| .github/workflows/issue-triage-agent.lock.yml | Updates locked workflow Copilot model fallbacks to 'default'. |
| .github/workflows/jsweep.lock.yml | Updates locked workflow Copilot model fallbacks to 'default'. |
| .github/workflows/layout-spec-maintainer.lock.yml | Updates locked workflow Copilot model fallbacks to 'default'. |
| .github/workflows/linter-miner.lock.yml | Updates locked workflow Copilot model fallbacks to 'default'. |
| .github/workflows/mattpocock-skills-reviewer.lock.yml | Updates locked workflow Copilot model fallbacks to 'default'. |
| .github/workflows/mcp-inspector.lock.yml | Updates locked workflow Copilot model fallbacks to 'default'. |
| .github/workflows/mergefest.lock.yml | Updates locked workflow Copilot model fallbacks to 'default'. |
| .github/workflows/metrics-collector.lock.yml | Updates locked workflow Copilot model fallbacks to 'default'. |
| .github/workflows/notion-issue-summary.lock.yml | Updates locked workflow Copilot model fallbacks to 'default'. |
| .github/workflows/org-health-report.lock.yml | Updates locked workflow Copilot model fallbacks to 'default'. |
| .github/workflows/otlp-data-quality-validator.lock.yml | Updates locked workflow Copilot model fallbacks to 'default'. |
| .github/workflows/pdf-summary.lock.yml | Updates locked workflow Copilot model fallbacks to 'default'. |
| .github/workflows/plan.lock.yml | Updates locked workflow Copilot model fallbacks to 'default'. |
| .github/workflows/pr-code-quality-reviewer.lock.yml | Updates locked workflow Copilot model fallbacks to 'default'. |
| .github/workflows/pr-description-caveman.lock.yml | Updates locked workflow Copilot model fallbacks to 'default'. |
| .github/workflows/pr-nitpick-reviewer.lock.yml | Updates locked workflow Copilot model fallbacks to 'default'. |
| .github/workflows/pr-triage-agent.lock.yml | Updates locked workflow Copilot model fallbacks to 'default'. |
| .github/workflows/python-data-charts.lock.yml | Updates locked workflow Copilot model fallbacks to 'default'. |
| .github/workflows/q.lock.yml | Updates locked workflow Copilot model fallbacks to 'default'. |
| .github/workflows/refactoring-cadence.lock.yml | Updates locked workflow Copilot model fallbacks to 'default'. |
| .github/workflows/refiner.lock.yml | Updates locked workflow Copilot model fallbacks to 'default'. |
| .github/workflows/release.lock.yml | Updates locked workflow Copilot model fallbacks to 'default'. |
| .github/workflows/repo-audit-analyzer.lock.yml | Updates locked workflow Copilot model fallbacks to 'default'. |
| .github/workflows/repo-tree-map.lock.yml | Updates locked workflow Copilot model fallbacks to 'default'. |
| .github/workflows/repository-quality-improver.lock.yml | Updates locked workflow Copilot model fallbacks to 'default'. |
| .github/workflows/research.lock.yml | Updates locked workflow Copilot model fallbacks to 'default'. |
| .github/workflows/security-compliance.lock.yml | Updates locked workflow Copilot model fallbacks to 'default'. |
| .github/workflows/security-review.lock.yml | Updates locked workflow Copilot model fallbacks to 'default'. |
| .github/workflows/slide-deck-maintainer.lock.yml | Updates locked workflow Copilot model fallbacks to 'default'. |
| .github/workflows/smoke-ci.lock.yml | Updates locked workflow Copilot model fallbacks to 'default'. |
| .github/workflows/smoke-copilot-arm.lock.yml | Updates locked workflow Copilot model fallbacks to 'default'. |
| .github/workflows/smoke-copilot.lock.yml | Updates locked workflow Copilot model fallbacks to 'default'. |
| .github/workflows/smoke-create-cross-repo-pr.lock.yml | Updates locked workflow Copilot model fallbacks to 'default'. |
| .github/workflows/smoke-multi-pr.lock.yml | Updates locked workflow Copilot model fallbacks to 'default'. |
| .github/workflows/smoke-otel-backends.lock.yml | Updates locked workflow Copilot model fallbacks to 'default'. |
| .github/workflows/smoke-project.lock.yml | Updates locked workflow Copilot model fallbacks to 'default'. |
| .github/workflows/smoke-service-ports.lock.yml | Updates locked workflow Copilot model fallbacks to 'default'. |
| .github/workflows/smoke-temporary-id.lock.yml | Updates locked workflow Copilot model fallbacks to 'default'. |
| .github/workflows/smoke-test-tools.lock.yml | Updates locked workflow Copilot model fallbacks to 'default'. |
| .github/workflows/smoke-update-cross-repo-pr.lock.yml | Updates locked workflow Copilot model fallbacks to 'default'. |
| .github/workflows/smoke-workflow-call-with-inputs.lock.yml | Updates locked workflow Copilot model fallbacks to 'default'. |
| .github/workflows/smoke-workflow-call.lock.yml | Updates locked workflow Copilot model fallbacks to 'default'. |
| .github/workflows/spec-extractor.lock.yml | Updates locked workflow Copilot model fallbacks to 'default'. |
| .github/workflows/spec-librarian.lock.yml | Updates locked workflow Copilot model fallbacks to 'default'. |
| .github/workflows/stale-pr-cleanup.lock.yml | Updates locked workflow Copilot model fallbacks to 'default'. |
| .github/workflows/stale-repo-identifier.lock.yml | Updates locked workflow Copilot model fallbacks to 'default'. |
| .github/workflows/sub-issue-closer.lock.yml | Updates locked workflow Copilot model fallbacks to 'default'. |
| .github/workflows/super-linter.lock.yml | Updates locked workflow Copilot model fallbacks to 'default'. |
| .github/workflows/technical-doc-writer.lock.yml | Updates locked workflow Copilot model fallbacks to 'default'. |
| .github/workflows/terminal-stylist.lock.yml | Updates locked workflow Copilot model fallbacks to 'default'. |
| .github/workflows/test-dispatcher.lock.yml | Updates locked workflow Copilot model fallbacks to 'default'. |
| .github/workflows/test-project-url-default.lock.yml | Updates locked workflow Copilot model fallbacks to 'default'. |
| .github/workflows/test-quality-sentinel.lock.yml | Updates locked workflow Copilot model fallbacks to 'default'. |
| .github/workflows/test-workflow.lock.yml | Updates locked workflow Copilot model fallbacks to 'default'. |
| .github/workflows/tidy.lock.yml | Updates locked workflow Copilot model fallbacks to 'default'. |
| .github/workflows/uk-ai-operational-resilience.lock.yml | Updates locked workflow Copilot model fallbacks to 'default'. |
| .github/workflows/ubuntu-image-analyzer.lock.yml | Updates locked workflow Copilot model fallbacks to 'default'. |
| .github/workflows/update-astro.lock.yml | Updates locked workflow Copilot model fallbacks to 'default'. |
| .github/workflows/video-analyzer.lock.yml | Updates locked workflow Copilot model fallbacks to 'default'. |
| .github/workflows/visual-regression-checker.lock.yml | Updates locked workflow Copilot model fallbacks to 'default'. |
| .github/workflows/weekly-blog-post-writer.lock.yml | Updates locked workflow Copilot model fallbacks to 'default'. |
| .github/workflows/weekly-editors-health-check.lock.yml | Updates locked workflow Copilot model fallbacks to 'default'. |
| .github/workflows/weekly-issue-summary.lock.yml | Updates locked workflow Copilot model fallbacks to 'default'. |
| .github/workflows/weekly-safe-outputs-spec-review.lock.yml | Updates locked workflow Copilot model fallbacks to 'default'. |
| .github/workflows/workflow-generator.lock.yml | Updates locked workflow Copilot model fallbacks to 'default'. |
| .github/workflows/workflow-health-manager.lock.yml | Updates locked workflow Copilot model fallbacks to 'default'. |
| .github/workflows/workflow-normalizer.lock.yml | Updates locked workflow Copilot model fallbacks to 'default'. |
| .github/workflows/workflow-skill-extractor.lock.yml | Updates locked workflow Copilot model fallbacks to 'default'. |
Copilot's findings
Tip
Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
- Files reviewed: 156/156 changed files
- Comments generated: 2
| 1. Injecting a dummy `COPILOT_API_KEY` to trigger the AWF BYOK runtime path. | ||
| 2. Implicitly enabling `cli-proxy`. | ||
| 3. Forcing the Copilot CLI to install at `latest` (ignoring any pinned `engine.version`). | ||
| 4. Setting `COPILOT_MODEL` to `${{ vars.GH_AW_MODEL_AGENT_COPILOT || 'claude-sonnet-4.6' }}` — Copilot BYOK providers require a non-empty model, so the compiler provides `claude-sonnet-4.6` as the fallback when `GH_AW_MODEL_AGENT_COPILOT` is not set. | ||
| 4. Setting `COPILOT_MODEL` to `${{ vars.GH_AW_MODEL_AGENT_COPILOT || 'default' }}` — Copilot BYOK providers require a non-empty model, so the compiler provides the `default` sentinel as the fallback when `GH_AW_MODEL_AGENT_COPILOT` is not set. | ||
|
|
||
| No feature flag is required. | ||
|
|
||
| To use a different model, set the `GH_AW_MODEL_AGENT_COPILOT` repository variable. The compiled workflow uses `${{ vars.GH_AW_MODEL_AGENT_COPILOT || 'claude-sonnet-4.6' }}` for `COPILOT_MODEL`. | ||
| To use a different model, set the `GH_AW_MODEL_AGENT_COPILOT` repository variable. The compiled workflow uses `${{ vars.GH_AW_MODEL_AGENT_COPILOT || 'default' }}` for `COPILOT_MODEL`. |
| 1. The compiler **MUST** inject a dummy `COPILOT_API_KEY` sentinel value for all `engine: copilot` workflows, regardless of whether `features.byok-copilot` is present. | ||
| 2. The compiler **MUST** treat `cli-proxy` as enabled for all `engine: copilot` workflows unless `tools.github.mode` explicitly overrides it. | ||
| 3. The compiler **MUST** install the Copilot CLI at `latest` for all `engine: copilot` workflows and **MUST NOT** honour a pinned `engine.version` for the Copilot CLI install step. | ||
| 4. The compiler **MUST** set `COPILOT_MODEL` to `${{ vars.GH_AW_MODEL_AGENT_COPILOT || 'claude-sonnet-4.6' }}` when no explicit model is configured, providing a non-empty fallback required by BYOK providers. | ||
| 4. The compiler **MUST** set `COPILOT_MODEL` to `${{ vars.GH_AW_MODEL_AGENT_COPILOT || 'default' }}` when no explicit model is configured, providing a non-empty fallback required by BYOK providers. | ||
|
|
…bundle-fuzzer # Conflicts: # .github/workflows/mattpocock-skills-reviewer.lock.yml Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Merged |
|
``
|
Chaos PR Bundle Fuzzer is failing in
engine: copilotruns because the default BYOK model path pins a provider-specific Claude model, which now triggers invalid Anthropic beta-header behavior. This change switches the Copilot BYOK fallback to the platform-neutraldefaultsentinel so Copilot resolves its own compatible default model.Runtime behavior change (Copilot BYOK default)
CopilotBYOKDefaultModelfromclaude-sonnet-4.5todefault.COPILOT_MODELfallback expressions for both agent and detection paths when no explicit model is configured.Spec contract alignment
CopilotBYOKDefaultModel == "default".Generated workflow fixtures
GH_AW_INFO_MODELCOPILOT_MODELDocumentation + ADR consistency
${{ vars.GH_AW_MODEL_AGENT_COPILOT || 'claude-sonnet-4.6' }}${{ vars.GH_AW_MODEL_AGENT_COPILOT || 'default' }}.pr-sous-chef: update branch requested
run: https://github.com/github/gh-aw/actions/runs/26320547848