All rules

Pattern Consistency Deviation

Detects mixed sync/async naming conventions and service locator anti-patterns introduced inconsistently within the same file.

Why this rule exists

Inconsistency confuses callers. A class with both GetUser and GetOrderAsync forces every caller to remember which is which, and the wrong choice can deadlock.

Code example

Triggers the rule
+ public Task<User> GetUser(int id) => ...;
+ public Task<Order> GetOrderAsync(int id) => ...;
Passes the rule
+ public Task<User> GetUserAsync(int id) => ...;
+ public Task<Order> GetOrderAsync(int id) => ...;

Configuration

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

{
  "rules": {
    "GCI0046": { "enabled": true, "severity": "Info" }
  }
}

See Configuration for the full schema.

Related rules

Discussed in

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

About the author

Eric Cogen -- Founder, GauntletCI

Twenty years as a senior technical consultant building and modernizing enterprise platforms across .NET, AWS, serverless, microservices, and AI-driven systems.