Skip to content

Stop re-proposing the two upgrades that have nowhere to land - #136

Merged
DeDuva merged 1 commit into
devfrom
fix/dependabot-unlandable-ignores
Sep 1, 2026
Merged

Stop re-proposing the two upgrades that have nowhere to land#136
DeDuva merged 1 commit into
devfrom
fix/dependabot-unlandable-ignores

Conversation

@DeDuva

@DeDuva DeDuva commented Sep 1, 2026

Copy link
Copy Markdown
Owner

Companion to #135. That one fixed updates Dependabot proposed but could not lock; this one covers updates it proposes that cannot build or cannot lint, and will keep proposing weekly until told otherwise.

Both PRs stay open — this only stops the re-proposal treadmill.

GitHub.Copilot.SDK — ignored outright (#124)

Not by update-type, and that distinction matters: the break arrived on 1.0.3 → 1.0.11, a patch. A semver-major ignore would have sailed straight past it.

SquadAgent.cs uses CopilotClient via Microsoft.Agents.AI.GitHub.Copilot, pinned at 1.11.0-rc1, which declares:

GitHub.Copilot.SDK [1.0.0, )

An open lower bound, so NuGet restore accepts any newer SDK — and the compiler then refuses it:

error CS0012: The type 'CopilotClient' is defined in an assembly that is not referenced.
You must add a reference to assembly 'GitHub.Copilot.SDK, Version=1.0.0.0'.

on net8.0, net9.0 and net10.0 alike, on both ubuntu and windows.

The SDK is only independently upgradable once MAF moves with it: 1.19.0+ declares [1.0.5, ) and is built against the newer line. The direct PackageReference is itself flagged in the csproj as a workaround pending microsoft/agent-framework#6457, so one upgrade will likely retire both.

typescript — majors only (#33, #26)

typescript-eslint peer-requires typescript >=4.8.4 <6.1.0, and that cap is still there at 8.69.0, its newest release. TS 7 has no supported lint toolchain.

What makes this worse than a plain failure: npm does not refuse the install, it nests duplicate @typescript-eslint trees to satisfy the impossible peer graph. npm run lint:eslint would then run typescript-estree against a compiler it does not claim to support — degrading quietly instead of failing loudly.

Minor and patch TypeScript updates are unaffected and still flow.

Why not just close the PRs

Closing them clears the list until Dependabot's next run re-creates both, unchanged and still broken. The ignore is the part that actually holds. Each entry carries the specific condition that should retire it — a MAF version range, a peer range — so a future reader can check whether it still applies instead of guessing.

Both of these reopen every week, fail the same way, and cost a review each
time. Neither is fixable in this repository, so the honest move is to say so
in the config rather than let the queue relitigate it.

GitHub.Copilot.SDK — ignored outright, not by update-type. SquadAgent.cs uses
CopilotClient through Microsoft.Agents.AI.GitHub.Copilot, and MAF 1.11.0-rc1
declares `GitHub.Copilot.SDK [1.0.0, )`. The open range means restore accepts a
newer SDK and the compiler then rejects it — CS0012, "defined in an assembly
that is not referenced ... Version=1.0.0.0", on net8.0, net9.0 and net10.0
alike. Note the break arrived on 1.0.3 -> 1.0.11, a *patch*, which is why a
semver-major ignore would not have caught it. Lift this with MAF: 1.19.0+
declares `[1.0.5, )`.

typescript — majors only. typescript-eslint still peer-requires
`typescript >=4.8.4 <6.1.0` at 8.69.0, its newest release, so TS 7 has no
supported lint toolchain. npm "resolves" the conflict by nesting duplicate
@typescript-eslint trees, which means lint:eslint would run a parser against a
compiler it does not support — failing quietly rather than loudly, which is
worse. Minor and patch TypeScript updates still flow.

Both comments name the condition that should retire them, so whoever finds
this later can tell whether it still holds.
@github-actions

github-actions Bot commented Sep 1, 2026

Copy link
Copy Markdown
Contributor

🛫 PR Readiness Check

ℹ️ This comment updates on each push. Last checked: commit abfd6cb

PR Scope: 🔧 Infrastructure

⚠️ 1 item(s) to address before review

Status Check Details
Single commit 1 commit — clean history
Not in draft Ready for review
Branch up to date Up to date with dev
Copilot review No Copilot review yet — it may still be processing
Changeset present No source files changed — changeset not required
Scope clean No .squad/ or docs/proposals/ files
No merge conflicts No merge conflicts
Copilot threads resolved No Copilot review threads
CI passing All checks passing

Files Changed (1 file, +27 −0)

File +/−
.github/dependabot.yml +27 −0

Total: +27 −0


This check runs automatically on every push. Fix any ❌ items and push again.
See CONTRIBUTING.md and PR Requirements for details.

@github-actions

github-actions Bot commented Sep 1, 2026

Copy link
Copy Markdown
Contributor

🟢 Impact Analysis — PR #136

Risk tier: 🟢 LOW

📊 Summary

Metric Count
Files changed 1
Files added 0
Files modified 1
Files deleted 0
Modules touched 1

🎯 Risk Factors

  • 1 files changed (≤5 → LOW)
  • 1 module(s) touched (≤1 → LOW)

📦 Modules Affected

ci-workflows (1 file)
  • .github/dependabot.yml

This report is generated automatically for every PR. See #733 for details.

@DeDuva
DeDuva merged commit 701d5c7 into dev Sep 1, 2026
16 checks passed
DeDuva added a commit that referenced this pull request Sep 1, 2026
#136 ignored GitHub.Copilot.SDK outright, on the reasoning that it was not
independently upgradable while Microsoft.Agents.AI.GitHub.Copilot sat at
1.11.0-rc1. That comment ended with a condition — "lift this together with
MAF, not before: 1.19.0+ declares [1.0.5, )" — and #137 met it about an hour
later, moving MAF to 1.20.0 and the SDK to 1.0.5 in one PR, green on both .NET
jobs across net8.0, net9.0 and net10.0.

Leaving the ignore in place would now freeze the SDK at 1.0.5 indefinitely,
including for security releases, behind a comment telling the next reader to
remove it because a condition that is already true.

So the ignore goes, and the constraint is expressed where it actually belongs:
GitHub.Copilot.SDK joins both Microsoft groups. It is not a Microsoft.* package,
so without that it is proposed alone — and alone is the shape that breaks, since
SquadAgent.cs reaches CopilotClient through MAF's re-export and the two must
compile as a pair.

This is a nudge rather than a guarantee: grouping bundles whatever updates exist
in a run, so a solo SDK bump can still appear. That is an acceptable residual
risk because the failure mode is loud rather than silent — #124 turned both .NET
jobs red on CS0012, which is exactly what a review gate is for. Trading a
permanent freeze for a well-caught failure is the better side of that deal.
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.

1 participant