Files
git.stella-ops.org/docs/implplan-blocked/audits/csproj-standards/Zastava/StellaOps.Zastava.Observer/StellaOps.Zastava.Observer.md

3.4 KiB

Audit - StellaOps.Zastava.Observer

Project

  • Path: src/Zastava/StellaOps.Zastava.Observer/StellaOps.Zastava.Observer.csproj
  • Module: Zastava
  • Kind: Service
  • 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: 25
  • Service locator usage (BuildServiceProvider/GetService): 0
  • Analyzer enforcement: missing repo-wide (see summary).

Details

  • 100-line files:
    • src/Zastava/StellaOps.Zastava.Observer/Runtime/RuntimeProcessCollector.cs (525 lines)
    • src/Zastava/StellaOps.Zastava.Observer/Runtime/ProcSnapshot/PhpAutoloadCollector.cs (513 lines)
    • src/Zastava/StellaOps.Zastava.Observer/Runtime/ProcSnapshot/DotNetAssemblyCollector.cs (495 lines)
    • src/Zastava/StellaOps.Zastava.Observer/Probes/EbpfProbeManager.cs (462 lines)
    • src/Zastava/StellaOps.Zastava.Observer/Runtime/ProcSnapshot/JavaClasspathCollector.cs (418 lines)
    • src/Zastava/StellaOps.Zastava.Observer/ContainerRuntime/Windows/DockerWindowsRuntimeClient.cs (401 lines)
    • src/Zastava/StellaOps.Zastava.Observer/Runtime/RuntimeFactsBuilder.cs (357 lines)
    • src/Zastava/StellaOps.Zastava.Observer/Runtime/RuntimeEventBuffer.cs (301 lines)
    • src/Zastava/StellaOps.Zastava.Observer/Runtime/ElfBuildIdReader.cs (287 lines)
    • src/Zastava/StellaOps.Zastava.Observer/Posture/RuntimePostureEvaluator.cs (284 lines)
    • src/Zastava/StellaOps.Zastava.Observer/Worker/RuntimeEventDispatchService.cs (269 lines)
    • src/Zastava/StellaOps.Zastava.Observer/Configuration/ZastavaObserverOptions.cs (255 lines)
    • src/Zastava/StellaOps.Zastava.Observer/ContainerRuntime/Cri/CriRuntimeClient.cs (254 lines)
    • src/Zastava/StellaOps.Zastava.Observer/Backend/RuntimeEventsClient.cs (242 lines)
    • src/Zastava/StellaOps.Zastava.Observer/Worker/ContainerLifecycleHostedService.cs (202 lines)
    • src/Zastava/StellaOps.Zastava.Observer/DependencyInjection/ObserverServiceCollectionExtensions.cs (183 lines)
    • src/Zastava/StellaOps.Zastava.Observer/Posture/RuntimePostureCache.cs (180 lines)
    • src/Zastava/StellaOps.Zastava.Observer/ContainerRuntime/Windows/WindowsLibraryHashCollector.cs (179 lines)
    • src/Zastava/StellaOps.Zastava.Observer/Worker/RuntimeEventFactory.cs (154 lines)
    • src/Zastava/StellaOps.Zastava.Observer/Runtime/ProcSnapshot/ProcSnapshotCollector.cs (145 lines)
    • src/Zastava/StellaOps.Zastava.Observer/Worker/ContainerRuntimePoller.cs (139 lines)
    • src/Zastava/StellaOps.Zastava.Observer/ContainerRuntime/ContainerStateTracker.cs (134 lines)
    • src/Zastava/StellaOps.Zastava.Observer/Backend/RuntimePolicyClient.cs (128 lines)
    • src/Zastava/StellaOps.Zastava.Observer/ContainerRuntime/Windows/IWindowsContainerRuntimeClient.cs (114 lines)
    • src/Zastava/StellaOps.Zastava.Observer/ContainerRuntime/Windows/WindowsContainerInfo.cs (104 lines)
  • Service locator matches:
    • none

Fix Guidance

  • Split files over 100 lines into smaller types or partials.

Testing Fullness Findings

  • Status: PASS
  • Expected layers: Unit
  • Detected test projects: src/Zastava/__Tests/StellaOps.Zastava.Observer.Tests/StellaOps.Zastava.Observer.Tests.csproj [Unit]
  • Missing layers: none

Manual checks required

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

Fix Guidance

  • None.