archive audit attempts

This commit is contained in:
master
2026-02-19 22:00:31 +02:00
parent c2f13fe588
commit b5829dce5c
19638 changed files with 6366 additions and 7 deletions

View File

@@ -0,0 +1,119 @@
# Audit - StellaOps.AirGap.Controller
## Project
- Path: ../src/AirGap/StellaOps.AirGap.Controller/StellaOps.AirGap.Controller.csproj
- Module: ..
- Kind: Library
- Audit date (UTC): 2026-01-30
- Files scanned: 26
- Files with issues: 24
- 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: 6
- Namespace violations: 24
- 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.Controller/Auth/HeaderScopeAuthenticationHandler.cs (106 lines)
- ../src/AirGap/StellaOps.AirGap.Controller/Endpoints/AirGapEndpoints.cs (268 lines)
- ../src/AirGap/StellaOps.AirGap.Controller/Endpoints/RequestValidation.cs (108 lines)
- ../src/AirGap/StellaOps.AirGap.Controller/Services/AirGapStartupDiagnosticsHostedService.cs (175 lines)
- ../src/AirGap/StellaOps.AirGap.Controller/Services/AirGapStateService.cs (119 lines)
- ../src/AirGap/StellaOps.AirGap.Controller/Services/AirGapTelemetry.cs (178 lines)
- Namespace issues:
- ../src/AirGap/StellaOps.AirGap.Controller/Auth/HeaderScopeAuthenticationHandler.cs: missing namespace
- ../src/AirGap/StellaOps.AirGap.Controller/DependencyInjection/AirGapControllerServiceCollectionExtensions.cs: missing namespace
- ../src/AirGap/StellaOps.AirGap.Controller/Domain/AirGapState.cs: missing namespace
- ../src/AirGap/StellaOps.AirGap.Controller/Endpoints/AirGapEndpoints.cs: missing namespace
- ../src/AirGap/StellaOps.AirGap.Controller/Endpoints/RequestValidation.cs: missing namespace
- ../src/AirGap/StellaOps.AirGap.Controller/Endpoints/Contracts/AirGapStatusResponse.cs: missing namespace
- ../src/AirGap/StellaOps.AirGap.Controller/Endpoints/Contracts/SealRequest.cs: missing namespace
- ../src/AirGap/StellaOps.AirGap.Controller/Endpoints/Contracts/VerifyRequest.cs: missing namespace
- ../src/AirGap/StellaOps.AirGap.Controller/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs: missing namespace
- ../src/AirGap/StellaOps.AirGap.Controller/obj/Debug/net10.0/StellaOps.AirGap.Controller.AssemblyInfo.cs: missing namespace
- ../src/AirGap/StellaOps.AirGap.Controller/obj/Debug/net10.0/StellaOps.AirGap.Controller.GlobalUsings.g.cs: missing namespace
- ../src/AirGap/StellaOps.AirGap.Controller/obj/Debug/net10.0/StellaOps.AirGap.Controller.MvcApplicationPartsAssemblyInfo.cs: missing namespace
- ../src/AirGap/StellaOps.AirGap.Controller/obj/Release/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs: missing namespace
- ../src/AirGap/StellaOps.AirGap.Controller/obj/Release/net10.0/StellaOps.AirGap.Controller.AssemblyInfo.cs: missing namespace
- ../src/AirGap/StellaOps.AirGap.Controller/obj/Release/net10.0/StellaOps.AirGap.Controller.GlobalUsings.g.cs: missing namespace
- ../src/AirGap/StellaOps.AirGap.Controller/obj/Release/net10.0/StellaOps.AirGap.Controller.MvcApplicationPartsAssemblyInfo.cs: missing namespace
- ../src/AirGap/StellaOps.AirGap.Controller/Options/AirGapStartupOptions.cs: missing namespace
- ../src/AirGap/StellaOps.AirGap.Controller/Options/AirGapTelemetryOptions.cs: missing namespace
- ../src/AirGap/StellaOps.AirGap.Controller/Services/AirGapStartupDiagnosticsHostedService.cs: missing namespace
- ../src/AirGap/StellaOps.AirGap.Controller/Services/AirGapStateService.cs: missing namespace
- ../src/AirGap/StellaOps.AirGap.Controller/Services/AirGapTelemetry.cs: missing namespace
- ../src/AirGap/StellaOps.AirGap.Controller/Services/ReplayVerificationService.cs: missing namespace
- ../src/AirGap/StellaOps.AirGap.Controller/Stores/IAirGapStateStore.cs: missing namespace
- ../src/AirGap/StellaOps.AirGap.Controller/Stores/InMemoryAirGapStateStore.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: 26
- Files with issues: 24
- See docs/implplan/audits/csproj-standards/file-audit.csv for full per-file status.
| File | Issues | Fix guidance |
| --- | --- | --- |
| ../src/AirGap/StellaOps.AirGap.Controller/Auth/HeaderScopeAuthenticationHandler.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| ../src/AirGap/StellaOps.AirGap.Controller/DependencyInjection/AirGapControllerServiceCollectionExtensions.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| ../src/AirGap/StellaOps.AirGap.Controller/Domain/AirGapState.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| ../src/AirGap/StellaOps.AirGap.Controller/Endpoints/AirGapEndpoints.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| ../src/AirGap/StellaOps.AirGap.Controller/Endpoints/RequestValidation.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| ../src/AirGap/StellaOps.AirGap.Controller/Endpoints/Contracts/AirGapStatusResponse.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| ../src/AirGap/StellaOps.AirGap.Controller/Endpoints/Contracts/SealRequest.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| ../src/AirGap/StellaOps.AirGap.Controller/Endpoints/Contracts/VerifyRequest.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| ../src/AirGap/StellaOps.AirGap.Controller/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| ../src/AirGap/StellaOps.AirGap.Controller/obj/Debug/net10.0/StellaOps.AirGap.Controller.AssemblyInfo.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| ../src/AirGap/StellaOps.AirGap.Controller/obj/Debug/net10.0/StellaOps.AirGap.Controller.GlobalUsings.g.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| ../src/AirGap/StellaOps.AirGap.Controller/obj/Debug/net10.0/StellaOps.AirGap.Controller.MvcApplicationPartsAssemblyInfo.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| ../src/AirGap/StellaOps.AirGap.Controller/obj/Release/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| ../src/AirGap/StellaOps.AirGap.Controller/obj/Release/net10.0/StellaOps.AirGap.Controller.AssemblyInfo.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| ../src/AirGap/StellaOps.AirGap.Controller/obj/Release/net10.0/StellaOps.AirGap.Controller.GlobalUsings.g.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| ../src/AirGap/StellaOps.AirGap.Controller/obj/Release/net10.0/StellaOps.AirGap.Controller.MvcApplicationPartsAssemblyInfo.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| ../src/AirGap/StellaOps.AirGap.Controller/Options/AirGapStartupOptions.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| ../src/AirGap/StellaOps.AirGap.Controller/Options/AirGapTelemetryOptions.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| ../src/AirGap/StellaOps.AirGap.Controller/Services/AirGapStartupDiagnosticsHostedService.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| ../src/AirGap/StellaOps.AirGap.Controller/Services/AirGapStateService.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| ../src/AirGap/StellaOps.AirGap.Controller/Services/AirGapTelemetry.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| ../src/AirGap/StellaOps.AirGap.Controller/Services/ReplayVerificationService.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| ../src/AirGap/StellaOps.AirGap.Controller/Stores/IAirGapStateStore.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| ../src/AirGap/StellaOps.AirGap.Controller/Stores/InMemoryAirGapStateStore.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
## Testing Fullness Findings
- Status: FAIL
- Expected layers (heuristic): Unit
- Detected test projects: ../src/AirGap/__Tests/StellaOps.AirGap.Controller.Tests/StellaOps.AirGap.Controller.Tests.csproj [Offline]; ../src/AirGap/__Tests/StellaOps.AirGap.Persistence.Tests/StellaOps.AirGap.Persistence.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.

View File

@@ -0,0 +1,206 @@
# Audit - StellaOps.AirGap.Importer
## Project
- Path: ../src/AirGap/StellaOps.AirGap.Importer/StellaOps.AirGap.Importer.csproj
- Module: ..
- Kind: Library
- Audit date (UTC): 2026-01-30
- Files scanned: 58
- Files with issues: 58
- 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: 25
- Namespace violations: 58
- 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.Importer/Policy/OfflineVerificationPolicy.cs (214 lines)
- ../src/AirGap/StellaOps.AirGap.Importer/Policy/OfflineVerificationPolicyLoader.cs (133 lines)
- ../src/AirGap/StellaOps.AirGap.Importer/Quarantine/FileSystemQuarantineService.cs (396 lines)
- ../src/AirGap/StellaOps.AirGap.Importer/Reconciliation/ArtifactIndex.cs (144 lines)
- ../src/AirGap/StellaOps.AirGap.Importer/Reconciliation/EvidenceGraph.cs (334 lines)
- ../src/AirGap/StellaOps.AirGap.Importer/Reconciliation/EvidenceReconciler.cs (395 lines)
- ../src/AirGap/StellaOps.AirGap.Importer/Reconciliation/JsonNormalizer.cs (282 lines)
- ../src/AirGap/StellaOps.AirGap.Importer/Reconciliation/SourcePrecedenceLattice.cs (265 lines)
- ../src/AirGap/StellaOps.AirGap.Importer/Reconciliation/Parsers/AttestationCollector.cs (439 lines)
- ../src/AirGap/StellaOps.AirGap.Importer/Reconciliation/Parsers/CycloneDxParser.cs (343 lines)
- ../src/AirGap/StellaOps.AirGap.Importer/Reconciliation/Parsers/DsseAttestationParser.cs (301 lines)
- ../src/AirGap/StellaOps.AirGap.Importer/Reconciliation/Parsers/IAttestationParser.cs (205 lines)
- ../src/AirGap/StellaOps.AirGap.Importer/Reconciliation/Parsers/ISbomParser.cs (189 lines)
- ../src/AirGap/StellaOps.AirGap.Importer/Reconciliation/Parsers/OpenVexParser.cs (183 lines)
- ../src/AirGap/StellaOps.AirGap.Importer/Reconciliation/Parsers/SbomCollector.cs (174 lines)
- ../src/AirGap/StellaOps.AirGap.Importer/Reconciliation/Parsers/SbomNormalizer.cs (513 lines)
- ../src/AirGap/StellaOps.AirGap.Importer/Reconciliation/Parsers/SpdxParser.cs (316 lines)
- ../src/AirGap/StellaOps.AirGap.Importer/Reconciliation/Signing/EvidenceGraphDsseSigner.cs (183 lines)
- ../src/AirGap/StellaOps.AirGap.Importer/Telemetry/OfflineKitMetrics.cs (143 lines)
- ../src/AirGap/StellaOps.AirGap.Importer/Validation/DsseVerifier.cs (212 lines)
- ../src/AirGap/StellaOps.AirGap.Importer/Validation/ImportValidator.cs (449 lines)
- ../src/AirGap/StellaOps.AirGap.Importer/Validation/ReferrerValidator.cs (481 lines)
- ../src/AirGap/StellaOps.AirGap.Importer/Validation/RekorOfflineReceiptVerifier.cs (656 lines)
- ../src/AirGap/StellaOps.AirGap.Importer/Validation/RuleBundleValidator.cs (433 lines)
- ../src/AirGap/StellaOps.AirGap.Importer/Versioning/BundleVersion.cs (145 lines)
- Namespace issues:
- ../src/AirGap/StellaOps.AirGap.Importer/Contracts/ReplayDepth.cs: missing namespace
- ../src/AirGap/StellaOps.AirGap.Importer/Contracts/ReplayVerificationRequest.cs: missing namespace
- ../src/AirGap/StellaOps.AirGap.Importer/Contracts/TrustRootConfig.cs: missing namespace
- ../src/AirGap/StellaOps.AirGap.Importer/Models/BundleCatalogEntry.cs: missing namespace
- ../src/AirGap/StellaOps.AirGap.Importer/Models/BundleItem.cs: missing namespace
- ../src/AirGap/StellaOps.AirGap.Importer/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs: missing namespace
- ../src/AirGap/StellaOps.AirGap.Importer/obj/Debug/net10.0/StellaOps.AirGap.Importer.AssemblyInfo.cs: missing namespace
- ../src/AirGap/StellaOps.AirGap.Importer/obj/Debug/net10.0/StellaOps.AirGap.Importer.GlobalUsings.g.cs: missing namespace
- ../src/AirGap/StellaOps.AirGap.Importer/obj/Release/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs: missing namespace
- ../src/AirGap/StellaOps.AirGap.Importer/obj/Release/net10.0/StellaOps.AirGap.Importer.AssemblyInfo.cs: missing namespace
- ../src/AirGap/StellaOps.AirGap.Importer/obj/Release/net10.0/StellaOps.AirGap.Importer.GlobalUsings.g.cs: missing namespace
- ../src/AirGap/StellaOps.AirGap.Importer/Planning/BundleImportPlan.cs: missing namespace
- ../src/AirGap/StellaOps.AirGap.Importer/Planning/BundleImportPlanner.cs: missing namespace
- ../src/AirGap/StellaOps.AirGap.Importer/Policy/OfflineVerificationPolicy.cs: missing namespace
- ../src/AirGap/StellaOps.AirGap.Importer/Policy/OfflineVerificationPolicyLoader.cs: missing namespace
- ../src/AirGap/StellaOps.AirGap.Importer/Quarantine/FileSystemQuarantineService.cs: missing namespace
- ../src/AirGap/StellaOps.AirGap.Importer/Quarantine/IQuarantineService.cs: missing namespace
- ../src/AirGap/StellaOps.AirGap.Importer/Quarantine/QuarantineOptions.cs: missing namespace
- ../src/AirGap/StellaOps.AirGap.Importer/Reconciliation/ArtifactIndex.cs: missing namespace
- ../src/AirGap/StellaOps.AirGap.Importer/Reconciliation/EvidenceDirectoryDiscovery.cs: missing namespace
- ../src/AirGap/StellaOps.AirGap.Importer/Reconciliation/EvidenceGraph.cs: missing namespace
- ../src/AirGap/StellaOps.AirGap.Importer/Reconciliation/EvidenceReconciler.cs: missing namespace
- ../src/AirGap/StellaOps.AirGap.Importer/Reconciliation/JsonNormalizer.cs: missing namespace
- ../src/AirGap/StellaOps.AirGap.Importer/Reconciliation/SourcePrecedenceLattice.cs: missing namespace
- ../src/AirGap/StellaOps.AirGap.Importer/Reconciliation/Parsers/AttestationCollector.cs: missing namespace
- ../src/AirGap/StellaOps.AirGap.Importer/Reconciliation/Parsers/CycloneDxParser.cs: missing namespace
- ../src/AirGap/StellaOps.AirGap.Importer/Reconciliation/Parsers/DsseAttestationParser.cs: missing namespace
- ../src/AirGap/StellaOps.AirGap.Importer/Reconciliation/Parsers/IAttestationParser.cs: missing namespace
- ../src/AirGap/StellaOps.AirGap.Importer/Reconciliation/Parsers/ISbomParser.cs: missing namespace
- ../src/AirGap/StellaOps.AirGap.Importer/Reconciliation/Parsers/OpenVexParser.cs: missing namespace
- ../src/AirGap/StellaOps.AirGap.Importer/Reconciliation/Parsers/SbomCollector.cs: missing namespace
- ../src/AirGap/StellaOps.AirGap.Importer/Reconciliation/Parsers/SbomNormalizer.cs: missing namespace
- ../src/AirGap/StellaOps.AirGap.Importer/Reconciliation/Parsers/SbomParserFactory.cs: missing namespace
- ../src/AirGap/StellaOps.AirGap.Importer/Reconciliation/Parsers/SpdxParser.cs: missing namespace
- ../src/AirGap/StellaOps.AirGap.Importer/Reconciliation/Signing/EvidenceGraphDsseSigner.cs: missing namespace
- ../src/AirGap/StellaOps.AirGap.Importer/Repositories/IBundleCatalogRepository.cs: missing namespace
- ../src/AirGap/StellaOps.AirGap.Importer/Repositories/IBundleItemRepository.cs: missing namespace
- ../src/AirGap/StellaOps.AirGap.Importer/Repositories/InMemoryBundleRepositories.cs: missing namespace
- ../src/AirGap/StellaOps.AirGap.Importer/Telemetry/OfflineKitLogFields.cs: missing namespace
- ../src/AirGap/StellaOps.AirGap.Importer/Telemetry/OfflineKitLogScopes.cs: missing namespace
- ../src/AirGap/StellaOps.AirGap.Importer/Telemetry/OfflineKitMetrics.cs: missing namespace
- ../src/AirGap/StellaOps.AirGap.Importer/Validation/BundleValidationResult.cs: missing namespace
- ../src/AirGap/StellaOps.AirGap.Importer/Validation/DsseEnvelope.cs: missing namespace
- ../src/AirGap/StellaOps.AirGap.Importer/Validation/DssePreAuthenticationEncoding.cs: missing namespace
- ../src/AirGap/StellaOps.AirGap.Importer/Validation/DsseVerifier.cs: missing namespace
- ../src/AirGap/StellaOps.AirGap.Importer/Validation/ImportValidator.cs: missing namespace
- ../src/AirGap/StellaOps.AirGap.Importer/Validation/MerkleRootCalculator.cs: missing namespace
- ../src/AirGap/StellaOps.AirGap.Importer/Validation/ReferrerValidator.cs: missing namespace
- ../src/AirGap/StellaOps.AirGap.Importer/Validation/RekorOfflineReceiptVerifier.cs: missing namespace
- ../src/AirGap/StellaOps.AirGap.Importer/Validation/ReplayVerifier.cs: missing namespace
- ../src/AirGap/StellaOps.AirGap.Importer/Validation/RootRotationPolicy.cs: missing namespace
- ../src/AirGap/StellaOps.AirGap.Importer/Validation/RuleBundleValidator.cs: missing namespace
- ../src/AirGap/StellaOps.AirGap.Importer/Validation/TrustStore.cs: missing namespace
- ../src/AirGap/StellaOps.AirGap.Importer/Validation/TufMetadataValidator.cs: missing namespace
- ../src/AirGap/StellaOps.AirGap.Importer/Versioning/BundleVersion.cs: missing namespace
- ../src/AirGap/StellaOps.AirGap.Importer/Versioning/IBundleVersionStore.cs: missing namespace
- ../src/AirGap/StellaOps.AirGap.Importer/Versioning/IVersionMonotonicityChecker.cs: missing namespace
- ../src/AirGap/StellaOps.AirGap.Importer/Versioning/VersionMonotonicityChecker.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: 58
- Files with issues: 58
- See docs/implplan/audits/csproj-standards/file-audit.csv for full per-file status.
| File | Issues | Fix guidance |
| --- | --- | --- |
| ../src/AirGap/StellaOps.AirGap.Importer/Contracts/ReplayDepth.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| ../src/AirGap/StellaOps.AirGap.Importer/Contracts/ReplayVerificationRequest.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| ../src/AirGap/StellaOps.AirGap.Importer/Contracts/TrustRootConfig.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| ../src/AirGap/StellaOps.AirGap.Importer/Models/BundleCatalogEntry.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| ../src/AirGap/StellaOps.AirGap.Importer/Models/BundleItem.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| ../src/AirGap/StellaOps.AirGap.Importer/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| ../src/AirGap/StellaOps.AirGap.Importer/obj/Debug/net10.0/StellaOps.AirGap.Importer.AssemblyInfo.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| ../src/AirGap/StellaOps.AirGap.Importer/obj/Debug/net10.0/StellaOps.AirGap.Importer.GlobalUsings.g.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| ../src/AirGap/StellaOps.AirGap.Importer/obj/Release/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| ../src/AirGap/StellaOps.AirGap.Importer/obj/Release/net10.0/StellaOps.AirGap.Importer.AssemblyInfo.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| ../src/AirGap/StellaOps.AirGap.Importer/obj/Release/net10.0/StellaOps.AirGap.Importer.GlobalUsings.g.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| ../src/AirGap/StellaOps.AirGap.Importer/Planning/BundleImportPlan.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| ../src/AirGap/StellaOps.AirGap.Importer/Planning/BundleImportPlanner.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| ../src/AirGap/StellaOps.AirGap.Importer/Policy/OfflineVerificationPolicy.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| ../src/AirGap/StellaOps.AirGap.Importer/Policy/OfflineVerificationPolicyLoader.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| ../src/AirGap/StellaOps.AirGap.Importer/Quarantine/FileSystemQuarantineService.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| ../src/AirGap/StellaOps.AirGap.Importer/Quarantine/IQuarantineService.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| ../src/AirGap/StellaOps.AirGap.Importer/Quarantine/QuarantineOptions.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| ../src/AirGap/StellaOps.AirGap.Importer/Reconciliation/ArtifactIndex.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| ../src/AirGap/StellaOps.AirGap.Importer/Reconciliation/EvidenceDirectoryDiscovery.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| ../src/AirGap/StellaOps.AirGap.Importer/Reconciliation/EvidenceGraph.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| ../src/AirGap/StellaOps.AirGap.Importer/Reconciliation/EvidenceReconciler.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| ../src/AirGap/StellaOps.AirGap.Importer/Reconciliation/JsonNormalizer.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| ../src/AirGap/StellaOps.AirGap.Importer/Reconciliation/SourcePrecedenceLattice.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| ../src/AirGap/StellaOps.AirGap.Importer/Reconciliation/Parsers/AttestationCollector.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| ../src/AirGap/StellaOps.AirGap.Importer/Reconciliation/Parsers/CycloneDxParser.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| ../src/AirGap/StellaOps.AirGap.Importer/Reconciliation/Parsers/DsseAttestationParser.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| ../src/AirGap/StellaOps.AirGap.Importer/Reconciliation/Parsers/IAttestationParser.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| ../src/AirGap/StellaOps.AirGap.Importer/Reconciliation/Parsers/ISbomParser.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| ../src/AirGap/StellaOps.AirGap.Importer/Reconciliation/Parsers/OpenVexParser.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| ../src/AirGap/StellaOps.AirGap.Importer/Reconciliation/Parsers/SbomCollector.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| ../src/AirGap/StellaOps.AirGap.Importer/Reconciliation/Parsers/SbomNormalizer.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| ../src/AirGap/StellaOps.AirGap.Importer/Reconciliation/Parsers/SbomParserFactory.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| ../src/AirGap/StellaOps.AirGap.Importer/Reconciliation/Parsers/SpdxParser.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| ../src/AirGap/StellaOps.AirGap.Importer/Reconciliation/Signing/EvidenceGraphDsseSigner.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| ../src/AirGap/StellaOps.AirGap.Importer/Repositories/IBundleCatalogRepository.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| ../src/AirGap/StellaOps.AirGap.Importer/Repositories/IBundleItemRepository.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| ../src/AirGap/StellaOps.AirGap.Importer/Repositories/InMemoryBundleRepositories.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| ../src/AirGap/StellaOps.AirGap.Importer/Telemetry/OfflineKitLogFields.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| ../src/AirGap/StellaOps.AirGap.Importer/Telemetry/OfflineKitLogScopes.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| ../src/AirGap/StellaOps.AirGap.Importer/Telemetry/OfflineKitMetrics.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| ../src/AirGap/StellaOps.AirGap.Importer/Validation/BundleValidationResult.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| ../src/AirGap/StellaOps.AirGap.Importer/Validation/DsseEnvelope.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| ../src/AirGap/StellaOps.AirGap.Importer/Validation/DssePreAuthenticationEncoding.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| ../src/AirGap/StellaOps.AirGap.Importer/Validation/DsseVerifier.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| ../src/AirGap/StellaOps.AirGap.Importer/Validation/ImportValidator.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| ../src/AirGap/StellaOps.AirGap.Importer/Validation/MerkleRootCalculator.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| ../src/AirGap/StellaOps.AirGap.Importer/Validation/ReferrerValidator.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| ../src/AirGap/StellaOps.AirGap.Importer/Validation/RekorOfflineReceiptVerifier.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| ../src/AirGap/StellaOps.AirGap.Importer/Validation/ReplayVerifier.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| ../src/AirGap/StellaOps.AirGap.Importer/Validation/RootRotationPolicy.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| ../src/AirGap/StellaOps.AirGap.Importer/Validation/RuleBundleValidator.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| ../src/AirGap/StellaOps.AirGap.Importer/Validation/TrustStore.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| ../src/AirGap/StellaOps.AirGap.Importer/Validation/TufMetadataValidator.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| ../src/AirGap/StellaOps.AirGap.Importer/Versioning/BundleVersion.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| ../src/AirGap/StellaOps.AirGap.Importer/Versioning/IBundleVersionStore.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| ../src/AirGap/StellaOps.AirGap.Importer/Versioning/IVersionMonotonicityChecker.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| ../src/AirGap/StellaOps.AirGap.Importer/Versioning/VersionMonotonicityChecker.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
## Testing Fullness Findings
- Status: FAIL
- Expected layers (heuristic): Unit
- Detected test projects: ../src/AirGap/__Tests/StellaOps.AirGap.Importer.Tests/StellaOps.AirGap.Importer.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.

View File

@@ -0,0 +1,84 @@
# Audit - StellaOps.AirGap.Policy.Analyzers.Tests
## Project
- Path: ../src/AirGap/StellaOps.AirGap.Policy/StellaOps.AirGap.Policy.Analyzers.Tests/StellaOps.AirGap.Policy.Analyzers.Tests.csproj
- Module: ..
- Kind: Library
- Audit date (UTC): 2026-01-30
- Files scanned: 8
- Files with issues: 8
- File-level report: docs/implplan/audits/csproj-standards/file-audit.csv
## Coding Standards Findings
- Status: FAIL
- Nullable: enable
- TreatWarningsAsErrors: inherited false
- Deterministic: inherited true
- 100-line rule violations: 2
- Namespace violations: 8
- 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.Policy/StellaOps.AirGap.Policy.Analyzers.Tests/HttpClientUsageAnalyzerTests.cs (132 lines)
- ../src/AirGap/StellaOps.AirGap.Policy/StellaOps.AirGap.Policy.Analyzers.Tests/PolicyAnalyzerRoslynTests.cs (357 lines)
- Namespace issues:
- ../src/AirGap/StellaOps.AirGap.Policy/StellaOps.AirGap.Policy.Analyzers.Tests/HttpClientUsageAnalyzerTests.cs: missing namespace
- ../src/AirGap/StellaOps.AirGap.Policy/StellaOps.AirGap.Policy.Analyzers.Tests/PolicyAnalyzerRoslynTests.cs: missing namespace
- ../src/AirGap/StellaOps.AirGap.Policy/StellaOps.AirGap.Policy.Analyzers.Tests/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs: missing namespace
- ../src/AirGap/StellaOps.AirGap.Policy/StellaOps.AirGap.Policy.Analyzers.Tests/obj/Debug/net10.0/SelfRegisteredExtensions.cs: missing namespace
- ../src/AirGap/StellaOps.AirGap.Policy/StellaOps.AirGap.Policy.Analyzers.Tests/obj/Debug/net10.0/StellaOps.AirGap.Policy.Analyzers.Tests.AssemblyInfo.cs: missing namespace
- ../src/AirGap/StellaOps.AirGap.Policy/StellaOps.AirGap.Policy.Analyzers.Tests/obj/Debug/net10.0/StellaOps.AirGap.Policy.Analyzers.Tests.GlobalUsings.g.cs: missing namespace
- ../src/AirGap/StellaOps.AirGap.Policy/StellaOps.AirGap.Policy.Analyzers.Tests/obj/Debug/net10.0/XunitAutoGeneratedEntryPoint.cs: missing namespace
- ../src/AirGap/StellaOps.AirGap.Policy/StellaOps.AirGap.Policy.Analyzers.Tests/obj/Release/net10.0/StellaOps.AirGap.Policy.Analyzers.Tests.GlobalUsings.g.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>.
- Remove overrides that disable TreatWarningsAsErrors.
- Split files over 100 lines into smaller types or partials.
## File-Level Findings
- Status: FAIL
- Files scanned: 8
- Files with issues: 8
- See docs/implplan/audits/csproj-standards/file-audit.csv for full per-file status.
| File | Issues | Fix guidance |
| --- | --- | --- |
| ../src/AirGap/StellaOps.AirGap.Policy/StellaOps.AirGap.Policy.Analyzers.Tests/HttpClientUsageAnalyzerTests.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| ../src/AirGap/StellaOps.AirGap.Policy/StellaOps.AirGap.Policy.Analyzers.Tests/PolicyAnalyzerRoslynTests.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| ../src/AirGap/StellaOps.AirGap.Policy/StellaOps.AirGap.Policy.Analyzers.Tests/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| ../src/AirGap/StellaOps.AirGap.Policy/StellaOps.AirGap.Policy.Analyzers.Tests/obj/Debug/net10.0/SelfRegisteredExtensions.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| ../src/AirGap/StellaOps.AirGap.Policy/StellaOps.AirGap.Policy.Analyzers.Tests/obj/Debug/net10.0/StellaOps.AirGap.Policy.Analyzers.Tests.AssemblyInfo.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| ../src/AirGap/StellaOps.AirGap.Policy/StellaOps.AirGap.Policy.Analyzers.Tests/obj/Debug/net10.0/StellaOps.AirGap.Policy.Analyzers.Tests.GlobalUsings.g.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| ../src/AirGap/StellaOps.AirGap.Policy/StellaOps.AirGap.Policy.Analyzers.Tests/obj/Debug/net10.0/XunitAutoGeneratedEntryPoint.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| ../src/AirGap/StellaOps.AirGap.Policy/StellaOps.AirGap.Policy.Analyzers.Tests/obj/Release/net10.0/StellaOps.AirGap.Policy.Analyzers.Tests.GlobalUsings.g.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
## Testing Fullness Findings
- Status: FAIL
- Expected layers (heuristic): Unit
- Detected test projects: none
- 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.

View File

@@ -0,0 +1,80 @@
# Audit - StellaOps.AirGap.Policy.Analyzers
## Project
- Path: ../src/AirGap/StellaOps.AirGap.Policy/StellaOps.AirGap.Policy.Analyzers/StellaOps.AirGap.Policy.Analyzers.csproj
- Module: ..
- Kind: Library
- Audit date (UTC): 2026-01-30
- Files scanned: 7
- Files with issues: 7
- 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: 1
- Namespace violations: 7
- 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.Policy/StellaOps.AirGap.Policy.Analyzers/HttpClientUsageAnalyzer.cs (107 lines)
- Namespace issues:
- ../src/AirGap/StellaOps.AirGap.Policy/StellaOps.AirGap.Policy.Analyzers/HttpClientUsageAnalyzer.cs: missing namespace
- ../src/AirGap/StellaOps.AirGap.Policy/StellaOps.AirGap.Policy.Analyzers/obj/Debug/netstandard2.0/.NETStandard,Version=v2.0.AssemblyAttributes.cs: missing namespace
- ../src/AirGap/StellaOps.AirGap.Policy/StellaOps.AirGap.Policy.Analyzers/obj/Debug/netstandard2.0/StellaOps.AirGap.Policy.Analyzers.AssemblyInfo.cs: missing namespace
- ../src/AirGap/StellaOps.AirGap.Policy/StellaOps.AirGap.Policy.Analyzers/obj/Debug/netstandard2.0/StellaOps.AirGap.Policy.Analyzers.GlobalUsings.g.cs: missing namespace
- ../src/AirGap/StellaOps.AirGap.Policy/StellaOps.AirGap.Policy.Analyzers/obj/Release/netstandard2.0/.NETStandard,Version=v2.0.AssemblyAttributes.cs: missing namespace
- ../src/AirGap/StellaOps.AirGap.Policy/StellaOps.AirGap.Policy.Analyzers/obj/Release/netstandard2.0/StellaOps.AirGap.Policy.Analyzers.AssemblyInfo.cs: missing namespace
- ../src/AirGap/StellaOps.AirGap.Policy/StellaOps.AirGap.Policy.Analyzers/obj/Release/netstandard2.0/StellaOps.AirGap.Policy.Analyzers.GlobalUsings.g.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: 7
- Files with issues: 7
- See docs/implplan/audits/csproj-standards/file-audit.csv for full per-file status.
| File | Issues | Fix guidance |
| --- | --- | --- |
| ../src/AirGap/StellaOps.AirGap.Policy/StellaOps.AirGap.Policy.Analyzers/HttpClientUsageAnalyzer.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| ../src/AirGap/StellaOps.AirGap.Policy/StellaOps.AirGap.Policy.Analyzers/obj/Debug/netstandard2.0/.NETStandard,Version=v2.0.AssemblyAttributes.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| ../src/AirGap/StellaOps.AirGap.Policy/StellaOps.AirGap.Policy.Analyzers/obj/Debug/netstandard2.0/StellaOps.AirGap.Policy.Analyzers.AssemblyInfo.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| ../src/AirGap/StellaOps.AirGap.Policy/StellaOps.AirGap.Policy.Analyzers/obj/Debug/netstandard2.0/StellaOps.AirGap.Policy.Analyzers.GlobalUsings.g.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| ../src/AirGap/StellaOps.AirGap.Policy/StellaOps.AirGap.Policy.Analyzers/obj/Release/netstandard2.0/.NETStandard,Version=v2.0.AssemblyAttributes.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| ../src/AirGap/StellaOps.AirGap.Policy/StellaOps.AirGap.Policy.Analyzers/obj/Release/netstandard2.0/StellaOps.AirGap.Policy.Analyzers.AssemblyInfo.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| ../src/AirGap/StellaOps.AirGap.Policy/StellaOps.AirGap.Policy.Analyzers/obj/Release/netstandard2.0/StellaOps.AirGap.Policy.Analyzers.GlobalUsings.g.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
## Testing Fullness Findings
- Status: FAIL
- Expected layers (heuristic): Unit
- Detected test projects: none
- 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.

View File

@@ -0,0 +1,83 @@
# Audit - StellaOps.AirGap.Policy.Tests
## Project
- Path: ../src/AirGap/StellaOps.AirGap.Policy/StellaOps.AirGap.Policy.Tests/StellaOps.AirGap.Policy.Tests.csproj
- Module: ..
- Kind: Library
- Audit date (UTC): 2026-01-30
- Files scanned: 7
- Files with issues: 7
- File-level report: docs/implplan/audits/csproj-standards/file-audit.csv
## Coding Standards Findings
- Status: FAIL
- Nullable: enable
- TreatWarningsAsErrors: inherited false
- Deterministic: inherited true
- 100-line rule violations: 1
- Namespace violations: 7
- Using directive violations: 0
- Naming violations (interfaces/fields/const/async): 0
- Service locator usage (BuildServiceProvider/GetService): 2
- Assembly.LoadFrom usage: 0
### Details
- 100-line files:
- ../src/AirGap/StellaOps.AirGap.Policy/StellaOps.AirGap.Policy.Tests/EgressPolicyTests.cs (242 lines)
- Namespace issues:
- ../src/AirGap/StellaOps.AirGap.Policy/StellaOps.AirGap.Policy.Tests/EgressPolicyTests.cs: missing namespace
- ../src/AirGap/StellaOps.AirGap.Policy/StellaOps.AirGap.Policy.Tests/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs: missing namespace
- ../src/AirGap/StellaOps.AirGap.Policy/StellaOps.AirGap.Policy.Tests/obj/Debug/net10.0/SelfRegisteredExtensions.cs: missing namespace
- ../src/AirGap/StellaOps.AirGap.Policy/StellaOps.AirGap.Policy.Tests/obj/Debug/net10.0/StellaOps.AirGap.Policy.Tests.AssemblyInfo.cs: missing namespace
- ../src/AirGap/StellaOps.AirGap.Policy/StellaOps.AirGap.Policy.Tests/obj/Debug/net10.0/StellaOps.AirGap.Policy.Tests.GlobalUsings.g.cs: missing namespace
- ../src/AirGap/StellaOps.AirGap.Policy/StellaOps.AirGap.Policy.Tests/obj/Debug/net10.0/XunitAutoGeneratedEntryPoint.cs: missing namespace
- ../src/AirGap/StellaOps.AirGap.Policy/StellaOps.AirGap.Policy.Tests/obj/Release/net10.0/StellaOps.AirGap.Policy.Tests.GlobalUsings.g.cs: missing namespace
- Using directive issues:
- none
- Naming issues:
- none
- Async issues:
- none
- Service locator matches:
- ../src/AirGap/StellaOps.AirGap.Policy/StellaOps.AirGap.Policy.Tests/EgressPolicyTests.cs:155 using var provider = services.BuildServiceProvider();
- ../src/AirGap/StellaOps.AirGap.Policy/StellaOps.AirGap.Policy.Tests/EgressPolicyTests.cs:184 using var provider = services.BuildServiceProvider();
- Assembly.LoadFrom matches:
- none
### Fix Guidance
- Normalize namespaces to file-scoped StellaOps.<Area>.
- Remove overrides that disable TreatWarningsAsErrors.
- Replace service locator usage with constructor injection.
- Split files over 100 lines into smaller types or partials.
## File-Level Findings
- Status: FAIL
- Files scanned: 7
- Files with issues: 7
- See docs/implplan/audits/csproj-standards/file-audit.csv for full per-file status.
| File | Issues | Fix guidance |
| --- | --- | --- |
| ../src/AirGap/StellaOps.AirGap.Policy/StellaOps.AirGap.Policy.Tests/EgressPolicyTests.cs | FileLength>100; NamespaceMissing; ServiceLocator | Add file-scoped namespace: namespace StellaOps.<Area>;; Remove service locator usage; use constructor injection.; Split file to stay <= 100 lines. |
| ../src/AirGap/StellaOps.AirGap.Policy/StellaOps.AirGap.Policy.Tests/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| ../src/AirGap/StellaOps.AirGap.Policy/StellaOps.AirGap.Policy.Tests/obj/Debug/net10.0/SelfRegisteredExtensions.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| ../src/AirGap/StellaOps.AirGap.Policy/StellaOps.AirGap.Policy.Tests/obj/Debug/net10.0/StellaOps.AirGap.Policy.Tests.AssemblyInfo.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| ../src/AirGap/StellaOps.AirGap.Policy/StellaOps.AirGap.Policy.Tests/obj/Debug/net10.0/StellaOps.AirGap.Policy.Tests.GlobalUsings.g.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| ../src/AirGap/StellaOps.AirGap.Policy/StellaOps.AirGap.Policy.Tests/obj/Debug/net10.0/XunitAutoGeneratedEntryPoint.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| ../src/AirGap/StellaOps.AirGap.Policy/StellaOps.AirGap.Policy.Tests/obj/Release/net10.0/StellaOps.AirGap.Policy.Tests.GlobalUsings.g.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
## Testing Fullness Findings
- Status: FAIL
- Expected layers (heuristic): Unit
- Detected test projects: none
- 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.

View File

@@ -0,0 +1,103 @@
# Audit - StellaOps.AirGap.Policy
## Project
- Path: ../src/AirGap/StellaOps.AirGap.Policy/StellaOps.AirGap.Policy/StellaOps.AirGap.Policy.csproj
- Module: ..
- Kind: Library
- Audit date (UTC): 2026-01-30
- Files scanned: 17
- Files with issues: 17
- 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: 4
- Namespace violations: 17
- 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.Policy/StellaOps.AirGap.Policy/AirGapEgressBlockedException.cs (101 lines)
- ../src/AirGap/StellaOps.AirGap.Policy/StellaOps.AirGap.Policy/EgressPolicy.cs (244 lines)
- ../src/AirGap/StellaOps.AirGap.Policy/StellaOps.AirGap.Policy/EgressPolicyServiceCollectionExtensions.cs (294 lines)
- ../src/AirGap/StellaOps.AirGap.Policy/StellaOps.AirGap.Policy/EgressRule.cs (128 lines)
- Namespace issues:
- ../src/AirGap/StellaOps.AirGap.Policy/StellaOps.AirGap.Policy/AirGapEgressBlockedException.cs: missing namespace
- ../src/AirGap/StellaOps.AirGap.Policy/StellaOps.AirGap.Policy/EgressDecision.cs: missing namespace
- ../src/AirGap/StellaOps.AirGap.Policy/StellaOps.AirGap.Policy/EgressHttpClientFactory.cs: missing namespace
- ../src/AirGap/StellaOps.AirGap.Policy/StellaOps.AirGap.Policy/EgressPolicy.cs: missing namespace
- ../src/AirGap/StellaOps.AirGap.Policy/StellaOps.AirGap.Policy/EgressPolicyMode.cs: missing namespace
- ../src/AirGap/StellaOps.AirGap.Policy/StellaOps.AirGap.Policy/EgressPolicyOptions.cs: missing namespace
- ../src/AirGap/StellaOps.AirGap.Policy/StellaOps.AirGap.Policy/EgressPolicyServiceCollectionExtensions.cs: missing namespace
- ../src/AirGap/StellaOps.AirGap.Policy/StellaOps.AirGap.Policy/EgressRequest.cs: missing namespace
- ../src/AirGap/StellaOps.AirGap.Policy/StellaOps.AirGap.Policy/EgressRule.cs: missing namespace
- ../src/AirGap/StellaOps.AirGap.Policy/StellaOps.AirGap.Policy/EgressTransport.cs: missing namespace
- ../src/AirGap/StellaOps.AirGap.Policy/StellaOps.AirGap.Policy/IEgressPolicy.cs: missing namespace
- ../src/AirGap/StellaOps.AirGap.Policy/StellaOps.AirGap.Policy/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs: missing namespace
- ../src/AirGap/StellaOps.AirGap.Policy/StellaOps.AirGap.Policy/obj/Debug/net10.0/StellaOps.AirGap.Policy.AssemblyInfo.cs: missing namespace
- ../src/AirGap/StellaOps.AirGap.Policy/StellaOps.AirGap.Policy/obj/Debug/net10.0/StellaOps.AirGap.Policy.GlobalUsings.g.cs: missing namespace
- ../src/AirGap/StellaOps.AirGap.Policy/StellaOps.AirGap.Policy/obj/Release/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs: missing namespace
- ../src/AirGap/StellaOps.AirGap.Policy/StellaOps.AirGap.Policy/obj/Release/net10.0/StellaOps.AirGap.Policy.AssemblyInfo.cs: missing namespace
- ../src/AirGap/StellaOps.AirGap.Policy/StellaOps.AirGap.Policy/obj/Release/net10.0/StellaOps.AirGap.Policy.GlobalUsings.g.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: 17
- Files with issues: 17
- See docs/implplan/audits/csproj-standards/file-audit.csv for full per-file status.
| File | Issues | Fix guidance |
| --- | --- | --- |
| ../src/AirGap/StellaOps.AirGap.Policy/StellaOps.AirGap.Policy/AirGapEgressBlockedException.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| ../src/AirGap/StellaOps.AirGap.Policy/StellaOps.AirGap.Policy/EgressDecision.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| ../src/AirGap/StellaOps.AirGap.Policy/StellaOps.AirGap.Policy/EgressHttpClientFactory.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| ../src/AirGap/StellaOps.AirGap.Policy/StellaOps.AirGap.Policy/EgressPolicy.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| ../src/AirGap/StellaOps.AirGap.Policy/StellaOps.AirGap.Policy/EgressPolicyMode.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| ../src/AirGap/StellaOps.AirGap.Policy/StellaOps.AirGap.Policy/EgressPolicyOptions.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| ../src/AirGap/StellaOps.AirGap.Policy/StellaOps.AirGap.Policy/EgressPolicyServiceCollectionExtensions.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| ../src/AirGap/StellaOps.AirGap.Policy/StellaOps.AirGap.Policy/EgressRequest.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| ../src/AirGap/StellaOps.AirGap.Policy/StellaOps.AirGap.Policy/EgressRule.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| ../src/AirGap/StellaOps.AirGap.Policy/StellaOps.AirGap.Policy/EgressTransport.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| ../src/AirGap/StellaOps.AirGap.Policy/StellaOps.AirGap.Policy/IEgressPolicy.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| ../src/AirGap/StellaOps.AirGap.Policy/StellaOps.AirGap.Policy/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| ../src/AirGap/StellaOps.AirGap.Policy/StellaOps.AirGap.Policy/obj/Debug/net10.0/StellaOps.AirGap.Policy.AssemblyInfo.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| ../src/AirGap/StellaOps.AirGap.Policy/StellaOps.AirGap.Policy/obj/Debug/net10.0/StellaOps.AirGap.Policy.GlobalUsings.g.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| ../src/AirGap/StellaOps.AirGap.Policy/StellaOps.AirGap.Policy/obj/Release/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| ../src/AirGap/StellaOps.AirGap.Policy/StellaOps.AirGap.Policy/obj/Release/net10.0/StellaOps.AirGap.Policy.AssemblyInfo.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| ../src/AirGap/StellaOps.AirGap.Policy/StellaOps.AirGap.Policy/obj/Release/net10.0/StellaOps.AirGap.Policy.GlobalUsings.g.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
## Testing Fullness Findings
- Status: FAIL
- Expected layers (heuristic): Unit
- Detected test projects: none
- 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.

View File

@@ -0,0 +1,138 @@
# 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.

View File

@@ -0,0 +1,173 @@
# Audit - StellaOps.AirGap.Bundle
## Project
- Path: ../src/AirGap/__Libraries/StellaOps.AirGap.Bundle/StellaOps.AirGap.Bundle.csproj
- Module: ..
- Kind: Library
- Audit date (UTC): 2026-01-30
- Files scanned: 41
- Files with issues: 41
- 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: 26
- Namespace violations: 41
- 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/__Libraries/StellaOps.AirGap.Bundle/Extractors/AdvisorySnapshotExtractor.cs (270 lines)
- ../src/AirGap/__Libraries/StellaOps.AirGap.Bundle/Extractors/PolicySnapshotExtractor.cs (375 lines)
- ../src/AirGap/__Libraries/StellaOps.AirGap.Bundle/Extractors/VexSnapshotExtractor.cs (296 lines)
- ../src/AirGap/__Libraries/StellaOps.AirGap.Bundle/FunctionMap/FunctionMapBundleIntegration.cs (240 lines)
- ../src/AirGap/__Libraries/StellaOps.AirGap.Bundle/Models/BundleFormatV2.cs (267 lines)
- ../src/AirGap/__Libraries/StellaOps.AirGap.Bundle/Models/BundleManifest.cs (271 lines)
- ../src/AirGap/__Libraries/StellaOps.AirGap.Bundle/Models/KnowledgeSnapshotManifest.cs (167 lines)
- ../src/AirGap/__Libraries/StellaOps.AirGap.Bundle/Services/Abstractions.cs (163 lines)
- ../src/AirGap/__Libraries/StellaOps.AirGap.Bundle/Services/BundleBuilder.cs (640 lines)
- ../src/AirGap/__Libraries/StellaOps.AirGap.Bundle/Services/ConcelierAdvisoryImportTarget.cs (270 lines)
- ../src/AirGap/__Libraries/StellaOps.AirGap.Bundle/Services/CrlFetcher.cs (161 lines)
- ../src/AirGap/__Libraries/StellaOps.AirGap.Bundle/Services/ExcititorVexImportTarget.cs (266 lines)
- ../src/AirGap/__Libraries/StellaOps.AirGap.Bundle/Services/KnowledgeSnapshotImporter.cs (568 lines)
- ../src/AirGap/__Libraries/StellaOps.AirGap.Bundle/Services/LocalRbacBundleExtensions.cs (180 lines)
- ../src/AirGap/__Libraries/StellaOps.AirGap.Bundle/Services/OcspResponseFetcher.cs (139 lines)
- ../src/AirGap/__Libraries/StellaOps.AirGap.Bundle/Services/PolicyRegistryImportTarget.cs (252 lines)
- ../src/AirGap/__Libraries/StellaOps.AirGap.Bundle/Services/SnapshotBundleReader.cs (621 lines)
- ../src/AirGap/__Libraries/StellaOps.AirGap.Bundle/Services/SnapshotBundleWriter.cs (602 lines)
- ../src/AirGap/__Libraries/StellaOps.AirGap.Bundle/Services/SnapshotManifestSigner.cs (489 lines)
- ../src/AirGap/__Libraries/StellaOps.AirGap.Bundle/Services/TimeAnchorService.cs (320 lines)
- ../src/AirGap/__Libraries/StellaOps.AirGap.Bundle/Services/TrustProfileLoader.cs (112 lines)
- ../src/AirGap/__Libraries/StellaOps.AirGap.Bundle/Services/TsaChainBundler.cs (272 lines)
- ../src/AirGap/__Libraries/StellaOps.AirGap.Bundle/TrustSnapshot/TrustSnapshotBuilder.cs (596 lines)
- ../src/AirGap/__Libraries/StellaOps.AirGap.Bundle/TrustSnapshot/TrustSnapshotImporter.cs (687 lines)
- ../src/AirGap/__Libraries/StellaOps.AirGap.Bundle/TrustSnapshot/TrustSnapshotManifest.cs (360 lines)
- ../src/AirGap/__Libraries/StellaOps.AirGap.Bundle/Validation/BundleValidator.cs (225 lines)
- Namespace issues:
- ../src/AirGap/__Libraries/StellaOps.AirGap.Bundle/Extractors/AdvisorySnapshotExtractor.cs: missing namespace
- ../src/AirGap/__Libraries/StellaOps.AirGap.Bundle/Extractors/PolicySnapshotExtractor.cs: missing namespace
- ../src/AirGap/__Libraries/StellaOps.AirGap.Bundle/Extractors/VexSnapshotExtractor.cs: missing namespace
- ../src/AirGap/__Libraries/StellaOps.AirGap.Bundle/FunctionMap/FunctionMapBundleIntegration.cs: missing namespace
- ../src/AirGap/__Libraries/StellaOps.AirGap.Bundle/Models/BundleExportMode.cs: missing namespace
- ../src/AirGap/__Libraries/StellaOps.AirGap.Bundle/Models/BundleFormatV2.cs: missing namespace
- ../src/AirGap/__Libraries/StellaOps.AirGap.Bundle/Models/BundleManifest.cs: missing namespace
- ../src/AirGap/__Libraries/StellaOps.AirGap.Bundle/Models/BundleSubject.cs: missing namespace
- ../src/AirGap/__Libraries/StellaOps.AirGap.Bundle/Models/KnowledgeSnapshotManifest.cs: missing namespace
- ../src/AirGap/__Libraries/StellaOps.AirGap.Bundle/Models/RekorProofEntry.cs: missing namespace
- ../src/AirGap/__Libraries/StellaOps.AirGap.Bundle/Models/TimestampEntry.cs: missing namespace
- ../src/AirGap/__Libraries/StellaOps.AirGap.Bundle/Models/TrustProfile.cs: missing namespace
- ../src/AirGap/__Libraries/StellaOps.AirGap.Bundle/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs: missing namespace
- ../src/AirGap/__Libraries/StellaOps.AirGap.Bundle/obj/Debug/net10.0/StellaOps.AirGap.Bundle.AssemblyInfo.cs: missing namespace
- ../src/AirGap/__Libraries/StellaOps.AirGap.Bundle/obj/Debug/net10.0/StellaOps.AirGap.Bundle.GlobalUsings.g.cs: missing namespace
- ../src/AirGap/__Libraries/StellaOps.AirGap.Bundle/obj/Release/net10.0/StellaOps.AirGap.Bundle.GlobalUsings.g.cs: missing namespace
- ../src/AirGap/__Libraries/StellaOps.AirGap.Bundle/Serialization/BundleManifestSerializer.cs: missing namespace
- ../src/AirGap/__Libraries/StellaOps.AirGap.Bundle/Serialization/TimestampEntryJsonConverter.cs: missing namespace
- ../src/AirGap/__Libraries/StellaOps.AirGap.Bundle/Services/Abstractions.cs: missing namespace
- ../src/AirGap/__Libraries/StellaOps.AirGap.Bundle/Services/BundleBuilder.cs: missing namespace
- ../src/AirGap/__Libraries/StellaOps.AirGap.Bundle/Services/BundleLoader.cs: missing namespace
- ../src/AirGap/__Libraries/StellaOps.AirGap.Bundle/Services/ConcelierAdvisoryImportTarget.cs: missing namespace
- ../src/AirGap/__Libraries/StellaOps.AirGap.Bundle/Services/CrlFetcher.cs: missing namespace
- ../src/AirGap/__Libraries/StellaOps.AirGap.Bundle/Services/ExcititorVexImportTarget.cs: missing namespace
- ../src/AirGap/__Libraries/StellaOps.AirGap.Bundle/Services/KnowledgeSnapshotImporter.cs: missing namespace
- ../src/AirGap/__Libraries/StellaOps.AirGap.Bundle/Services/LocalRbacBundleExtensions.cs: missing namespace
- ../src/AirGap/__Libraries/StellaOps.AirGap.Bundle/Services/OcspResponseFetcher.cs: missing namespace
- ../src/AirGap/__Libraries/StellaOps.AirGap.Bundle/Services/PolicyRegistryImportTarget.cs: missing namespace
- ../src/AirGap/__Libraries/StellaOps.AirGap.Bundle/Services/SnapshotBundleReader.cs: missing namespace
- ../src/AirGap/__Libraries/StellaOps.AirGap.Bundle/Services/SnapshotBundleWriter.cs: missing namespace
- ../src/AirGap/__Libraries/StellaOps.AirGap.Bundle/Services/SnapshotManifestSigner.cs: missing namespace
- ../src/AirGap/__Libraries/StellaOps.AirGap.Bundle/Services/TimeAnchorService.cs: missing namespace
- ../src/AirGap/__Libraries/StellaOps.AirGap.Bundle/Services/TrustProfileLoader.cs: missing namespace
- ../src/AirGap/__Libraries/StellaOps.AirGap.Bundle/Services/TsaChainBundler.cs: missing namespace
- ../src/AirGap/__Libraries/StellaOps.AirGap.Bundle/Services/TsaRevocationBlob.cs: missing namespace
- ../src/AirGap/__Libraries/StellaOps.AirGap.Bundle/TrustSnapshot/IGuidProvider.cs: missing namespace
- ../src/AirGap/__Libraries/StellaOps.AirGap.Bundle/TrustSnapshot/TrustSnapshotBuilder.cs: missing namespace
- ../src/AirGap/__Libraries/StellaOps.AirGap.Bundle/TrustSnapshot/TrustSnapshotImporter.cs: missing namespace
- ../src/AirGap/__Libraries/StellaOps.AirGap.Bundle/TrustSnapshot/TrustSnapshotManifest.cs: missing namespace
- ../src/AirGap/__Libraries/StellaOps.AirGap.Bundle/Validation/BundleSizeValidator.cs: missing namespace
- ../src/AirGap/__Libraries/StellaOps.AirGap.Bundle/Validation/BundleValidator.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: 41
- Files with issues: 41
- See docs/implplan/audits/csproj-standards/file-audit.csv for full per-file status.
| File | Issues | Fix guidance |
| --- | --- | --- |
| ../src/AirGap/__Libraries/StellaOps.AirGap.Bundle/Extractors/AdvisorySnapshotExtractor.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| ../src/AirGap/__Libraries/StellaOps.AirGap.Bundle/Extractors/PolicySnapshotExtractor.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| ../src/AirGap/__Libraries/StellaOps.AirGap.Bundle/Extractors/VexSnapshotExtractor.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| ../src/AirGap/__Libraries/StellaOps.AirGap.Bundle/FunctionMap/FunctionMapBundleIntegration.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| ../src/AirGap/__Libraries/StellaOps.AirGap.Bundle/Models/BundleExportMode.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| ../src/AirGap/__Libraries/StellaOps.AirGap.Bundle/Models/BundleFormatV2.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| ../src/AirGap/__Libraries/StellaOps.AirGap.Bundle/Models/BundleManifest.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| ../src/AirGap/__Libraries/StellaOps.AirGap.Bundle/Models/BundleSubject.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| ../src/AirGap/__Libraries/StellaOps.AirGap.Bundle/Models/KnowledgeSnapshotManifest.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| ../src/AirGap/__Libraries/StellaOps.AirGap.Bundle/Models/RekorProofEntry.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| ../src/AirGap/__Libraries/StellaOps.AirGap.Bundle/Models/TimestampEntry.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| ../src/AirGap/__Libraries/StellaOps.AirGap.Bundle/Models/TrustProfile.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| ../src/AirGap/__Libraries/StellaOps.AirGap.Bundle/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| ../src/AirGap/__Libraries/StellaOps.AirGap.Bundle/obj/Debug/net10.0/StellaOps.AirGap.Bundle.AssemblyInfo.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| ../src/AirGap/__Libraries/StellaOps.AirGap.Bundle/obj/Debug/net10.0/StellaOps.AirGap.Bundle.GlobalUsings.g.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| ../src/AirGap/__Libraries/StellaOps.AirGap.Bundle/obj/Release/net10.0/StellaOps.AirGap.Bundle.GlobalUsings.g.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| ../src/AirGap/__Libraries/StellaOps.AirGap.Bundle/Serialization/BundleManifestSerializer.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| ../src/AirGap/__Libraries/StellaOps.AirGap.Bundle/Serialization/TimestampEntryJsonConverter.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| ../src/AirGap/__Libraries/StellaOps.AirGap.Bundle/Services/Abstractions.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| ../src/AirGap/__Libraries/StellaOps.AirGap.Bundle/Services/BundleBuilder.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| ../src/AirGap/__Libraries/StellaOps.AirGap.Bundle/Services/BundleLoader.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| ../src/AirGap/__Libraries/StellaOps.AirGap.Bundle/Services/ConcelierAdvisoryImportTarget.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| ../src/AirGap/__Libraries/StellaOps.AirGap.Bundle/Services/CrlFetcher.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| ../src/AirGap/__Libraries/StellaOps.AirGap.Bundle/Services/ExcititorVexImportTarget.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| ../src/AirGap/__Libraries/StellaOps.AirGap.Bundle/Services/KnowledgeSnapshotImporter.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| ../src/AirGap/__Libraries/StellaOps.AirGap.Bundle/Services/LocalRbacBundleExtensions.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| ../src/AirGap/__Libraries/StellaOps.AirGap.Bundle/Services/OcspResponseFetcher.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| ../src/AirGap/__Libraries/StellaOps.AirGap.Bundle/Services/PolicyRegistryImportTarget.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| ../src/AirGap/__Libraries/StellaOps.AirGap.Bundle/Services/SnapshotBundleReader.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| ../src/AirGap/__Libraries/StellaOps.AirGap.Bundle/Services/SnapshotBundleWriter.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| ../src/AirGap/__Libraries/StellaOps.AirGap.Bundle/Services/SnapshotManifestSigner.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| ../src/AirGap/__Libraries/StellaOps.AirGap.Bundle/Services/TimeAnchorService.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| ../src/AirGap/__Libraries/StellaOps.AirGap.Bundle/Services/TrustProfileLoader.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| ../src/AirGap/__Libraries/StellaOps.AirGap.Bundle/Services/TsaChainBundler.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| ../src/AirGap/__Libraries/StellaOps.AirGap.Bundle/Services/TsaRevocationBlob.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| ../src/AirGap/__Libraries/StellaOps.AirGap.Bundle/TrustSnapshot/IGuidProvider.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| ../src/AirGap/__Libraries/StellaOps.AirGap.Bundle/TrustSnapshot/TrustSnapshotBuilder.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| ../src/AirGap/__Libraries/StellaOps.AirGap.Bundle/TrustSnapshot/TrustSnapshotImporter.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| ../src/AirGap/__Libraries/StellaOps.AirGap.Bundle/TrustSnapshot/TrustSnapshotManifest.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| ../src/AirGap/__Libraries/StellaOps.AirGap.Bundle/Validation/BundleSizeValidator.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| ../src/AirGap/__Libraries/StellaOps.AirGap.Bundle/Validation/BundleValidator.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
## 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]
- 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.

View File

@@ -0,0 +1,87 @@
# Audit - StellaOps.AirGap.Persistence
## Project
- Path: ../src/AirGap/__Libraries/StellaOps.AirGap.Persistence/StellaOps.AirGap.Persistence.csproj
- Module: ..
- Kind: Library
- Audit date (UTC): 2026-01-30
- Files scanned: 10
- Files with issues: 10
- 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: 2
- Namespace violations: 10
- 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/__Libraries/StellaOps.AirGap.Persistence/Postgres/Repositories/PostgresAirGapStateStore.cs (342 lines)
- ../src/AirGap/__Libraries/StellaOps.AirGap.Persistence/Postgres/Repositories/PostgresBundleVersionStore.cs (362 lines)
- Namespace issues:
- ../src/AirGap/__Libraries/StellaOps.AirGap.Persistence/EfCore/Context/AirGapDbContext.cs: missing namespace
- ../src/AirGap/__Libraries/StellaOps.AirGap.Persistence/Extensions/AirGapPersistenceExtensions.cs: missing namespace
- ../src/AirGap/__Libraries/StellaOps.AirGap.Persistence/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs: missing namespace
- ../src/AirGap/__Libraries/StellaOps.AirGap.Persistence/obj/Debug/net10.0/StellaOps.AirGap.Persistence.AssemblyInfo.cs: missing namespace
- ../src/AirGap/__Libraries/StellaOps.AirGap.Persistence/obj/Debug/net10.0/StellaOps.AirGap.Persistence.GlobalUsings.g.cs: missing namespace
- ../src/AirGap/__Libraries/StellaOps.AirGap.Persistence/obj/Release/net10.0/StellaOps.AirGap.Persistence.GlobalUsings.g.cs: missing namespace
- ../src/AirGap/__Libraries/StellaOps.AirGap.Persistence/Postgres/AirGapDataSource.cs: missing namespace
- ../src/AirGap/__Libraries/StellaOps.AirGap.Persistence/Postgres/AirGapStartupMigrationHost.cs: missing namespace
- ../src/AirGap/__Libraries/StellaOps.AirGap.Persistence/Postgres/Repositories/PostgresAirGapStateStore.cs: missing namespace
- ../src/AirGap/__Libraries/StellaOps.AirGap.Persistence/Postgres/Repositories/PostgresBundleVersionStore.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: 10
- Files with issues: 10
- See docs/implplan/audits/csproj-standards/file-audit.csv for full per-file status.
| File | Issues | Fix guidance |
| --- | --- | --- |
| ../src/AirGap/__Libraries/StellaOps.AirGap.Persistence/EfCore/Context/AirGapDbContext.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| ../src/AirGap/__Libraries/StellaOps.AirGap.Persistence/Extensions/AirGapPersistenceExtensions.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| ../src/AirGap/__Libraries/StellaOps.AirGap.Persistence/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| ../src/AirGap/__Libraries/StellaOps.AirGap.Persistence/obj/Debug/net10.0/StellaOps.AirGap.Persistence.AssemblyInfo.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| ../src/AirGap/__Libraries/StellaOps.AirGap.Persistence/obj/Debug/net10.0/StellaOps.AirGap.Persistence.GlobalUsings.g.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| ../src/AirGap/__Libraries/StellaOps.AirGap.Persistence/obj/Release/net10.0/StellaOps.AirGap.Persistence.GlobalUsings.g.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| ../src/AirGap/__Libraries/StellaOps.AirGap.Persistence/Postgres/AirGapDataSource.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| ../src/AirGap/__Libraries/StellaOps.AirGap.Persistence/Postgres/AirGapStartupMigrationHost.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| ../src/AirGap/__Libraries/StellaOps.AirGap.Persistence/Postgres/Repositories/PostgresAirGapStateStore.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| ../src/AirGap/__Libraries/StellaOps.AirGap.Persistence/Postgres/Repositories/PostgresBundleVersionStore.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
## Testing Fullness Findings
- Status: FAIL
- Expected layers (heuristic): Integration, Unit
- Detected test projects: ../src/AirGap/__Tests/StellaOps.AirGap.Persistence.Tests/StellaOps.AirGap.Persistence.Tests.csproj [Offline]
- Missing layers: Integration, 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.

View File

@@ -0,0 +1,130 @@
# Audit - StellaOps.AirGap.Sync
## Project
- Path: ../src/AirGap/__Libraries/StellaOps.AirGap.Sync/StellaOps.AirGap.Sync.csproj
- Module: ..
- Kind: Library
- Audit date (UTC): 2026-01-30
- Files scanned: 26
- Files with issues: 26
- 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: 13
- Namespace violations: 26
- 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/__Libraries/StellaOps.AirGap.Sync/AirGapSyncServiceCollectionExtensions.cs (154 lines)
- ../src/AirGap/__Libraries/StellaOps.AirGap.Sync/Services/AirGapBundleDsseSigner.cs (276 lines)
- ../src/AirGap/__Libraries/StellaOps.AirGap.Sync/Services/AirGapBundleExporter.cs (271 lines)
- ../src/AirGap/__Libraries/StellaOps.AirGap.Sync/Services/AirGapBundleImporter.cs (317 lines)
- ../src/AirGap/__Libraries/StellaOps.AirGap.Sync/Services/AirGapSyncService.cs (199 lines)
- ../src/AirGap/__Libraries/StellaOps.AirGap.Sync/Services/ConflictResolver.cs (115 lines)
- ../src/AirGap/__Libraries/StellaOps.AirGap.Sync/Services/HlcMergeService.cs (170 lines)
- ../src/AirGap/__Libraries/StellaOps.AirGap.Sync/Services/OfflineHlcManager.cs (173 lines)
- ../src/AirGap/__Libraries/StellaOps.AirGap.Sync/Stores/FileBasedOfflineJobLogStore.cs (247 lines)
- ../src/AirGap/__Libraries/StellaOps.AirGap.Sync/Telemetry/AirGapSyncMetrics.cs (162 lines)
- ../src/AirGap/__Libraries/StellaOps.AirGap.Sync/Transport/FileBasedJobSyncTransport.cs (223 lines)
- ../src/AirGap/__Libraries/StellaOps.AirGap.Sync/Transport/IJobSyncTransport.cs (124 lines)
- ../src/AirGap/__Libraries/StellaOps.AirGap.Sync/Transport/RouterJobSyncTransport.cs (273 lines)
- Namespace issues:
- ../src/AirGap/__Libraries/StellaOps.AirGap.Sync/AirGapSyncServiceCollectionExtensions.cs: missing namespace
- ../src/AirGap/__Libraries/StellaOps.AirGap.Sync/Models/AirGapBundle.cs: missing namespace
- ../src/AirGap/__Libraries/StellaOps.AirGap.Sync/Models/ConflictResolution.cs: missing namespace
- ../src/AirGap/__Libraries/StellaOps.AirGap.Sync/Models/MergeResult.cs: missing namespace
- ../src/AirGap/__Libraries/StellaOps.AirGap.Sync/Models/NodeJobLog.cs: missing namespace
- ../src/AirGap/__Libraries/StellaOps.AirGap.Sync/Models/OfflineJobLogEntry.cs: missing namespace
- ../src/AirGap/__Libraries/StellaOps.AirGap.Sync/Models/SyncResult.cs: missing namespace
- ../src/AirGap/__Libraries/StellaOps.AirGap.Sync/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs: missing namespace
- ../src/AirGap/__Libraries/StellaOps.AirGap.Sync/obj/Debug/net10.0/StellaOps.AirGap.Sync.AssemblyInfo.cs: missing namespace
- ../src/AirGap/__Libraries/StellaOps.AirGap.Sync/obj/Debug/net10.0/StellaOps.AirGap.Sync.GlobalUsings.g.cs: missing namespace
- ../src/AirGap/__Libraries/StellaOps.AirGap.Sync/obj/Release/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs: missing namespace
- ../src/AirGap/__Libraries/StellaOps.AirGap.Sync/obj/Release/net10.0/StellaOps.AirGap.Sync.AssemblyInfo.cs: missing namespace
- ../src/AirGap/__Libraries/StellaOps.AirGap.Sync/obj/Release/net10.0/StellaOps.AirGap.Sync.GlobalUsings.g.cs: missing namespace
- ../src/AirGap/__Libraries/StellaOps.AirGap.Sync/Services/AirGapBundleDsseSigner.cs: missing namespace
- ../src/AirGap/__Libraries/StellaOps.AirGap.Sync/Services/AirGapBundleExporter.cs: missing namespace
- ../src/AirGap/__Libraries/StellaOps.AirGap.Sync/Services/AirGapBundleImporter.cs: missing namespace
- ../src/AirGap/__Libraries/StellaOps.AirGap.Sync/Services/AirGapSyncService.cs: missing namespace
- ../src/AirGap/__Libraries/StellaOps.AirGap.Sync/Services/ConflictResolver.cs: missing namespace
- ../src/AirGap/__Libraries/StellaOps.AirGap.Sync/Services/HlcMergeService.cs: missing namespace
- ../src/AirGap/__Libraries/StellaOps.AirGap.Sync/Services/OfflineHlcManager.cs: missing namespace
- ../src/AirGap/__Libraries/StellaOps.AirGap.Sync/Stores/FileBasedOfflineJobLogStore.cs: missing namespace
- ../src/AirGap/__Libraries/StellaOps.AirGap.Sync/Stores/IOfflineJobLogStore.cs: missing namespace
- ../src/AirGap/__Libraries/StellaOps.AirGap.Sync/Telemetry/AirGapSyncMetrics.cs: missing namespace
- ../src/AirGap/__Libraries/StellaOps.AirGap.Sync/Transport/FileBasedJobSyncTransport.cs: missing namespace
- ../src/AirGap/__Libraries/StellaOps.AirGap.Sync/Transport/IJobSyncTransport.cs: missing namespace
- ../src/AirGap/__Libraries/StellaOps.AirGap.Sync/Transport/RouterJobSyncTransport.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: 26
- Files with issues: 26
- See docs/implplan/audits/csproj-standards/file-audit.csv for full per-file status.
| File | Issues | Fix guidance |
| --- | --- | --- |
| ../src/AirGap/__Libraries/StellaOps.AirGap.Sync/AirGapSyncServiceCollectionExtensions.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| ../src/AirGap/__Libraries/StellaOps.AirGap.Sync/Models/AirGapBundle.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| ../src/AirGap/__Libraries/StellaOps.AirGap.Sync/Models/ConflictResolution.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| ../src/AirGap/__Libraries/StellaOps.AirGap.Sync/Models/MergeResult.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| ../src/AirGap/__Libraries/StellaOps.AirGap.Sync/Models/NodeJobLog.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| ../src/AirGap/__Libraries/StellaOps.AirGap.Sync/Models/OfflineJobLogEntry.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| ../src/AirGap/__Libraries/StellaOps.AirGap.Sync/Models/SyncResult.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| ../src/AirGap/__Libraries/StellaOps.AirGap.Sync/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| ../src/AirGap/__Libraries/StellaOps.AirGap.Sync/obj/Debug/net10.0/StellaOps.AirGap.Sync.AssemblyInfo.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| ../src/AirGap/__Libraries/StellaOps.AirGap.Sync/obj/Debug/net10.0/StellaOps.AirGap.Sync.GlobalUsings.g.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| ../src/AirGap/__Libraries/StellaOps.AirGap.Sync/obj/Release/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| ../src/AirGap/__Libraries/StellaOps.AirGap.Sync/obj/Release/net10.0/StellaOps.AirGap.Sync.AssemblyInfo.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| ../src/AirGap/__Libraries/StellaOps.AirGap.Sync/obj/Release/net10.0/StellaOps.AirGap.Sync.GlobalUsings.g.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| ../src/AirGap/__Libraries/StellaOps.AirGap.Sync/Services/AirGapBundleDsseSigner.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| ../src/AirGap/__Libraries/StellaOps.AirGap.Sync/Services/AirGapBundleExporter.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| ../src/AirGap/__Libraries/StellaOps.AirGap.Sync/Services/AirGapBundleImporter.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| ../src/AirGap/__Libraries/StellaOps.AirGap.Sync/Services/AirGapSyncService.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| ../src/AirGap/__Libraries/StellaOps.AirGap.Sync/Services/ConflictResolver.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| ../src/AirGap/__Libraries/StellaOps.AirGap.Sync/Services/HlcMergeService.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| ../src/AirGap/__Libraries/StellaOps.AirGap.Sync/Services/OfflineHlcManager.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| ../src/AirGap/__Libraries/StellaOps.AirGap.Sync/Stores/FileBasedOfflineJobLogStore.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| ../src/AirGap/__Libraries/StellaOps.AirGap.Sync/Stores/IOfflineJobLogStore.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| ../src/AirGap/__Libraries/StellaOps.AirGap.Sync/Telemetry/AirGapSyncMetrics.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| ../src/AirGap/__Libraries/StellaOps.AirGap.Sync/Transport/FileBasedJobSyncTransport.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| ../src/AirGap/__Libraries/StellaOps.AirGap.Sync/Transport/IJobSyncTransport.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| ../src/AirGap/__Libraries/StellaOps.AirGap.Sync/Transport/RouterJobSyncTransport.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
## Testing Fullness Findings
- Status: FAIL
- Expected layers (heuristic): Unit
- Detected test projects: ../src/AirGap/__Tests/StellaOps.AirGap.Sync.Tests/StellaOps.AirGap.Sync.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.

View File

@@ -0,0 +1,113 @@
# Audit - StellaOps.AirGap.Bundle.Tests
## Project
- Path: ../src/AirGap/__Libraries/__Tests/StellaOps.AirGap.Bundle.Tests/StellaOps.AirGap.Bundle.Tests.csproj
- Module: ..
- Kind: Library
- Audit date (UTC): 2026-01-30
- Files scanned: 19
- Files with issues: 18
- File-level report: docs/implplan/audits/csproj-standards/file-audit.csv
## Coding Standards Findings
- Status: FAIL
- Nullable: enable
- TreatWarningsAsErrors: inherited false
- Deterministic: inherited true
- 100-line rule violations: 11
- Namespace violations: 18
- 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/__Libraries/__Tests/StellaOps.AirGap.Bundle.Tests/AirGapCliToolTests.cs (361 lines)
- ../src/AirGap/__Libraries/__Tests/StellaOps.AirGap.Bundle.Tests/AirGapIntegrationTests.cs (396 lines)
- ../src/AirGap/__Libraries/__Tests/StellaOps.AirGap.Bundle.Tests/BundleDeterminismTests.cs (451 lines)
- ../src/AirGap/__Libraries/__Tests/StellaOps.AirGap.Bundle.Tests/BundleExportImportTests.cs (453 lines)
- ../src/AirGap/__Libraries/__Tests/StellaOps.AirGap.Bundle.Tests/BundleExportModeTests.cs (185 lines)
- ../src/AirGap/__Libraries/__Tests/StellaOps.AirGap.Bundle.Tests/BundleExportTests.cs (544 lines)
- ../src/AirGap/__Libraries/__Tests/StellaOps.AirGap.Bundle.Tests/BundleImportTests.cs (566 lines)
- ../src/AirGap/__Libraries/__Tests/StellaOps.AirGap.Bundle.Tests/BundleInlineArtifactSizeTests.cs (133 lines)
- ../src/AirGap/__Libraries/__Tests/StellaOps.AirGap.Bundle.Tests/BundleManifestTests.cs (323 lines)
- ../src/AirGap/__Libraries/__Tests/StellaOps.AirGap.Bundle.Tests/BundleTimestampOfflineVerificationTests.cs (227 lines)
- ../src/AirGap/__Libraries/__Tests/StellaOps.AirGap.Bundle.Tests/FunctionMapBundleIntegrationTests.cs (528 lines)
- Namespace issues:
- ../src/AirGap/__Libraries/__Tests/StellaOps.AirGap.Bundle.Tests/AirGapCliToolTests.cs: missing namespace
- ../src/AirGap/__Libraries/__Tests/StellaOps.AirGap.Bundle.Tests/AirGapIntegrationTests.cs: missing namespace
- ../src/AirGap/__Libraries/__Tests/StellaOps.AirGap.Bundle.Tests/BundleDeterminismTests.cs: missing namespace
- ../src/AirGap/__Libraries/__Tests/StellaOps.AirGap.Bundle.Tests/BundleExportImportTests.cs: missing namespace
- ../src/AirGap/__Libraries/__Tests/StellaOps.AirGap.Bundle.Tests/BundleExportModeTests.cs: missing namespace
- ../src/AirGap/__Libraries/__Tests/StellaOps.AirGap.Bundle.Tests/BundleExportTests.cs: missing namespace
- ../src/AirGap/__Libraries/__Tests/StellaOps.AirGap.Bundle.Tests/BundleImportTests.cs: missing namespace
- ../src/AirGap/__Libraries/__Tests/StellaOps.AirGap.Bundle.Tests/BundleInlineArtifactSizeTests.cs: missing namespace
- ../src/AirGap/__Libraries/__Tests/StellaOps.AirGap.Bundle.Tests/BundleManifestTests.cs: missing namespace
- ../src/AirGap/__Libraries/__Tests/StellaOps.AirGap.Bundle.Tests/BundleTimestampOfflineVerificationTests.cs: missing namespace
- ../src/AirGap/__Libraries/__Tests/StellaOps.AirGap.Bundle.Tests/FunctionMapBundleIntegrationTests.cs: missing namespace
- ../src/AirGap/__Libraries/__Tests/StellaOps.AirGap.Bundle.Tests/TrustProfileLoaderTests.cs: missing namespace
- ../src/AirGap/__Libraries/__Tests/StellaOps.AirGap.Bundle.Tests/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs: missing namespace
- ../src/AirGap/__Libraries/__Tests/StellaOps.AirGap.Bundle.Tests/obj/Debug/net10.0/SelfRegisteredExtensions.cs: missing namespace
- ../src/AirGap/__Libraries/__Tests/StellaOps.AirGap.Bundle.Tests/obj/Debug/net10.0/StellaOps.AirGap.Bundle.Tests.AssemblyInfo.cs: missing namespace
- ../src/AirGap/__Libraries/__Tests/StellaOps.AirGap.Bundle.Tests/obj/Debug/net10.0/StellaOps.AirGap.Bundle.Tests.GlobalUsings.g.cs: missing namespace
- ../src/AirGap/__Libraries/__Tests/StellaOps.AirGap.Bundle.Tests/obj/Debug/net10.0/XunitAutoGeneratedEntryPoint.cs: missing namespace
- ../src/AirGap/__Libraries/__Tests/StellaOps.AirGap.Bundle.Tests/obj/Release/net10.0/StellaOps.AirGap.Bundle.Tests.GlobalUsings.g.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>.
- Remove overrides that disable TreatWarningsAsErrors.
- Split files over 100 lines into smaller types or partials.
## File-Level Findings
- Status: FAIL
- Files scanned: 19
- Files with issues: 18
- See docs/implplan/audits/csproj-standards/file-audit.csv for full per-file status.
| File | Issues | Fix guidance |
| --- | --- | --- |
| ../src/AirGap/__Libraries/__Tests/StellaOps.AirGap.Bundle.Tests/AirGapCliToolTests.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| ../src/AirGap/__Libraries/__Tests/StellaOps.AirGap.Bundle.Tests/AirGapIntegrationTests.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| ../src/AirGap/__Libraries/__Tests/StellaOps.AirGap.Bundle.Tests/BundleDeterminismTests.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| ../src/AirGap/__Libraries/__Tests/StellaOps.AirGap.Bundle.Tests/BundleExportImportTests.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| ../src/AirGap/__Libraries/__Tests/StellaOps.AirGap.Bundle.Tests/BundleExportModeTests.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| ../src/AirGap/__Libraries/__Tests/StellaOps.AirGap.Bundle.Tests/BundleExportTests.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| ../src/AirGap/__Libraries/__Tests/StellaOps.AirGap.Bundle.Tests/BundleImportTests.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| ../src/AirGap/__Libraries/__Tests/StellaOps.AirGap.Bundle.Tests/BundleInlineArtifactSizeTests.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| ../src/AirGap/__Libraries/__Tests/StellaOps.AirGap.Bundle.Tests/BundleManifestTests.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| ../src/AirGap/__Libraries/__Tests/StellaOps.AirGap.Bundle.Tests/BundleTimestampOfflineVerificationTests.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| ../src/AirGap/__Libraries/__Tests/StellaOps.AirGap.Bundle.Tests/FunctionMapBundleIntegrationTests.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| ../src/AirGap/__Libraries/__Tests/StellaOps.AirGap.Bundle.Tests/TrustProfileLoaderTests.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| ../src/AirGap/__Libraries/__Tests/StellaOps.AirGap.Bundle.Tests/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| ../src/AirGap/__Libraries/__Tests/StellaOps.AirGap.Bundle.Tests/obj/Debug/net10.0/SelfRegisteredExtensions.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| ../src/AirGap/__Libraries/__Tests/StellaOps.AirGap.Bundle.Tests/obj/Debug/net10.0/StellaOps.AirGap.Bundle.Tests.AssemblyInfo.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| ../src/AirGap/__Libraries/__Tests/StellaOps.AirGap.Bundle.Tests/obj/Debug/net10.0/StellaOps.AirGap.Bundle.Tests.GlobalUsings.g.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| ../src/AirGap/__Libraries/__Tests/StellaOps.AirGap.Bundle.Tests/obj/Debug/net10.0/XunitAutoGeneratedEntryPoint.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| ../src/AirGap/__Libraries/__Tests/StellaOps.AirGap.Bundle.Tests/obj/Release/net10.0/StellaOps.AirGap.Bundle.Tests.GlobalUsings.g.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
## Testing Fullness Findings
- Status: FAIL
- Expected layers (heuristic): Unit
- Detected test projects: none
- 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.

View File

@@ -0,0 +1,96 @@
# Audit - StellaOps.AirGap.Controller.Tests
## Project
- Path: ../src/AirGap/__Tests/StellaOps.AirGap.Controller.Tests/StellaOps.AirGap.Controller.Tests.csproj
- Module: ..
- Kind: Library
- Audit date (UTC): 2026-01-30
- Files scanned: 13
- Files with issues: 13
- File-level report: docs/implplan/audits/csproj-standards/file-audit.csv
## Coding Standards Findings
- Status: FAIL
- Nullable: enable
- TreatWarningsAsErrors: inherited false
- Deterministic: inherited true
- 100-line rule violations: 4
- Namespace violations: 13
- 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/__Tests/StellaOps.AirGap.Controller.Tests/AirGapEndpointTests.cs (112 lines)
- ../src/AirGap/__Tests/StellaOps.AirGap.Controller.Tests/AirGapStartupDiagnosticsHostedServiceTests.cs (173 lines)
- ../src/AirGap/__Tests/StellaOps.AirGap.Controller.Tests/AirGapStateServiceTests.cs (146 lines)
- ../src/AirGap/__Tests/StellaOps.AirGap.Controller.Tests/InMemoryAirGapStateStoreTests.cs (154 lines)
- Namespace issues:
- ../src/AirGap/__Tests/StellaOps.AirGap.Controller.Tests/AirGapEndpointTests.cs: missing namespace
- ../src/AirGap/__Tests/StellaOps.AirGap.Controller.Tests/AirGapStartupDiagnosticsHostedServiceTests.cs: missing namespace
- ../src/AirGap/__Tests/StellaOps.AirGap.Controller.Tests/AirGapStateServiceTests.cs: missing namespace
- ../src/AirGap/__Tests/StellaOps.AirGap.Controller.Tests/AirGapTelemetryTests.cs: missing namespace
- ../src/AirGap/__Tests/StellaOps.AirGap.Controller.Tests/InMemoryAirGapStateStoreTests.cs: missing namespace
- ../src/AirGap/__Tests/StellaOps.AirGap.Controller.Tests/ReplayVerificationServiceTests.cs: missing namespace
- ../src/AirGap/__Tests/StellaOps.AirGap.Controller.Tests/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs: missing namespace
- ../src/AirGap/__Tests/StellaOps.AirGap.Controller.Tests/obj/Debug/net10.0/SelfRegisteredExtensions.cs: missing namespace
- ../src/AirGap/__Tests/StellaOps.AirGap.Controller.Tests/obj/Debug/net10.0/StellaOps.AirGap.Controller.Tests.AssemblyInfo.cs: missing namespace
- ../src/AirGap/__Tests/StellaOps.AirGap.Controller.Tests/obj/Debug/net10.0/StellaOps.AirGap.Controller.Tests.GlobalUsings.g.cs: missing namespace
- ../src/AirGap/__Tests/StellaOps.AirGap.Controller.Tests/obj/Debug/net10.0/XunitAutoGeneratedEntryPoint.cs: missing namespace
- ../src/AirGap/__Tests/StellaOps.AirGap.Controller.Tests/obj/Release/net10.0/StellaOps.AirGap.Controller.Tests.GlobalUsings.g.cs: missing namespace
- ../src/AirGap/__Tests/StellaOps.AirGap.Controller.Tests/TestUtilities/TempDirectory.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>.
- Remove overrides that disable TreatWarningsAsErrors.
- Split files over 100 lines into smaller types or partials.
## File-Level Findings
- Status: FAIL
- Files scanned: 13
- Files with issues: 13
- See docs/implplan/audits/csproj-standards/file-audit.csv for full per-file status.
| File | Issues | Fix guidance |
| --- | --- | --- |
| ../src/AirGap/__Tests/StellaOps.AirGap.Controller.Tests/AirGapEndpointTests.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| ../src/AirGap/__Tests/StellaOps.AirGap.Controller.Tests/AirGapStartupDiagnosticsHostedServiceTests.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| ../src/AirGap/__Tests/StellaOps.AirGap.Controller.Tests/AirGapStateServiceTests.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| ../src/AirGap/__Tests/StellaOps.AirGap.Controller.Tests/AirGapTelemetryTests.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| ../src/AirGap/__Tests/StellaOps.AirGap.Controller.Tests/InMemoryAirGapStateStoreTests.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| ../src/AirGap/__Tests/StellaOps.AirGap.Controller.Tests/ReplayVerificationServiceTests.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| ../src/AirGap/__Tests/StellaOps.AirGap.Controller.Tests/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| ../src/AirGap/__Tests/StellaOps.AirGap.Controller.Tests/obj/Debug/net10.0/SelfRegisteredExtensions.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| ../src/AirGap/__Tests/StellaOps.AirGap.Controller.Tests/obj/Debug/net10.0/StellaOps.AirGap.Controller.Tests.AssemblyInfo.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| ../src/AirGap/__Tests/StellaOps.AirGap.Controller.Tests/obj/Debug/net10.0/StellaOps.AirGap.Controller.Tests.GlobalUsings.g.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| ../src/AirGap/__Tests/StellaOps.AirGap.Controller.Tests/obj/Debug/net10.0/XunitAutoGeneratedEntryPoint.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| ../src/AirGap/__Tests/StellaOps.AirGap.Controller.Tests/obj/Release/net10.0/StellaOps.AirGap.Controller.Tests.GlobalUsings.g.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| ../src/AirGap/__Tests/StellaOps.AirGap.Controller.Tests/TestUtilities/TempDirectory.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
## Testing Fullness Findings
- Status: FAIL
- Expected layers (heuristic): Unit
- Detected test projects: none
- 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.

View File

@@ -0,0 +1,147 @@
# Audit - StellaOps.AirGap.Importer.Tests
## Project
- Path: ../src/AirGap/__Tests/StellaOps.AirGap.Importer.Tests/StellaOps.AirGap.Importer.Tests.csproj
- Module: ..
- Kind: Library
- Audit date (UTC): 2026-01-30
- Files scanned: 34
- Files with issues: 33
- File-level report: docs/implplan/audits/csproj-standards/file-audit.csv
## Coding Standards Findings
- Status: FAIL
- Nullable: enable
- TreatWarningsAsErrors: explicit false
- Deterministic: inherited true
- 100-line rule violations: 15
- Namespace violations: 33
- 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/__Tests/StellaOps.AirGap.Importer.Tests/AirGapControllerContractTests.cs (382 lines)
- ../src/AirGap/__Tests/StellaOps.AirGap.Importer.Tests/ImportValidatorTests.cs (488 lines)
- ../src/AirGap/__Tests/StellaOps.AirGap.Importer.Tests/OfflineKitMetricsTests.cs (121 lines)
- ../src/AirGap/__Tests/StellaOps.AirGap.Importer.Tests/Quarantine/FileSystemQuarantineServiceTests.cs (156 lines)
- ../src/AirGap/__Tests/StellaOps.AirGap.Importer.Tests/Reconciliation/CycloneDxParserTests.cs (137 lines)
- ../src/AirGap/__Tests/StellaOps.AirGap.Importer.Tests/Reconciliation/DsseAttestationParserTests.cs (142 lines)
- ../src/AirGap/__Tests/StellaOps.AirGap.Importer.Tests/Reconciliation/EvidenceReconcilerVexTests.cs (149 lines)
- ../src/AirGap/__Tests/StellaOps.AirGap.Importer.Tests/Reconciliation/SbomNormalizerVolatileFieldsTests.cs (425 lines)
- ../src/AirGap/__Tests/StellaOps.AirGap.Importer.Tests/Reconciliation/SourcePrecedenceLatticePropertyTests.cs (454 lines)
- ../src/AirGap/__Tests/StellaOps.AirGap.Importer.Tests/Reconciliation/SpdxParserTests.cs (150 lines)
- ../src/AirGap/__Tests/StellaOps.AirGap.Importer.Tests/Validation/ImportValidatorIntegrationTests.cs (189 lines)
- ../src/AirGap/__Tests/StellaOps.AirGap.Importer.Tests/Validation/ReferrerValidatorTests.cs (600 lines)
- ../src/AirGap/__Tests/StellaOps.AirGap.Importer.Tests/Validation/RekorOfflineReceiptVerifierTests.cs (166 lines)
- ../src/AirGap/__Tests/StellaOps.AirGap.Importer.Tests/Validation/RuleBundleValidatorTests.cs (413 lines)
- ../src/AirGap/__Tests/StellaOps.AirGap.Importer.Tests/Versioning/VersionMonotonicityCheckerTests.cs (158 lines)
- Namespace issues:
- ../src/AirGap/__Tests/StellaOps.AirGap.Importer.Tests/AirGapControllerContractTests.cs: missing namespace
- ../src/AirGap/__Tests/StellaOps.AirGap.Importer.Tests/BundleImportPlannerTests.cs: missing namespace
- ../src/AirGap/__Tests/StellaOps.AirGap.Importer.Tests/DsseVerifierTests.cs: missing namespace
- ../src/AirGap/__Tests/StellaOps.AirGap.Importer.Tests/ImportValidatorTests.cs: missing namespace
- ../src/AirGap/__Tests/StellaOps.AirGap.Importer.Tests/InMemoryBundleRepositoriesTests.cs: missing namespace
- ../src/AirGap/__Tests/StellaOps.AirGap.Importer.Tests/MerkleRootCalculatorTests.cs: missing namespace
- ../src/AirGap/__Tests/StellaOps.AirGap.Importer.Tests/OfflineKitMetricsTests.cs: missing namespace
- ../src/AirGap/__Tests/StellaOps.AirGap.Importer.Tests/ReplayVerifierTests.cs: missing namespace
- ../src/AirGap/__Tests/StellaOps.AirGap.Importer.Tests/RootRotationPolicyTests.cs: missing namespace
- ../src/AirGap/__Tests/StellaOps.AirGap.Importer.Tests/TufMetadataValidatorTests.cs: missing namespace
- ../src/AirGap/__Tests/StellaOps.AirGap.Importer.Tests/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs: missing namespace
- ../src/AirGap/__Tests/StellaOps.AirGap.Importer.Tests/obj/Debug/net10.0/SelfRegisteredExtensions.cs: missing namespace
- ../src/AirGap/__Tests/StellaOps.AirGap.Importer.Tests/obj/Debug/net10.0/StellaOps.AirGap.Importer.Tests.AssemblyInfo.cs: missing namespace
- ../src/AirGap/__Tests/StellaOps.AirGap.Importer.Tests/obj/Debug/net10.0/StellaOps.AirGap.Importer.Tests.GlobalUsings.g.cs: missing namespace
- ../src/AirGap/__Tests/StellaOps.AirGap.Importer.Tests/obj/Debug/net10.0/XunitAutoGeneratedEntryPoint.cs: missing namespace
- ../src/AirGap/__Tests/StellaOps.AirGap.Importer.Tests/obj/Release/net10.0/StellaOps.AirGap.Importer.Tests.GlobalUsings.g.cs: missing namespace
- ../src/AirGap/__Tests/StellaOps.AirGap.Importer.Tests/Quarantine/FileSystemQuarantineServiceTests.cs: missing namespace
- ../src/AirGap/__Tests/StellaOps.AirGap.Importer.Tests/Reconciliation/ArtifactIndexDigestNormalizationTests.cs: missing namespace
- ../src/AirGap/__Tests/StellaOps.AirGap.Importer.Tests/Reconciliation/ArtifactIndexTests.cs: missing namespace
- ../src/AirGap/__Tests/StellaOps.AirGap.Importer.Tests/Reconciliation/CycloneDxParserTests.cs: missing namespace
- ../src/AirGap/__Tests/StellaOps.AirGap.Importer.Tests/Reconciliation/DsseAttestationParserTests.cs: missing namespace
- ../src/AirGap/__Tests/StellaOps.AirGap.Importer.Tests/Reconciliation/EvidenceDirectoryDiscoveryTests.cs: missing namespace
- ../src/AirGap/__Tests/StellaOps.AirGap.Importer.Tests/Reconciliation/EvidenceReconcilerDsseSigningTests.cs: missing namespace
- ../src/AirGap/__Tests/StellaOps.AirGap.Importer.Tests/Reconciliation/EvidenceReconcilerVexTests.cs: missing namespace
- ../src/AirGap/__Tests/StellaOps.AirGap.Importer.Tests/Reconciliation/SbomNormalizerVolatileFieldsTests.cs: missing namespace
- ../src/AirGap/__Tests/StellaOps.AirGap.Importer.Tests/Reconciliation/SourcePrecedenceLatticePropertyTests.cs: missing namespace
- ../src/AirGap/__Tests/StellaOps.AirGap.Importer.Tests/Reconciliation/SpdxParserTests.cs: missing namespace
- ../src/AirGap/__Tests/StellaOps.AirGap.Importer.Tests/Validation/ImportValidatorIntegrationTests.cs: missing namespace
- ../src/AirGap/__Tests/StellaOps.AirGap.Importer.Tests/Validation/ReferrerValidatorTests.cs: missing namespace
- ../src/AirGap/__Tests/StellaOps.AirGap.Importer.Tests/Validation/RekorOfflineReceiptVerifierTests.cs: missing namespace
- ../src/AirGap/__Tests/StellaOps.AirGap.Importer.Tests/Validation/RuleBundleValidatorTests.cs: missing namespace
- ../src/AirGap/__Tests/StellaOps.AirGap.Importer.Tests/Versioning/BundleVersionTests.cs: missing namespace
- ../src/AirGap/__Tests/StellaOps.AirGap.Importer.Tests/Versioning/VersionMonotonicityCheckerTests.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>.
- Remove overrides that disable TreatWarningsAsErrors.
- Split files over 100 lines into smaller types or partials.
## File-Level Findings
- Status: FAIL
- Files scanned: 34
- Files with issues: 33
- See docs/implplan/audits/csproj-standards/file-audit.csv for full per-file status.
| File | Issues | Fix guidance |
| --- | --- | --- |
| ../src/AirGap/__Tests/StellaOps.AirGap.Importer.Tests/AirGapControllerContractTests.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| ../src/AirGap/__Tests/StellaOps.AirGap.Importer.Tests/BundleImportPlannerTests.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| ../src/AirGap/__Tests/StellaOps.AirGap.Importer.Tests/DsseVerifierTests.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| ../src/AirGap/__Tests/StellaOps.AirGap.Importer.Tests/ImportValidatorTests.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| ../src/AirGap/__Tests/StellaOps.AirGap.Importer.Tests/InMemoryBundleRepositoriesTests.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| ../src/AirGap/__Tests/StellaOps.AirGap.Importer.Tests/MerkleRootCalculatorTests.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| ../src/AirGap/__Tests/StellaOps.AirGap.Importer.Tests/OfflineKitMetricsTests.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| ../src/AirGap/__Tests/StellaOps.AirGap.Importer.Tests/ReplayVerifierTests.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| ../src/AirGap/__Tests/StellaOps.AirGap.Importer.Tests/RootRotationPolicyTests.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| ../src/AirGap/__Tests/StellaOps.AirGap.Importer.Tests/TufMetadataValidatorTests.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| ../src/AirGap/__Tests/StellaOps.AirGap.Importer.Tests/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| ../src/AirGap/__Tests/StellaOps.AirGap.Importer.Tests/obj/Debug/net10.0/SelfRegisteredExtensions.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| ../src/AirGap/__Tests/StellaOps.AirGap.Importer.Tests/obj/Debug/net10.0/StellaOps.AirGap.Importer.Tests.AssemblyInfo.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| ../src/AirGap/__Tests/StellaOps.AirGap.Importer.Tests/obj/Debug/net10.0/StellaOps.AirGap.Importer.Tests.GlobalUsings.g.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| ../src/AirGap/__Tests/StellaOps.AirGap.Importer.Tests/obj/Debug/net10.0/XunitAutoGeneratedEntryPoint.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| ../src/AirGap/__Tests/StellaOps.AirGap.Importer.Tests/obj/Release/net10.0/StellaOps.AirGap.Importer.Tests.GlobalUsings.g.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| ../src/AirGap/__Tests/StellaOps.AirGap.Importer.Tests/Quarantine/FileSystemQuarantineServiceTests.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| ../src/AirGap/__Tests/StellaOps.AirGap.Importer.Tests/Reconciliation/ArtifactIndexDigestNormalizationTests.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| ../src/AirGap/__Tests/StellaOps.AirGap.Importer.Tests/Reconciliation/ArtifactIndexTests.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| ../src/AirGap/__Tests/StellaOps.AirGap.Importer.Tests/Reconciliation/CycloneDxParserTests.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| ../src/AirGap/__Tests/StellaOps.AirGap.Importer.Tests/Reconciliation/DsseAttestationParserTests.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| ../src/AirGap/__Tests/StellaOps.AirGap.Importer.Tests/Reconciliation/EvidenceDirectoryDiscoveryTests.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| ../src/AirGap/__Tests/StellaOps.AirGap.Importer.Tests/Reconciliation/EvidenceReconcilerDsseSigningTests.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| ../src/AirGap/__Tests/StellaOps.AirGap.Importer.Tests/Reconciliation/EvidenceReconcilerVexTests.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| ../src/AirGap/__Tests/StellaOps.AirGap.Importer.Tests/Reconciliation/SbomNormalizerVolatileFieldsTests.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| ../src/AirGap/__Tests/StellaOps.AirGap.Importer.Tests/Reconciliation/SourcePrecedenceLatticePropertyTests.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| ../src/AirGap/__Tests/StellaOps.AirGap.Importer.Tests/Reconciliation/SpdxParserTests.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| ../src/AirGap/__Tests/StellaOps.AirGap.Importer.Tests/Validation/ImportValidatorIntegrationTests.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| ../src/AirGap/__Tests/StellaOps.AirGap.Importer.Tests/Validation/ReferrerValidatorTests.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| ../src/AirGap/__Tests/StellaOps.AirGap.Importer.Tests/Validation/RekorOfflineReceiptVerifierTests.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| ../src/AirGap/__Tests/StellaOps.AirGap.Importer.Tests/Validation/RuleBundleValidatorTests.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| ../src/AirGap/__Tests/StellaOps.AirGap.Importer.Tests/Versioning/BundleVersionTests.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| ../src/AirGap/__Tests/StellaOps.AirGap.Importer.Tests/Versioning/VersionMonotonicityCheckerTests.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
## Testing Fullness Findings
- Status: FAIL
- Expected layers (heuristic): Unit
- Detected test projects: none
- 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.

View File

@@ -0,0 +1,87 @@
# Audit - StellaOps.AirGap.Persistence.Tests
## Project
- Path: ../src/AirGap/__Tests/StellaOps.AirGap.Persistence.Tests/StellaOps.AirGap.Persistence.Tests.csproj
- Module: ..
- Kind: Library
- Audit date (UTC): 2026-01-30
- Files scanned: 9
- Files with issues: 9
- File-level report: docs/implplan/audits/csproj-standards/file-audit.csv
## Coding Standards Findings
- Status: FAIL
- Nullable: enable
- TreatWarningsAsErrors: inherited false
- Deterministic: inherited true
- 100-line rule violations: 3
- Namespace violations: 9
- 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/__Tests/StellaOps.AirGap.Persistence.Tests/AirGapPostgresFixture.cs (128 lines)
- ../src/AirGap/__Tests/StellaOps.AirGap.Persistence.Tests/AirGapStorageIntegrationTests.cs (343 lines)
- ../src/AirGap/__Tests/StellaOps.AirGap.Persistence.Tests/PostgresAirGapStateStoreTests.cs (176 lines)
- Namespace issues:
- ../src/AirGap/__Tests/StellaOps.AirGap.Persistence.Tests/AirGapPostgresFixture.cs: missing namespace
- ../src/AirGap/__Tests/StellaOps.AirGap.Persistence.Tests/AirGapStorageIntegrationTests.cs: missing namespace
- ../src/AirGap/__Tests/StellaOps.AirGap.Persistence.Tests/PostgresAirGapStateStoreTests.cs: missing namespace
- ../src/AirGap/__Tests/StellaOps.AirGap.Persistence.Tests/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs: missing namespace
- ../src/AirGap/__Tests/StellaOps.AirGap.Persistence.Tests/obj/Debug/net10.0/SelfRegisteredExtensions.cs: missing namespace
- ../src/AirGap/__Tests/StellaOps.AirGap.Persistence.Tests/obj/Debug/net10.0/StellaOps.AirGap.Persistence.Tests.AssemblyInfo.cs: missing namespace
- ../src/AirGap/__Tests/StellaOps.AirGap.Persistence.Tests/obj/Debug/net10.0/StellaOps.AirGap.Persistence.Tests.GlobalUsings.g.cs: missing namespace
- ../src/AirGap/__Tests/StellaOps.AirGap.Persistence.Tests/obj/Debug/net10.0/XunitAutoGeneratedEntryPoint.cs: missing namespace
- ../src/AirGap/__Tests/StellaOps.AirGap.Persistence.Tests/obj/Release/net10.0/StellaOps.AirGap.Persistence.Tests.GlobalUsings.g.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>.
- Remove overrides that disable TreatWarningsAsErrors.
- Split files over 100 lines into smaller types or partials.
## File-Level Findings
- Status: FAIL
- Files scanned: 9
- Files with issues: 9
- See docs/implplan/audits/csproj-standards/file-audit.csv for full per-file status.
| File | Issues | Fix guidance |
| --- | --- | --- |
| ../src/AirGap/__Tests/StellaOps.AirGap.Persistence.Tests/AirGapPostgresFixture.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| ../src/AirGap/__Tests/StellaOps.AirGap.Persistence.Tests/AirGapStorageIntegrationTests.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| ../src/AirGap/__Tests/StellaOps.AirGap.Persistence.Tests/PostgresAirGapStateStoreTests.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| ../src/AirGap/__Tests/StellaOps.AirGap.Persistence.Tests/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| ../src/AirGap/__Tests/StellaOps.AirGap.Persistence.Tests/obj/Debug/net10.0/SelfRegisteredExtensions.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| ../src/AirGap/__Tests/StellaOps.AirGap.Persistence.Tests/obj/Debug/net10.0/StellaOps.AirGap.Persistence.Tests.AssemblyInfo.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| ../src/AirGap/__Tests/StellaOps.AirGap.Persistence.Tests/obj/Debug/net10.0/StellaOps.AirGap.Persistence.Tests.GlobalUsings.g.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| ../src/AirGap/__Tests/StellaOps.AirGap.Persistence.Tests/obj/Debug/net10.0/XunitAutoGeneratedEntryPoint.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| ../src/AirGap/__Tests/StellaOps.AirGap.Persistence.Tests/obj/Release/net10.0/StellaOps.AirGap.Persistence.Tests.GlobalUsings.g.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
## Testing Fullness Findings
- Status: FAIL
- Expected layers (heuristic): Integration, Unit
- Detected test projects: none
- Missing layers: Integration, 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.

View File

@@ -0,0 +1,87 @@
# Audit - StellaOps.AirGap.Sync.Tests
## Project
- Path: ../src/AirGap/__Tests/StellaOps.AirGap.Sync.Tests/StellaOps.AirGap.Sync.Tests.csproj
- Module: ..
- Kind: Library
- Audit date (UTC): 2026-01-30
- Files scanned: 9
- Files with issues: 9
- File-level report: docs/implplan/audits/csproj-standards/file-audit.csv
## Coding Standards Findings
- Status: FAIL
- Nullable: enable
- TreatWarningsAsErrors: explicit false
- Deterministic: inherited true
- 100-line rule violations: 3
- Namespace violations: 9
- 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/__Tests/StellaOps.AirGap.Sync.Tests/AirGapBundleDsseSignerTests.cs (243 lines)
- ../src/AirGap/__Tests/StellaOps.AirGap.Sync.Tests/ConflictResolverTests.cs (343 lines)
- ../src/AirGap/__Tests/StellaOps.AirGap.Sync.Tests/HlcMergeServiceTests.cs (452 lines)
- Namespace issues:
- ../src/AirGap/__Tests/StellaOps.AirGap.Sync.Tests/AirGapBundleDsseSignerTests.cs: missing namespace
- ../src/AirGap/__Tests/StellaOps.AirGap.Sync.Tests/ConflictResolverTests.cs: missing namespace
- ../src/AirGap/__Tests/StellaOps.AirGap.Sync.Tests/HlcMergeServiceTests.cs: missing namespace
- ../src/AirGap/__Tests/StellaOps.AirGap.Sync.Tests/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs: missing namespace
- ../src/AirGap/__Tests/StellaOps.AirGap.Sync.Tests/obj/Debug/net10.0/SelfRegisteredExtensions.cs: missing namespace
- ../src/AirGap/__Tests/StellaOps.AirGap.Sync.Tests/obj/Debug/net10.0/StellaOps.AirGap.Sync.Tests.AssemblyInfo.cs: missing namespace
- ../src/AirGap/__Tests/StellaOps.AirGap.Sync.Tests/obj/Debug/net10.0/StellaOps.AirGap.Sync.Tests.GlobalUsings.g.cs: missing namespace
- ../src/AirGap/__Tests/StellaOps.AirGap.Sync.Tests/obj/Debug/net10.0/XunitAutoGeneratedEntryPoint.cs: missing namespace
- ../src/AirGap/__Tests/StellaOps.AirGap.Sync.Tests/obj/Release/net10.0/StellaOps.AirGap.Sync.Tests.GlobalUsings.g.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>.
- Remove overrides that disable TreatWarningsAsErrors.
- Split files over 100 lines into smaller types or partials.
## File-Level Findings
- Status: FAIL
- Files scanned: 9
- Files with issues: 9
- See docs/implplan/audits/csproj-standards/file-audit.csv for full per-file status.
| File | Issues | Fix guidance |
| --- | --- | --- |
| ../src/AirGap/__Tests/StellaOps.AirGap.Sync.Tests/AirGapBundleDsseSignerTests.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| ../src/AirGap/__Tests/StellaOps.AirGap.Sync.Tests/ConflictResolverTests.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| ../src/AirGap/__Tests/StellaOps.AirGap.Sync.Tests/HlcMergeServiceTests.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| ../src/AirGap/__Tests/StellaOps.AirGap.Sync.Tests/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| ../src/AirGap/__Tests/StellaOps.AirGap.Sync.Tests/obj/Debug/net10.0/SelfRegisteredExtensions.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| ../src/AirGap/__Tests/StellaOps.AirGap.Sync.Tests/obj/Debug/net10.0/StellaOps.AirGap.Sync.Tests.AssemblyInfo.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| ../src/AirGap/__Tests/StellaOps.AirGap.Sync.Tests/obj/Debug/net10.0/StellaOps.AirGap.Sync.Tests.GlobalUsings.g.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| ../src/AirGap/__Tests/StellaOps.AirGap.Sync.Tests/obj/Debug/net10.0/XunitAutoGeneratedEntryPoint.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| ../src/AirGap/__Tests/StellaOps.AirGap.Sync.Tests/obj/Release/net10.0/StellaOps.AirGap.Sync.Tests.GlobalUsings.g.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
## Testing Fullness Findings
- Status: FAIL
- Expected layers (heuristic): Unit
- Detected test projects: none
- 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.

View File

@@ -0,0 +1,107 @@
# Audit - StellaOps.AirGap.Time.Tests
## Project
- Path: ../src/AirGap/__Tests/StellaOps.AirGap.Time.Tests/StellaOps.AirGap.Time.Tests.csproj
- Module: ..
- Kind: Library
- Audit date (UTC): 2026-01-30
- Files scanned: 20
- Files with issues: 19
- File-level report: docs/implplan/audits/csproj-standards/file-audit.csv
## Coding Standards Findings
- Status: FAIL
- Nullable: enable
- TreatWarningsAsErrors: inherited false
- Deterministic: inherited true
- 100-line rule violations: 3
- Namespace violations: 19
- 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/__Tests/StellaOps.AirGap.Time.Tests/Rfc3161VerifierTests.cs (102 lines)
- ../src/AirGap/__Tests/StellaOps.AirGap.Time.Tests/RoughtimeVerifierTests.cs (159 lines)
- ../src/AirGap/__Tests/StellaOps.AirGap.Time.Tests/TimeAnchorPolicyServiceTests.cs (274 lines)
- Namespace issues:
- ../src/AirGap/__Tests/StellaOps.AirGap.Time.Tests/AirGapOptionsValidatorTests.cs: missing namespace
- ../src/AirGap/__Tests/StellaOps.AirGap.Time.Tests/Rfc3161VerifierTests.cs: missing namespace
- ../src/AirGap/__Tests/StellaOps.AirGap.Time.Tests/RoughtimeVerifierTests.cs: missing namespace
- ../src/AirGap/__Tests/StellaOps.AirGap.Time.Tests/SealedStartupValidatorTests.cs: missing namespace
- ../src/AirGap/__Tests/StellaOps.AirGap.Time.Tests/StalenessCalculatorTests.cs: missing namespace
- ../src/AirGap/__Tests/StellaOps.AirGap.Time.Tests/TestOptionsMonitor.cs: missing namespace
- ../src/AirGap/__Tests/StellaOps.AirGap.Time.Tests/TimeAnchorLoaderTests.cs: missing namespace
- ../src/AirGap/__Tests/StellaOps.AirGap.Time.Tests/TimeAnchorPolicyServiceTests.cs: missing namespace
- ../src/AirGap/__Tests/StellaOps.AirGap.Time.Tests/TimeStatusDtoTests.cs: missing namespace
- ../src/AirGap/__Tests/StellaOps.AirGap.Time.Tests/TimeStatusServiceTests.cs: missing namespace
- ../src/AirGap/__Tests/StellaOps.AirGap.Time.Tests/TimeTelemetryTests.cs: missing namespace
- ../src/AirGap/__Tests/StellaOps.AirGap.Time.Tests/TimeTokenParserTests.cs: missing namespace
- ../src/AirGap/__Tests/StellaOps.AirGap.Time.Tests/TimeVerificationServiceTests.cs: missing namespace
- ../src/AirGap/__Tests/StellaOps.AirGap.Time.Tests/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs: missing namespace
- ../src/AirGap/__Tests/StellaOps.AirGap.Time.Tests/obj/Debug/net10.0/SelfRegisteredExtensions.cs: missing namespace
- ../src/AirGap/__Tests/StellaOps.AirGap.Time.Tests/obj/Debug/net10.0/StellaOps.AirGap.Time.Tests.AssemblyInfo.cs: missing namespace
- ../src/AirGap/__Tests/StellaOps.AirGap.Time.Tests/obj/Debug/net10.0/StellaOps.AirGap.Time.Tests.GlobalUsings.g.cs: missing namespace
- ../src/AirGap/__Tests/StellaOps.AirGap.Time.Tests/obj/Debug/net10.0/XunitAutoGeneratedEntryPoint.cs: missing namespace
- ../src/AirGap/__Tests/StellaOps.AirGap.Time.Tests/obj/Release/net10.0/StellaOps.AirGap.Time.Tests.GlobalUsings.g.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>.
- Remove overrides that disable TreatWarningsAsErrors.
- Split files over 100 lines into smaller types or partials.
## File-Level Findings
- Status: FAIL
- Files scanned: 20
- Files with issues: 19
- See docs/implplan/audits/csproj-standards/file-audit.csv for full per-file status.
| File | Issues | Fix guidance |
| --- | --- | --- |
| ../src/AirGap/__Tests/StellaOps.AirGap.Time.Tests/AirGapOptionsValidatorTests.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| ../src/AirGap/__Tests/StellaOps.AirGap.Time.Tests/Rfc3161VerifierTests.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| ../src/AirGap/__Tests/StellaOps.AirGap.Time.Tests/RoughtimeVerifierTests.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| ../src/AirGap/__Tests/StellaOps.AirGap.Time.Tests/SealedStartupValidatorTests.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| ../src/AirGap/__Tests/StellaOps.AirGap.Time.Tests/StalenessCalculatorTests.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| ../src/AirGap/__Tests/StellaOps.AirGap.Time.Tests/TestOptionsMonitor.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| ../src/AirGap/__Tests/StellaOps.AirGap.Time.Tests/TimeAnchorLoaderTests.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| ../src/AirGap/__Tests/StellaOps.AirGap.Time.Tests/TimeAnchorPolicyServiceTests.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| ../src/AirGap/__Tests/StellaOps.AirGap.Time.Tests/TimeStatusDtoTests.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| ../src/AirGap/__Tests/StellaOps.AirGap.Time.Tests/TimeStatusServiceTests.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| ../src/AirGap/__Tests/StellaOps.AirGap.Time.Tests/TimeTelemetryTests.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| ../src/AirGap/__Tests/StellaOps.AirGap.Time.Tests/TimeTokenParserTests.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| ../src/AirGap/__Tests/StellaOps.AirGap.Time.Tests/TimeVerificationServiceTests.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| ../src/AirGap/__Tests/StellaOps.AirGap.Time.Tests/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| ../src/AirGap/__Tests/StellaOps.AirGap.Time.Tests/obj/Debug/net10.0/SelfRegisteredExtensions.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| ../src/AirGap/__Tests/StellaOps.AirGap.Time.Tests/obj/Debug/net10.0/StellaOps.AirGap.Time.Tests.AssemblyInfo.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| ../src/AirGap/__Tests/StellaOps.AirGap.Time.Tests/obj/Debug/net10.0/StellaOps.AirGap.Time.Tests.GlobalUsings.g.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| ../src/AirGap/__Tests/StellaOps.AirGap.Time.Tests/obj/Debug/net10.0/XunitAutoGeneratedEntryPoint.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| ../src/AirGap/__Tests/StellaOps.AirGap.Time.Tests/obj/Release/net10.0/StellaOps.AirGap.Time.Tests.GlobalUsings.g.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
## Testing Fullness Findings
- Status: FAIL
- Expected layers (heuristic): Unit
- Detected test projects: none
- 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.