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,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.