54 lines
2.0 KiB
Markdown
54 lines
2.0 KiB
Markdown
# 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.
|