All rules

Dependency Bot API Drift

Fires when a dependency bot PR (Dependabot, Renovate, Snyk) contains both a lockfile change and a public API method signature change in C# files.

Why this rule exists

Dependency bot PRs are usually skim-reviewed. A bot PR that also changes a public method signature is either a malicious supply chain attack or an unannounced breaking upgrade. Both deserve a hard stop.

Code example

Triggers the rule
  // Dependabot PR "bump SomeLib from 1.2 to 1.3"
  packages.lock.json | 4 ++--
+ src/Api/UserController.cs
+ - public Task<User> Get(int id)
+ + public Task<User> Get(Guid id)
Passes the rule
  // Dependabot PR contains only the lockfile diff.
  packages.lock.json | 4 ++--

Configuration

Disable or adjust the severity of this rule in .gauntletci.json:

{
  "rules": {
    "GCI0052": { "enabled": true, "severity": "Block" }
  }
}

See Configuration for the full schema.

Related rules

Discussed in

Implemented in src/GauntletCI.Core/Rules/Implementations/GCI0052_*.cs.

About the author

Eric Cogen -- Founder, GauntletCI

Twenty years in .NET production. Most of those years, the bugs that hurt me were not the ones tests caught. They were the assumptions I did not know I was making: a removed guard clause, a renamed method that still did the old thing, a catch {} that turned a page into a silent dashboard lie. GauntletCI is the checklist I wish I had run before every commit. It runs the rules I learned the hard way, so you do not have to.