All rules

Pure Context Mutation

Detects assignment operators inside property getter blocks or methods decorated with [Pure], indicating unexpected side effects.

Why this rule exists

Property getters and [Pure] methods are called by debuggers, serializers, and LINQ providers. Hidden side effects in them produce non-deterministic bugs that reproduce only under specific tooling.

Code example

Triggers the rule
+ public int Count
+ {
+     get { _accessCount++; return _items.Count; }
+ }
Passes the rule
+ public int Count => _items.Count;
+ public void RecordAccess() => _accessCount++;

Configuration

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

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

See Configuration for the full schema.

Related rules

Discussed in

Implemented in src/GauntletCI.Core/Rules/Implementations/GCI0036_*.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.