# 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 : class - `src/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.