# Audit - StellaOps.Policy.Registry ## Project - Path: `src/Policy/StellaOps.Policy.Registry/StellaOps.Policy.Registry.csproj` - Module: `Policy` - 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: 34 - Service locator usage (BuildServiceProvider/GetService): 1 - Analyzer enforcement: missing repo-wide (see summary). ### Details - 100-line files: - `src/Policy/StellaOps.Policy.Registry/PolicyRegistryClient.cs` (634 lines) - `src/Policy/StellaOps.Policy.Registry/Distribution/PolicyPackOciPublisher.cs` (622 lines) - `src/Policy/StellaOps.Policy.Registry/Distribution/PolicyPackOfflineBundleService.cs` (514 lines) - `src/Policy/StellaOps.Policy.Registry/Services/PromotionService.cs` (477 lines) - `src/Policy/StellaOps.Policy.Registry/Services/PublishPipelineService.cs` (443 lines) - `src/Policy/StellaOps.Policy.Registry/Services/BatchSimulationOrchestrator.cs` (410 lines) - `src/Policy/StellaOps.Policy.Registry/Services/PolicySimulationService.cs` (401 lines) - `src/Policy/StellaOps.Policy.Registry/Services/ReviewWorkflowService.cs` (360 lines) - `src/Policy/StellaOps.Policy.Registry/Services/PolicyPackCompiler.cs` (299 lines) - `src/Policy/StellaOps.Policy.Registry/Contracts/PolicyPackContracts.cs` (287 lines) - `src/Policy/StellaOps.Policy.Registry/Services/IPublishPipelineService.cs` (286 lines) - `src/Policy/StellaOps.Policy.Registry/Testing/PolicyRegistryTestFixtures.cs` (277 lines) - `src/Policy/StellaOps.Policy.Registry/Services/IPromotionService.cs` (276 lines) - `src/Policy/StellaOps.Policy.Registry/Storage/InMemoryPolicyPackStore.cs` (266 lines) - `src/Policy/StellaOps.Policy.Registry/Telemetry/PolicyRegistryMetrics.cs` (261 lines) - `src/Policy/StellaOps.Policy.Registry/Services/IReviewWorkflowService.cs` (242 lines) - `src/Policy/StellaOps.Policy.Registry/Storage/Entities.cs` (232 lines) - `src/Policy/StellaOps.Policy.Registry/IPolicyRegistryClient.cs` (214 lines) - `src/Policy/StellaOps.Policy.Registry/Storage/IPolicyPackStore.cs` (212 lines) - `src/Policy/StellaOps.Policy.Registry/PolicyRegistryServiceCollectionExtensions.cs` (184 lines) - `src/Policy/StellaOps.Policy.Registry/Telemetry/PolicyRegistryActivitySource.cs` (180 lines) - `src/Policy/StellaOps.Policy.Registry/Services/IBatchSimulationOrchestrator.cs` (180 lines) - `src/Policy/StellaOps.Policy.Registry/Testing/PolicyRegistryTestHarness.cs` (148 lines) - `src/Policy/StellaOps.Policy.Registry/Contracts/VerificationPolicyContracts.cs` (145 lines) - `src/Policy/StellaOps.Policy.Registry/Storage/InMemoryViolationStore.cs` (145 lines) - `src/Policy/StellaOps.Policy.Registry/Telemetry/PolicyRegistryLogEvents.cs` (143 lines) - `src/Policy/StellaOps.Policy.Registry/Storage/InMemoryVerificationPolicyStore.cs` (127 lines) - `src/Policy/StellaOps.Policy.Registry/Distribution/IPolicyPackOciPublisher.cs` (126 lines) - `src/Policy/StellaOps.Policy.Registry/Contracts/SealedModeContracts.cs` (121 lines) - `src/Policy/StellaOps.Policy.Registry/Storage/InMemorySnapshotStore.cs` (121 lines) - `src/Policy/StellaOps.Policy.Registry/Services/IPolicyPackCompiler.cs` (115 lines) - `src/Policy/StellaOps.Policy.Registry/Storage/InMemoryOverrideStore.cs` (114 lines) - `src/Policy/StellaOps.Policy.Registry/Contracts/ViolationContracts.cs` (114 lines) - `src/Policy/StellaOps.Policy.Registry/Contracts/OverrideContracts.cs` (109 lines) - Service locator matches: - `src/Policy/StellaOps.Policy.Registry/Testing/PolicyRegistryTestHarness.cs`:37 _serviceProvider = 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 - Detected test projects: none - Missing layers: Unit ### Manual checks required - Observability contract tests for WebService/Worker. - Intent tagging required for regulatory modules. - Offline execution (tests must run without network access). ### Fix Guidance - Add a unit test project named `.Tests` (or document exception).