@@ -15,6 +15,22 @@ dotnet_diagnostic.AL0025.severity = warning # Prefer static lambda
1515dotnet_diagnostic.AL0026.severity = warning # DateTime.Now/UtcNow
1616dotnet_diagnostic.AL0027.severity = warning # Newtonsoft.Json
1717
18+ # CA1062: Validate arguments of public methods — Roslyn callbacks guarantee non-null
19+ dotnet_diagnostic.CA1062.severity = none
20+ # CA1308: Normalize strings to uppercase — lowercase is standard for URL routes
21+ dotnet_diagnostic.CA1308.severity = none
22+
23+ # Meziantou — suppress opinionated style rules
24+ dotnet_diagnostic.MA0002.severity = none # StringBuilder — generator code uses IndentedTextWriter
25+ dotnet_diagnostic.MA0006.severity = none # string.Equals — string == is ordinal, explicit enough
26+ dotnet_diagnostic.MA0008.severity = none # StructLayoutAttribute — unnecessary for managed types
27+ dotnet_diagnostic.MA0011.severity = none # IFormatProvider on TryParse — netstandard2.0 is fine
28+ dotnet_diagnostic.MA0048.severity = none # File name must match type — partial classes + DTOs are intentional
29+ dotnet_diagnostic.MA0049.severity = none # Type name ≠ namespace — ErrorOr in ErrorOrX is by design
30+ dotnet_diagnostic.MA0004.severity = none # ConfigureAwait — ASP.NET Core has no SynchronizationContext
31+ dotnet_diagnostic.MA0016.severity = none # Collection abstraction — contradicts CA1859 (use concrete types)
32+ dotnet_diagnostic.MA0051.severity = none # Method too long — source generators have legitimate long methods
33+
1834# ============================================================================
1935# IDE Suggestion-Level Rules Rationale
2036# ============================================================================
@@ -51,21 +67,17 @@ csharp_style_prefer_extended_property_pattern = true:suggestion
5167# Test code intentionally uses patterns that trigger warnings in production code.
5268# These are suppressed for test files only.
5369
54- [** /tests/** /* .cs ]
55- # Nullable suppression (null!) is intentional for testing null argument validation
70+ [tests/** /* .cs ]
5671resharper_nullable_warning_suppression_is_used_highlighting = none
57- # Record properties in test data structures may not be directly accessed
5872resharper_not_accessed_positional_property_local_highlighting = none
59- # Multiple enumeration is sometimes acceptable in tests for clarity
6073resharper_possible_multiple_enumeration_highlighting = none
61- # Pure method return values may be intentionally discarded in tests
6274resharper_return_value_of_pure_method_is_not_used_highlighting = none
63- # Redundant nullable suppressions after assertions
6475resharper_redundant_nullable_warning_suppression_highlighting = none
6576
6677[** /src/** /* .cs ]
67- # CA1859 requires concrete types for performance; Rider's suggestion to widen conflicts
78+ # CA1859 requires concrete types for private methods; ReSharper suggests the opposite
6879resharper_parameter_type_can_be_enumerable_local_highlighting = none
80+ resharper_suggest_base_type_for_parameter_highlighting = none
6981
7082# ============================================================================
7183# Generator-Specific Suppressions
@@ -76,6 +88,9 @@ resharper_parameter_type_can_be_enumerable_local_highlighting = none
7688# The namespace intentionally does not match the folder structure.
7789[** /ErrorOrX.Generators/Polyfills.cs ]
7890dotnet_diagnostic.IDE0130.severity = none
91+ dotnet_diagnostic.CA1019.severity = none # Polyfill attribute constructor — intentional design
92+ dotnet_diagnostic.CA1305.severity = none # uint.ToString() — no locale dependence
93+ dotnet_diagnostic.CA1812.severity = none # IsExternalInit — compiler-reserved type
7994
8095# Extractor.cs: AL0029 flags foreach-over-GetAttributes() loops, suggesting
8196# HasAttribute() instead. These loops legitimately need to extract constructor
0 commit comments