139 lines
11 KiB
XML
139 lines
11 KiB
XML
# Audit - StellaOps.AirGap.Time
|
|
|
|
## Project
|
|
- Path: ../src/AirGap/StellaOps.AirGap.Time/StellaOps.AirGap.Time.csproj
|
|
- Module: ..
|
|
- Kind: Library
|
|
- Audit date (UTC): 2026-01-30
|
|
- Files scanned: 36
|
|
- Files with issues: 35
|
|
- File-level report: docs/implplan/audits/csproj-standards/file-audit.csv
|
|
|
|
## Coding Standards Findings
|
|
- Status: FAIL
|
|
- Nullable: enable
|
|
- TreatWarningsAsErrors: explicit true
|
|
- Deterministic: inherited true
|
|
- 100-line rule violations: 3
|
|
- Namespace violations: 35
|
|
- Using directive violations: 0
|
|
- Naming violations (interfaces/fields/const/async): 0
|
|
- Service locator usage (BuildServiceProvider/GetService): 0
|
|
- Assembly.LoadFrom usage: 0
|
|
|
|
### Details
|
|
- 100-line files:
|
|
- ../src/AirGap/StellaOps.AirGap.Time/Services/Rfc3161Verifier.cs (340 lines)
|
|
- ../src/AirGap/StellaOps.AirGap.Time/Services/RoughtimeVerifier.cs (431 lines)
|
|
- ../src/AirGap/StellaOps.AirGap.Time/Services/TimeAnchorPolicyService.cs (307 lines)
|
|
- Namespace issues:
|
|
- ../src/AirGap/StellaOps.AirGap.Time/Config/AirGapOptionsValidator.cs: missing namespace
|
|
- ../src/AirGap/StellaOps.AirGap.Time/Controllers/TimeStatusController.cs: missing namespace
|
|
- ../src/AirGap/StellaOps.AirGap.Time/Health/TimeAnchorHealthCheck.cs: missing namespace
|
|
- ../src/AirGap/StellaOps.AirGap.Time/Hooks/StartupValidationExtensions.cs: missing namespace
|
|
- ../src/AirGap/StellaOps.AirGap.Time/Models/AirGapOptions.cs: missing namespace
|
|
- ../src/AirGap/StellaOps.AirGap.Time/Models/SetAnchorRequest.cs: missing namespace
|
|
- ../src/AirGap/StellaOps.AirGap.Time/Models/StalenessBudget.cs: missing namespace
|
|
- ../src/AirGap/StellaOps.AirGap.Time/Models/StalenessEvaluation.cs: missing namespace
|
|
- ../src/AirGap/StellaOps.AirGap.Time/Models/TimeAnchor.cs: missing namespace
|
|
- ../src/AirGap/StellaOps.AirGap.Time/Models/TimeStatus.cs: missing namespace
|
|
- ../src/AirGap/StellaOps.AirGap.Time/Models/TimeStatusDto.cs: missing namespace
|
|
- ../src/AirGap/StellaOps.AirGap.Time/Models/TimeTrustRoot.cs: missing namespace
|
|
- ../src/AirGap/StellaOps.AirGap.Time/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs: missing namespace
|
|
- ../src/AirGap/StellaOps.AirGap.Time/obj/Debug/net10.0/StellaOps.AirGap.Time.AssemblyInfo.cs: missing namespace
|
|
- ../src/AirGap/StellaOps.AirGap.Time/obj/Debug/net10.0/StellaOps.AirGap.Time.GlobalUsings.g.cs: missing namespace
|
|
- ../src/AirGap/StellaOps.AirGap.Time/obj/Release/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs: missing namespace
|
|
- ../src/AirGap/StellaOps.AirGap.Time/obj/Release/net10.0/StellaOps.AirGap.Time.AssemblyInfo.cs: missing namespace
|
|
- ../src/AirGap/StellaOps.AirGap.Time/obj/Release/net10.0/StellaOps.AirGap.Time.GlobalUsings.g.cs: missing namespace
|
|
- ../src/AirGap/StellaOps.AirGap.Time/Parsing/TimeAnchorValidationResult.cs: missing namespace
|
|
- ../src/AirGap/StellaOps.AirGap.Time/Parsing/TimeTokenFormat.cs: missing namespace
|
|
- ../src/AirGap/StellaOps.AirGap.Time/Parsing/TimeTokenParser.cs: missing namespace
|
|
- ../src/AirGap/StellaOps.AirGap.Time/Services/ITimeTokenVerifier.cs: missing namespace
|
|
- ../src/AirGap/StellaOps.AirGap.Time/Services/Rfc3161Verifier.cs: missing namespace
|
|
- ../src/AirGap/StellaOps.AirGap.Time/Services/RoughtimeVerifier.cs: missing namespace
|
|
- ../src/AirGap/StellaOps.AirGap.Time/Services/SealedStartupValidator.cs: missing namespace
|
|
- ../src/AirGap/StellaOps.AirGap.Time/Services/StalenessCalculator.cs: missing namespace
|
|
- ../src/AirGap/StellaOps.AirGap.Time/Services/TimeAnchorLoader.cs: missing namespace
|
|
- ../src/AirGap/StellaOps.AirGap.Time/Services/TimeAnchorPolicyService.cs: missing namespace
|
|
- ../src/AirGap/StellaOps.AirGap.Time/Services/TimeStatusService.cs: missing namespace
|
|
- ../src/AirGap/StellaOps.AirGap.Time/Services/TimeTelemetry.cs: missing namespace
|
|
- ../src/AirGap/StellaOps.AirGap.Time/Services/TimeTokenVerificationOptions.cs: missing namespace
|
|
- ../src/AirGap/StellaOps.AirGap.Time/Services/TimeVerificationService.cs: missing namespace
|
|
- ../src/AirGap/StellaOps.AirGap.Time/Services/TrustRootProvider.cs: missing namespace
|
|
- ../src/AirGap/StellaOps.AirGap.Time/Stores/InMemoryTimeAnchorStore.cs: missing namespace
|
|
- ../src/AirGap/StellaOps.AirGap.Time/Stores/ITimeAnchorStore.cs: missing namespace
|
|
- Using directive issues:
|
|
- none
|
|
- Naming issues:
|
|
- none
|
|
- Async issues:
|
|
- none
|
|
- Service locator matches:
|
|
- none
|
|
- Assembly.LoadFrom matches:
|
|
- none
|
|
|
|
### Fix Guidance
|
|
- Normalize namespaces to file-scoped StellaOps.<Area>.
|
|
- Split files over 100 lines into smaller types or partials.
|
|
|
|
## File-Level Findings
|
|
- Status: FAIL
|
|
- Files scanned: 36
|
|
- Files with issues: 35
|
|
- See docs/implplan/audits/csproj-standards/file-audit.csv for full per-file status.
|
|
|
|
| File | Issues | Fix guidance |
|
|
| --- | --- | --- |
|
|
| ../src/AirGap/StellaOps.AirGap.Time/Config/AirGapOptionsValidator.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
|
|
| ../src/AirGap/StellaOps.AirGap.Time/Controllers/TimeStatusController.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
|
|
| ../src/AirGap/StellaOps.AirGap.Time/Health/TimeAnchorHealthCheck.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
|
|
| ../src/AirGap/StellaOps.AirGap.Time/Hooks/StartupValidationExtensions.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
|
|
| ../src/AirGap/StellaOps.AirGap.Time/Models/AirGapOptions.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
|
|
| ../src/AirGap/StellaOps.AirGap.Time/Models/SetAnchorRequest.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
|
|
| ../src/AirGap/StellaOps.AirGap.Time/Models/StalenessBudget.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
|
|
| ../src/AirGap/StellaOps.AirGap.Time/Models/StalenessEvaluation.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
|
|
| ../src/AirGap/StellaOps.AirGap.Time/Models/TimeAnchor.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
|
|
| ../src/AirGap/StellaOps.AirGap.Time/Models/TimeStatus.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
|
|
| ../src/AirGap/StellaOps.AirGap.Time/Models/TimeStatusDto.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
|
|
| ../src/AirGap/StellaOps.AirGap.Time/Models/TimeTrustRoot.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
|
|
| ../src/AirGap/StellaOps.AirGap.Time/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
|
|
| ../src/AirGap/StellaOps.AirGap.Time/obj/Debug/net10.0/StellaOps.AirGap.Time.AssemblyInfo.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
|
|
| ../src/AirGap/StellaOps.AirGap.Time/obj/Debug/net10.0/StellaOps.AirGap.Time.GlobalUsings.g.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
|
|
| ../src/AirGap/StellaOps.AirGap.Time/obj/Release/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
|
|
| ../src/AirGap/StellaOps.AirGap.Time/obj/Release/net10.0/StellaOps.AirGap.Time.AssemblyInfo.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
|
|
| ../src/AirGap/StellaOps.AirGap.Time/obj/Release/net10.0/StellaOps.AirGap.Time.GlobalUsings.g.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
|
|
| ../src/AirGap/StellaOps.AirGap.Time/Parsing/TimeAnchorValidationResult.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
|
|
| ../src/AirGap/StellaOps.AirGap.Time/Parsing/TimeTokenFormat.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
|
|
| ../src/AirGap/StellaOps.AirGap.Time/Parsing/TimeTokenParser.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
|
|
| ../src/AirGap/StellaOps.AirGap.Time/Services/ITimeTokenVerifier.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
|
|
| ../src/AirGap/StellaOps.AirGap.Time/Services/Rfc3161Verifier.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
|
|
| ../src/AirGap/StellaOps.AirGap.Time/Services/RoughtimeVerifier.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
|
|
| ../src/AirGap/StellaOps.AirGap.Time/Services/SealedStartupValidator.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
|
|
| ../src/AirGap/StellaOps.AirGap.Time/Services/StalenessCalculator.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
|
|
| ../src/AirGap/StellaOps.AirGap.Time/Services/TimeAnchorLoader.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
|
|
| ../src/AirGap/StellaOps.AirGap.Time/Services/TimeAnchorPolicyService.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
|
|
| ../src/AirGap/StellaOps.AirGap.Time/Services/TimeStatusService.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
|
|
| ../src/AirGap/StellaOps.AirGap.Time/Services/TimeTelemetry.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
|
|
| ../src/AirGap/StellaOps.AirGap.Time/Services/TimeTokenVerificationOptions.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
|
|
| ../src/AirGap/StellaOps.AirGap.Time/Services/TimeVerificationService.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
|
|
| ../src/AirGap/StellaOps.AirGap.Time/Services/TrustRootProvider.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
|
|
| ../src/AirGap/StellaOps.AirGap.Time/Stores/InMemoryTimeAnchorStore.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
|
|
| ../src/AirGap/StellaOps.AirGap.Time/Stores/ITimeAnchorStore.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
|
|
|
|
## Testing Fullness Findings
|
|
- Status: FAIL
|
|
- Expected layers (heuristic): Unit
|
|
- Detected test projects: ../src/AirGap/__Libraries/__Tests/StellaOps.AirGap.Bundle.Tests/StellaOps.AirGap.Bundle.Tests.csproj [Offline]; ../src/AirGap/__Tests/StellaOps.AirGap.Time.Tests/StellaOps.AirGap.Time.Tests.csproj [Offline]
|
|
- Missing layers: Unit
|
|
|
|
### Manual checks required
|
|
- Observability contract tests for WebService/Worker.
|
|
- Intent tags for regulatory modules (Policy, Authority, Signer, Attestor, EvidenceLocker).
|
|
- Offline execution (tests must run without network access).
|
|
- Coverage matrix alignment (docs/technical/testing/TEST_COVERAGE_MATRIX.md).
|
|
|
|
### Fix Guidance
|
|
- Add or expand test projects to cover missing layers.
|
|
- Ensure tests use deterministic fixtures and offline harnesses.
|