# Audit - StellaOps.AirGap.Time ## Project - Path: `src/AirGap/StellaOps.AirGap.Time/StellaOps.AirGap.Time.csproj` - Module: `AirGap` - Kind: `WebService` - SDK: `Microsoft.NET.Sdk.Web` - 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: 3 - Service locator usage (BuildServiceProvider/GetService): 2 - Analyzer enforcement: missing repo-wide (see summary). ### Details - 100-line files: - `src/AirGap/StellaOps.AirGap.Time/Services/RoughtimeVerifier.cs` (430 lines) - `src/AirGap/StellaOps.AirGap.Time/Services/Rfc3161Verifier.cs` (339 lines) - `src/AirGap/StellaOps.AirGap.Time/Services/TimeAnchorPolicyService.cs` (306 lines) - Service locator matches: - `src/AirGap/StellaOps.AirGap.Time/Hooks/StartupValidationExtensions.cs`:17 var validator = scope.ServiceProvider.GetRequiredService(); - `src/AirGap/StellaOps.AirGap.Time/Hooks/StartupValidationExtensions.cs`:18 var logger = scope.ServiceProvider.GetRequiredService().CreateLogger("AirGap.Time.Startup"); ### 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/AirGap/__Tests/StellaOps.AirGap.Time.Tests/StellaOps.AirGap.Time.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.