Enable Copilot SDK path in Daily Sub-Agent Model Resolution Audit to avoid provider-auth 403 failures#47004
Conversation
PR Triage
WIP draft — no committed files yet. Fixing daily sub-agent model resolution audit auth failure. Defer until draft is ready. Run §29809051050
|
Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
|
✅ Test Quality Sentinel completed test quality analysis. No test files were added or modified in this PR. This PR only updates workflow configuration files (.github/workflows/daily-model-resolution.md and .github/workflows/daily-model-resolution.lock.yml) to enable Copilot SDK path. Test Quality Sentinel skipped. |
|
✅ Design Decision Gate 🏗️ completed the design decision gate check. No ADR enforcement needed: PR #47004 does not have the 'implementation' label and has 0 new lines of code in business logic directories (threshold: 100). |
|
🧠 Matt Pocock Skills Reviewer has completed the skills-based review. ✅ |
|
✅ PR Code Quality Reviewer completed the code quality review. |
There was a problem hiding this comment.
Pull request overview
Enables Copilot SDK execution for the daily model-resolution audit to reduce intermittent provider-auth failures during sub-agent orchestration.
Changes:
- Enables
copilot-sdkfor the audit workflow. - Regenerates the lock workflow with SDK installation, driver invocation, and environment configuration.
Show a summary per file
| File | Description |
|---|---|
.github/workflows/daily-model-resolution.md |
Enables Copilot SDK mode. |
.github/workflows/daily-model-resolution.lock.yml |
Applies the generated SDK runtime changes. |
Review details
Tip
Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
- Files reviewed: 2/2 changed files
- Comments generated: 0
- Review effort level: Medium
There was a problem hiding this comment.
The change is minimal and correct: adds copilot-sdk: true to the workflow frontmatter and the recompiled lock file consistently reflects the expected SDK execution path — install step, COPILOT_SDK_URI, GH_AW_COPILOT_SDK_DRIVER, driver invocation, and updated metadata hash. This matches the pattern used by other sub-agent-heavy workflows in the repo. No issues found.
🧵 Reviewed using Impeccable skills by Impeccable Skills Reviewer · 12.9 AIC · ⌖ 4.34 AIC · ⊞ 5K
There was a problem hiding this comment.
Skills-Based Review 🧠
Applied /diagnosing-bugs — one minor finding; changes are otherwise sound.
📋 Key Themes & Highlights
One Finding
GH_AW_MAX_TOOL_DENIALS: 5is added without explanation in the PR description. If this is deliberate tuning (e.g. to cap retry storms that triggered the 403), recording the rationale will help future maintainers.
Positive Highlights
- ✅ Root-cause diagnosis is clear and well-described in the PR body.
- ✅ Single-line source change (
copilot-sdk: true) is minimal and consistent with other SDK-mode workflows. - ✅ Lock file regenerated correctly; metadata hashes and engine version entries updated as expected.
- ✅ No manual edits to auto-generated sections.
🧠 Reviewed using Matt Pocock's skills by Matt Pocock Skills Reviewer · 34.2 AIC · ⌖ 4.49 AIC · ⊞ 6.7K
Comment /matt to run again
| COPILOT_GITHUB_TOKEN: ${{ secrets.COPILOT_GITHUB_TOKEN }} | ||
| COPILOT_MODEL: gpt-5.4-mini | ||
| COPILOT_SDK_URI: http://127.0.0.1:3002 | ||
| GH_AW_COPILOT_SDK_DRIVER: 1 |
There was a problem hiding this comment.
[/diagnosing-bugs] GH_AW_MAX_TOOL_DENIALS: 5 is added silently — it does not appear in the PR description and is not present in similar SDK-mode workflows. If this value is load-bearing (e.g. it guards against the retry storm that caused the 403), it should be called out explicitly so future readers understand why it's here.
💡 Suggestion
Add a comment in the workflow markdown or PR body explaining whether this is SDK-mode boilerplate or a deliberate tuning choice for this workflow's sub-agent count. Without that context, the next person to touch this file won't know if it's safe to change.
@copilot please address this.
There was a problem hiding this comment.
🔎 Code quality review by PR Code Quality Reviewer · 28.2 AIC · ⌖ 4.43 AIC · ⊞ 5.6K
Comment /review to run again
| GH_HOST: github.com | ||
| - name: Install AWF binary | ||
| run: bash "${RUNNER_TEMP}/gh-aw/actions/install_awf_binary.sh" v0.27.37 --rootless | ||
| - name: Install GitHub Copilot SDK (Node.js) |
There was a problem hiding this comment.
npm install without --no-package-lock will create a package-lock.json in GITHUB_WORKSPACE, dirtying the checkout and potentially breaking downstream steps that check git status or rely on a clean working tree.
💡 Suggested fix
Add --no-package-lock to the install command:
- name: Install GitHub Copilot SDK (Node.js)
run: cd "${GITHUB_WORKSPACE}" && npm install --ignore-scripts --no-save --no-package-lock `@github/copilot-sdk`@1.0.7--no-save prevents package.json changes but does not suppress package-lock.json creation. Without --no-package-lock, npm will write a lock file into GITHUB_WORKSPACE on every run.
Since this is a generated file, the fix should be applied in the compiler template that emits the npm install step so all SDK-mode workflows benefit.
|
🎉 This pull request is included in a new release. Release: |
The daily model-resolution audit intermittently failed with
Authentication failed with provider ... (HTTP 403)after partial progress, causing the scheduled run to terminate before report emission. This change moves the workflow onto the Copilot SDK execution path already used by other sub-agent-heavy workflows.Root cause alignment
daily-model-resolution) was still on legacy Copilot CLI mode while similar workflows with sub-agent orchestration run withcopilot-sdk: true.authentication_failedagainst API proxy).Workflow change
.github/workflows/daily-model-resolution.md.github/workflows/daily-model-resolution.lock.ymlRuntime effect in generated lock workflow
COPILOT_SDK_URI, driver args), aligning auth/session behavior with known-good workflows.