Files
git.stella-ops.org/docs-archived/implplan-blocked/audits/csproj-standards/Tools/LanguageAnalyzerSmoke/LanguageAnalyzerSmoke.md
2026-02-19 22:07:11 +02:00

1.7 KiB

Audit - LanguageAnalyzerSmoke

Project

  • Path: src/Tools/LanguageAnalyzerSmoke/LanguageAnalyzerSmoke.csproj
  • Module: Tools
  • Kind: Tool
  • SDK: Microsoft.NET.Sdk
  • TargetFramework: net10.0
  • Audit date (UTC): 2026-01-30

Coding Standards Findings

  • Status: FAIL
  • Nullable: enable
  • TreatWarningsAsErrors: explicit true
  • Deterministic: inherited true
  • 100-line rule violations: 2
  • Service locator usage (BuildServiceProvider/GetService): 3
  • Analyzer enforcement: missing repo-wide (see summary).

Details

  • 100-line files:
    • src/Tools/LanguageAnalyzerSmoke/LanguageAnalyzerSmokeRunner.cs (468 lines)
    • src/Tools/LanguageAnalyzerSmoke/LanguageAnalyzerSmokeApp.cs (113 lines)
  • Service locator matches:
    • src/Tools/LanguageAnalyzerSmoke/LanguageAnalyzerSmokeRunner.cs:221 using var serviceProvider = BuildServiceProvider();
    • src/Tools/LanguageAnalyzerSmoke/LanguageAnalyzerSmokeRunner.cs:381 private static ServiceProvider BuildServiceProvider()
    • src/Tools/LanguageAnalyzerSmoke/LanguageAnalyzerSmokeRunner.cs:385 return services.BuildServiceProvider();

Fix Guidance

  • Split files over 100 lines into smaller types or partials.
  • Replace service locator usage with constructor injection.

Testing Fullness Findings

  • Status: FAIL
  • Expected layers: Unit, CLI, Offline
  • Detected test projects: src/Tools/__Tests/LanguageAnalyzerSmoke.Tests/LanguageAnalyzerSmoke.Tests.csproj [Unit]
  • Missing layers: CLI, Offline

Manual checks required

  • Observability contract tests for WebService/Worker.
  • Offline execution (tests must run without network access).

Fix Guidance

  • Add offline/airgap coverage with fixtures only.
  • Add CLI tests for exit codes and golden output.