2.9 KiB
2.9 KiB
Audit - StellaOps.Plugin.Host
Project
- Path:
src/Plugin/StellaOps.Plugin.Host/StellaOps.Plugin.Host.csproj - Module:
Plugin - Kind:
Plugin - 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: 18
- Service locator usage (BuildServiceProvider/GetService): 2
- Analyzer enforcement: missing repo-wide (see summary).
Details
- 100-line files:
src/Plugin/StellaOps.Plugin.Host/PluginHost.cs(418 lines)src/Plugin/StellaOps.Plugin.Host/Dependencies/PluginDependencyResolver.cs(320 lines)src/Plugin/StellaOps.Plugin.Host/Discovery/FileSystemPluginDiscovery.cs(287 lines)src/Plugin/StellaOps.Plugin.Host/Health/PluginHealthMonitor.cs(253 lines)src/Plugin/StellaOps.Plugin.Host/Dependencies/DependencyGraph.cs(225 lines)src/Plugin/StellaOps.Plugin.Host/Context/PluginConfiguration.cs(221 lines)src/Plugin/StellaOps.Plugin.Host/Loading/AssemblyPluginLoader.cs(213 lines)src/Plugin/StellaOps.Plugin.Host/IPluginHost.cs(174 lines)src/Plugin/StellaOps.Plugin.Host/Lifecycle/PluginLifecycleManager.cs(173 lines)src/Plugin/StellaOps.Plugin.Host/Extensions/ServiceCollectionExtensions.cs(165 lines)src/Plugin/StellaOps.Plugin.Host/Discovery/EmbeddedPluginDiscovery.cs(153 lines)src/Plugin/StellaOps.Plugin.Host/Lifecycle/PluginStateMachine.cs(150 lines)src/Plugin/StellaOps.Plugin.Host/Context/PluginContext.cs(130 lines)src/Plugin/StellaOps.Plugin.Host/Context/PluginServices.cs(120 lines)src/Plugin/StellaOps.Plugin.Host/PluginHostOptions.cs(118 lines)src/Plugin/StellaOps.Plugin.Host/Loading/PluginAssemblyLoadContext.cs(115 lines)src/Plugin/StellaOps.Plugin.Host/Context/PluginLogger.cs(112 lines)src/Plugin/StellaOps.Plugin.Host/Discovery/CompositePluginDiscovery.cs(103 lines)
- Service locator matches:
src/Plugin/StellaOps.Plugin.Host/Context/PluginServices.cs:36 public T? GetService() where T : classsrc/Plugin/StellaOps.Plugin.Host/Context/PluginServices.cs:39 return _serviceProvider.GetService();
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, Integration, Security, Offline
- Detected test projects: src/Plugin/__Tests/StellaOps.Plugin.Host.Tests/StellaOps.Plugin.Host.Tests.csproj [Unit]
- Missing layers: Integration, Security, Offline
Manual checks required
- Observability contract tests for WebService/Worker.
- Offline execution (tests must run without network access).
Fix Guidance
- Add integration tests for cross-component flows.
- Add security tests for authn/authz or input validation.
- Add offline/airgap coverage with fixtures only.