# CSProj Audit Summary ## Scope - Projects audited: 1096 - Files scanned: 15058 - Files with issues: 11095 - Audit date (UTC): 2026-01-31 - File-level report: docs/implplan/audits/csproj-standards/file-audit.csv ## Coding Standards Gaps - Nullable missing/disabled: 3 - TreatWarningsAsErrors overridden false: 412 - Deterministic overridden false: 0 - Projects with 100-line violations: 1035 - Total 100-line violations: 9489 - Projects with service locator usage: 365 - Projects with Assembly.LoadFrom usage: 8 ## File-Level Findings - Files over 100 lines: 9489 - Files missing namespace: 38 - Files with block-scoped namespace: 281 - Files with non-StellaOps namespace: 315 - Files with using directives inside namespace: 2279 - Files with unsorted using directives: 2686 - Files with interface naming issues: 1 - Files with private field naming issues: 2339 - Files with const naming issues: 20 - Files with async naming issues: 3923 - Files with blocking async usage: 272 - Files missing ConfigureAwait(false): 3419 - Files with service locator usage: 792 - Files with Assembly.LoadFrom usage: 8 ## Testing Fullness Gaps (heuristic) - Projects missing unit tests: 137 - Projects missing integration tests: 103 - Projects missing E2E tests: 49 - Projects missing security tests: 51 - Projects missing offline coverage: 51 - Projects missing performance tests: 109 - Projects missing CLI tests: 6 ## Notes - Manual verification required for observability contract tests and intent tagging. - Coverage matrix alignment required for model-specific expectations. ## Prioritized Remediation 1. Enforce analyzers repo-wide (StyleCop.Analyzers, Roslyn.Security.Guard) via central props or shared analyzer references. 2. Remove service locator usage and Assembly.LoadFrom; replace with DI and plugin loader patterns. 3. Reduce 100-line violations and normalize namespaces/usings. 4. Fix async naming/blocking issues and add ConfigureAwait(false) in library-like code. 5. Add missing test layers per project and align with TEST_COVERAGE_MATRIX.md.