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,209 @@
# Audit - StellaOps.Scanner.Analyzers.Native
## Project
- Path: src/Scanner/StellaOps.Scanner.Analyzers.Native/StellaOps.Scanner.Analyzers.Native.csproj
- Module: Scanner
- Kind: Library
- Audit date (UTC): 2026-01-30
- Files scanned: 57
- Files with issues: 57
- 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: 30
- Namespace violations: 57
- 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/Scanner/StellaOps.Scanner.Analyzers.Native/ElfDynamicSectionParser.cs (567 lines)
- src/Scanner/StellaOps.Scanner.Analyzers.Native/HeuristicScanner.cs (411 lines)
- src/Scanner/StellaOps.Scanner.Analyzers.Native/MachOLoadCommandParser.cs (331 lines)
- src/Scanner/StellaOps.Scanner.Analyzers.Native/MachOReader.cs (832 lines)
- src/Scanner/StellaOps.Scanner.Analyzers.Native/NativeFormatDetector.cs (408 lines)
- src/Scanner/StellaOps.Scanner.Analyzers.Native/NativeResolver.cs (477 lines)
- src/Scanner/StellaOps.Scanner.Analyzers.Native/PeImportParser.cs (573 lines)
- src/Scanner/StellaOps.Scanner.Analyzers.Native/PeReader.cs (758 lines)
- src/Scanner/StellaOps.Scanner.Analyzers.Native/ServiceCollectionExtensions.cs (203 lines)
- src/Scanner/StellaOps.Scanner.Analyzers.Native/Hardening/ElfHardeningExtractor.cs (658 lines)
- src/Scanner/StellaOps.Scanner.Analyzers.Native/Hardening/HardeningFlags.cs (141 lines)
- src/Scanner/StellaOps.Scanner.Analyzers.Native/Hardening/MachoHardeningExtractor.cs (297 lines)
- src/Scanner/StellaOps.Scanner.Analyzers.Native/Hardening/PeHardeningExtractor.cs (273 lines)
- src/Scanner/StellaOps.Scanner.Analyzers.Native/Index/OfflineBuildIdIndex.cs (421 lines)
- src/Scanner/StellaOps.Scanner.Analyzers.Native/Observations/NativeObservationBuilder.cs (276 lines)
- src/Scanner/StellaOps.Scanner.Analyzers.Native/Observations/NativeObservationDocument.cs (295 lines)
- src/Scanner/StellaOps.Scanner.Analyzers.Native/Observations/NativeObservationSerializer.cs (137 lines)
- src/Scanner/StellaOps.Scanner.Analyzers.Native/Plugin/INativeAnalyzerPlugin.cs (148 lines)
- src/Scanner/StellaOps.Scanner.Analyzers.Native/Plugin/NativeAnalyzer.cs (249 lines)
- src/Scanner/StellaOps.Scanner.Analyzers.Native/Plugin/NativeAnalyzerPluginCatalog.cs (220 lines)
- src/Scanner/StellaOps.Scanner.Analyzers.Native/Reachability/NativeReachabilityGraphBuilder.cs (180 lines)
- src/Scanner/StellaOps.Scanner.Analyzers.Native/RuntimeCapture/IRuntimeCaptureAdapter.cs (204 lines)
- src/Scanner/StellaOps.Scanner.Analyzers.Native/RuntimeCapture/LinuxEbpfCaptureAdapter.cs (657 lines)
- src/Scanner/StellaOps.Scanner.Analyzers.Native/RuntimeCapture/MacOsDyldCaptureAdapter.cs (658 lines)
- src/Scanner/StellaOps.Scanner.Analyzers.Native/RuntimeCapture/RuntimeCaptureOptions.cs (238 lines)
- src/Scanner/StellaOps.Scanner.Analyzers.Native/RuntimeCapture/RuntimeEvidence.cs (127 lines)
- src/Scanner/StellaOps.Scanner.Analyzers.Native/RuntimeCapture/RuntimeEvidenceAggregator.cs (289 lines)
- src/Scanner/StellaOps.Scanner.Analyzers.Native/RuntimeCapture/StackTraceCapture.cs (441 lines)
- src/Scanner/StellaOps.Scanner.Analyzers.Native/RuntimeCapture/WindowsEtwCaptureAdapter.cs (677 lines)
- src/Scanner/StellaOps.Scanner.Analyzers.Native/Sections/ElfSectionHashExtractor.cs (453 lines)
- Namespace issues:
- src/Scanner/StellaOps.Scanner.Analyzers.Native/ElfDeclaredDependency.cs: missing namespace
- src/Scanner/StellaOps.Scanner.Analyzers.Native/ElfDynamicSectionParser.cs: missing namespace
- src/Scanner/StellaOps.Scanner.Analyzers.Native/HeuristicEdge.cs: missing namespace
- src/Scanner/StellaOps.Scanner.Analyzers.Native/HeuristicScanner.cs: missing namespace
- src/Scanner/StellaOps.Scanner.Analyzers.Native/MachOCodeSignature.cs: missing namespace
- src/Scanner/StellaOps.Scanner.Analyzers.Native/MachODeclaredDependency.cs: missing namespace
- src/Scanner/StellaOps.Scanner.Analyzers.Native/MachOIdentity.cs: missing namespace
- src/Scanner/StellaOps.Scanner.Analyzers.Native/MachOLoadCommandParser.cs: missing namespace
- src/Scanner/StellaOps.Scanner.Analyzers.Native/MachOPlatform.cs: missing namespace
- src/Scanner/StellaOps.Scanner.Analyzers.Native/MachOReader.cs: missing namespace
- src/Scanner/StellaOps.Scanner.Analyzers.Native/NativeBinaryIdentity.cs: missing namespace
- src/Scanner/StellaOps.Scanner.Analyzers.Native/NativeFormat.cs: missing namespace
- src/Scanner/StellaOps.Scanner.Analyzers.Native/NativeFormatDetector.cs: missing namespace
- src/Scanner/StellaOps.Scanner.Analyzers.Native/NativeResolver.cs: missing namespace
- src/Scanner/StellaOps.Scanner.Analyzers.Native/PeCompilerHint.cs: missing namespace
- src/Scanner/StellaOps.Scanner.Analyzers.Native/PeDeclaredDependency.cs: missing namespace
- src/Scanner/StellaOps.Scanner.Analyzers.Native/PeIdentity.cs: missing namespace
- src/Scanner/StellaOps.Scanner.Analyzers.Native/PeImportParser.cs: missing namespace
- src/Scanner/StellaOps.Scanner.Analyzers.Native/PeReader.cs: missing namespace
- src/Scanner/StellaOps.Scanner.Analyzers.Native/ServiceCollectionExtensions.cs: missing namespace
- src/Scanner/StellaOps.Scanner.Analyzers.Native/Hardening/ElfHardeningExtractor.cs: missing namespace
- src/Scanner/StellaOps.Scanner.Analyzers.Native/Hardening/HardeningFlags.cs: missing namespace
- src/Scanner/StellaOps.Scanner.Analyzers.Native/Hardening/IHardeningExtractor.cs: missing namespace
- src/Scanner/StellaOps.Scanner.Analyzers.Native/Hardening/MachoHardeningExtractor.cs: missing namespace
- src/Scanner/StellaOps.Scanner.Analyzers.Native/Hardening/PeHardeningExtractor.cs: missing namespace
- src/Scanner/StellaOps.Scanner.Analyzers.Native/Index/BuildIdIndexEntry.cs: missing namespace
- src/Scanner/StellaOps.Scanner.Analyzers.Native/Index/BuildIdIndexOptions.cs: missing namespace
- src/Scanner/StellaOps.Scanner.Analyzers.Native/Index/BuildIdLookupResult.cs: missing namespace
- src/Scanner/StellaOps.Scanner.Analyzers.Native/Index/IBuildIdIndex.cs: missing namespace
- src/Scanner/StellaOps.Scanner.Analyzers.Native/Index/OfflineBuildIdIndex.cs: missing namespace
- src/Scanner/StellaOps.Scanner.Analyzers.Native/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs: missing namespace
- src/Scanner/StellaOps.Scanner.Analyzers.Native/obj/Debug/net10.0/StellaOps.Scanner.Analyzers.Native.AssemblyInfo.cs: missing namespace
- src/Scanner/StellaOps.Scanner.Analyzers.Native/obj/Debug/net10.0/StellaOps.Scanner.Analyzers.Native.GlobalUsings.g.cs: missing namespace
- src/Scanner/StellaOps.Scanner.Analyzers.Native/obj/Release/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs: missing namespace
- src/Scanner/StellaOps.Scanner.Analyzers.Native/obj/Release/net10.0/StellaOps.Scanner.Analyzers.Native.AssemblyInfo.cs: missing namespace
- src/Scanner/StellaOps.Scanner.Analyzers.Native/obj/Release/net10.0/StellaOps.Scanner.Analyzers.Native.GlobalUsings.g.cs: missing namespace
- src/Scanner/StellaOps.Scanner.Analyzers.Native/Observations/NativeObservationBuilder.cs: missing namespace
- src/Scanner/StellaOps.Scanner.Analyzers.Native/Observations/NativeObservationDocument.cs: missing namespace
- src/Scanner/StellaOps.Scanner.Analyzers.Native/Observations/NativeObservationSerializer.cs: missing namespace
- src/Scanner/StellaOps.Scanner.Analyzers.Native/Plugin/INativeAnalyzerPlugin.cs: missing namespace
- src/Scanner/StellaOps.Scanner.Analyzers.Native/Plugin/NativeAnalyzer.cs: missing namespace
- src/Scanner/StellaOps.Scanner.Analyzers.Native/Plugin/NativeAnalyzerPlugin.cs: missing namespace
- src/Scanner/StellaOps.Scanner.Analyzers.Native/Plugin/NativeAnalyzerPluginCatalog.cs: missing namespace
- src/Scanner/StellaOps.Scanner.Analyzers.Native/Reachability/NativeReachabilityGraphBuilder.cs: missing namespace
- src/Scanner/StellaOps.Scanner.Analyzers.Native/Reachability/NativeReachabilityModels.cs: missing namespace
- src/Scanner/StellaOps.Scanner.Analyzers.Native/RuntimeCapture/CaptureDurationTimer.cs: missing namespace
- src/Scanner/StellaOps.Scanner.Analyzers.Native/RuntimeCapture/IRuntimeCaptureAdapter.cs: missing namespace
- src/Scanner/StellaOps.Scanner.Analyzers.Native/RuntimeCapture/LinuxEbpfCaptureAdapter.cs: missing namespace
- src/Scanner/StellaOps.Scanner.Analyzers.Native/RuntimeCapture/MacOsDyldCaptureAdapter.cs: missing namespace
- src/Scanner/StellaOps.Scanner.Analyzers.Native/RuntimeCapture/RuntimeCaptureOptions.cs: missing namespace
- src/Scanner/StellaOps.Scanner.Analyzers.Native/RuntimeCapture/RuntimeEvidence.cs: missing namespace
- src/Scanner/StellaOps.Scanner.Analyzers.Native/RuntimeCapture/RuntimeEvidenceAggregator.cs: missing namespace
- src/Scanner/StellaOps.Scanner.Analyzers.Native/RuntimeCapture/StackTraceCapture.cs: missing namespace
- src/Scanner/StellaOps.Scanner.Analyzers.Native/RuntimeCapture/WindowsEtwCaptureAdapter.cs: missing namespace
- src/Scanner/StellaOps.Scanner.Analyzers.Native/Sections/ElfSectionHashExtractor.cs: missing namespace
- src/Scanner/StellaOps.Scanner.Analyzers.Native/Sections/ElfSectionHashOptions.cs: missing namespace
- src/Scanner/StellaOps.Scanner.Analyzers.Native/Sections/IElfSectionHashExtractor.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: 57
- Files with issues: 57
- See docs/implplan/audits/csproj-standards/file-audit.csv for full per-file status.
| File | Issues | Fix guidance |
| --- | --- | --- |
| src/Scanner/StellaOps.Scanner.Analyzers.Native/ElfDeclaredDependency.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/StellaOps.Scanner.Analyzers.Native/ElfDynamicSectionParser.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.Analyzers.Native/HeuristicEdge.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/StellaOps.Scanner.Analyzers.Native/HeuristicScanner.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.Analyzers.Native/MachOCodeSignature.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/StellaOps.Scanner.Analyzers.Native/MachODeclaredDependency.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/StellaOps.Scanner.Analyzers.Native/MachOIdentity.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/StellaOps.Scanner.Analyzers.Native/MachOLoadCommandParser.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.Analyzers.Native/MachOPlatform.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/StellaOps.Scanner.Analyzers.Native/MachOReader.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.Analyzers.Native/NativeBinaryIdentity.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/StellaOps.Scanner.Analyzers.Native/NativeFormat.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/StellaOps.Scanner.Analyzers.Native/NativeFormatDetector.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.Analyzers.Native/NativeResolver.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.Analyzers.Native/PeCompilerHint.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/StellaOps.Scanner.Analyzers.Native/PeDeclaredDependency.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/StellaOps.Scanner.Analyzers.Native/PeIdentity.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/StellaOps.Scanner.Analyzers.Native/PeImportParser.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.Analyzers.Native/PeReader.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.Analyzers.Native/ServiceCollectionExtensions.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.Analyzers.Native/Hardening/ElfHardeningExtractor.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.Analyzers.Native/Hardening/HardeningFlags.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.Analyzers.Native/Hardening/IHardeningExtractor.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/StellaOps.Scanner.Analyzers.Native/Hardening/MachoHardeningExtractor.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.Analyzers.Native/Hardening/PeHardeningExtractor.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.Analyzers.Native/Index/BuildIdIndexEntry.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/StellaOps.Scanner.Analyzers.Native/Index/BuildIdIndexOptions.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/StellaOps.Scanner.Analyzers.Native/Index/BuildIdLookupResult.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/StellaOps.Scanner.Analyzers.Native/Index/IBuildIdIndex.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/StellaOps.Scanner.Analyzers.Native/Index/OfflineBuildIdIndex.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.Analyzers.Native/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/StellaOps.Scanner.Analyzers.Native/obj/Debug/net10.0/StellaOps.Scanner.Analyzers.Native.AssemblyInfo.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/StellaOps.Scanner.Analyzers.Native/obj/Debug/net10.0/StellaOps.Scanner.Analyzers.Native.GlobalUsings.g.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/StellaOps.Scanner.Analyzers.Native/obj/Release/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/StellaOps.Scanner.Analyzers.Native/obj/Release/net10.0/StellaOps.Scanner.Analyzers.Native.AssemblyInfo.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/StellaOps.Scanner.Analyzers.Native/obj/Release/net10.0/StellaOps.Scanner.Analyzers.Native.GlobalUsings.g.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/StellaOps.Scanner.Analyzers.Native/Observations/NativeObservationBuilder.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.Analyzers.Native/Observations/NativeObservationDocument.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.Analyzers.Native/Observations/NativeObservationSerializer.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.Analyzers.Native/Plugin/INativeAnalyzerPlugin.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.Analyzers.Native/Plugin/NativeAnalyzer.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.Analyzers.Native/Plugin/NativeAnalyzerPlugin.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/StellaOps.Scanner.Analyzers.Native/Plugin/NativeAnalyzerPluginCatalog.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.Analyzers.Native/Reachability/NativeReachabilityGraphBuilder.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.Analyzers.Native/Reachability/NativeReachabilityModels.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/StellaOps.Scanner.Analyzers.Native/RuntimeCapture/CaptureDurationTimer.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/StellaOps.Scanner.Analyzers.Native/RuntimeCapture/IRuntimeCaptureAdapter.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.Analyzers.Native/RuntimeCapture/LinuxEbpfCaptureAdapter.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.Analyzers.Native/RuntimeCapture/MacOsDyldCaptureAdapter.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.Analyzers.Native/RuntimeCapture/RuntimeCaptureOptions.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.Analyzers.Native/RuntimeCapture/RuntimeEvidence.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.Analyzers.Native/RuntimeCapture/RuntimeEvidenceAggregator.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.Analyzers.Native/RuntimeCapture/StackTraceCapture.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.Analyzers.Native/RuntimeCapture/WindowsEtwCaptureAdapter.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.Analyzers.Native/Sections/ElfSectionHashExtractor.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.Analyzers.Native/Sections/ElfSectionHashOptions.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/StellaOps.Scanner.Analyzers.Native/Sections/IElfSectionHashExtractor.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
## Testing Fullness Findings
- Status: FAIL
- Expected layers (heuristic): Performance, Unit
- Detected test projects: src/Scanner/__Tests/StellaOps.Scanner.Analyzers.Native.Tests/StellaOps.Scanner.Analyzers.Native.Tests.csproj [Unit]
- Missing layers: Performance
### 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,174 @@
# Audit - StellaOps.Scanner.Analyzers.Native
## Project
- Path: src/Scanner/StellaOps.Scanner.Analyzers.Native/StellaOps.Scanner.Analyzers.Native.csproj
- Module: Scanner
- Kind: Analyzer
- Audit date (UTC): 2026-01-31
- Files scanned: 51
- Files with issues: 32
- 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: 30
- Namespace violations: 0
- Using directive violations: 14
- Naming violations (interfaces/fields/const/async): 29
- Service locator usage (BuildServiceProvider/GetService): 3
- Assembly.LoadFrom usage: 1
### Details
- 100-line files:
- src/Scanner/StellaOps.Scanner.Analyzers.Native/ElfDynamicSectionParser.cs (568 lines)
- src/Scanner/StellaOps.Scanner.Analyzers.Native/HeuristicScanner.cs (412 lines)
- src/Scanner/StellaOps.Scanner.Analyzers.Native/MachOLoadCommandParser.cs (332 lines)
- src/Scanner/StellaOps.Scanner.Analyzers.Native/MachOReader.cs (832 lines)
- src/Scanner/StellaOps.Scanner.Analyzers.Native/NativeFormatDetector.cs (409 lines)
- src/Scanner/StellaOps.Scanner.Analyzers.Native/NativeResolver.cs (477 lines)
- src/Scanner/StellaOps.Scanner.Analyzers.Native/PeImportParser.cs (574 lines)
- src/Scanner/StellaOps.Scanner.Analyzers.Native/PeReader.cs (759 lines)
- src/Scanner/StellaOps.Scanner.Analyzers.Native/ServiceCollectionExtensions.cs (203 lines)
- src/Scanner/StellaOps.Scanner.Analyzers.Native/Hardening/ElfHardeningExtractor.cs (659 lines)
- src/Scanner/StellaOps.Scanner.Analyzers.Native/Hardening/HardeningFlags.cs (141 lines)
- src/Scanner/StellaOps.Scanner.Analyzers.Native/Hardening/MachoHardeningExtractor.cs (298 lines)
- src/Scanner/StellaOps.Scanner.Analyzers.Native/Hardening/PeHardeningExtractor.cs (274 lines)
- src/Scanner/StellaOps.Scanner.Analyzers.Native/Index/OfflineBuildIdIndex.cs (422 lines)
- src/Scanner/StellaOps.Scanner.Analyzers.Native/Observations/NativeObservationBuilder.cs (276 lines)
- src/Scanner/StellaOps.Scanner.Analyzers.Native/Observations/NativeObservationDocument.cs (295 lines)
- src/Scanner/StellaOps.Scanner.Analyzers.Native/Observations/NativeObservationSerializer.cs (137 lines)
- src/Scanner/StellaOps.Scanner.Analyzers.Native/Plugin/INativeAnalyzerPlugin.cs (148 lines)
- src/Scanner/StellaOps.Scanner.Analyzers.Native/Plugin/NativeAnalyzer.cs (250 lines)
- src/Scanner/StellaOps.Scanner.Analyzers.Native/Plugin/NativeAnalyzerPluginCatalog.cs (221 lines)
- src/Scanner/StellaOps.Scanner.Analyzers.Native/Reachability/NativeReachabilityGraphBuilder.cs (181 lines)
- src/Scanner/StellaOps.Scanner.Analyzers.Native/RuntimeCapture/IRuntimeCaptureAdapter.cs (204 lines)
- src/Scanner/StellaOps.Scanner.Analyzers.Native/RuntimeCapture/LinuxEbpfCaptureAdapter.cs (658 lines)
- src/Scanner/StellaOps.Scanner.Analyzers.Native/RuntimeCapture/MacOsDyldCaptureAdapter.cs (659 lines)
- src/Scanner/StellaOps.Scanner.Analyzers.Native/RuntimeCapture/RuntimeCaptureOptions.cs (238 lines)
- src/Scanner/StellaOps.Scanner.Analyzers.Native/RuntimeCapture/RuntimeEvidence.cs (127 lines)
- src/Scanner/StellaOps.Scanner.Analyzers.Native/RuntimeCapture/RuntimeEvidenceAggregator.cs (289 lines)
- src/Scanner/StellaOps.Scanner.Analyzers.Native/RuntimeCapture/StackTraceCapture.cs (441 lines)
- src/Scanner/StellaOps.Scanner.Analyzers.Native/RuntimeCapture/WindowsEtwCaptureAdapter.cs (678 lines)
- src/Scanner/StellaOps.Scanner.Analyzers.Native/Sections/ElfSectionHashExtractor.cs (454 lines)
- Namespace issues:
- none
- Using directive issues:
- src/Scanner/StellaOps.Scanner.Analyzers.Native/ElfDynamicSectionParser.cs: using directives inside namespace
- src/Scanner/StellaOps.Scanner.Analyzers.Native/HeuristicScanner.cs: using directives inside namespace
- src/Scanner/StellaOps.Scanner.Analyzers.Native/MachOLoadCommandParser.cs: using directives inside namespace
- src/Scanner/StellaOps.Scanner.Analyzers.Native/NativeFormatDetector.cs: using directives inside namespace
- src/Scanner/StellaOps.Scanner.Analyzers.Native/PeImportParser.cs: using directives inside namespace
- src/Scanner/StellaOps.Scanner.Analyzers.Native/PeReader.cs: using directives inside namespace
- src/Scanner/StellaOps.Scanner.Analyzers.Native/Hardening/ElfHardeningExtractor.cs: using directives inside namespace
- src/Scanner/StellaOps.Scanner.Analyzers.Native/Hardening/MachoHardeningExtractor.cs: using directives inside namespace
- src/Scanner/StellaOps.Scanner.Analyzers.Native/Hardening/PeHardeningExtractor.cs: using directives inside namespace
- src/Scanner/StellaOps.Scanner.Analyzers.Native/Index/OfflineBuildIdIndex.cs: using directives inside namespace
- src/Scanner/StellaOps.Scanner.Analyzers.Native/Plugin/NativeAnalyzer.cs: using directives inside namespace
- src/Scanner/StellaOps.Scanner.Analyzers.Native/RuntimeCapture/LinuxEbpfCaptureAdapter.cs: using directives inside namespace
- src/Scanner/StellaOps.Scanner.Analyzers.Native/RuntimeCapture/MacOsDyldCaptureAdapter.cs: using directives inside namespace
- src/Scanner/StellaOps.Scanner.Analyzers.Native/RuntimeCapture/WindowsEtwCaptureAdapter.cs: using directives inside namespace
- Naming issues:
- src/Scanner/StellaOps.Scanner.Analyzers.Native/ElfDynamicSectionParser.cs: const naming
- src/Scanner/StellaOps.Scanner.Analyzers.Native/HeuristicScanner.cs: private field naming
- src/Scanner/StellaOps.Scanner.Analyzers.Native/MachOLoadCommandParser.cs: const naming
- src/Scanner/StellaOps.Scanner.Analyzers.Native/MachOReader.cs: const naming
- src/Scanner/StellaOps.Scanner.Analyzers.Native/NativeResolver.cs: private field naming
- src/Scanner/StellaOps.Scanner.Analyzers.Native/PeImportParser.cs: const naming
- src/Scanner/StellaOps.Scanner.Analyzers.Native/PeReader.cs: const naming
- src/Scanner/StellaOps.Scanner.Analyzers.Native/Hardening/ElfHardeningExtractor.cs: private field naming
- src/Scanner/StellaOps.Scanner.Analyzers.Native/Hardening/ElfHardeningExtractor.cs: const naming
- src/Scanner/StellaOps.Scanner.Analyzers.Native/Hardening/MachoHardeningExtractor.cs: const naming
- src/Scanner/StellaOps.Scanner.Analyzers.Native/Hardening/PeHardeningExtractor.cs: const naming
- src/Scanner/StellaOps.Scanner.Analyzers.Native/Index/OfflineBuildIdIndex.cs: private field naming
- src/Scanner/StellaOps.Scanner.Analyzers.Native/Observations/NativeObservationSerializer.cs: private field naming
- src/Scanner/StellaOps.Scanner.Analyzers.Native/Sections/ElfSectionHashExtractor.cs: private field naming
- src/Scanner/StellaOps.Scanner.Analyzers.Native/Sections/ElfSectionHashOptions.cs: private field naming
- Async issues:
- src/Scanner/StellaOps.Scanner.Analyzers.Native/Hardening/ElfHardeningExtractor.cs: async method naming
- src/Scanner/StellaOps.Scanner.Analyzers.Native/Hardening/ElfHardeningExtractor.cs: missing ConfigureAwait(false)
- src/Scanner/StellaOps.Scanner.Analyzers.Native/Hardening/MachoHardeningExtractor.cs: async method naming
- src/Scanner/StellaOps.Scanner.Analyzers.Native/Hardening/MachoHardeningExtractor.cs: missing ConfigureAwait(false)
- src/Scanner/StellaOps.Scanner.Analyzers.Native/Hardening/PeHardeningExtractor.cs: async method naming
- src/Scanner/StellaOps.Scanner.Analyzers.Native/Hardening/PeHardeningExtractor.cs: missing ConfigureAwait(false)
- src/Scanner/StellaOps.Scanner.Analyzers.Native/Index/OfflineBuildIdIndex.cs: async method naming
- src/Scanner/StellaOps.Scanner.Analyzers.Native/Plugin/NativeAnalyzer.cs: missing ConfigureAwait(false)
- src/Scanner/StellaOps.Scanner.Analyzers.Native/RuntimeCapture/LinuxEbpfCaptureAdapter.cs: async method naming
- src/Scanner/StellaOps.Scanner.Analyzers.Native/RuntimeCapture/LinuxEbpfCaptureAdapter.cs: missing ConfigureAwait(false)
- src/Scanner/StellaOps.Scanner.Analyzers.Native/RuntimeCapture/MacOsDyldCaptureAdapter.cs: async method naming
- src/Scanner/StellaOps.Scanner.Analyzers.Native/RuntimeCapture/MacOsDyldCaptureAdapter.cs: missing ConfigureAwait(false)
- src/Scanner/StellaOps.Scanner.Analyzers.Native/RuntimeCapture/WindowsEtwCaptureAdapter.cs: async method naming
- src/Scanner/StellaOps.Scanner.Analyzers.Native/RuntimeCapture/WindowsEtwCaptureAdapter.cs: missing ConfigureAwait(false)
- Service locator matches:
- src/Scanner/StellaOps.Scanner.Analyzers.Native/ServiceCollectionExtensions.cs:110 var timeProvider = sp.GetRequiredService<TimeProvider>();
- src/Scanner/StellaOps.Scanner.Analyzers.Native/ServiceCollectionExtensions.cs:111 var guidProvider = sp.GetRequiredService<IGuidProvider>();
- src/Scanner/StellaOps.Scanner.Analyzers.Native/Plugin/NativeAnalyzerPlugin.cs:42 var logger = services.GetRequiredService<ILogger<NativeAnalyzer>>();
- Assembly.LoadFrom matches:
- src/Scanner/StellaOps.Scanner.Analyzers.Native/Plugin/NativeAnalyzerPluginCatalog.cs:199 var assembly = Assembly.LoadFrom(assemblyPath);
### Fix Guidance
- Align interface/field/const naming to standards.
- Move and sort using directives (outside namespace).
- Rename async methods and avoid blocking async calls.
- Replace Assembly.LoadFrom usage with plugin loader patterns.
- Replace service locator usage with constructor injection.
- Split files over 100 lines into smaller types or partials.
## File-Level Findings
- Status: FAIL
- Files scanned: 51
- Files with issues: 32
- See docs/implplan/audits/csproj-standards/file-audit.csv for full per-file status.
| File | Issues | Fix guidance |
| --- | --- | --- |
| src/Scanner/StellaOps.Scanner.Analyzers.Native/ElfDynamicSectionParser.cs | ConstNaming; FileLength>100; UsingInsideNamespace | Move using directives outside namespace.; Rename consts to PascalCase.; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.Analyzers.Native/HeuristicScanner.cs | FileLength>100; PrivateFieldNaming; UsingInsideNamespace | Move using directives outside namespace.; Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.Analyzers.Native/MachOLoadCommandParser.cs | ConstNaming; FileLength>100; UsingInsideNamespace | Move using directives outside namespace.; Rename consts to PascalCase.; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.Analyzers.Native/MachOReader.cs | ConstNaming; FileLength>100 | Rename consts to PascalCase.; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.Analyzers.Native/NativeFormatDetector.cs | FileLength>100; UsingInsideNamespace | Move using directives outside namespace.; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.Analyzers.Native/NativeResolver.cs | FileLength>100; PrivateFieldNaming | Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.Analyzers.Native/PeImportParser.cs | ConstNaming; FileLength>100; UsingInsideNamespace | Move using directives outside namespace.; Rename consts to PascalCase.; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.Analyzers.Native/PeReader.cs | ConstNaming; FileLength>100; UsingInsideNamespace | Move using directives outside namespace.; Rename consts to PascalCase.; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.Analyzers.Native/ServiceCollectionExtensions.cs | FileLength>100; ServiceLocator | Remove service locator usage; use constructor injection.; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.Analyzers.Native/Hardening/ElfHardeningExtractor.cs | AsyncNaming; ConfigureAwaitMissing; ConstNaming; FileLength>100; PrivateFieldNaming; UsingInsideNamespace | Add ConfigureAwait(false) to awaited calls in library-like code.; Move using directives outside namespace.; Rename async methods to end with Async.; Rename consts to PascalCase.; Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.Analyzers.Native/Hardening/HardeningFlags.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.Analyzers.Native/Hardening/MachoHardeningExtractor.cs | AsyncNaming; ConfigureAwaitMissing; ConstNaming; FileLength>100; UsingInsideNamespace | Add ConfigureAwait(false) to awaited calls in library-like code.; Move using directives outside namespace.; Rename async methods to end with Async.; Rename consts to PascalCase.; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.Analyzers.Native/Hardening/PeHardeningExtractor.cs | AsyncNaming; ConfigureAwaitMissing; ConstNaming; FileLength>100; UsingInsideNamespace | Add ConfigureAwait(false) to awaited calls in library-like code.; Move using directives outside namespace.; Rename async methods to end with Async.; Rename consts to PascalCase.; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.Analyzers.Native/Index/OfflineBuildIdIndex.cs | AsyncNaming; FileLength>100; PrivateFieldNaming; UsingInsideNamespace | Move using directives outside namespace.; Rename async methods to end with Async.; Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.Analyzers.Native/Observations/NativeObservationBuilder.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.Analyzers.Native/Observations/NativeObservationDocument.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.Analyzers.Native/Observations/NativeObservationSerializer.cs | FileLength>100; PrivateFieldNaming | Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.Analyzers.Native/Plugin/INativeAnalyzerPlugin.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.Analyzers.Native/Plugin/NativeAnalyzer.cs | ConfigureAwaitMissing; FileLength>100; UsingInsideNamespace | Add ConfigureAwait(false) to awaited calls in library-like code.; Move using directives outside namespace.; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.Analyzers.Native/Plugin/NativeAnalyzerPlugin.cs | ServiceLocator | Remove service locator usage; use constructor injection. |
| src/Scanner/StellaOps.Scanner.Analyzers.Native/Plugin/NativeAnalyzerPluginCatalog.cs | AssemblyLoadFrom; FileLength>100 | Avoid Assembly.LoadFrom outside the plugin loader.; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.Analyzers.Native/Reachability/NativeReachabilityGraphBuilder.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.Analyzers.Native/RuntimeCapture/IRuntimeCaptureAdapter.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.Analyzers.Native/RuntimeCapture/LinuxEbpfCaptureAdapter.cs | AsyncNaming; ConfigureAwaitMissing; FileLength>100; UsingInsideNamespace | Add ConfigureAwait(false) to awaited calls in library-like code.; Move using directives outside namespace.; Rename async methods to end with Async.; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.Analyzers.Native/RuntimeCapture/MacOsDyldCaptureAdapter.cs | AsyncNaming; ConfigureAwaitMissing; FileLength>100; UsingInsideNamespace | Add ConfigureAwait(false) to awaited calls in library-like code.; Move using directives outside namespace.; Rename async methods to end with Async.; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.Analyzers.Native/RuntimeCapture/RuntimeCaptureOptions.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.Analyzers.Native/RuntimeCapture/RuntimeEvidence.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.Analyzers.Native/RuntimeCapture/RuntimeEvidenceAggregator.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.Analyzers.Native/RuntimeCapture/StackTraceCapture.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.Analyzers.Native/RuntimeCapture/WindowsEtwCaptureAdapter.cs | AsyncNaming; ConfigureAwaitMissing; FileLength>100; UsingInsideNamespace | Add ConfigureAwait(false) to awaited calls in library-like code.; Move using directives outside namespace.; Rename async methods to end with Async.; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.Analyzers.Native/Sections/ElfSectionHashExtractor.cs | FileLength>100; PrivateFieldNaming | Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.Analyzers.Native/Sections/ElfSectionHashOptions.cs | PrivateFieldNaming | Rename private fields to _camelCase. |
## Testing Fullness Findings
- Status: FAIL
- Expected layers (heuristic): Performance, Unit
- Detected test projects: src/Scanner/__Tests/StellaOps.Scanner.Analyzers.Native.Tests/StellaOps.Scanner.Analyzers.Native.Tests.csproj [Unit]
- Missing layers: Performance
### 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,79 @@
# Audit - StellaOps.Scanner.Analyzers.Plugin.Unified
## Project
- Path: src/Scanner/StellaOps.Scanner.Analyzers.Plugin.Unified/StellaOps.Scanner.Analyzers.Plugin.Unified.csproj
- Module: Scanner
- Kind: Library
- Audit date (UTC): 2026-01-30
- Files scanned: 6
- Files with issues: 6
- 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: 6
- 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/Scanner/StellaOps.Scanner.Analyzers.Plugin.Unified/AnalyzerPluginAdapter.cs (203 lines)
- src/Scanner/StellaOps.Scanner.Analyzers.Plugin.Unified/AnalyzerPluginAdapterFactory.cs (175 lines)
- Namespace issues:
- src/Scanner/StellaOps.Scanner.Analyzers.Plugin.Unified/AnalyzerPluginAdapter.cs: missing namespace
- src/Scanner/StellaOps.Scanner.Analyzers.Plugin.Unified/AnalyzerPluginAdapterFactory.cs: missing namespace
- src/Scanner/StellaOps.Scanner.Analyzers.Plugin.Unified/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs: missing namespace
- src/Scanner/StellaOps.Scanner.Analyzers.Plugin.Unified/obj/Debug/net10.0/StellaOps.Scanner.Analyzers.Plugin.Unified.AssemblyInfo.cs: missing namespace
- src/Scanner/StellaOps.Scanner.Analyzers.Plugin.Unified/obj/Debug/net10.0/StellaOps.Scanner.Analyzers.Plugin.Unified.GlobalUsings.g.cs: missing namespace
- src/Scanner/StellaOps.Scanner.Analyzers.Plugin.Unified/obj/Release/net10.0/StellaOps.Scanner.Analyzers.Plugin.Unified.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: 6
- Files with issues: 6
- See docs/implplan/audits/csproj-standards/file-audit.csv for full per-file status.
| File | Issues | Fix guidance |
| --- | --- | --- |
| src/Scanner/StellaOps.Scanner.Analyzers.Plugin.Unified/AnalyzerPluginAdapter.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.Analyzers.Plugin.Unified/AnalyzerPluginAdapterFactory.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.Analyzers.Plugin.Unified/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/StellaOps.Scanner.Analyzers.Plugin.Unified/obj/Debug/net10.0/StellaOps.Scanner.Analyzers.Plugin.Unified.AssemblyInfo.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/StellaOps.Scanner.Analyzers.Plugin.Unified/obj/Debug/net10.0/StellaOps.Scanner.Analyzers.Plugin.Unified.GlobalUsings.g.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/StellaOps.Scanner.Analyzers.Plugin.Unified/obj/Release/net10.0/StellaOps.Scanner.Analyzers.Plugin.Unified.GlobalUsings.g.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
## Testing Fullness Findings
- Status: FAIL
- Expected layers (heuristic): Performance, Unit
- Detected test projects: none
- Missing layers: Performance, 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,71 @@
# Audit - StellaOps.Scanner.Analyzers.Plugin.Unified
## Project
- Path: src/Scanner/StellaOps.Scanner.Analyzers.Plugin.Unified/StellaOps.Scanner.Analyzers.Plugin.Unified.csproj
- Module: Scanner
- Kind: Analyzer
- Audit date (UTC): 2026-01-31
- Files scanned: 2
- Files with issues: 2
- 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: 0
- Using directive violations: 0
- Naming violations (interfaces/fields/const/async): 2
- Service locator usage (BuildServiceProvider/GetService): 0
- Assembly.LoadFrom usage: 0
### Details
- 100-line files:
- src/Scanner/StellaOps.Scanner.Analyzers.Plugin.Unified/AnalyzerPluginAdapter.cs (204 lines)
- src/Scanner/StellaOps.Scanner.Analyzers.Plugin.Unified/AnalyzerPluginAdapterFactory.cs (176 lines)
- Namespace issues:
- none
- Using directive issues:
- none
- Naming issues:
- none
- Async issues:
- src/Scanner/StellaOps.Scanner.Analyzers.Plugin.Unified/AnalyzerPluginAdapter.cs: async method naming
- src/Scanner/StellaOps.Scanner.Analyzers.Plugin.Unified/AnalyzerPluginAdapter.cs: missing ConfigureAwait(false)
- Service locator matches:
- none
- Assembly.LoadFrom matches:
- none
### Fix Guidance
- Rename async methods and avoid blocking async calls.
- Split files over 100 lines into smaller types or partials.
## File-Level Findings
- Status: FAIL
- Files scanned: 2
- Files with issues: 2
- See docs/implplan/audits/csproj-standards/file-audit.csv for full per-file status.
| File | Issues | Fix guidance |
| --- | --- | --- |
| src/Scanner/StellaOps.Scanner.Analyzers.Plugin.Unified/AnalyzerPluginAdapter.cs | AsyncNaming; ConfigureAwaitMissing; FileLength>100 | Add ConfigureAwait(false) to awaited calls in library-like code.; Rename async methods to end with Async.; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.Analyzers.Plugin.Unified/AnalyzerPluginAdapterFactory.cs | FileLength>100 | Split file to stay <= 100 lines. |
## Testing Fullness Findings
- Status: FAIL
- Expected layers (heuristic): Performance, Unit
- Detected test projects: none
- Missing layers: Performance, 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,129 @@
# Audit - StellaOps.Scanner.Sbomer.BuildXPlugin
## Project
- Path: src/Scanner/StellaOps.Scanner.Sbomer.BuildXPlugin/StellaOps.Scanner.Sbomer.BuildXPlugin.csproj
- Module: Scanner
- Kind: Library
- Audit date (UTC): 2026-01-30
- Files scanned: 29
- Files with issues: 28
- 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: 5
- Namespace violations: 27
- Using directive violations: 0
- Naming violations (interfaces/fields/const/async): 0
- Service locator usage (BuildServiceProvider/GetService): 4
- Assembly.LoadFrom usage: 0
### Details
- 100-line files:
- src/Scanner/StellaOps.Scanner.Sbomer.BuildXPlugin/Program.cs (628 lines)
- src/Scanner/StellaOps.Scanner.Sbomer.BuildXPlugin/Descriptor/DescriptorGenerator.cs (199 lines)
- src/Scanner/StellaOps.Scanner.Sbomer.BuildXPlugin/Manifest/BuildxPluginManifestLoader.cs (190 lines)
- src/Scanner/StellaOps.Scanner.Sbomer.BuildXPlugin/Surface/SurfaceCasLayout.cs (113 lines)
- src/Scanner/StellaOps.Scanner.Sbomer.BuildXPlugin/Surface/SurfaceManifestWriter.cs (235 lines)
- Namespace issues:
- src/Scanner/StellaOps.Scanner.Sbomer.BuildXPlugin/BuildxPluginException.cs: missing namespace
- src/Scanner/StellaOps.Scanner.Sbomer.BuildXPlugin/Attestation/AttestorClient.cs: missing namespace
- src/Scanner/StellaOps.Scanner.Sbomer.BuildXPlugin/Attestation/AttestorProvenanceRequest.cs: missing namespace
- src/Scanner/StellaOps.Scanner.Sbomer.BuildXPlugin/Cas/CasWriteResult.cs: missing namespace
- src/Scanner/StellaOps.Scanner.Sbomer.BuildXPlugin/Cas/LocalCasClient.cs: missing namespace
- src/Scanner/StellaOps.Scanner.Sbomer.BuildXPlugin/Cas/LocalCasOptions.cs: missing namespace
- src/Scanner/StellaOps.Scanner.Sbomer.BuildXPlugin/Descriptor/DescriptorArtifact.cs: missing namespace
- src/Scanner/StellaOps.Scanner.Sbomer.BuildXPlugin/Descriptor/DescriptorDocument.cs: missing namespace
- src/Scanner/StellaOps.Scanner.Sbomer.BuildXPlugin/Descriptor/DescriptorGenerator.cs: missing namespace
- src/Scanner/StellaOps.Scanner.Sbomer.BuildXPlugin/Descriptor/DescriptorGeneratorMetadata.cs: missing namespace
- src/Scanner/StellaOps.Scanner.Sbomer.BuildXPlugin/Descriptor/DescriptorProvenance.cs: missing namespace
- src/Scanner/StellaOps.Scanner.Sbomer.BuildXPlugin/Descriptor/DescriptorRequest.cs: missing namespace
- src/Scanner/StellaOps.Scanner.Sbomer.BuildXPlugin/Descriptor/DescriptorSubject.cs: missing namespace
- src/Scanner/StellaOps.Scanner.Sbomer.BuildXPlugin/Manifest/BuildxPluginCas.cs: missing namespace
- src/Scanner/StellaOps.Scanner.Sbomer.BuildXPlugin/Manifest/BuildxPluginEntryPoint.cs: missing namespace
- src/Scanner/StellaOps.Scanner.Sbomer.BuildXPlugin/Manifest/BuildxPluginImage.cs: missing namespace
- src/Scanner/StellaOps.Scanner.Sbomer.BuildXPlugin/Manifest/BuildxPluginManifest.cs: missing namespace
- src/Scanner/StellaOps.Scanner.Sbomer.BuildXPlugin/Manifest/BuildxPluginManifestLoader.cs: missing namespace
- src/Scanner/StellaOps.Scanner.Sbomer.BuildXPlugin/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs: missing namespace
- src/Scanner/StellaOps.Scanner.Sbomer.BuildXPlugin/obj/Debug/net10.0/StellaOps.Scanner.Sbomer.BuildXPlugin.AssemblyInfo.cs: missing namespace
- src/Scanner/StellaOps.Scanner.Sbomer.BuildXPlugin/obj/Debug/net10.0/StellaOps.Scanner.Sbomer.BuildXPlugin.GlobalUsings.g.cs: missing namespace
- src/Scanner/StellaOps.Scanner.Sbomer.BuildXPlugin/obj/Release/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs: missing namespace
- src/Scanner/StellaOps.Scanner.Sbomer.BuildXPlugin/obj/Release/net10.0/StellaOps.Scanner.Sbomer.BuildXPlugin.AssemblyInfo.cs: missing namespace
- src/Scanner/StellaOps.Scanner.Sbomer.BuildXPlugin/obj/Release/net10.0/StellaOps.Scanner.Sbomer.BuildXPlugin.GlobalUsings.g.cs: missing namespace
- src/Scanner/StellaOps.Scanner.Sbomer.BuildXPlugin/Surface/SurfaceCasLayout.cs: missing namespace
- src/Scanner/StellaOps.Scanner.Sbomer.BuildXPlugin/Surface/SurfaceManifestWriter.cs: missing namespace
- src/Scanner/StellaOps.Scanner.Sbomer.BuildXPlugin/Surface/SurfaceOptions.cs: missing namespace
- Using directive issues:
- none
- Naming issues:
- none
- Async issues:
- none
- Service locator matches:
- src/Scanner/StellaOps.Scanner.Sbomer.BuildXPlugin/Program.cs:397 using var provider = services.BuildServiceProvider();
- src/Scanner/StellaOps.Scanner.Sbomer.BuildXPlugin/Program.cs:434 using var provider = services.BuildServiceProvider();
- src/Scanner/StellaOps.Scanner.Sbomer.BuildXPlugin/Program.cs:487 using var provider = services.BuildServiceProvider();
- src/Scanner/StellaOps.Scanner.Sbomer.BuildXPlugin/Program.cs:602 var provider = services.BuildServiceProvider();
- Assembly.LoadFrom matches:
- none
### Fix Guidance
- Normalize namespaces to file-scoped StellaOps.<Area>.
- Replace service locator usage with constructor injection.
- Split files over 100 lines into smaller types or partials.
## File-Level Findings
- Status: FAIL
- Files scanned: 29
- Files with issues: 28
- See docs/implplan/audits/csproj-standards/file-audit.csv for full per-file status.
| File | Issues | Fix guidance |
| --- | --- | --- |
| src/Scanner/StellaOps.Scanner.Sbomer.BuildXPlugin/BuildxPluginException.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/StellaOps.Scanner.Sbomer.BuildXPlugin/Program.cs | FileLength>100; ServiceLocator | Remove service locator usage; use constructor injection.; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.Sbomer.BuildXPlugin/Attestation/AttestorClient.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/StellaOps.Scanner.Sbomer.BuildXPlugin/Attestation/AttestorProvenanceRequest.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/StellaOps.Scanner.Sbomer.BuildXPlugin/Cas/CasWriteResult.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/StellaOps.Scanner.Sbomer.BuildXPlugin/Cas/LocalCasClient.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/StellaOps.Scanner.Sbomer.BuildXPlugin/Cas/LocalCasOptions.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/StellaOps.Scanner.Sbomer.BuildXPlugin/Descriptor/DescriptorArtifact.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/StellaOps.Scanner.Sbomer.BuildXPlugin/Descriptor/DescriptorDocument.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/StellaOps.Scanner.Sbomer.BuildXPlugin/Descriptor/DescriptorGenerator.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.Sbomer.BuildXPlugin/Descriptor/DescriptorGeneratorMetadata.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/StellaOps.Scanner.Sbomer.BuildXPlugin/Descriptor/DescriptorProvenance.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/StellaOps.Scanner.Sbomer.BuildXPlugin/Descriptor/DescriptorRequest.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/StellaOps.Scanner.Sbomer.BuildXPlugin/Descriptor/DescriptorSubject.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/StellaOps.Scanner.Sbomer.BuildXPlugin/Manifest/BuildxPluginCas.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/StellaOps.Scanner.Sbomer.BuildXPlugin/Manifest/BuildxPluginEntryPoint.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/StellaOps.Scanner.Sbomer.BuildXPlugin/Manifest/BuildxPluginImage.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/StellaOps.Scanner.Sbomer.BuildXPlugin/Manifest/BuildxPluginManifest.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/StellaOps.Scanner.Sbomer.BuildXPlugin/Manifest/BuildxPluginManifestLoader.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.Sbomer.BuildXPlugin/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/StellaOps.Scanner.Sbomer.BuildXPlugin/obj/Debug/net10.0/StellaOps.Scanner.Sbomer.BuildXPlugin.AssemblyInfo.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/StellaOps.Scanner.Sbomer.BuildXPlugin/obj/Debug/net10.0/StellaOps.Scanner.Sbomer.BuildXPlugin.GlobalUsings.g.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/StellaOps.Scanner.Sbomer.BuildXPlugin/obj/Release/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/StellaOps.Scanner.Sbomer.BuildXPlugin/obj/Release/net10.0/StellaOps.Scanner.Sbomer.BuildXPlugin.AssemblyInfo.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/StellaOps.Scanner.Sbomer.BuildXPlugin/obj/Release/net10.0/StellaOps.Scanner.Sbomer.BuildXPlugin.GlobalUsings.g.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/StellaOps.Scanner.Sbomer.BuildXPlugin/Surface/SurfaceCasLayout.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.Sbomer.BuildXPlugin/Surface/SurfaceManifestWriter.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.Sbomer.BuildXPlugin/Surface/SurfaceOptions.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
## Testing Fullness Findings
- Status: FAIL
- Expected layers (heuristic): Performance, Unit
- Detected test projects: src/Scanner/__Tests/StellaOps.Scanner.Sbomer.BuildXPlugin.Tests/StellaOps.Scanner.Sbomer.BuildXPlugin.Tests.csproj [Unit]
- Missing layers: Performance
### 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.Scanner.Sbomer.BuildXPlugin
## Project
- Path: src/Scanner/StellaOps.Scanner.Sbomer.BuildXPlugin/StellaOps.Scanner.Sbomer.BuildXPlugin.csproj
- Module: Scanner
- Kind: Library
- Audit date (UTC): 2026-01-31
- Files scanned: 23
- Files with issues: 8
- 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: 5
- Namespace violations: 0
- Using directive violations: 2
- Naming violations (interfaces/fields/const/async): 13
- Service locator usage (BuildServiceProvider/GetService): 10
- Assembly.LoadFrom usage: 0
### Details
- 100-line files:
- src/Scanner/StellaOps.Scanner.Sbomer.BuildXPlugin/Program.cs (629 lines)
- src/Scanner/StellaOps.Scanner.Sbomer.BuildXPlugin/Descriptor/DescriptorGenerator.cs (200 lines)
- src/Scanner/StellaOps.Scanner.Sbomer.BuildXPlugin/Manifest/BuildxPluginManifestLoader.cs (190 lines)
- src/Scanner/StellaOps.Scanner.Sbomer.BuildXPlugin/Surface/SurfaceCasLayout.cs (114 lines)
- src/Scanner/StellaOps.Scanner.Sbomer.BuildXPlugin/Surface/SurfaceManifestWriter.cs (236 lines)
- Namespace issues:
- none
- Using directive issues:
- src/Scanner/StellaOps.Scanner.Sbomer.BuildXPlugin/Program.cs: using directives inside namespace
- src/Scanner/StellaOps.Scanner.Sbomer.BuildXPlugin/Attestation/AttestorClient.cs: using directives inside namespace
- Naming issues:
- src/Scanner/StellaOps.Scanner.Sbomer.BuildXPlugin/Program.cs: private field naming
- src/Scanner/StellaOps.Scanner.Sbomer.BuildXPlugin/Attestation/AttestorClient.cs: private field naming
- src/Scanner/StellaOps.Scanner.Sbomer.BuildXPlugin/Cas/LocalCasClient.cs: private field naming
- src/Scanner/StellaOps.Scanner.Sbomer.BuildXPlugin/Cas/LocalCasOptions.cs: private field naming
- src/Scanner/StellaOps.Scanner.Sbomer.BuildXPlugin/Manifest/BuildxPluginManifestLoader.cs: private field naming
- src/Scanner/StellaOps.Scanner.Sbomer.BuildXPlugin/Surface/SurfaceManifestWriter.cs: private field naming
- Async issues:
- src/Scanner/StellaOps.Scanner.Sbomer.BuildXPlugin/Program.cs: async method naming
- src/Scanner/StellaOps.Scanner.Sbomer.BuildXPlugin/Attestation/AttestorClient.cs: async method naming
- src/Scanner/StellaOps.Scanner.Sbomer.BuildXPlugin/Cas/LocalCasClient.cs: async method naming
- src/Scanner/StellaOps.Scanner.Sbomer.BuildXPlugin/Descriptor/DescriptorGenerator.cs: async method naming
- src/Scanner/StellaOps.Scanner.Sbomer.BuildXPlugin/Manifest/BuildxPluginManifestLoader.cs: async method naming
- src/Scanner/StellaOps.Scanner.Sbomer.BuildXPlugin/Surface/SurfaceCasLayout.cs: async method naming
- src/Scanner/StellaOps.Scanner.Sbomer.BuildXPlugin/Surface/SurfaceManifestWriter.cs: async method naming
- Service locator matches:
- src/Scanner/StellaOps.Scanner.Sbomer.BuildXPlugin/Program.cs:398 using var provider = services.BuildServiceProvider();
- src/Scanner/StellaOps.Scanner.Sbomer.BuildXPlugin/Program.cs:399 var env = provider.GetService<ISurfaceEnvironment>();
- src/Scanner/StellaOps.Scanner.Sbomer.BuildXPlugin/Program.cs:435 using var provider = services.BuildServiceProvider();
- src/Scanner/StellaOps.Scanner.Sbomer.BuildXPlugin/Program.cs:436 var secretProvider = provider.GetService<ISurfaceSecretProvider>();
- src/Scanner/StellaOps.Scanner.Sbomer.BuildXPlugin/Program.cs:437 var env = provider.GetService<ISurfaceEnvironment>();
- src/Scanner/StellaOps.Scanner.Sbomer.BuildXPlugin/Program.cs:488 using var provider = services.BuildServiceProvider();
- src/Scanner/StellaOps.Scanner.Sbomer.BuildXPlugin/Program.cs:489 var secretProvider = provider.GetService<ISurfaceSecretProvider>();
- src/Scanner/StellaOps.Scanner.Sbomer.BuildXPlugin/Program.cs:490 var env = provider.GetService<ISurfaceEnvironment>();
- src/Scanner/StellaOps.Scanner.Sbomer.BuildXPlugin/Program.cs:603 var provider = services.BuildServiceProvider();
- src/Scanner/StellaOps.Scanner.Sbomer.BuildXPlugin/Program.cs:604 var factory = provider.GetRequiredService<IHttpClientFactory>();
- Assembly.LoadFrom matches:
- none
### Fix Guidance
- Align interface/field/const naming to standards.
- Move and sort using directives (outside namespace).
- Rename async methods and avoid blocking async calls.
- Replace service locator usage with constructor injection.
- Split files over 100 lines into smaller types or partials.
## File-Level Findings
- Status: FAIL
- Files scanned: 23
- Files with issues: 8
- See docs/implplan/audits/csproj-standards/file-audit.csv for full per-file status.
| File | Issues | Fix guidance |
| --- | --- | --- |
| src/Scanner/StellaOps.Scanner.Sbomer.BuildXPlugin/Program.cs | AsyncNaming; FileLength>100; PrivateFieldNaming; ServiceLocator; UsingInsideNamespace | Move using directives outside namespace.; Remove service locator usage; use constructor injection.; Rename async methods to end with Async.; Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.Sbomer.BuildXPlugin/Attestation/AttestorClient.cs | AsyncNaming; PrivateFieldNaming; UsingInsideNamespace | Move using directives outside namespace.; Rename async methods to end with Async.; Rename private fields to _camelCase. |
| src/Scanner/StellaOps.Scanner.Sbomer.BuildXPlugin/Cas/LocalCasClient.cs | AsyncNaming; PrivateFieldNaming | Rename async methods to end with Async.; Rename private fields to _camelCase. |
| src/Scanner/StellaOps.Scanner.Sbomer.BuildXPlugin/Cas/LocalCasOptions.cs | PrivateFieldNaming | Rename private fields to _camelCase. |
| src/Scanner/StellaOps.Scanner.Sbomer.BuildXPlugin/Descriptor/DescriptorGenerator.cs | AsyncNaming; FileLength>100 | Rename async methods to end with Async.; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.Sbomer.BuildXPlugin/Manifest/BuildxPluginManifestLoader.cs | AsyncNaming; FileLength>100; PrivateFieldNaming | Rename async methods to end with Async.; Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.Sbomer.BuildXPlugin/Surface/SurfaceCasLayout.cs | AsyncNaming; FileLength>100 | Rename async methods to end with Async.; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.Sbomer.BuildXPlugin/Surface/SurfaceManifestWriter.cs | AsyncNaming; FileLength>100; PrivateFieldNaming | Rename async methods to end with Async.; Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
## Testing Fullness Findings
- Status: FAIL
- Expected layers (heuristic): Performance, Unit
- Detected test projects: src/Scanner/__Tests/StellaOps.Scanner.Sbomer.BuildXPlugin.Tests/StellaOps.Scanner.Sbomer.BuildXPlugin.Tests.csproj [Unit]
- Missing layers: Performance
### 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,613 @@
# Audit - StellaOps.Scanner.WebService
## Project
- Path: src/Scanner/StellaOps.Scanner.WebService/StellaOps.Scanner.WebService.csproj
- Module: Scanner
- Kind: Library
- Audit date (UTC): 2026-01-30
- Files scanned: 212
- Files with issues: 211
- 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: 128
- Namespace violations: 210
- 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/Scanner/StellaOps.Scanner.WebService/Program.cs (648 lines)
- src/Scanner/StellaOps.Scanner.WebService/Contracts/AttestationChain.cs (367 lines)
- src/Scanner/StellaOps.Scanner.WebService/Contracts/BaselineContracts.cs (229 lines)
- src/Scanner/StellaOps.Scanner.WebService/Contracts/DeltaCompareContracts.cs (441 lines)
- src/Scanner/StellaOps.Scanner.WebService/Contracts/FindingEvidenceContracts.cs (199 lines)
- src/Scanner/StellaOps.Scanner.WebService/Contracts/GatingContracts.cs (265 lines)
- src/Scanner/StellaOps.Scanner.WebService/Contracts/HumanApprovalStatement.cs (245 lines)
- src/Scanner/StellaOps.Scanner.WebService/Contracts/LayerSbomContracts.cs (142 lines)
- src/Scanner/StellaOps.Scanner.WebService/Contracts/ManifestContracts.cs (202 lines)
- src/Scanner/StellaOps.Scanner.WebService/Contracts/OrchestratorEventContracts.cs (663 lines)
- src/Scanner/StellaOps.Scanner.WebService/Contracts/PolicyDecisionStatement.cs (201 lines)
- src/Scanner/StellaOps.Scanner.WebService/Contracts/PolicyPreviewContracts.cs (196 lines)
- src/Scanner/StellaOps.Scanner.WebService/Contracts/ProofSpineContracts.cs (159 lines)
- src/Scanner/StellaOps.Scanner.WebService/Contracts/RationaleContracts.cs (323 lines)
- src/Scanner/StellaOps.Scanner.WebService/Contracts/ReachabilityContracts.cs (226 lines)
- src/Scanner/StellaOps.Scanner.WebService/Contracts/ReplayCommandContracts.cs (213 lines)
- src/Scanner/StellaOps.Scanner.WebService/Contracts/ReportContracts.cs (223 lines)
- src/Scanner/StellaOps.Scanner.WebService/Contracts/RichGraphStatement.cs (167 lines)
- src/Scanner/StellaOps.Scanner.WebService/Contracts/RuntimeEventsContracts.cs (111 lines)
- src/Scanner/StellaOps.Scanner.WebService/Contracts/RuntimePolicyContracts.cs (217 lines)
- src/Scanner/StellaOps.Scanner.WebService/Contracts/SbomContracts.cs (232 lines)
- src/Scanner/StellaOps.Scanner.WebService/Contracts/SecretDetectionConfigContracts.cs (320 lines)
- src/Scanner/StellaOps.Scanner.WebService/Contracts/TriageContracts.cs (465 lines)
- src/Scanner/StellaOps.Scanner.WebService/Contracts/UnifiedEvidenceContracts.cs (524 lines)
- src/Scanner/StellaOps.Scanner.WebService/Contracts/VexGateContracts.cs (265 lines)
- src/Scanner/StellaOps.Scanner.WebService/Controllers/TriageController.cs (445 lines)
- src/Scanner/StellaOps.Scanner.WebService/Controllers/VexGateController.cs (144 lines)
- src/Scanner/StellaOps.Scanner.WebService/Endpoints/ActionablesEndpoints.cs (310 lines)
- src/Scanner/StellaOps.Scanner.WebService/Endpoints/ApprovalEndpoints.cs (550 lines)
- src/Scanner/StellaOps.Scanner.WebService/Endpoints/BaselineEndpoints.cs (293 lines)
- src/Scanner/StellaOps.Scanner.WebService/Endpoints/CallGraphEndpoints.cs (245 lines)
- src/Scanner/StellaOps.Scanner.WebService/Endpoints/CounterfactualEndpoints.cs (611 lines)
- src/Scanner/StellaOps.Scanner.WebService/Endpoints/DeltaCompareEndpoints.cs (292 lines)
- src/Scanner/StellaOps.Scanner.WebService/Endpoints/DeltaEvidenceEndpoints.cs (832 lines)
- src/Scanner/StellaOps.Scanner.WebService/Endpoints/EpssEndpoints.cs (325 lines)
- src/Scanner/StellaOps.Scanner.WebService/Endpoints/EvidenceEndpoints.cs (254 lines)
- src/Scanner/StellaOps.Scanner.WebService/Endpoints/ExportEndpoints.cs (488 lines)
- src/Scanner/StellaOps.Scanner.WebService/Endpoints/GitHubCodeScanningEndpoints.cs (372 lines)
- src/Scanner/StellaOps.Scanner.WebService/Endpoints/HealthEndpoints.cs (161 lines)
- src/Scanner/StellaOps.Scanner.WebService/Endpoints/LayerSbomEndpoints.cs (337 lines)
- src/Scanner/StellaOps.Scanner.WebService/Endpoints/ManifestEndpoints.cs (307 lines)
- src/Scanner/StellaOps.Scanner.WebService/Endpoints/OfflineKitEndpoints.cs (342 lines)
- src/Scanner/StellaOps.Scanner.WebService/Endpoints/PolicyEndpoints.cs (587 lines)
- src/Scanner/StellaOps.Scanner.WebService/Endpoints/ProofSpineEndpoints.cs (197 lines)
- src/Scanner/StellaOps.Scanner.WebService/Endpoints/ReachabilityDriftEndpoints.cs (308 lines)
- src/Scanner/StellaOps.Scanner.WebService/Endpoints/ReachabilityEndpoints.cs (422 lines)
- src/Scanner/StellaOps.Scanner.WebService/Endpoints/ReachabilityEvidenceEndpoints.cs (329 lines)
- src/Scanner/StellaOps.Scanner.WebService/Endpoints/ReachabilityStackEndpoints.cs (293 lines)
- src/Scanner/StellaOps.Scanner.WebService/Endpoints/ReportEndpoints.cs (302 lines)
- src/Scanner/StellaOps.Scanner.WebService/Endpoints/RuntimeEndpoints.cs (333 lines)
- src/Scanner/StellaOps.Scanner.WebService/Endpoints/SbomEndpoints.cs (175 lines)
- src/Scanner/StellaOps.Scanner.WebService/Endpoints/ScanEndpoints.cs (767 lines)
- src/Scanner/StellaOps.Scanner.WebService/Endpoints/ScoreReplayEndpoints.cs (284 lines)
- src/Scanner/StellaOps.Scanner.WebService/Endpoints/SecretDetectionSettingsEndpoints.cs (374 lines)
- src/Scanner/StellaOps.Scanner.WebService/Endpoints/SliceEndpoints.cs (387 lines)
- src/Scanner/StellaOps.Scanner.WebService/Endpoints/SmartDiffEndpoints.cs (464 lines)
- src/Scanner/StellaOps.Scanner.WebService/Endpoints/SourcesEndpoints.cs (759 lines)
- src/Scanner/StellaOps.Scanner.WebService/Endpoints/UnknownsEndpoints.cs (324 lines)
- src/Scanner/StellaOps.Scanner.WebService/Endpoints/ValidationEndpoints.cs (347 lines)
- src/Scanner/StellaOps.Scanner.WebService/Endpoints/WebhookEndpoints.cs (669 lines)
- src/Scanner/StellaOps.Scanner.WebService/Endpoints/WitnessEndpoints.cs (254 lines)
- src/Scanner/StellaOps.Scanner.WebService/Endpoints/Triage/ProofBundleEndpoints.cs (165 lines)
- src/Scanner/StellaOps.Scanner.WebService/Endpoints/Triage/TriageInboxEndpoints.cs (124 lines)
- src/Scanner/StellaOps.Scanner.WebService/Endpoints/Triage/TriageStatusEndpoints.cs (302 lines)
- src/Scanner/StellaOps.Scanner.WebService/Extensions/RateLimitingExtensions.cs (128 lines)
- src/Scanner/StellaOps.Scanner.WebService/Middleware/IdempotencyMiddleware.cs (272 lines)
- src/Scanner/StellaOps.Scanner.WebService/Options/ScannerStorageOptionsPostConfigurator.cs (119 lines)
- src/Scanner/StellaOps.Scanner.WebService/Options/ScannerSurfaceSecretConfigurator.cs (247 lines)
- src/Scanner/StellaOps.Scanner.WebService/Options/ScannerWebServiceOptions.cs (538 lines)
- src/Scanner/StellaOps.Scanner.WebService/Options/ScannerWebServiceOptionsPostConfigure.cs (111 lines)
- src/Scanner/StellaOps.Scanner.WebService/Options/ScannerWebServiceOptionsValidator.cs (495 lines)
- src/Scanner/StellaOps.Scanner.WebService/Replay/RecordModeService.cs (316 lines)
- src/Scanner/StellaOps.Scanner.WebService/Serialization/DeterministicCborSerializer.cs (109 lines)
- src/Scanner/StellaOps.Scanner.WebService/Serialization/OrchestratorEventSerializer.cs (240 lines)
- src/Scanner/StellaOps.Scanner.WebService/Services/AttestationChainVerifier.cs (671 lines)
- src/Scanner/StellaOps.Scanner.WebService/Services/CallGraphIngestionService.cs (233 lines)
- src/Scanner/StellaOps.Scanner.WebService/Services/ConcelierHttpLinksetQueryService.cs (173 lines)
- src/Scanner/StellaOps.Scanner.WebService/Services/DeltaScanRequestHandler.cs (261 lines)
- src/Scanner/StellaOps.Scanner.WebService/Services/EvidenceBundleExporter.cs (778 lines)
- src/Scanner/StellaOps.Scanner.WebService/Services/EvidenceCompositionService.cs (469 lines)
- src/Scanner/StellaOps.Scanner.WebService/Services/FeedChangeRescoreJob.cs (355 lines)
- src/Scanner/StellaOps.Scanner.WebService/Services/FindingRationaleService.cs (450 lines)
- src/Scanner/StellaOps.Scanner.WebService/Services/GatingReasonService.cs (313 lines)
- src/Scanner/StellaOps.Scanner.WebService/Services/HumanApprovalAttestationService.cs (317 lines)
- src/Scanner/StellaOps.Scanner.WebService/Services/IEvidenceBundleExporter.cs (181 lines)
- src/Scanner/StellaOps.Scanner.WebService/Services/IHumanApprovalAttestationService.cs (207 lines)
- src/Scanner/StellaOps.Scanner.WebService/Services/ILayerSbomService.cs (147 lines)
- src/Scanner/StellaOps.Scanner.WebService/Services/InMemoryScanCoordinator.cs (198 lines)
- src/Scanner/StellaOps.Scanner.WebService/Services/InMemoryScanManifestRepository.cs (149 lines)
- src/Scanner/StellaOps.Scanner.WebService/Services/IOfflineAttestationVerifier.cs (482 lines)
- src/Scanner/StellaOps.Scanner.WebService/Services/IPolicyDecisionAttestationService.cs (158 lines)
- src/Scanner/StellaOps.Scanner.WebService/Services/IRichGraphAttestationService.cs (175 lines)
- src/Scanner/StellaOps.Scanner.WebService/Services/IVexGateQueryService.cs (127 lines)
- src/Scanner/StellaOps.Scanner.WebService/Services/LayerSbomService.cs (263 lines)
- src/Scanner/StellaOps.Scanner.WebService/Services/LinksetResolver.cs (182 lines)
- src/Scanner/StellaOps.Scanner.WebService/Services/OciAttestationPublisher.cs (271 lines)
- src/Scanner/StellaOps.Scanner.WebService/Services/OfflineAttestationVerifier.cs (742 lines)
- src/Scanner/StellaOps.Scanner.WebService/Services/OfflineKitContracts.cs (144 lines)
- src/Scanner/StellaOps.Scanner.WebService/Services/OfflineKitImportService.cs (687 lines)
- src/Scanner/StellaOps.Scanner.WebService/Services/OfflineKitManifestService.cs (308 lines)
- src/Scanner/StellaOps.Scanner.WebService/Services/OfflineKitMetricsStore.cs (295 lines)
- src/Scanner/StellaOps.Scanner.WebService/Services/PolicyDecisionAttestationService.cs (205 lines)
- src/Scanner/StellaOps.Scanner.WebService/Services/PolicyDtoMapper.cs (357 lines)
- src/Scanner/StellaOps.Scanner.WebService/Services/PrAnnotationService.cs (590 lines)
- src/Scanner/StellaOps.Scanner.WebService/Services/PrAnnotationWebhookHandler.cs (591 lines)
- src/Scanner/StellaOps.Scanner.WebService/Services/RedisPlatformEventPublisher.cs (156 lines)
- src/Scanner/StellaOps.Scanner.WebService/Services/ReplayCommandService.cs (436 lines)
- src/Scanner/StellaOps.Scanner.WebService/Services/ReportEventDispatcher.cs (820 lines)
- src/Scanner/StellaOps.Scanner.WebService/Services/ReportSigner.cs (268 lines)
- src/Scanner/StellaOps.Scanner.WebService/Services/RichGraphAttestationService.cs (217 lines)
- src/Scanner/StellaOps.Scanner.WebService/Services/RuntimeEventIngestionService.cs (235 lines)
- src/Scanner/StellaOps.Scanner.WebService/Services/RuntimeEventRateLimiter.cs (262 lines)
- src/Scanner/StellaOps.Scanner.WebService/Services/RuntimeInventoryReconciler.cs (682 lines)
- src/Scanner/StellaOps.Scanner.WebService/Services/RuntimePolicyService.cs (534 lines)
- src/Scanner/StellaOps.Scanner.WebService/Services/SbomByosUploadService.cs (652 lines)
- src/Scanner/StellaOps.Scanner.WebService/Services/SbomExportService.cs (265 lines)
- src/Scanner/StellaOps.Scanner.WebService/Services/SbomIngestionService.cs (193 lines)
- src/Scanner/StellaOps.Scanner.WebService/Services/ScanFindingsSarifExportService.cs (188 lines)
- src/Scanner/StellaOps.Scanner.WebService/Services/ScanProgressStream.cs (151 lines)
- src/Scanner/StellaOps.Scanner.WebService/Services/ScoreReplayService.cs (222 lines)
- src/Scanner/StellaOps.Scanner.WebService/Services/SecretDetectionSettingsService.cs (498 lines)
- src/Scanner/StellaOps.Scanner.WebService/Services/SignedSbomArchiveBuilder.cs (728 lines)
- src/Scanner/StellaOps.Scanner.WebService/Services/SliceQueryService.cs (337 lines)
- src/Scanner/StellaOps.Scanner.WebService/Services/SurfacePointerService.cs (294 lines)
- src/Scanner/StellaOps.Scanner.WebService/Services/TestManifestRepository.cs (143 lines)
- src/Scanner/StellaOps.Scanner.WebService/Services/TriageStatusService.cs (366 lines)
- src/Scanner/StellaOps.Scanner.WebService/Services/UnifiedEvidenceService.cs (364 lines)
- src/Scanner/StellaOps.Scanner.WebService/Services/VexGateQueryService.cs (209 lines)
- Namespace issues:
- src/Scanner/StellaOps.Scanner.WebService/Constants/ProblemTypes.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Contracts/AttestationChain.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Contracts/BaselineContracts.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Contracts/BunContracts.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Contracts/CallGraphContracts.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Contracts/DeltaCompareContracts.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Contracts/EntropyContracts.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Contracts/EntryTraceResponse.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Contracts/FindingEvidenceContracts.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Contracts/GatingContracts.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Contracts/HumanApprovalStatement.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Contracts/LayerSbomContracts.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Contracts/LinksetContracts.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Contracts/LinksetSummaryContracts.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Contracts/ManifestContracts.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Contracts/OrchestratorEventContracts.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Contracts/PolicyDecisionStatement.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Contracts/PolicyDiagnosticsContracts.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Contracts/PolicyPreviewContracts.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Contracts/ProofSpineContracts.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Contracts/RationaleContracts.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Contracts/ReachabilityContracts.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Contracts/ReplayCommandContracts.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Contracts/ReplayContracts.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Contracts/ReportContracts.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Contracts/RichGraphStatement.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Contracts/RubyContracts.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Contracts/RuntimeEventsContracts.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Contracts/RuntimePolicyContracts.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Contracts/SbomContracts.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Contracts/ScanStatusResponse.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Contracts/ScanSubmitRequest.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Contracts/ScanSubmitResponse.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Contracts/SecretDetectionConfigContracts.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Contracts/SurfaceContracts.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Contracts/TriageContracts.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Contracts/UnifiedEvidenceContracts.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Contracts/VexGateContracts.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Controllers/FindingsEvidenceController.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Controllers/TriageController.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Controllers/VexGateController.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Determinism/DeterministicTimeProvider.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Diagnostics/ServiceStatus.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Domain/ScanId.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Domain/ScanProgressEvent.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Domain/ScanSnapshot.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Domain/ScanStatus.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Domain/ScanSubmission.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Domain/ScanTarget.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Endpoints/ActionablesEndpoints.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Endpoints/ApprovalEndpoints.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Endpoints/BaselineEndpoints.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Endpoints/CallGraphEndpoints.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Endpoints/CounterfactualEndpoints.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Endpoints/DeltaCompareEndpoints.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Endpoints/DeltaEvidenceEndpoints.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Endpoints/EpssEndpoints.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Endpoints/EvidenceEndpoints.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Endpoints/ExportEndpoints.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Endpoints/FidelityEndpoints.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Endpoints/GitHubCodeScanningEndpoints.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Endpoints/HealthEndpoints.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Endpoints/LayerSbomEndpoints.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Endpoints/ManifestEndpoints.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Endpoints/ObservabilityEndpoints.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Endpoints/OfflineKitEndpoints.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Endpoints/PolicyEndpoints.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Endpoints/ProofSpineEndpoints.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Endpoints/ReachabilityDriftEndpoints.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Endpoints/ReachabilityEndpoints.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Endpoints/ReachabilityEvidenceEndpoints.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Endpoints/ReachabilityStackEndpoints.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Endpoints/ReplayEndpoints.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Endpoints/ReportEndpoints.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Endpoints/RuntimeEndpoints.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Endpoints/SbomEndpoints.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Endpoints/SbomUploadEndpoints.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Endpoints/ScanEndpoints.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Endpoints/ScoreReplayEndpoints.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Endpoints/SecretDetectionSettingsEndpoints.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Endpoints/SliceEndpoints.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Endpoints/SmartDiffEndpoints.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Endpoints/SourcesEndpoints.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Endpoints/UnknownsEndpoints.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Endpoints/ValidationEndpoints.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Endpoints/WebhookEndpoints.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Endpoints/WitnessEndpoints.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Endpoints/Triage/ProofBundleEndpoints.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Endpoints/Triage/TriageInboxEndpoints.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Endpoints/Triage/TriageStatusEndpoints.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Extensions/ConfigurationExtensions.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Extensions/OpenApiRegistrationExtensions.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Extensions/RateLimitingExtensions.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Hosting/ScannerPluginHostFactory.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Infrastructure/ProblemResultFactory.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Middleware/IdempotencyMiddleware.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Middleware/IdempotencyMiddlewareExtensions.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/obj/Debug/net10.0/StellaOps.Scanner.WebService.AssemblyInfo.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/obj/Debug/net10.0/StellaOps.Scanner.WebService.GlobalUsings.g.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/obj/Debug/net10.0/StellaOps.Scanner.WebService.MvcApplicationPartsAssemblyInfo.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/obj/Release/net10.0/StellaOps.Scanner.WebService.GlobalUsings.g.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Options/ConcelierLinksetOptions.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Options/IdempotencyOptions.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Options/ScannerStorageOptionsPostConfigurator.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Options/ScannerSurfaceSecretConfigurator.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Options/ScannerWebServiceOptions.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Options/ScannerWebServiceOptionsPostConfigure.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Options/ScannerWebServiceOptionsValidator.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Options/SurfaceFeatureFlagsConfigurator.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Options/SurfaceManifestStoreOptionsConfigurator.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Replay/IRecordModeService.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Replay/RecordModeService.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Security/AnonymousAuthenticationHandler.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Security/ScannerAuthorityScopes.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Security/ScannerPolicies.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Serialization/CborNegotiation.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Serialization/DeterministicCborSerializer.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Serialization/OrchestratorEventSerializer.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Services/AttestationChainVerifier.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Services/CallGraphIngestionService.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Services/ConcelierHttpLinksetQueryService.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Services/DeltaScanRequestHandler.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Services/DeterministicScoringService.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Services/EvidenceBundleExporter.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Services/EvidenceCompositionService.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Services/FeedChangeRescoreJob.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Services/FindingRationaleService.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Services/GatingReasonService.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Services/HumanApprovalAttestationService.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Services/IAttestationChainVerifier.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Services/ICallGraphIngestionService.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Services/IEvidenceBundleExporter.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Services/IEvidenceCompositionService.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Services/IExportServices.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Services/IFindingRationaleService.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Services/IGatingReasonService.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Services/IHumanApprovalAttestationService.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Services/ILayerSbomService.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Services/InMemoryProofBundleRepository.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Services/InMemoryScanCoordinator.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Services/InMemoryScanManifestRepository.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Services/IOciAttestationPublisher.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Services/IOfflineAttestationVerifier.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Services/IPlatformEventPublisher.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Services/IPolicyDecisionAttestationService.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Services/IReachabilityComputeService.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Services/IReachabilityExplainService.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Services/IReachabilityQueryService.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Services/IRedisConnectionFactory.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Services/IReplayCommandService.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Services/IReportEventDispatcher.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Services/IRichGraphAttestationService.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Services/ISbomIngestionService.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Services/IScanCoordinator.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Services/IScanMetadataRepository.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Services/IScoreReplayService.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Services/ISliceQueryService.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Services/ITriageQueryService.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Services/IUnifiedEvidenceService.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Services/IVexGateQueryService.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Services/LayerSbomService.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Services/LinksetResolver.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Services/MessagingPlatformEventPublisher.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Services/NullAdvisoryLinksetQueryService.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Services/NullGitHubCodeScanningService.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Services/NullOciAttestationPublisher.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Services/NullOfflineKitAuditEmitter.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Services/NullPlatformEventPublisher.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Services/NullReachabilityServices.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Services/OciAttestationPublisher.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Services/OfflineAttestationVerifier.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Services/OfflineKitContracts.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Services/OfflineKitImportService.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Services/OfflineKitManifestService.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Services/OfflineKitMetricsStore.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Services/OfflineKitStateStore.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Services/PolicyDecisionAttestationService.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Services/PolicyDtoMapper.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Services/PrAnnotationService.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Services/PrAnnotationWebhookHandler.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Services/RedisConnectionFactory.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Services/RedisPlatformEventPublisher.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Services/ReplayCommandService.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Services/ReportEventDispatcher.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Services/ReportSigner.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Services/RichGraphAttestationService.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Services/RuntimeEventIngestionService.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Services/RuntimeEventRateLimiter.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Services/RuntimeInventoryReconciler.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Services/RuntimePolicyService.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Services/SbomByosUploadService.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Services/SbomExportService.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Services/SbomIngestionService.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Services/SbomUploadStore.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Services/ScanFindingsSarifExportService.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Services/ScanProgressStream.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Services/ScoreReplayService.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Services/SecretDetectionSettingsService.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Services/SignedSbomArchiveBuilder.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Services/SliceQueryService.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Services/SurfacePointerService.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Services/TestManifestRepository.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Services/TriageQueryService.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Services/TriageStatusService.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Services/UnifiedEvidenceService.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Services/VexGateQueryService.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Tenancy/ITenantContext.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Tenancy/IUserContext.cs: missing namespace
- src/Scanner/StellaOps.Scanner.WebService/Utilities/ScanIdGenerator.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: 212
- Files with issues: 211
- See docs/implplan/audits/csproj-standards/file-audit.csv for full per-file status.
| File | Issues | Fix guidance |
| --- | --- | --- |
| src/Scanner/StellaOps.Scanner.WebService/Program.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Constants/ProblemTypes.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/StellaOps.Scanner.WebService/Contracts/AttestationChain.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Contracts/BaselineContracts.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Contracts/BunContracts.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/StellaOps.Scanner.WebService/Contracts/CallGraphContracts.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/StellaOps.Scanner.WebService/Contracts/DeltaCompareContracts.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Contracts/EntropyContracts.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/StellaOps.Scanner.WebService/Contracts/EntryTraceResponse.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/StellaOps.Scanner.WebService/Contracts/FindingEvidenceContracts.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Contracts/GatingContracts.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Contracts/HumanApprovalStatement.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Contracts/LayerSbomContracts.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Contracts/LinksetContracts.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/StellaOps.Scanner.WebService/Contracts/LinksetSummaryContracts.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/StellaOps.Scanner.WebService/Contracts/ManifestContracts.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Contracts/OrchestratorEventContracts.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Contracts/PolicyDecisionStatement.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Contracts/PolicyDiagnosticsContracts.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/StellaOps.Scanner.WebService/Contracts/PolicyPreviewContracts.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Contracts/ProofSpineContracts.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Contracts/RationaleContracts.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Contracts/ReachabilityContracts.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Contracts/ReplayCommandContracts.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Contracts/ReplayContracts.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/StellaOps.Scanner.WebService/Contracts/ReportContracts.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Contracts/RichGraphStatement.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Contracts/RubyContracts.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/StellaOps.Scanner.WebService/Contracts/RuntimeEventsContracts.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Contracts/RuntimePolicyContracts.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Contracts/SbomContracts.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Contracts/ScanStatusResponse.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/StellaOps.Scanner.WebService/Contracts/ScanSubmitRequest.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/StellaOps.Scanner.WebService/Contracts/ScanSubmitResponse.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/StellaOps.Scanner.WebService/Contracts/SecretDetectionConfigContracts.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Contracts/SurfaceContracts.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/StellaOps.Scanner.WebService/Contracts/TriageContracts.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Contracts/UnifiedEvidenceContracts.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Contracts/VexGateContracts.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Controllers/FindingsEvidenceController.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/StellaOps.Scanner.WebService/Controllers/TriageController.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Controllers/VexGateController.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Determinism/DeterministicTimeProvider.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/StellaOps.Scanner.WebService/Diagnostics/ServiceStatus.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/StellaOps.Scanner.WebService/Domain/ScanId.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/StellaOps.Scanner.WebService/Domain/ScanProgressEvent.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/StellaOps.Scanner.WebService/Domain/ScanSnapshot.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/StellaOps.Scanner.WebService/Domain/ScanStatus.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/StellaOps.Scanner.WebService/Domain/ScanSubmission.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/StellaOps.Scanner.WebService/Domain/ScanTarget.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/StellaOps.Scanner.WebService/Endpoints/ActionablesEndpoints.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Endpoints/ApprovalEndpoints.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Endpoints/BaselineEndpoints.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Endpoints/CallGraphEndpoints.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Endpoints/CounterfactualEndpoints.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Endpoints/DeltaCompareEndpoints.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Endpoints/DeltaEvidenceEndpoints.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Endpoints/EpssEndpoints.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Endpoints/EvidenceEndpoints.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Endpoints/ExportEndpoints.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Endpoints/FidelityEndpoints.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/StellaOps.Scanner.WebService/Endpoints/GitHubCodeScanningEndpoints.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Endpoints/HealthEndpoints.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Endpoints/LayerSbomEndpoints.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Endpoints/ManifestEndpoints.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Endpoints/ObservabilityEndpoints.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/StellaOps.Scanner.WebService/Endpoints/OfflineKitEndpoints.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Endpoints/PolicyEndpoints.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Endpoints/ProofSpineEndpoints.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Endpoints/ReachabilityDriftEndpoints.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Endpoints/ReachabilityEndpoints.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Endpoints/ReachabilityEvidenceEndpoints.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Endpoints/ReachabilityStackEndpoints.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Endpoints/ReplayEndpoints.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/StellaOps.Scanner.WebService/Endpoints/ReportEndpoints.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Endpoints/RuntimeEndpoints.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Endpoints/SbomEndpoints.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Endpoints/SbomUploadEndpoints.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/StellaOps.Scanner.WebService/Endpoints/ScanEndpoints.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Endpoints/ScoreReplayEndpoints.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Endpoints/SecretDetectionSettingsEndpoints.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Endpoints/SliceEndpoints.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Endpoints/SmartDiffEndpoints.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Endpoints/SourcesEndpoints.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Endpoints/UnknownsEndpoints.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Endpoints/ValidationEndpoints.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Endpoints/WebhookEndpoints.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Endpoints/WitnessEndpoints.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Endpoints/Triage/ProofBundleEndpoints.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Endpoints/Triage/TriageInboxEndpoints.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Endpoints/Triage/TriageStatusEndpoints.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Extensions/ConfigurationExtensions.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/StellaOps.Scanner.WebService/Extensions/OpenApiRegistrationExtensions.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/StellaOps.Scanner.WebService/Extensions/RateLimitingExtensions.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Hosting/ScannerPluginHostFactory.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/StellaOps.Scanner.WebService/Infrastructure/ProblemResultFactory.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/StellaOps.Scanner.WebService/Middleware/IdempotencyMiddleware.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Middleware/IdempotencyMiddlewareExtensions.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/StellaOps.Scanner.WebService/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/StellaOps.Scanner.WebService/obj/Debug/net10.0/StellaOps.Scanner.WebService.AssemblyInfo.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/StellaOps.Scanner.WebService/obj/Debug/net10.0/StellaOps.Scanner.WebService.GlobalUsings.g.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/StellaOps.Scanner.WebService/obj/Debug/net10.0/StellaOps.Scanner.WebService.MvcApplicationPartsAssemblyInfo.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/StellaOps.Scanner.WebService/obj/Release/net10.0/StellaOps.Scanner.WebService.GlobalUsings.g.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/StellaOps.Scanner.WebService/Options/ConcelierLinksetOptions.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/StellaOps.Scanner.WebService/Options/IdempotencyOptions.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/StellaOps.Scanner.WebService/Options/ScannerStorageOptionsPostConfigurator.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Options/ScannerSurfaceSecretConfigurator.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Options/ScannerWebServiceOptions.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Options/ScannerWebServiceOptionsPostConfigure.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Options/ScannerWebServiceOptionsValidator.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Options/SurfaceFeatureFlagsConfigurator.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/StellaOps.Scanner.WebService/Options/SurfaceManifestStoreOptionsConfigurator.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/StellaOps.Scanner.WebService/Replay/IRecordModeService.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/StellaOps.Scanner.WebService/Replay/RecordModeService.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Security/AnonymousAuthenticationHandler.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/StellaOps.Scanner.WebService/Security/ScannerAuthorityScopes.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/StellaOps.Scanner.WebService/Security/ScannerPolicies.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/StellaOps.Scanner.WebService/Serialization/CborNegotiation.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/StellaOps.Scanner.WebService/Serialization/DeterministicCborSerializer.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Serialization/OrchestratorEventSerializer.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Services/AttestationChainVerifier.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Services/CallGraphIngestionService.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Services/ConcelierHttpLinksetQueryService.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Services/DeltaScanRequestHandler.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Services/DeterministicScoringService.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/StellaOps.Scanner.WebService/Services/EvidenceBundleExporter.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Services/EvidenceCompositionService.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Services/FeedChangeRescoreJob.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Services/FindingRationaleService.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Services/GatingReasonService.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Services/HumanApprovalAttestationService.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Services/IAttestationChainVerifier.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/StellaOps.Scanner.WebService/Services/ICallGraphIngestionService.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/StellaOps.Scanner.WebService/Services/IEvidenceBundleExporter.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Services/IEvidenceCompositionService.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/StellaOps.Scanner.WebService/Services/IExportServices.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/StellaOps.Scanner.WebService/Services/IFindingRationaleService.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/StellaOps.Scanner.WebService/Services/IGatingReasonService.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/StellaOps.Scanner.WebService/Services/IHumanApprovalAttestationService.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Services/ILayerSbomService.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Services/InMemoryProofBundleRepository.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/StellaOps.Scanner.WebService/Services/InMemoryScanCoordinator.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Services/InMemoryScanManifestRepository.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Services/IOciAttestationPublisher.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/StellaOps.Scanner.WebService/Services/IOfflineAttestationVerifier.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Services/IPlatformEventPublisher.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/StellaOps.Scanner.WebService/Services/IPolicyDecisionAttestationService.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Services/IReachabilityComputeService.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/StellaOps.Scanner.WebService/Services/IReachabilityExplainService.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/StellaOps.Scanner.WebService/Services/IReachabilityQueryService.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/StellaOps.Scanner.WebService/Services/IRedisConnectionFactory.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/StellaOps.Scanner.WebService/Services/IReplayCommandService.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/StellaOps.Scanner.WebService/Services/IReportEventDispatcher.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/StellaOps.Scanner.WebService/Services/IRichGraphAttestationService.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Services/ISbomIngestionService.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/StellaOps.Scanner.WebService/Services/IScanCoordinator.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/StellaOps.Scanner.WebService/Services/IScanMetadataRepository.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/StellaOps.Scanner.WebService/Services/IScoreReplayService.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/StellaOps.Scanner.WebService/Services/ISliceQueryService.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/StellaOps.Scanner.WebService/Services/ITriageQueryService.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/StellaOps.Scanner.WebService/Services/IUnifiedEvidenceService.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/StellaOps.Scanner.WebService/Services/IVexGateQueryService.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Services/LayerSbomService.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Services/LinksetResolver.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Services/MessagingPlatformEventPublisher.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/StellaOps.Scanner.WebService/Services/NullAdvisoryLinksetQueryService.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/StellaOps.Scanner.WebService/Services/NullGitHubCodeScanningService.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/StellaOps.Scanner.WebService/Services/NullOciAttestationPublisher.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/StellaOps.Scanner.WebService/Services/NullOfflineKitAuditEmitter.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/StellaOps.Scanner.WebService/Services/NullPlatformEventPublisher.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/StellaOps.Scanner.WebService/Services/NullReachabilityServices.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/StellaOps.Scanner.WebService/Services/OciAttestationPublisher.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Services/OfflineAttestationVerifier.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Services/OfflineKitContracts.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Services/OfflineKitImportService.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Services/OfflineKitManifestService.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Services/OfflineKitMetricsStore.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Services/OfflineKitStateStore.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/StellaOps.Scanner.WebService/Services/PolicyDecisionAttestationService.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Services/PolicyDtoMapper.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Services/PrAnnotationService.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Services/PrAnnotationWebhookHandler.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Services/RedisConnectionFactory.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/StellaOps.Scanner.WebService/Services/RedisPlatformEventPublisher.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Services/ReplayCommandService.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Services/ReportEventDispatcher.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Services/ReportSigner.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Services/RichGraphAttestationService.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Services/RuntimeEventIngestionService.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Services/RuntimeEventRateLimiter.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Services/RuntimeInventoryReconciler.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Services/RuntimePolicyService.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Services/SbomByosUploadService.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Services/SbomExportService.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Services/SbomIngestionService.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Services/SbomUploadStore.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/StellaOps.Scanner.WebService/Services/ScanFindingsSarifExportService.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Services/ScanProgressStream.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Services/ScoreReplayService.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Services/SecretDetectionSettingsService.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Services/SignedSbomArchiveBuilder.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Services/SliceQueryService.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Services/SurfacePointerService.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Services/TestManifestRepository.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Services/TriageQueryService.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/StellaOps.Scanner.WebService/Services/TriageStatusService.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Services/UnifiedEvidenceService.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Services/VexGateQueryService.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Tenancy/ITenantContext.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/StellaOps.Scanner.WebService/Tenancy/IUserContext.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/StellaOps.Scanner.WebService/Utilities/ScanIdGenerator.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
## Testing Fullness Findings
- Status: PASS
- Expected layers (heuristic): Performance, Unit
- Detected test projects: src/__Tests/e2e/ReplayableVerdict/StellaOps.E2E.ReplayableVerdict.csproj [E2E]; src/__Tests/Integration/StellaOps.Integration.AirGap/StellaOps.Integration.AirGap.csproj [Integration, Offline] (no test attributes detected); src/__Tests/Integration/StellaOps.Integration.E2E/StellaOps.Integration.E2E.csproj [E2E, Integration]; src/__Tests/Integration/StellaOps.Integration.Performance/StellaOps.Integration.Performance.csproj [Integration, Performance]; src/__Tests/Integration/StellaOps.Integration.ProofChain/StellaOps.Integration.ProofChain.csproj [Integration]; src/Scanner/__Tests/StellaOps.Scanner.Triage.Tests/StellaOps.Scanner.Triage.Tests.csproj [Unit]; src/Scanner/__Tests/StellaOps.Scanner.WebService.Tests/StellaOps.Scanner.WebService.Tests.csproj [Unit]
- Missing layers: none
### 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
- None.

View File

@@ -0,0 +1,437 @@
# Audit - StellaOps.Scanner.WebService
## Project
- Path: src/Scanner/StellaOps.Scanner.WebService/StellaOps.Scanner.WebService.csproj
- Module: Scanner
- Kind: Service
- Audit date (UTC): 2026-01-31
- Files scanned: 207
- Files with issues: 135
- 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: 128
- Namespace violations: 0
- Using directive violations: 18
- Naming violations (interfaces/fields/const/async): 77
- Service locator usage (BuildServiceProvider/GetService): 14
- Assembly.LoadFrom usage: 0
### Details
- 100-line files:
- src/Scanner/StellaOps.Scanner.WebService/Program.cs (649 lines)
- src/Scanner/StellaOps.Scanner.WebService/Contracts/AttestationChain.cs (367 lines)
- src/Scanner/StellaOps.Scanner.WebService/Contracts/BaselineContracts.cs (229 lines)
- src/Scanner/StellaOps.Scanner.WebService/Contracts/DeltaCompareContracts.cs (441 lines)
- src/Scanner/StellaOps.Scanner.WebService/Contracts/FindingEvidenceContracts.cs (199 lines)
- src/Scanner/StellaOps.Scanner.WebService/Contracts/GatingContracts.cs (265 lines)
- src/Scanner/StellaOps.Scanner.WebService/Contracts/HumanApprovalStatement.cs (245 lines)
- src/Scanner/StellaOps.Scanner.WebService/Contracts/LayerSbomContracts.cs (142 lines)
- src/Scanner/StellaOps.Scanner.WebService/Contracts/ManifestContracts.cs (202 lines)
- src/Scanner/StellaOps.Scanner.WebService/Contracts/OrchestratorEventContracts.cs (663 lines)
- src/Scanner/StellaOps.Scanner.WebService/Contracts/PolicyDecisionStatement.cs (201 lines)
- src/Scanner/StellaOps.Scanner.WebService/Contracts/PolicyPreviewContracts.cs (196 lines)
- src/Scanner/StellaOps.Scanner.WebService/Contracts/ProofSpineContracts.cs (159 lines)
- src/Scanner/StellaOps.Scanner.WebService/Contracts/RationaleContracts.cs (323 lines)
- src/Scanner/StellaOps.Scanner.WebService/Contracts/ReachabilityContracts.cs (226 lines)
- src/Scanner/StellaOps.Scanner.WebService/Contracts/ReplayCommandContracts.cs (213 lines)
- src/Scanner/StellaOps.Scanner.WebService/Contracts/ReportContracts.cs (223 lines)
- src/Scanner/StellaOps.Scanner.WebService/Contracts/RichGraphStatement.cs (167 lines)
- src/Scanner/StellaOps.Scanner.WebService/Contracts/RuntimeEventsContracts.cs (112 lines)
- src/Scanner/StellaOps.Scanner.WebService/Contracts/RuntimePolicyContracts.cs (217 lines)
- src/Scanner/StellaOps.Scanner.WebService/Contracts/SbomContracts.cs (232 lines)
- src/Scanner/StellaOps.Scanner.WebService/Contracts/SecretDetectionConfigContracts.cs (320 lines)
- src/Scanner/StellaOps.Scanner.WebService/Contracts/TriageContracts.cs (465 lines)
- src/Scanner/StellaOps.Scanner.WebService/Contracts/UnifiedEvidenceContracts.cs (524 lines)
- src/Scanner/StellaOps.Scanner.WebService/Contracts/VexGateContracts.cs (265 lines)
- src/Scanner/StellaOps.Scanner.WebService/Controllers/TriageController.cs (445 lines)
- src/Scanner/StellaOps.Scanner.WebService/Controllers/VexGateController.cs (144 lines)
- src/Scanner/StellaOps.Scanner.WebService/Endpoints/ActionablesEndpoints.cs (310 lines)
- src/Scanner/StellaOps.Scanner.WebService/Endpoints/ApprovalEndpoints.cs (551 lines)
- src/Scanner/StellaOps.Scanner.WebService/Endpoints/BaselineEndpoints.cs (293 lines)
- src/Scanner/StellaOps.Scanner.WebService/Endpoints/CallGraphEndpoints.cs (246 lines)
- src/Scanner/StellaOps.Scanner.WebService/Endpoints/CounterfactualEndpoints.cs (612 lines)
- src/Scanner/StellaOps.Scanner.WebService/Endpoints/DeltaCompareEndpoints.cs (293 lines)
- src/Scanner/StellaOps.Scanner.WebService/Endpoints/DeltaEvidenceEndpoints.cs (833 lines)
- src/Scanner/StellaOps.Scanner.WebService/Endpoints/EpssEndpoints.cs (326 lines)
- src/Scanner/StellaOps.Scanner.WebService/Endpoints/EvidenceEndpoints.cs (255 lines)
- src/Scanner/StellaOps.Scanner.WebService/Endpoints/ExportEndpoints.cs (489 lines)
- src/Scanner/StellaOps.Scanner.WebService/Endpoints/GitHubCodeScanningEndpoints.cs (372 lines)
- src/Scanner/StellaOps.Scanner.WebService/Endpoints/HealthEndpoints.cs (162 lines)
- src/Scanner/StellaOps.Scanner.WebService/Endpoints/LayerSbomEndpoints.cs (338 lines)
- src/Scanner/StellaOps.Scanner.WebService/Endpoints/ManifestEndpoints.cs (308 lines)
- src/Scanner/StellaOps.Scanner.WebService/Endpoints/OfflineKitEndpoints.cs (343 lines)
- src/Scanner/StellaOps.Scanner.WebService/Endpoints/PolicyEndpoints.cs (588 lines)
- src/Scanner/StellaOps.Scanner.WebService/Endpoints/ProofSpineEndpoints.cs (198 lines)
- src/Scanner/StellaOps.Scanner.WebService/Endpoints/ReachabilityDriftEndpoints.cs (309 lines)
- src/Scanner/StellaOps.Scanner.WebService/Endpoints/ReachabilityEndpoints.cs (423 lines)
- src/Scanner/StellaOps.Scanner.WebService/Endpoints/ReachabilityEvidenceEndpoints.cs (329 lines)
- src/Scanner/StellaOps.Scanner.WebService/Endpoints/ReachabilityStackEndpoints.cs (294 lines)
- src/Scanner/StellaOps.Scanner.WebService/Endpoints/ReportEndpoints.cs (303 lines)
- src/Scanner/StellaOps.Scanner.WebService/Endpoints/RuntimeEndpoints.cs (334 lines)
- src/Scanner/StellaOps.Scanner.WebService/Endpoints/SbomEndpoints.cs (176 lines)
- src/Scanner/StellaOps.Scanner.WebService/Endpoints/ScanEndpoints.cs (768 lines)
- src/Scanner/StellaOps.Scanner.WebService/Endpoints/ScoreReplayEndpoints.cs (284 lines)
- src/Scanner/StellaOps.Scanner.WebService/Endpoints/SecretDetectionSettingsEndpoints.cs (374 lines)
- src/Scanner/StellaOps.Scanner.WebService/Endpoints/SliceEndpoints.cs (388 lines)
- src/Scanner/StellaOps.Scanner.WebService/Endpoints/SmartDiffEndpoints.cs (465 lines)
- src/Scanner/StellaOps.Scanner.WebService/Endpoints/SourcesEndpoints.cs (760 lines)
- src/Scanner/StellaOps.Scanner.WebService/Endpoints/UnknownsEndpoints.cs (324 lines)
- src/Scanner/StellaOps.Scanner.WebService/Endpoints/ValidationEndpoints.cs (348 lines)
- src/Scanner/StellaOps.Scanner.WebService/Endpoints/WebhookEndpoints.cs (670 lines)
- src/Scanner/StellaOps.Scanner.WebService/Endpoints/WitnessEndpoints.cs (255 lines)
- src/Scanner/StellaOps.Scanner.WebService/Endpoints/Triage/ProofBundleEndpoints.cs (166 lines)
- src/Scanner/StellaOps.Scanner.WebService/Endpoints/Triage/TriageInboxEndpoints.cs (125 lines)
- src/Scanner/StellaOps.Scanner.WebService/Endpoints/Triage/TriageStatusEndpoints.cs (303 lines)
- src/Scanner/StellaOps.Scanner.WebService/Extensions/RateLimitingExtensions.cs (129 lines)
- src/Scanner/StellaOps.Scanner.WebService/Middleware/IdempotencyMiddleware.cs (273 lines)
- src/Scanner/StellaOps.Scanner.WebService/Options/ScannerStorageOptionsPostConfigurator.cs (119 lines)
- src/Scanner/StellaOps.Scanner.WebService/Options/ScannerSurfaceSecretConfigurator.cs (248 lines)
- src/Scanner/StellaOps.Scanner.WebService/Options/ScannerWebServiceOptions.cs (539 lines)
- src/Scanner/StellaOps.Scanner.WebService/Options/ScannerWebServiceOptionsPostConfigure.cs (111 lines)
- src/Scanner/StellaOps.Scanner.WebService/Options/ScannerWebServiceOptionsValidator.cs (496 lines)
- src/Scanner/StellaOps.Scanner.WebService/Replay/RecordModeService.cs (317 lines)
- src/Scanner/StellaOps.Scanner.WebService/Serialization/DeterministicCborSerializer.cs (110 lines)
- src/Scanner/StellaOps.Scanner.WebService/Serialization/OrchestratorEventSerializer.cs (241 lines)
- src/Scanner/StellaOps.Scanner.WebService/Services/AttestationChainVerifier.cs (672 lines)
- src/Scanner/StellaOps.Scanner.WebService/Services/CallGraphIngestionService.cs (234 lines)
- src/Scanner/StellaOps.Scanner.WebService/Services/ConcelierHttpLinksetQueryService.cs (174 lines)
- src/Scanner/StellaOps.Scanner.WebService/Services/DeltaScanRequestHandler.cs (262 lines)
- src/Scanner/StellaOps.Scanner.WebService/Services/EvidenceBundleExporter.cs (779 lines)
- src/Scanner/StellaOps.Scanner.WebService/Services/EvidenceCompositionService.cs (470 lines)
- src/Scanner/StellaOps.Scanner.WebService/Services/FeedChangeRescoreJob.cs (356 lines)
- src/Scanner/StellaOps.Scanner.WebService/Services/FindingRationaleService.cs (450 lines)
- src/Scanner/StellaOps.Scanner.WebService/Services/GatingReasonService.cs (313 lines)
- src/Scanner/StellaOps.Scanner.WebService/Services/HumanApprovalAttestationService.cs (318 lines)
- src/Scanner/StellaOps.Scanner.WebService/Services/IEvidenceBundleExporter.cs (181 lines)
- src/Scanner/StellaOps.Scanner.WebService/Services/IHumanApprovalAttestationService.cs (208 lines)
- src/Scanner/StellaOps.Scanner.WebService/Services/ILayerSbomService.cs (148 lines)
- src/Scanner/StellaOps.Scanner.WebService/Services/InMemoryScanCoordinator.cs (199 lines)
- src/Scanner/StellaOps.Scanner.WebService/Services/InMemoryScanManifestRepository.cs (150 lines)
- src/Scanner/StellaOps.Scanner.WebService/Services/IOfflineAttestationVerifier.cs (483 lines)
- src/Scanner/StellaOps.Scanner.WebService/Services/IPolicyDecisionAttestationService.cs (159 lines)
- src/Scanner/StellaOps.Scanner.WebService/Services/IRichGraphAttestationService.cs (176 lines)
- src/Scanner/StellaOps.Scanner.WebService/Services/IVexGateQueryService.cs (127 lines)
- src/Scanner/StellaOps.Scanner.WebService/Services/LayerSbomService.cs (264 lines)
- src/Scanner/StellaOps.Scanner.WebService/Services/LinksetResolver.cs (183 lines)
- src/Scanner/StellaOps.Scanner.WebService/Services/OciAttestationPublisher.cs (272 lines)
- src/Scanner/StellaOps.Scanner.WebService/Services/OfflineAttestationVerifier.cs (743 lines)
- src/Scanner/StellaOps.Scanner.WebService/Services/OfflineKitContracts.cs (144 lines)
- src/Scanner/StellaOps.Scanner.WebService/Services/OfflineKitImportService.cs (688 lines)
- src/Scanner/StellaOps.Scanner.WebService/Services/OfflineKitManifestService.cs (309 lines)
- src/Scanner/StellaOps.Scanner.WebService/Services/OfflineKitMetricsStore.cs (295 lines)
- src/Scanner/StellaOps.Scanner.WebService/Services/PolicyDecisionAttestationService.cs (206 lines)
- src/Scanner/StellaOps.Scanner.WebService/Services/PolicyDtoMapper.cs (358 lines)
- src/Scanner/StellaOps.Scanner.WebService/Services/PrAnnotationService.cs (590 lines)
- src/Scanner/StellaOps.Scanner.WebService/Services/PrAnnotationWebhookHandler.cs (592 lines)
- src/Scanner/StellaOps.Scanner.WebService/Services/RedisPlatformEventPublisher.cs (157 lines)
- src/Scanner/StellaOps.Scanner.WebService/Services/ReplayCommandService.cs (436 lines)
- src/Scanner/StellaOps.Scanner.WebService/Services/ReportEventDispatcher.cs (821 lines)
- src/Scanner/StellaOps.Scanner.WebService/Services/ReportSigner.cs (269 lines)
- src/Scanner/StellaOps.Scanner.WebService/Services/RichGraphAttestationService.cs (218 lines)
- src/Scanner/StellaOps.Scanner.WebService/Services/RuntimeEventIngestionService.cs (236 lines)
- src/Scanner/StellaOps.Scanner.WebService/Services/RuntimeEventRateLimiter.cs (263 lines)
- src/Scanner/StellaOps.Scanner.WebService/Services/RuntimeInventoryReconciler.cs (683 lines)
- src/Scanner/StellaOps.Scanner.WebService/Services/RuntimePolicyService.cs (535 lines)
- src/Scanner/StellaOps.Scanner.WebService/Services/SbomByosUploadService.cs (653 lines)
- src/Scanner/StellaOps.Scanner.WebService/Services/SbomExportService.cs (266 lines)
- src/Scanner/StellaOps.Scanner.WebService/Services/SbomIngestionService.cs (194 lines)
- src/Scanner/StellaOps.Scanner.WebService/Services/ScanFindingsSarifExportService.cs (189 lines)
- src/Scanner/StellaOps.Scanner.WebService/Services/ScanProgressStream.cs (152 lines)
- src/Scanner/StellaOps.Scanner.WebService/Services/ScoreReplayService.cs (223 lines)
- src/Scanner/StellaOps.Scanner.WebService/Services/SecretDetectionSettingsService.cs (499 lines)
- src/Scanner/StellaOps.Scanner.WebService/Services/SignedSbomArchiveBuilder.cs (729 lines)
- src/Scanner/StellaOps.Scanner.WebService/Services/SliceQueryService.cs (338 lines)
- src/Scanner/StellaOps.Scanner.WebService/Services/SurfacePointerService.cs (295 lines)
- src/Scanner/StellaOps.Scanner.WebService/Services/TestManifestRepository.cs (144 lines)
- src/Scanner/StellaOps.Scanner.WebService/Services/TriageStatusService.cs (366 lines)
- src/Scanner/StellaOps.Scanner.WebService/Services/UnifiedEvidenceService.cs (365 lines)
- src/Scanner/StellaOps.Scanner.WebService/Services/VexGateQueryService.cs (210 lines)
- Namespace issues:
- none
- Using directive issues:
- src/Scanner/StellaOps.Scanner.WebService/Program.cs: using directives not sorted
- src/Scanner/StellaOps.Scanner.WebService/Endpoints/ReportEndpoints.cs: using directives inside namespace
- src/Scanner/StellaOps.Scanner.WebService/Endpoints/ValidationEndpoints.cs: using directives inside namespace
- src/Scanner/StellaOps.Scanner.WebService/Endpoints/WebhookEndpoints.cs: using directives inside namespace
- src/Scanner/StellaOps.Scanner.WebService/Extensions/ConfigurationExtensions.cs: using directives inside namespace
- src/Scanner/StellaOps.Scanner.WebService/Middleware/IdempotencyMiddleware.cs: using directives inside namespace
- src/Scanner/StellaOps.Scanner.WebService/Options/ScannerSurfaceSecretConfigurator.cs: using directives inside namespace
- src/Scanner/StellaOps.Scanner.WebService/Replay/RecordModeService.cs: using directives inside namespace
- src/Scanner/StellaOps.Scanner.WebService/Serialization/DeterministicCborSerializer.cs: using directives inside namespace
- src/Scanner/StellaOps.Scanner.WebService/Serialization/OrchestratorEventSerializer.cs: using directives inside namespace
- src/Scanner/StellaOps.Scanner.WebService/Services/ConcelierHttpLinksetQueryService.cs: using directives inside namespace
- src/Scanner/StellaOps.Scanner.WebService/Services/EvidenceBundleExporter.cs: using directives inside namespace
- src/Scanner/StellaOps.Scanner.WebService/Services/FeedChangeRescoreJob.cs: using directives inside namespace
- src/Scanner/StellaOps.Scanner.WebService/Services/OciAttestationPublisher.cs: using directives inside namespace
- src/Scanner/StellaOps.Scanner.WebService/Services/OfflineAttestationVerifier.cs: using directives inside namespace
- src/Scanner/StellaOps.Scanner.WebService/Services/OfflineKitImportService.cs: using directives inside namespace
- src/Scanner/StellaOps.Scanner.WebService/Services/RuntimeInventoryReconciler.cs: using directives inside namespace
- src/Scanner/StellaOps.Scanner.WebService/Services/SbomByosUploadService.cs: using directives inside namespace
- Naming issues:
- src/Scanner/StellaOps.Scanner.WebService/Diagnostics/ServiceStatus.cs: private field naming
- src/Scanner/StellaOps.Scanner.WebService/Endpoints/ApprovalEndpoints.cs: private field naming
- src/Scanner/StellaOps.Scanner.WebService/Endpoints/CallGraphEndpoints.cs: private field naming
- src/Scanner/StellaOps.Scanner.WebService/Endpoints/CounterfactualEndpoints.cs: private field naming
- src/Scanner/StellaOps.Scanner.WebService/Endpoints/DeltaCompareEndpoints.cs: private field naming
- src/Scanner/StellaOps.Scanner.WebService/Endpoints/DeltaEvidenceEndpoints.cs: private field naming
- src/Scanner/StellaOps.Scanner.WebService/Endpoints/EvidenceEndpoints.cs: private field naming
- src/Scanner/StellaOps.Scanner.WebService/Endpoints/ExportEndpoints.cs: private field naming
- src/Scanner/StellaOps.Scanner.WebService/Endpoints/HealthEndpoints.cs: private field naming
- src/Scanner/StellaOps.Scanner.WebService/Endpoints/LayerSbomEndpoints.cs: private field naming
- src/Scanner/StellaOps.Scanner.WebService/Endpoints/OfflineKitEndpoints.cs: private field naming
- src/Scanner/StellaOps.Scanner.WebService/Endpoints/PolicyEndpoints.cs: private field naming
- src/Scanner/StellaOps.Scanner.WebService/Endpoints/ReachabilityDriftEndpoints.cs: private field naming
- src/Scanner/StellaOps.Scanner.WebService/Endpoints/ReachabilityEndpoints.cs: private field naming
- src/Scanner/StellaOps.Scanner.WebService/Endpoints/ReachabilityStackEndpoints.cs: private field naming
- src/Scanner/StellaOps.Scanner.WebService/Endpoints/ReportEndpoints.cs: private field naming
- src/Scanner/StellaOps.Scanner.WebService/Endpoints/RuntimeEndpoints.cs: private field naming
- src/Scanner/StellaOps.Scanner.WebService/Endpoints/SbomEndpoints.cs: private field naming
- src/Scanner/StellaOps.Scanner.WebService/Endpoints/ScanEndpoints.cs: private field naming
- src/Scanner/StellaOps.Scanner.WebService/Endpoints/SliceEndpoints.cs: private field naming
- src/Scanner/StellaOps.Scanner.WebService/Endpoints/SourcesEndpoints.cs: private field naming
- src/Scanner/StellaOps.Scanner.WebService/Endpoints/WebhookEndpoints.cs: private field naming
- src/Scanner/StellaOps.Scanner.WebService/Endpoints/Triage/TriageInboxEndpoints.cs: private field naming
- src/Scanner/StellaOps.Scanner.WebService/Endpoints/Triage/TriageStatusEndpoints.cs: private field naming
- src/Scanner/StellaOps.Scanner.WebService/Infrastructure/ProblemResultFactory.cs: private field naming
- src/Scanner/StellaOps.Scanner.WebService/Options/ScannerWebServiceOptionsValidator.cs: private field naming
- src/Scanner/StellaOps.Scanner.WebService/Serialization/DeterministicCborSerializer.cs: private field naming
- src/Scanner/StellaOps.Scanner.WebService/Serialization/OrchestratorEventSerializer.cs: private field naming
- src/Scanner/StellaOps.Scanner.WebService/Services/CallGraphIngestionService.cs: private field naming
- src/Scanner/StellaOps.Scanner.WebService/Services/ConcelierHttpLinksetQueryService.cs: private field naming
- src/Scanner/StellaOps.Scanner.WebService/Services/DeltaScanRequestHandler.cs: private field naming
- src/Scanner/StellaOps.Scanner.WebService/Services/EvidenceBundleExporter.cs: private field naming
- src/Scanner/StellaOps.Scanner.WebService/Services/InMemoryScanCoordinator.cs: private field naming
- src/Scanner/StellaOps.Scanner.WebService/Services/OciAttestationPublisher.cs: private field naming
- src/Scanner/StellaOps.Scanner.WebService/Services/OfflineAttestationVerifier.cs: private field naming
- src/Scanner/StellaOps.Scanner.WebService/Services/OfflineKitManifestService.cs: private field naming
- src/Scanner/StellaOps.Scanner.WebService/Services/OfflineKitMetricsStore.cs: private field naming
- src/Scanner/StellaOps.Scanner.WebService/Services/OfflineKitStateStore.cs: private field naming
- src/Scanner/StellaOps.Scanner.WebService/Services/PolicyDecisionAttestationService.cs: private field naming
- src/Scanner/StellaOps.Scanner.WebService/Services/PolicyDtoMapper.cs: private field naming
- src/Scanner/StellaOps.Scanner.WebService/Services/ReportEventDispatcher.cs: private field naming
- src/Scanner/StellaOps.Scanner.WebService/Services/ReportSigner.cs: private field naming
- src/Scanner/StellaOps.Scanner.WebService/Services/RichGraphAttestationService.cs: private field naming
- src/Scanner/StellaOps.Scanner.WebService/Services/RuntimeEventIngestionService.cs: private field naming
- src/Scanner/StellaOps.Scanner.WebService/Services/RuntimeInventoryReconciler.cs: private field naming
- src/Scanner/StellaOps.Scanner.WebService/Services/RuntimePolicyService.cs: private field naming
- src/Scanner/StellaOps.Scanner.WebService/Services/SbomByosUploadService.cs: private field naming
- src/Scanner/StellaOps.Scanner.WebService/Services/SbomIngestionService.cs: private field naming
- src/Scanner/StellaOps.Scanner.WebService/Services/ScanProgressStream.cs: private field naming
- src/Scanner/StellaOps.Scanner.WebService/Services/SecretDetectionSettingsService.cs: private field naming
- src/Scanner/StellaOps.Scanner.WebService/Services/SignedSbomArchiveBuilder.cs: private field naming
- src/Scanner/StellaOps.Scanner.WebService/Services/SurfacePointerService.cs: private field naming
- Async issues:
- src/Scanner/StellaOps.Scanner.WebService/Endpoints/ActionablesEndpoints.cs: async method naming
- src/Scanner/StellaOps.Scanner.WebService/Endpoints/EpssEndpoints.cs: async method naming
- src/Scanner/StellaOps.Scanner.WebService/Endpoints/HealthEndpoints.cs: async method naming
- src/Scanner/StellaOps.Scanner.WebService/Endpoints/ScanEndpoints.cs: async method naming
- src/Scanner/StellaOps.Scanner.WebService/Middleware/IdempotencyMiddleware.cs: async method naming
- src/Scanner/StellaOps.Scanner.WebService/Services/ConcelierHttpLinksetQueryService.cs: async method naming
- src/Scanner/StellaOps.Scanner.WebService/Services/EvidenceBundleExporter.cs: async method naming
- src/Scanner/StellaOps.Scanner.WebService/Services/FeedChangeRescoreJob.cs: async method naming
- src/Scanner/StellaOps.Scanner.WebService/Services/FindingRationaleService.cs: async method naming
- src/Scanner/StellaOps.Scanner.WebService/Services/HumanApprovalAttestationService.cs: blocking async usage
- src/Scanner/StellaOps.Scanner.WebService/Services/LinksetResolver.cs: async method naming
- src/Scanner/StellaOps.Scanner.WebService/Services/MessagingPlatformEventPublisher.cs: async method naming
- src/Scanner/StellaOps.Scanner.WebService/Services/OfflineKitImportService.cs: async method naming
- src/Scanner/StellaOps.Scanner.WebService/Services/OfflineKitStateStore.cs: async method naming
- src/Scanner/StellaOps.Scanner.WebService/Services/PrAnnotationWebhookHandler.cs: async method naming
- src/Scanner/StellaOps.Scanner.WebService/Services/RedisConnectionFactory.cs: async method naming
- src/Scanner/StellaOps.Scanner.WebService/Services/RedisPlatformEventPublisher.cs: async method naming
- src/Scanner/StellaOps.Scanner.WebService/Services/ReportEventDispatcher.cs: async method naming
- src/Scanner/StellaOps.Scanner.WebService/Services/ReportSigner.cs: blocking async usage
- src/Scanner/StellaOps.Scanner.WebService/Services/RuntimePolicyService.cs: async method naming
- src/Scanner/StellaOps.Scanner.WebService/Services/SbomByosUploadService.cs: async method naming
- src/Scanner/StellaOps.Scanner.WebService/Services/ScanFindingsSarifExportService.cs: async method naming
- src/Scanner/StellaOps.Scanner.WebService/Services/SliceQueryService.cs: async method naming
- src/Scanner/StellaOps.Scanner.WebService/Services/SurfacePointerService.cs: async method naming
- src/Scanner/StellaOps.Scanner.WebService/Services/TriageQueryService.cs: async method naming
- Service locator matches:
- src/Scanner/StellaOps.Scanner.WebService/Program.cs:131 builder.Services.AddSingleton<IScanProgressPublisher>(sp => sp.GetRequiredService<ScanProgressStream>());
- src/Scanner/StellaOps.Scanner.WebService/Program.cs:132 builder.Services.AddSingleton<IScanProgressReader>(sp => sp.GetRequiredService<ScanProgressStream>());
- src/Scanner/StellaOps.Scanner.WebService/Program.cs:206 var options = sp.GetRequiredService<IOptions<ScannerWebServiceOptions>>().Value;
- src/Scanner/StellaOps.Scanner.WebService/Program.cs:207 var hostEnvironment = sp.GetRequiredService<IHostEnvironment>();
- src/Scanner/StellaOps.Scanner.WebService/Program.cs:236 new SurfaceCacheOptionsConfigurator(sp.GetRequiredService<ISurfaceEnvironment>()));
- src/Scanner/StellaOps.Scanner.WebService/Program.cs:239 sp.GetRequiredService<ISurfaceEnvironment>(),
- src/Scanner/StellaOps.Scanner.WebService/Program.cs:240 sp.GetRequiredService<IOptions<SurfaceCacheOptions>>()));
- src/Scanner/StellaOps.Scanner.WebService/Program.cs:467 var options = sp.GetRequiredService<IOptions<ConcelierLinksetOptions>>().Value;
- src/Scanner/StellaOps.Scanner.WebService/Program.cs:488 var options = sp.GetRequiredService<IOptions<ConcelierLinksetOptions>>().Value;
- src/Scanner/StellaOps.Scanner.WebService/Program.cs:491 return sp.GetRequiredService<ConcelierHttpLinksetQueryService>();
- src/Scanner/StellaOps.Scanner.WebService/Program.cs:503 var env = services.GetRequiredService<ISurfaceEnvironment>();
- src/Scanner/StellaOps.Scanner.WebService/Program.cs:504 var runner = services.GetRequiredService<ISurfaceValidatorRunner>();
- src/Scanner/StellaOps.Scanner.WebService/Program.cs:511 var resolvedOptions = app.Services.GetRequiredService<IOptions<ScannerWebServiceOptions>>().Value;
- src/Scanner/StellaOps.Scanner.WebService/Endpoints/ReachabilityEndpoints.cs:85 var computeService = context.RequestServices.GetRequiredService<IReachabilityComputeService>();
- Assembly.LoadFrom matches:
- none
### Fix Guidance
- Align interface/field/const naming to standards.
- Move and sort using directives (outside namespace).
- Rename async methods and avoid blocking async calls.
- Replace service locator usage with constructor injection.
- Split files over 100 lines into smaller types or partials.
## File-Level Findings
- Status: FAIL
- Files scanned: 207
- Files with issues: 135
- See docs/implplan/audits/csproj-standards/file-audit.csv for full per-file status.
| File | Issues | Fix guidance |
| --- | --- | --- |
| src/Scanner/StellaOps.Scanner.WebService/Program.cs | FileLength>100; ServiceLocator; UsingNotSorted | Remove service locator usage; use constructor injection.; Sort using directives alphabetically.; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Contracts/AttestationChain.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Contracts/BaselineContracts.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Contracts/DeltaCompareContracts.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Contracts/FindingEvidenceContracts.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Contracts/GatingContracts.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Contracts/HumanApprovalStatement.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Contracts/LayerSbomContracts.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Contracts/ManifestContracts.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Contracts/OrchestratorEventContracts.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Contracts/PolicyDecisionStatement.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Contracts/PolicyPreviewContracts.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Contracts/ProofSpineContracts.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Contracts/RationaleContracts.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Contracts/ReachabilityContracts.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Contracts/ReplayCommandContracts.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Contracts/ReportContracts.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Contracts/RichGraphStatement.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Contracts/RuntimeEventsContracts.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Contracts/RuntimePolicyContracts.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Contracts/SbomContracts.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Contracts/SecretDetectionConfigContracts.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Contracts/TriageContracts.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Contracts/UnifiedEvidenceContracts.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Contracts/VexGateContracts.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Controllers/TriageController.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Controllers/VexGateController.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Diagnostics/ServiceStatus.cs | PrivateFieldNaming | Rename private fields to _camelCase. |
| src/Scanner/StellaOps.Scanner.WebService/Endpoints/ActionablesEndpoints.cs | AsyncNaming; FileLength>100 | Rename async methods to end with Async.; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Endpoints/ApprovalEndpoints.cs | FileLength>100; PrivateFieldNaming | Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Endpoints/BaselineEndpoints.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Endpoints/CallGraphEndpoints.cs | FileLength>100; PrivateFieldNaming | Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Endpoints/CounterfactualEndpoints.cs | FileLength>100; PrivateFieldNaming | Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Endpoints/DeltaCompareEndpoints.cs | FileLength>100; PrivateFieldNaming | Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Endpoints/DeltaEvidenceEndpoints.cs | FileLength>100; PrivateFieldNaming | Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Endpoints/EpssEndpoints.cs | AsyncNaming; FileLength>100 | Rename async methods to end with Async.; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Endpoints/EvidenceEndpoints.cs | FileLength>100; PrivateFieldNaming | Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Endpoints/ExportEndpoints.cs | FileLength>100; PrivateFieldNaming | Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Endpoints/GitHubCodeScanningEndpoints.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Endpoints/HealthEndpoints.cs | AsyncNaming; FileLength>100; PrivateFieldNaming | Rename async methods to end with Async.; Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Endpoints/LayerSbomEndpoints.cs | FileLength>100; PrivateFieldNaming | Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Endpoints/ManifestEndpoints.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Endpoints/OfflineKitEndpoints.cs | FileLength>100; PrivateFieldNaming | Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Endpoints/PolicyEndpoints.cs | FileLength>100; PrivateFieldNaming | Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Endpoints/ProofSpineEndpoints.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Endpoints/ReachabilityDriftEndpoints.cs | FileLength>100; PrivateFieldNaming | Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Endpoints/ReachabilityEndpoints.cs | FileLength>100; PrivateFieldNaming; ServiceLocator | Remove service locator usage; use constructor injection.; Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Endpoints/ReachabilityEvidenceEndpoints.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Endpoints/ReachabilityStackEndpoints.cs | FileLength>100; PrivateFieldNaming | Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Endpoints/ReportEndpoints.cs | FileLength>100; PrivateFieldNaming; UsingInsideNamespace | Move using directives outside namespace.; Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Endpoints/RuntimeEndpoints.cs | FileLength>100; PrivateFieldNaming | Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Endpoints/SbomEndpoints.cs | FileLength>100; PrivateFieldNaming | Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Endpoints/ScanEndpoints.cs | AsyncNaming; FileLength>100; PrivateFieldNaming | Rename async methods to end with Async.; Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Endpoints/ScoreReplayEndpoints.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Endpoints/SecretDetectionSettingsEndpoints.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Endpoints/SliceEndpoints.cs | FileLength>100; PrivateFieldNaming | Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Endpoints/SmartDiffEndpoints.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Endpoints/SourcesEndpoints.cs | FileLength>100; PrivateFieldNaming | Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Endpoints/UnknownsEndpoints.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Endpoints/ValidationEndpoints.cs | FileLength>100; UsingInsideNamespace | Move using directives outside namespace.; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Endpoints/WebhookEndpoints.cs | FileLength>100; PrivateFieldNaming; UsingInsideNamespace | Move using directives outside namespace.; Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Endpoints/WitnessEndpoints.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Endpoints/Triage/ProofBundleEndpoints.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Endpoints/Triage/TriageInboxEndpoints.cs | FileLength>100; PrivateFieldNaming | Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Endpoints/Triage/TriageStatusEndpoints.cs | FileLength>100; PrivateFieldNaming | Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Extensions/ConfigurationExtensions.cs | UsingInsideNamespace | Move using directives outside namespace. |
| src/Scanner/StellaOps.Scanner.WebService/Extensions/RateLimitingExtensions.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Infrastructure/ProblemResultFactory.cs | PrivateFieldNaming | Rename private fields to _camelCase. |
| src/Scanner/StellaOps.Scanner.WebService/Middleware/IdempotencyMiddleware.cs | AsyncNaming; FileLength>100; UsingInsideNamespace | Move using directives outside namespace.; Rename async methods to end with Async.; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Options/ScannerStorageOptionsPostConfigurator.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Options/ScannerSurfaceSecretConfigurator.cs | FileLength>100; UsingInsideNamespace | Move using directives outside namespace.; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Options/ScannerWebServiceOptions.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Options/ScannerWebServiceOptionsPostConfigure.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Options/ScannerWebServiceOptionsValidator.cs | FileLength>100; PrivateFieldNaming | Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Replay/RecordModeService.cs | FileLength>100; UsingInsideNamespace | Move using directives outside namespace.; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Serialization/DeterministicCborSerializer.cs | FileLength>100; PrivateFieldNaming; UsingInsideNamespace | Move using directives outside namespace.; Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Serialization/OrchestratorEventSerializer.cs | FileLength>100; PrivateFieldNaming; UsingInsideNamespace | Move using directives outside namespace.; Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Services/AttestationChainVerifier.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Services/CallGraphIngestionService.cs | FileLength>100; PrivateFieldNaming | Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Services/ConcelierHttpLinksetQueryService.cs | AsyncNaming; FileLength>100; PrivateFieldNaming; UsingInsideNamespace | Move using directives outside namespace.; Rename async methods to end with Async.; Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Services/DeltaScanRequestHandler.cs | FileLength>100; PrivateFieldNaming | Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Services/EvidenceBundleExporter.cs | AsyncNaming; FileLength>100; PrivateFieldNaming; UsingInsideNamespace | Move using directives outside namespace.; Rename async methods to end with Async.; Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Services/EvidenceCompositionService.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Services/FeedChangeRescoreJob.cs | AsyncNaming; FileLength>100; UsingInsideNamespace | Move using directives outside namespace.; Rename async methods to end with Async.; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Services/FindingRationaleService.cs | AsyncNaming; FileLength>100 | Rename async methods to end with Async.; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Services/GatingReasonService.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Services/HumanApprovalAttestationService.cs | BlockingAsync; FileLength>100 | Replace .Result/.Wait/GetAwaiter().GetResult() with await.; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Services/IEvidenceBundleExporter.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Services/IHumanApprovalAttestationService.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Services/ILayerSbomService.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Services/InMemoryScanCoordinator.cs | FileLength>100; PrivateFieldNaming | Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Services/InMemoryScanManifestRepository.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Services/IOfflineAttestationVerifier.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Services/IPolicyDecisionAttestationService.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Services/IRichGraphAttestationService.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Services/IVexGateQueryService.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Services/LayerSbomService.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Services/LinksetResolver.cs | AsyncNaming; FileLength>100 | Rename async methods to end with Async.; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Services/MessagingPlatformEventPublisher.cs | AsyncNaming | Rename async methods to end with Async. |
| src/Scanner/StellaOps.Scanner.WebService/Services/OciAttestationPublisher.cs | FileLength>100; PrivateFieldNaming; UsingInsideNamespace | Move using directives outside namespace.; Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Services/OfflineAttestationVerifier.cs | FileLength>100; PrivateFieldNaming; UsingInsideNamespace | Move using directives outside namespace.; Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Services/OfflineKitContracts.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Services/OfflineKitImportService.cs | AsyncNaming; FileLength>100; UsingInsideNamespace | Move using directives outside namespace.; Rename async methods to end with Async.; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Services/OfflineKitManifestService.cs | FileLength>100; PrivateFieldNaming | Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Services/OfflineKitMetricsStore.cs | FileLength>100; PrivateFieldNaming | Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Services/OfflineKitStateStore.cs | AsyncNaming; PrivateFieldNaming | Rename async methods to end with Async.; Rename private fields to _camelCase. |
| src/Scanner/StellaOps.Scanner.WebService/Services/PolicyDecisionAttestationService.cs | FileLength>100; PrivateFieldNaming | Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Services/PolicyDtoMapper.cs | FileLength>100; PrivateFieldNaming | Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Services/PrAnnotationService.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Services/PrAnnotationWebhookHandler.cs | AsyncNaming; FileLength>100 | Rename async methods to end with Async.; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Services/RedisConnectionFactory.cs | AsyncNaming | Rename async methods to end with Async. |
| src/Scanner/StellaOps.Scanner.WebService/Services/RedisPlatformEventPublisher.cs | AsyncNaming; FileLength>100 | Rename async methods to end with Async.; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Services/ReplayCommandService.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Services/ReportEventDispatcher.cs | AsyncNaming; FileLength>100; PrivateFieldNaming | Rename async methods to end with Async.; Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Services/ReportSigner.cs | BlockingAsync; FileLength>100; PrivateFieldNaming | Rename private fields to _camelCase.; Replace .Result/.Wait/GetAwaiter().GetResult() with await.; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Services/RichGraphAttestationService.cs | FileLength>100; PrivateFieldNaming | Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Services/RuntimeEventIngestionService.cs | FileLength>100; PrivateFieldNaming | Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Services/RuntimeEventRateLimiter.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Services/RuntimeInventoryReconciler.cs | FileLength>100; PrivateFieldNaming; UsingInsideNamespace | Move using directives outside namespace.; Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Services/RuntimePolicyService.cs | AsyncNaming; FileLength>100; PrivateFieldNaming | Rename async methods to end with Async.; Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Services/SbomByosUploadService.cs | AsyncNaming; FileLength>100; PrivateFieldNaming; UsingInsideNamespace | Move using directives outside namespace.; Rename async methods to end with Async.; Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Services/SbomExportService.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Services/SbomIngestionService.cs | FileLength>100; PrivateFieldNaming | Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Services/ScanFindingsSarifExportService.cs | AsyncNaming; FileLength>100 | Rename async methods to end with Async.; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Services/ScanProgressStream.cs | FileLength>100; PrivateFieldNaming | Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Services/ScoreReplayService.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Services/SecretDetectionSettingsService.cs | FileLength>100; PrivateFieldNaming | Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Services/SignedSbomArchiveBuilder.cs | FileLength>100; PrivateFieldNaming | Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Services/SliceQueryService.cs | AsyncNaming; FileLength>100 | Rename async methods to end with Async.; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Services/SurfacePointerService.cs | AsyncNaming; FileLength>100; PrivateFieldNaming | Rename async methods to end with Async.; Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Services/TestManifestRepository.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Services/TriageQueryService.cs | AsyncNaming | Rename async methods to end with Async. |
| src/Scanner/StellaOps.Scanner.WebService/Services/TriageStatusService.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Services/UnifiedEvidenceService.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.WebService/Services/VexGateQueryService.cs | FileLength>100 | Split file to stay <= 100 lines. |
## Testing Fullness Findings
- Status: FAIL
- Expected layers (heuristic): E2E, Integration, Offline, Performance, Security, Unit
- Detected test projects: src/__Tests/e2e/ReplayableVerdict/StellaOps.E2E.ReplayableVerdict.csproj [E2E]; src/__Tests/Integration/StellaOps.Integration.AirGap/StellaOps.Integration.AirGap.csproj [Integration, Offline] (no test attributes detected); src/__Tests/Integration/StellaOps.Integration.E2E/StellaOps.Integration.E2E.csproj [E2E, Integration]; src/__Tests/Integration/StellaOps.Integration.Performance/StellaOps.Integration.Performance.csproj [Integration, Performance]; src/__Tests/Integration/StellaOps.Integration.ProofChain/StellaOps.Integration.ProofChain.csproj [Integration]; src/Scanner/__Tests/StellaOps.Scanner.Triage.Tests/StellaOps.Scanner.Triage.Tests.csproj [Unit]; src/Scanner/__Tests/StellaOps.Scanner.WebService.Tests/StellaOps.Scanner.WebService.Tests.csproj [Unit]
- Missing layers: Offline, Security
### 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,283 @@
# Audit - StellaOps.Scanner.Worker
## Project
- Path: src/Scanner/StellaOps.Scanner.Worker/StellaOps.Scanner.Worker.csproj
- Module: Scanner
- Kind: Library
- Audit date (UTC): 2026-01-30
- Files scanned: 89
- Files with issues: 87
- 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: 45
- Namespace violations: 86
- 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/Scanner/StellaOps.Scanner.Worker/Program.cs (422 lines)
- src/Scanner/StellaOps.Scanner.Worker/Determinism/FidelityMetricsService.cs (212 lines)
- src/Scanner/StellaOps.Scanner.Worker/Determinism/Calculators/PolicyFidelityCalculator.cs (108 lines)
- src/Scanner/StellaOps.Scanner.Worker/Determinism/Calculators/SemanticFidelityCalculator.cs (107 lines)
- src/Scanner/StellaOps.Scanner.Worker/Diagnostics/ScannerWorkerMetrics.cs (403 lines)
- src/Scanner/StellaOps.Scanner.Worker/Diagnostics/TelemetryExtensions.cs (108 lines)
- src/Scanner/StellaOps.Scanner.Worker/Extensions/BinaryIndexServiceExtensions.cs (162 lines)
- src/Scanner/StellaOps.Scanner.Worker/Hosting/ScannerWorkerHostedService.cs (206 lines)
- src/Scanner/StellaOps.Scanner.Worker/Metrics/ScanCompletionMetricsIntegration.cs (138 lines)
- src/Scanner/StellaOps.Scanner.Worker/Metrics/ScanMetricsCollector.cs (346 lines)
- src/Scanner/StellaOps.Scanner.Worker/Options/NativeAnalyzerOptions.cs (111 lines)
- src/Scanner/StellaOps.Scanner.Worker/Options/ScannerStorageSurfaceSecretConfigurator.cs (142 lines)
- src/Scanner/StellaOps.Scanner.Worker/Options/ScannerWorkerOptions.cs (565 lines)
- src/Scanner/StellaOps.Scanner.Worker/Options/ScannerWorkerOptionsValidator.cs (200 lines)
- src/Scanner/StellaOps.Scanner.Worker/Orchestration/PoEOrchestrator.cs (219 lines)
- src/Scanner/StellaOps.Scanner.Worker/Processing/BinaryFindingMapper.cs (283 lines)
- src/Scanner/StellaOps.Scanner.Worker/Processing/BinaryLookupStageExecutor.cs (220 lines)
- src/Scanner/StellaOps.Scanner.Worker/Processing/BinaryVulnerabilityAnalyzer.cs (217 lines)
- src/Scanner/StellaOps.Scanner.Worker/Processing/CompositeScanAnalyzerDispatcher.cs (606 lines)
- src/Scanner/StellaOps.Scanner.Worker/Processing/DeltaSigAnalyzer.cs (437 lines)
- src/Scanner/StellaOps.Scanner.Worker/Processing/EntryTraceExecutionService.cs (756 lines)
- src/Scanner/StellaOps.Scanner.Worker/Processing/EpssEnrichmentJob.cs (392 lines)
- src/Scanner/StellaOps.Scanner.Worker/Processing/EpssEnrichmentStageExecutor.cs (184 lines)
- src/Scanner/StellaOps.Scanner.Worker/Processing/EpssIngestJob.cs (406 lines)
- src/Scanner/StellaOps.Scanner.Worker/Processing/EpssSignalJob.cs (555 lines)
- src/Scanner/StellaOps.Scanner.Worker/Processing/LeaseHeartbeatService.cs (164 lines)
- src/Scanner/StellaOps.Scanner.Worker/Processing/NativeAnalyzerExecutor.cs (300 lines)
- src/Scanner/StellaOps.Scanner.Worker/Processing/NativeBinaryDiscovery.cs (292 lines)
- src/Scanner/StellaOps.Scanner.Worker/Processing/RegistrySecretStageExecutor.cs (109 lines)
- src/Scanner/StellaOps.Scanner.Worker/Processing/VerdictPushStageExecutor.cs (227 lines)
- src/Scanner/StellaOps.Scanner.Worker/Processing/VexGateStageExecutor.cs (432 lines)
- src/Scanner/StellaOps.Scanner.Worker/Processing/AiMlSecurity/AiMlSecurityStageExecutor.cs (151 lines)
- src/Scanner/StellaOps.Scanner.Worker/Processing/BuildProvenance/BuildProvenanceStageExecutor.cs (155 lines)
- src/Scanner/StellaOps.Scanner.Worker/Processing/CryptoAnalysis/CryptoAnalysisStageExecutor.cs (165 lines)
- src/Scanner/StellaOps.Scanner.Worker/Processing/Entropy/EntropyStageExecutor.cs (186 lines)
- src/Scanner/StellaOps.Scanner.Worker/Processing/PoE/PoEGenerationStageExecutor.cs (226 lines)
- src/Scanner/StellaOps.Scanner.Worker/Processing/Reachability/ReachabilityEvidenceStageExecutor.cs (322 lines)
- src/Scanner/StellaOps.Scanner.Worker/Processing/Reachability/SbomReachabilityStageExecutor.cs (396 lines)
- src/Scanner/StellaOps.Scanner.Worker/Processing/Replay/ReplayBundleFetcher.cs (105 lines)
- src/Scanner/StellaOps.Scanner.Worker/Processing/Secrets/SecretsAnalyzerStageExecutor.cs (236 lines)
- src/Scanner/StellaOps.Scanner.Worker/Processing/ServiceSecurity/ServiceSecurityStageExecutor.cs (136 lines)
- src/Scanner/StellaOps.Scanner.Worker/Processing/Surface/HmacDsseEnvelopeSigner.cs (221 lines)
- src/Scanner/StellaOps.Scanner.Worker/Processing/Surface/RubyPackageInventoryBuilder.cs (113 lines)
- src/Scanner/StellaOps.Scanner.Worker/Processing/Surface/SurfaceManifestPublisher.cs (362 lines)
- src/Scanner/StellaOps.Scanner.Worker/Processing/Surface/SurfaceManifestStageExecutor.cs (867 lines)
- Namespace issues:
- src/Scanner/StellaOps.Scanner.Worker/Determinism/DeterminismContext.cs: missing namespace
- src/Scanner/StellaOps.Scanner.Worker/Determinism/DeterminismEvidence.cs: missing namespace
- src/Scanner/StellaOps.Scanner.Worker/Determinism/DeterminismReport.cs: missing namespace
- src/Scanner/StellaOps.Scanner.Worker/Determinism/DeterministicRandomProvider.cs: missing namespace
- src/Scanner/StellaOps.Scanner.Worker/Determinism/DeterministicTimeProvider.cs: missing namespace
- src/Scanner/StellaOps.Scanner.Worker/Determinism/FidelityMetrics.cs: missing namespace
- src/Scanner/StellaOps.Scanner.Worker/Determinism/FidelityMetricsService.cs: missing namespace
- src/Scanner/StellaOps.Scanner.Worker/Determinism/FidelityThresholds.cs: missing namespace
- src/Scanner/StellaOps.Scanner.Worker/Determinism/Calculators/BitwiseFidelityCalculator.cs: missing namespace
- src/Scanner/StellaOps.Scanner.Worker/Determinism/Calculators/PolicyFidelityCalculator.cs: missing namespace
- src/Scanner/StellaOps.Scanner.Worker/Determinism/Calculators/SemanticFidelityCalculator.cs: missing namespace
- src/Scanner/StellaOps.Scanner.Worker/Diagnostics/EpssWorkerInstrumentation.cs: missing namespace
- src/Scanner/StellaOps.Scanner.Worker/Diagnostics/ScannerWorkerInstrumentation.cs: missing namespace
- src/Scanner/StellaOps.Scanner.Worker/Diagnostics/ScannerWorkerMetrics.cs: missing namespace
- src/Scanner/StellaOps.Scanner.Worker/Diagnostics/TelemetryExtensions.cs: missing namespace
- src/Scanner/StellaOps.Scanner.Worker/Extensions/BinaryIndexServiceExtensions.cs: missing namespace
- src/Scanner/StellaOps.Scanner.Worker/Hosting/ScannerWorkerHostedService.cs: missing namespace
- src/Scanner/StellaOps.Scanner.Worker/Metrics/IScanMetricsCollector.cs: missing namespace
- src/Scanner/StellaOps.Scanner.Worker/Metrics/IScanMetricsCollectorFactory.cs: missing namespace
- src/Scanner/StellaOps.Scanner.Worker/Metrics/ScanCompletionMetricsIntegration.cs: missing namespace
- src/Scanner/StellaOps.Scanner.Worker/Metrics/ScanMetricsCollector.cs: missing namespace
- src/Scanner/StellaOps.Scanner.Worker/Metrics/ScanMetricsCollectorFactory.cs: missing namespace
- src/Scanner/StellaOps.Scanner.Worker/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs: missing namespace
- src/Scanner/StellaOps.Scanner.Worker/obj/Debug/net10.0/StellaOps.Scanner.Worker.AssemblyInfo.cs: missing namespace
- src/Scanner/StellaOps.Scanner.Worker/obj/Debug/net10.0/StellaOps.Scanner.Worker.GlobalUsings.g.cs: missing namespace
- src/Scanner/StellaOps.Scanner.Worker/obj/Release/net10.0/StellaOps.Scanner.Worker.GlobalUsings.g.cs: missing namespace
- src/Scanner/StellaOps.Scanner.Worker/Options/NativeAnalyzerOptions.cs: missing namespace
- src/Scanner/StellaOps.Scanner.Worker/Options/ScannerStorageSurfaceSecretConfigurator.cs: missing namespace
- src/Scanner/StellaOps.Scanner.Worker/Options/ScannerWorkerOptions.cs: missing namespace
- src/Scanner/StellaOps.Scanner.Worker/Options/ScannerWorkerOptionsValidator.cs: missing namespace
- src/Scanner/StellaOps.Scanner.Worker/Orchestration/PoEOrchestrator.cs: missing namespace
- src/Scanner/StellaOps.Scanner.Worker/Processing/AnalyzerStageExecutor.cs: missing namespace
- src/Scanner/StellaOps.Scanner.Worker/Processing/BinaryFindingMapper.cs: missing namespace
- src/Scanner/StellaOps.Scanner.Worker/Processing/BinaryLookupStageExecutor.cs: missing namespace
- src/Scanner/StellaOps.Scanner.Worker/Processing/BinaryVulnerabilityAnalyzer.cs: missing namespace
- src/Scanner/StellaOps.Scanner.Worker/Processing/CompositeScanAnalyzerDispatcher.cs: missing namespace
- src/Scanner/StellaOps.Scanner.Worker/Processing/DeltaSigAnalyzer.cs: missing namespace
- src/Scanner/StellaOps.Scanner.Worker/Processing/DeterministicRandomService.cs: missing namespace
- src/Scanner/StellaOps.Scanner.Worker/Processing/EntryTraceExecutionService.cs: missing namespace
- src/Scanner/StellaOps.Scanner.Worker/Processing/EpssEnrichmentJob.cs: missing namespace
- src/Scanner/StellaOps.Scanner.Worker/Processing/EpssEnrichmentStageExecutor.cs: missing namespace
- src/Scanner/StellaOps.Scanner.Worker/Processing/EpssIngestJob.cs: missing namespace
- src/Scanner/StellaOps.Scanner.Worker/Processing/EpssSignalJob.cs: missing namespace
- src/Scanner/StellaOps.Scanner.Worker/Processing/IDelayScheduler.cs: missing namespace
- src/Scanner/StellaOps.Scanner.Worker/Processing/IEntryTraceExecutionService.cs: missing namespace
- src/Scanner/StellaOps.Scanner.Worker/Processing/IScanAnalyzerDispatcher.cs: missing namespace
- src/Scanner/StellaOps.Scanner.Worker/Processing/IScanJobLease.cs: missing namespace
- src/Scanner/StellaOps.Scanner.Worker/Processing/IScanJobSource.cs: missing namespace
- src/Scanner/StellaOps.Scanner.Worker/Processing/IScanStageExecutor.cs: missing namespace
- src/Scanner/StellaOps.Scanner.Worker/Processing/LeaseHeartbeatService.cs: missing namespace
- src/Scanner/StellaOps.Scanner.Worker/Processing/NativeAnalyzerExecutor.cs: missing namespace
- src/Scanner/StellaOps.Scanner.Worker/Processing/NativeBinaryDiscovery.cs: missing namespace
- src/Scanner/StellaOps.Scanner.Worker/Processing/NoOpStageExecutor.cs: missing namespace
- src/Scanner/StellaOps.Scanner.Worker/Processing/NullScanJobSource.cs: missing namespace
- src/Scanner/StellaOps.Scanner.Worker/Processing/PollDelayStrategy.cs: missing namespace
- src/Scanner/StellaOps.Scanner.Worker/Processing/RegistrySecretStageExecutor.cs: missing namespace
- src/Scanner/StellaOps.Scanner.Worker/Processing/ScanJobContext.cs: missing namespace
- src/Scanner/StellaOps.Scanner.Worker/Processing/ScanJobProcessor.cs: missing namespace
- src/Scanner/StellaOps.Scanner.Worker/Processing/ScanProgressReporter.cs: missing namespace
- src/Scanner/StellaOps.Scanner.Worker/Processing/ScanStageNames.cs: missing namespace
- src/Scanner/StellaOps.Scanner.Worker/Processing/SystemDelayScheduler.cs: missing namespace
- src/Scanner/StellaOps.Scanner.Worker/Processing/VerdictPushStageExecutor.cs: missing namespace
- src/Scanner/StellaOps.Scanner.Worker/Processing/VexGateStageExecutor.cs: missing namespace
- src/Scanner/StellaOps.Scanner.Worker/Processing/AiMlSecurity/AiMlSecurityStageExecutor.cs: missing namespace
- src/Scanner/StellaOps.Scanner.Worker/Processing/BuildProvenance/BuildProvenanceStageExecutor.cs: missing namespace
- src/Scanner/StellaOps.Scanner.Worker/Processing/CryptoAnalysis/CryptoAnalysisStageExecutor.cs: missing namespace
- src/Scanner/StellaOps.Scanner.Worker/Processing/Entropy/EntropyStageExecutor.cs: missing namespace
- src/Scanner/StellaOps.Scanner.Worker/Processing/PoE/PoEGenerationStageExecutor.cs: missing namespace
- src/Scanner/StellaOps.Scanner.Worker/Processing/Reachability/NullSbomAdvisoryMatcher.cs: missing namespace
- src/Scanner/StellaOps.Scanner.Worker/Processing/Reachability/ReachabilityBuildStageExecutor.cs: missing namespace
- src/Scanner/StellaOps.Scanner.Worker/Processing/Reachability/ReachabilityEvidenceStageExecutor.cs: missing namespace
- src/Scanner/StellaOps.Scanner.Worker/Processing/Reachability/ReachabilityPublishStageExecutor.cs: missing namespace
- src/Scanner/StellaOps.Scanner.Worker/Processing/Reachability/SbomReachabilityStageExecutor.cs: missing namespace
- src/Scanner/StellaOps.Scanner.Worker/Processing/Replay/ReplayBundleContext.cs: missing namespace
- src/Scanner/StellaOps.Scanner.Worker/Processing/Replay/ReplayBundleFetcher.cs: missing namespace
- src/Scanner/StellaOps.Scanner.Worker/Processing/Replay/ReplayBundleMount.cs: missing namespace
- src/Scanner/StellaOps.Scanner.Worker/Processing/Replay/ReplaySealedBundleMetadata.cs: missing namespace
- src/Scanner/StellaOps.Scanner.Worker/Processing/Replay/ReplaySealedBundleStageExecutor.cs: missing namespace
- src/Scanner/StellaOps.Scanner.Worker/Processing/Secrets/SecretsAnalyzerStageExecutor.cs: missing namespace
- src/Scanner/StellaOps.Scanner.Worker/Processing/ServiceSecurity/ServiceSecurityStageExecutor.cs: missing namespace
- src/Scanner/StellaOps.Scanner.Worker/Processing/Surface/BunPackageInventoryBuilder.cs: missing namespace
- src/Scanner/StellaOps.Scanner.Worker/Processing/Surface/HmacDsseEnvelopeSigner.cs: missing namespace
- src/Scanner/StellaOps.Scanner.Worker/Processing/Surface/IDsseEnvelopeSigner.cs: missing namespace
- src/Scanner/StellaOps.Scanner.Worker/Processing/Surface/RubyPackageInventoryBuilder.cs: missing namespace
- src/Scanner/StellaOps.Scanner.Worker/Processing/Surface/SurfaceManifestPublisher.cs: missing namespace
- src/Scanner/StellaOps.Scanner.Worker/Processing/Surface/SurfaceManifestStageExecutor.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: 89
- Files with issues: 87
- See docs/implplan/audits/csproj-standards/file-audit.csv for full per-file status.
| File | Issues | Fix guidance |
| --- | --- | --- |
| src/Scanner/StellaOps.Scanner.Worker/Program.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.Worker/Determinism/DeterminismContext.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/StellaOps.Scanner.Worker/Determinism/DeterminismEvidence.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/StellaOps.Scanner.Worker/Determinism/DeterminismReport.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/StellaOps.Scanner.Worker/Determinism/DeterministicRandomProvider.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/StellaOps.Scanner.Worker/Determinism/DeterministicTimeProvider.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/StellaOps.Scanner.Worker/Determinism/FidelityMetrics.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/StellaOps.Scanner.Worker/Determinism/FidelityMetricsService.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.Worker/Determinism/FidelityThresholds.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/StellaOps.Scanner.Worker/Determinism/Calculators/BitwiseFidelityCalculator.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/StellaOps.Scanner.Worker/Determinism/Calculators/PolicyFidelityCalculator.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.Worker/Determinism/Calculators/SemanticFidelityCalculator.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.Worker/Diagnostics/EpssWorkerInstrumentation.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/StellaOps.Scanner.Worker/Diagnostics/ScannerWorkerInstrumentation.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/StellaOps.Scanner.Worker/Diagnostics/ScannerWorkerMetrics.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.Worker/Diagnostics/TelemetryExtensions.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.Worker/Extensions/BinaryIndexServiceExtensions.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.Worker/Hosting/ScannerWorkerHostedService.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.Worker/Metrics/IScanMetricsCollector.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/StellaOps.Scanner.Worker/Metrics/IScanMetricsCollectorFactory.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/StellaOps.Scanner.Worker/Metrics/ScanCompletionMetricsIntegration.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.Worker/Metrics/ScanMetricsCollector.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.Worker/Metrics/ScanMetricsCollectorFactory.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/StellaOps.Scanner.Worker/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/StellaOps.Scanner.Worker/obj/Debug/net10.0/StellaOps.Scanner.Worker.AssemblyInfo.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/StellaOps.Scanner.Worker/obj/Debug/net10.0/StellaOps.Scanner.Worker.GlobalUsings.g.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/StellaOps.Scanner.Worker/obj/Release/net10.0/StellaOps.Scanner.Worker.GlobalUsings.g.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/StellaOps.Scanner.Worker/Options/NativeAnalyzerOptions.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.Worker/Options/ScannerStorageSurfaceSecretConfigurator.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.Worker/Options/ScannerWorkerOptions.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.Worker/Options/ScannerWorkerOptionsValidator.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.Worker/Orchestration/PoEOrchestrator.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.Worker/Processing/AnalyzerStageExecutor.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/StellaOps.Scanner.Worker/Processing/BinaryFindingMapper.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.Worker/Processing/BinaryLookupStageExecutor.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.Worker/Processing/BinaryVulnerabilityAnalyzer.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.Worker/Processing/CompositeScanAnalyzerDispatcher.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.Worker/Processing/DeltaSigAnalyzer.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.Worker/Processing/DeterministicRandomService.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/StellaOps.Scanner.Worker/Processing/EntryTraceExecutionService.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.Worker/Processing/EpssEnrichmentJob.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.Worker/Processing/EpssEnrichmentStageExecutor.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.Worker/Processing/EpssIngestJob.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.Worker/Processing/EpssSignalJob.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.Worker/Processing/IDelayScheduler.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/StellaOps.Scanner.Worker/Processing/IEntryTraceExecutionService.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/StellaOps.Scanner.Worker/Processing/IScanAnalyzerDispatcher.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/StellaOps.Scanner.Worker/Processing/IScanJobLease.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/StellaOps.Scanner.Worker/Processing/IScanJobSource.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/StellaOps.Scanner.Worker/Processing/IScanStageExecutor.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/StellaOps.Scanner.Worker/Processing/LeaseHeartbeatService.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.Worker/Processing/NativeAnalyzerExecutor.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.Worker/Processing/NativeBinaryDiscovery.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.Worker/Processing/NoOpStageExecutor.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/StellaOps.Scanner.Worker/Processing/NullScanJobSource.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/StellaOps.Scanner.Worker/Processing/PollDelayStrategy.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/StellaOps.Scanner.Worker/Processing/RegistrySecretStageExecutor.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.Worker/Processing/ScanJobContext.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/StellaOps.Scanner.Worker/Processing/ScanJobProcessor.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/StellaOps.Scanner.Worker/Processing/ScanProgressReporter.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/StellaOps.Scanner.Worker/Processing/ScanStageNames.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/StellaOps.Scanner.Worker/Processing/SystemDelayScheduler.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/StellaOps.Scanner.Worker/Processing/VerdictPushStageExecutor.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.Worker/Processing/VexGateStageExecutor.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.Worker/Processing/AiMlSecurity/AiMlSecurityStageExecutor.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.Worker/Processing/BuildProvenance/BuildProvenanceStageExecutor.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.Worker/Processing/CryptoAnalysis/CryptoAnalysisStageExecutor.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.Worker/Processing/Entropy/EntropyStageExecutor.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.Worker/Processing/PoE/PoEGenerationStageExecutor.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.Worker/Processing/Reachability/NullSbomAdvisoryMatcher.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/StellaOps.Scanner.Worker/Processing/Reachability/ReachabilityBuildStageExecutor.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/StellaOps.Scanner.Worker/Processing/Reachability/ReachabilityEvidenceStageExecutor.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.Worker/Processing/Reachability/ReachabilityPublishStageExecutor.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/StellaOps.Scanner.Worker/Processing/Reachability/SbomReachabilityStageExecutor.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.Worker/Processing/Replay/ReplayBundleContext.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/StellaOps.Scanner.Worker/Processing/Replay/ReplayBundleFetcher.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.Worker/Processing/Replay/ReplayBundleMount.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/StellaOps.Scanner.Worker/Processing/Replay/ReplaySealedBundleMetadata.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/StellaOps.Scanner.Worker/Processing/Replay/ReplaySealedBundleStageExecutor.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/StellaOps.Scanner.Worker/Processing/Secrets/SecretsAnalyzerStageExecutor.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.Worker/Processing/ServiceSecurity/ServiceSecurityStageExecutor.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.Worker/Processing/Surface/BunPackageInventoryBuilder.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/StellaOps.Scanner.Worker/Processing/Surface/HmacDsseEnvelopeSigner.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.Worker/Processing/Surface/IDsseEnvelopeSigner.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/StellaOps.Scanner.Worker/Processing/Surface/RubyPackageInventoryBuilder.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.Worker/Processing/Surface/SurfaceManifestPublisher.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.Worker/Processing/Surface/SurfaceManifestStageExecutor.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): Performance, Unit
- Detected test projects: src/Scanner/__Tests/StellaOps.Scanner.Integration.Tests/StellaOps.Scanner.Integration.Tests.csproj [Integration]; src/Scanner/__Tests/StellaOps.Scanner.Worker.Tests/StellaOps.Scanner.Worker.Tests.csproj [Unit]
- Missing layers: Performance
### 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,238 @@
# Audit - StellaOps.Scanner.Worker
## Project
- Path: src/Scanner/StellaOps.Scanner.Worker/StellaOps.Scanner.Worker.csproj
- Module: Scanner
- Kind: Service
- Audit date (UTC): 2026-01-31
- Files scanned: 85
- Files with issues: 50
- 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: 45
- Namespace violations: 0
- Using directive violations: 16
- Naming violations (interfaces/fields/const/async): 39
- Service locator usage (BuildServiceProvider/GetService): 23
- Assembly.LoadFrom usage: 0
### Details
- 100-line files:
- src/Scanner/StellaOps.Scanner.Worker/Program.cs (423 lines)
- src/Scanner/StellaOps.Scanner.Worker/Determinism/FidelityMetricsService.cs (212 lines)
- src/Scanner/StellaOps.Scanner.Worker/Determinism/Calculators/PolicyFidelityCalculator.cs (108 lines)
- src/Scanner/StellaOps.Scanner.Worker/Determinism/Calculators/SemanticFidelityCalculator.cs (107 lines)
- src/Scanner/StellaOps.Scanner.Worker/Diagnostics/ScannerWorkerMetrics.cs (404 lines)
- src/Scanner/StellaOps.Scanner.Worker/Diagnostics/TelemetryExtensions.cs (109 lines)
- src/Scanner/StellaOps.Scanner.Worker/Extensions/BinaryIndexServiceExtensions.cs (162 lines)
- src/Scanner/StellaOps.Scanner.Worker/Hosting/ScannerWorkerHostedService.cs (207 lines)
- src/Scanner/StellaOps.Scanner.Worker/Metrics/ScanCompletionMetricsIntegration.cs (139 lines)
- src/Scanner/StellaOps.Scanner.Worker/Metrics/ScanMetricsCollector.cs (347 lines)
- src/Scanner/StellaOps.Scanner.Worker/Options/NativeAnalyzerOptions.cs (111 lines)
- src/Scanner/StellaOps.Scanner.Worker/Options/ScannerStorageSurfaceSecretConfigurator.cs (143 lines)
- src/Scanner/StellaOps.Scanner.Worker/Options/ScannerWorkerOptions.cs (566 lines)
- src/Scanner/StellaOps.Scanner.Worker/Options/ScannerWorkerOptionsValidator.cs (201 lines)
- src/Scanner/StellaOps.Scanner.Worker/Orchestration/PoEOrchestrator.cs (219 lines)
- src/Scanner/StellaOps.Scanner.Worker/Processing/BinaryFindingMapper.cs (284 lines)
- src/Scanner/StellaOps.Scanner.Worker/Processing/BinaryLookupStageExecutor.cs (221 lines)
- src/Scanner/StellaOps.Scanner.Worker/Processing/BinaryVulnerabilityAnalyzer.cs (218 lines)
- src/Scanner/StellaOps.Scanner.Worker/Processing/CompositeScanAnalyzerDispatcher.cs (607 lines)
- src/Scanner/StellaOps.Scanner.Worker/Processing/DeltaSigAnalyzer.cs (438 lines)
- src/Scanner/StellaOps.Scanner.Worker/Processing/EntryTraceExecutionService.cs (757 lines)
- src/Scanner/StellaOps.Scanner.Worker/Processing/EpssEnrichmentJob.cs (393 lines)
- src/Scanner/StellaOps.Scanner.Worker/Processing/EpssEnrichmentStageExecutor.cs (184 lines)
- src/Scanner/StellaOps.Scanner.Worker/Processing/EpssIngestJob.cs (407 lines)
- src/Scanner/StellaOps.Scanner.Worker/Processing/EpssSignalJob.cs (556 lines)
- src/Scanner/StellaOps.Scanner.Worker/Processing/LeaseHeartbeatService.cs (165 lines)
- src/Scanner/StellaOps.Scanner.Worker/Processing/NativeAnalyzerExecutor.cs (301 lines)
- src/Scanner/StellaOps.Scanner.Worker/Processing/NativeBinaryDiscovery.cs (293 lines)
- src/Scanner/StellaOps.Scanner.Worker/Processing/RegistrySecretStageExecutor.cs (110 lines)
- src/Scanner/StellaOps.Scanner.Worker/Processing/VerdictPushStageExecutor.cs (227 lines)
- src/Scanner/StellaOps.Scanner.Worker/Processing/VexGateStageExecutor.cs (433 lines)
- src/Scanner/StellaOps.Scanner.Worker/Processing/AiMlSecurity/AiMlSecurityStageExecutor.cs (152 lines)
- src/Scanner/StellaOps.Scanner.Worker/Processing/BuildProvenance/BuildProvenanceStageExecutor.cs (156 lines)
- src/Scanner/StellaOps.Scanner.Worker/Processing/CryptoAnalysis/CryptoAnalysisStageExecutor.cs (166 lines)
- src/Scanner/StellaOps.Scanner.Worker/Processing/Entropy/EntropyStageExecutor.cs (187 lines)
- src/Scanner/StellaOps.Scanner.Worker/Processing/PoE/PoEGenerationStageExecutor.cs (227 lines)
- src/Scanner/StellaOps.Scanner.Worker/Processing/Reachability/ReachabilityEvidenceStageExecutor.cs (323 lines)
- src/Scanner/StellaOps.Scanner.Worker/Processing/Reachability/SbomReachabilityStageExecutor.cs (397 lines)
- src/Scanner/StellaOps.Scanner.Worker/Processing/Replay/ReplayBundleFetcher.cs (106 lines)
- src/Scanner/StellaOps.Scanner.Worker/Processing/Secrets/SecretsAnalyzerStageExecutor.cs (237 lines)
- src/Scanner/StellaOps.Scanner.Worker/Processing/ServiceSecurity/ServiceSecurityStageExecutor.cs (137 lines)
- src/Scanner/StellaOps.Scanner.Worker/Processing/Surface/HmacDsseEnvelopeSigner.cs (222 lines)
- src/Scanner/StellaOps.Scanner.Worker/Processing/Surface/RubyPackageInventoryBuilder.cs (114 lines)
- src/Scanner/StellaOps.Scanner.Worker/Processing/Surface/SurfaceManifestPublisher.cs (363 lines)
- src/Scanner/StellaOps.Scanner.Worker/Processing/Surface/SurfaceManifestStageExecutor.cs (868 lines)
- Namespace issues:
- none
- Using directive issues:
- src/Scanner/StellaOps.Scanner.Worker/Program.cs: using directives not sorted
- src/Scanner/StellaOps.Scanner.Worker/Metrics/ScanCompletionMetricsIntegration.cs: using directives inside namespace
- src/Scanner/StellaOps.Scanner.Worker/Options/ScannerStorageSurfaceSecretConfigurator.cs: using directives inside namespace
- src/Scanner/StellaOps.Scanner.Worker/Processing/BinaryVulnerabilityAnalyzer.cs: using directives inside namespace
- src/Scanner/StellaOps.Scanner.Worker/Processing/CompositeScanAnalyzerDispatcher.cs: using directives inside namespace
- src/Scanner/StellaOps.Scanner.Worker/Processing/DeltaSigAnalyzer.cs: using directives inside namespace
- src/Scanner/StellaOps.Scanner.Worker/Processing/EntryTraceExecutionService.cs: using directives inside namespace
- src/Scanner/StellaOps.Scanner.Worker/Processing/EpssEnrichmentJob.cs: using directives inside namespace
- src/Scanner/StellaOps.Scanner.Worker/Processing/EpssIngestJob.cs: using directives inside namespace
- src/Scanner/StellaOps.Scanner.Worker/Processing/EpssSignalJob.cs: using directives inside namespace
- src/Scanner/StellaOps.Scanner.Worker/Processing/NativeAnalyzerExecutor.cs: using directives inside namespace
- src/Scanner/StellaOps.Scanner.Worker/Processing/NativeBinaryDiscovery.cs: using directives inside namespace
- src/Scanner/StellaOps.Scanner.Worker/Processing/RegistrySecretStageExecutor.cs: using directives inside namespace
- src/Scanner/StellaOps.Scanner.Worker/Processing/ScanProgressReporter.cs: using directives inside namespace
- src/Scanner/StellaOps.Scanner.Worker/Processing/Entropy/EntropyStageExecutor.cs: using directives inside namespace
- src/Scanner/StellaOps.Scanner.Worker/Processing/Surface/HmacDsseEnvelopeSigner.cs: using directives inside namespace
- Naming issues:
- src/Scanner/StellaOps.Scanner.Worker/Options/ScannerStorageSurfaceSecretConfigurator.cs: private field naming
- src/Scanner/StellaOps.Scanner.Worker/Processing/EntryTraceExecutionService.cs: private field naming
- src/Scanner/StellaOps.Scanner.Worker/Processing/EpssEnrichmentJob.cs: private field naming
- src/Scanner/StellaOps.Scanner.Worker/Processing/EpssSignalJob.cs: private field naming
- src/Scanner/StellaOps.Scanner.Worker/Processing/NativeBinaryDiscovery.cs: private field naming
- src/Scanner/StellaOps.Scanner.Worker/Processing/RegistrySecretStageExecutor.cs: private field naming
- src/Scanner/StellaOps.Scanner.Worker/Processing/Secrets/SecretsAnalyzerStageExecutor.cs: private field naming
- src/Scanner/StellaOps.Scanner.Worker/Processing/Surface/IDsseEnvelopeSigner.cs: private field naming
- src/Scanner/StellaOps.Scanner.Worker/Processing/Surface/SurfaceManifestPublisher.cs: private field naming
- src/Scanner/StellaOps.Scanner.Worker/Processing/Surface/SurfaceManifestStageExecutor.cs: private field naming
- Async issues:
- src/Scanner/StellaOps.Scanner.Worker/Diagnostics/ScannerWorkerMetrics.cs: blocking async usage
- src/Scanner/StellaOps.Scanner.Worker/Hosting/ScannerWorkerHostedService.cs: async method naming
- src/Scanner/StellaOps.Scanner.Worker/Metrics/ScanMetricsCollector.cs: async method naming
- src/Scanner/StellaOps.Scanner.Worker/Processing/AnalyzerStageExecutor.cs: async method naming
- src/Scanner/StellaOps.Scanner.Worker/Processing/BinaryLookupStageExecutor.cs: async method naming
- src/Scanner/StellaOps.Scanner.Worker/Processing/CompositeScanAnalyzerDispatcher.cs: async method naming
- src/Scanner/StellaOps.Scanner.Worker/Processing/EntryTraceExecutionService.cs: async method naming
- src/Scanner/StellaOps.Scanner.Worker/Processing/EpssEnrichmentJob.cs: async method naming
- src/Scanner/StellaOps.Scanner.Worker/Processing/EpssEnrichmentStageExecutor.cs: async method naming
- src/Scanner/StellaOps.Scanner.Worker/Processing/EpssIngestJob.cs: async method naming
- src/Scanner/StellaOps.Scanner.Worker/Processing/EpssSignalJob.cs: async method naming
- src/Scanner/StellaOps.Scanner.Worker/Processing/LeaseHeartbeatService.cs: async method naming
- src/Scanner/StellaOps.Scanner.Worker/Processing/RegistrySecretStageExecutor.cs: async method naming
- src/Scanner/StellaOps.Scanner.Worker/Processing/ScanJobProcessor.cs: async method naming
- src/Scanner/StellaOps.Scanner.Worker/Processing/VerdictPushStageExecutor.cs: async method naming
- src/Scanner/StellaOps.Scanner.Worker/Processing/VexGateStageExecutor.cs: async method naming
- src/Scanner/StellaOps.Scanner.Worker/Processing/AiMlSecurity/AiMlSecurityStageExecutor.cs: async method naming
- src/Scanner/StellaOps.Scanner.Worker/Processing/BuildProvenance/BuildProvenanceStageExecutor.cs: async method naming
- src/Scanner/StellaOps.Scanner.Worker/Processing/CryptoAnalysis/CryptoAnalysisStageExecutor.cs: async method naming
- src/Scanner/StellaOps.Scanner.Worker/Processing/Entropy/EntropyStageExecutor.cs: async method naming
- src/Scanner/StellaOps.Scanner.Worker/Processing/PoE/PoEGenerationStageExecutor.cs: async method naming
- src/Scanner/StellaOps.Scanner.Worker/Processing/Reachability/ReachabilityEvidenceStageExecutor.cs: async method naming
- src/Scanner/StellaOps.Scanner.Worker/Processing/Reachability/ReachabilityPublishStageExecutor.cs: async method naming
- src/Scanner/StellaOps.Scanner.Worker/Processing/Reachability/SbomReachabilityStageExecutor.cs: async method naming
- src/Scanner/StellaOps.Scanner.Worker/Processing/Replay/ReplayBundleFetcher.cs: async method naming
- src/Scanner/StellaOps.Scanner.Worker/Processing/Secrets/SecretsAnalyzerStageExecutor.cs: async method naming
- src/Scanner/StellaOps.Scanner.Worker/Processing/ServiceSecurity/ServiceSecurityStageExecutor.cs: async method naming
- src/Scanner/StellaOps.Scanner.Worker/Processing/Surface/SurfaceManifestPublisher.cs: async method naming
- src/Scanner/StellaOps.Scanner.Worker/Processing/Surface/SurfaceManifestStageExecutor.cs: async method naming
- Service locator matches:
- src/Scanner/StellaOps.Scanner.Worker/Program.cs:105 new SurfaceCacheOptionsConfigurator(sp.GetRequiredService<ISurfaceEnvironment>()));
- src/Scanner/StellaOps.Scanner.Worker/Program.cs:108 sp.GetRequiredService<ISurfaceEnvironment>(),
- src/Scanner/StellaOps.Scanner.Worker/Program.cs:109 sp.GetRequiredService<IOptions<SurfaceCacheOptions>>()));
- src/Scanner/StellaOps.Scanner.Worker/Program.cs:164 builder.Services.AddHostedService(sp => sp.GetRequiredService<EpssEnrichmentJob>());
- src/Scanner/StellaOps.Scanner.Worker/Program.cs:170 builder.Services.AddHostedService(sp => sp.GetRequiredService<EpssSignalJob>());
- src/Scanner/StellaOps.Scanner.Worker/Program.cs:274 var opts = sp.GetRequiredService<IOptions<ScannerWorkerOptions>>().Value.VerdictPush;
- src/Scanner/StellaOps.Scanner.Worker/Program.cs:297 builder.Services.AddHostedService(sp => sp.GetRequiredService<ScannerWorkerHostedService>());
- src/Scanner/StellaOps.Scanner.Worker/Program.cs:365 var env = services.GetRequiredService<ISurfaceEnvironment>();
- src/Scanner/StellaOps.Scanner.Worker/Program.cs:366 var runner = services.GetRequiredService<ISurfaceValidatorRunner>();
- src/Scanner/StellaOps.Scanner.Worker/Program.cs:369 host.Services.GetRequiredService<IHostApplicationLifetime>().ApplicationStopping)
- src/Scanner/StellaOps.Scanner.Worker/Processing/CompositeScanAnalyzerDispatcher.cs:123 var loggerFactory = services.GetRequiredService<ILoggerFactory>();
- src/Scanner/StellaOps.Scanner.Worker/Processing/CompositeScanAnalyzerDispatcher.cs:126 var surfaceEnvironment = services.GetRequiredService<ISurfaceEnvironment>();
- src/Scanner/StellaOps.Scanner.Worker/Processing/CompositeScanAnalyzerDispatcher.cs:127 var validatorRunner = services.GetRequiredService<ISurfaceValidatorRunner>();
- src/Scanner/StellaOps.Scanner.Worker/Processing/CompositeScanAnalyzerDispatcher.cs:142 var cache = services.GetRequiredService<ISurfaceCache>();
- src/Scanner/StellaOps.Scanner.Worker/Processing/CompositeScanAnalyzerDispatcher.cs:235 var surfaceEnvironment = services.GetRequiredService<ISurfaceEnvironment>();
- src/Scanner/StellaOps.Scanner.Worker/Processing/CompositeScanAnalyzerDispatcher.cs:236 var validatorRunner = services.GetRequiredService<ISurfaceValidatorRunner>();
- src/Scanner/StellaOps.Scanner.Worker/Processing/CompositeScanAnalyzerDispatcher.cs:270 var cache = services.GetRequiredService<ISurfaceCache>();
- src/Scanner/StellaOps.Scanner.Worker/Processing/CompositeScanAnalyzerDispatcher.cs:364 var executor = services.GetRequiredService<NativeAnalyzerExecutor>();
- src/Scanner/StellaOps.Scanner.Worker/Processing/CompositeScanAnalyzerDispatcher.cs:399 var binaryOptions = services.GetService<BinaryIndexOptions>();
- src/Scanner/StellaOps.Scanner.Worker/Processing/CompositeScanAnalyzerDispatcher.cs:416 var analyzer = services.GetService<BinaryVulnerabilityAnalyzer>();
- src/Scanner/StellaOps.Scanner.Worker/Processing/Reachability/SbomReachabilityStageExecutor.cs:224 var canonicalService = _serviceProvider.GetService<ICanonicalAdvisoryService>();
- src/Scanner/StellaOps.Scanner.Worker/Processing/Surface/HmacDsseEnvelopeSigner.cs:53 if ((secretBytes is null || secretBytes.Length == 0) && serviceProvider.GetService<ISurfaceSecretProvider>() is { } secretProvider)
- src/Scanner/StellaOps.Scanner.Worker/Processing/Surface/HmacDsseEnvelopeSigner.cs:55 secretBytes = TryLoadFromSurfaceSecrets(secretProvider, serviceProvider.GetService<ISurfaceEnvironment>());
- Assembly.LoadFrom matches:
- none
### Fix Guidance
- Align interface/field/const naming to standards.
- Move and sort using directives (outside namespace).
- Rename async methods and avoid blocking async calls.
- Replace service locator usage with constructor injection.
- Split files over 100 lines into smaller types or partials.
## File-Level Findings
- Status: FAIL
- Files scanned: 85
- Files with issues: 50
- See docs/implplan/audits/csproj-standards/file-audit.csv for full per-file status.
| File | Issues | Fix guidance |
| --- | --- | --- |
| src/Scanner/StellaOps.Scanner.Worker/Program.cs | FileLength>100; ServiceLocator; UsingNotSorted | Remove service locator usage; use constructor injection.; Sort using directives alphabetically.; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.Worker/Determinism/FidelityMetricsService.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.Worker/Determinism/Calculators/PolicyFidelityCalculator.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.Worker/Determinism/Calculators/SemanticFidelityCalculator.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.Worker/Diagnostics/ScannerWorkerMetrics.cs | BlockingAsync; FileLength>100 | Replace .Result/.Wait/GetAwaiter().GetResult() with await.; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.Worker/Diagnostics/TelemetryExtensions.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.Worker/Extensions/BinaryIndexServiceExtensions.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.Worker/Hosting/ScannerWorkerHostedService.cs | AsyncNaming; FileLength>100 | Rename async methods to end with Async.; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.Worker/Metrics/ScanCompletionMetricsIntegration.cs | FileLength>100; UsingInsideNamespace | Move using directives outside namespace.; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.Worker/Metrics/ScanMetricsCollector.cs | AsyncNaming; FileLength>100 | Rename async methods to end with Async.; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.Worker/Options/NativeAnalyzerOptions.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.Worker/Options/ScannerStorageSurfaceSecretConfigurator.cs | FileLength>100; PrivateFieldNaming; UsingInsideNamespace | Move using directives outside namespace.; Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.Worker/Options/ScannerWorkerOptions.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.Worker/Options/ScannerWorkerOptionsValidator.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.Worker/Orchestration/PoEOrchestrator.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.Worker/Processing/AnalyzerStageExecutor.cs | AsyncNaming | Rename async methods to end with Async. |
| src/Scanner/StellaOps.Scanner.Worker/Processing/BinaryFindingMapper.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.Worker/Processing/BinaryLookupStageExecutor.cs | AsyncNaming; FileLength>100 | Rename async methods to end with Async.; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.Worker/Processing/BinaryVulnerabilityAnalyzer.cs | FileLength>100; UsingInsideNamespace | Move using directives outside namespace.; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.Worker/Processing/CompositeScanAnalyzerDispatcher.cs | AsyncNaming; FileLength>100; ServiceLocator; UsingInsideNamespace | Move using directives outside namespace.; Remove service locator usage; use constructor injection.; Rename async methods to end with Async.; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.Worker/Processing/DeltaSigAnalyzer.cs | FileLength>100; UsingInsideNamespace | Move using directives outside namespace.; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.Worker/Processing/EntryTraceExecutionService.cs | AsyncNaming; FileLength>100; PrivateFieldNaming; UsingInsideNamespace | Move using directives outside namespace.; Rename async methods to end with Async.; Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.Worker/Processing/EpssEnrichmentJob.cs | AsyncNaming; FileLength>100; PrivateFieldNaming; UsingInsideNamespace | Move using directives outside namespace.; Rename async methods to end with Async.; Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.Worker/Processing/EpssEnrichmentStageExecutor.cs | AsyncNaming; FileLength>100 | Rename async methods to end with Async.; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.Worker/Processing/EpssIngestJob.cs | AsyncNaming; FileLength>100; UsingInsideNamespace | Move using directives outside namespace.; Rename async methods to end with Async.; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.Worker/Processing/EpssSignalJob.cs | AsyncNaming; FileLength>100; PrivateFieldNaming; UsingInsideNamespace | Move using directives outside namespace.; Rename async methods to end with Async.; Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.Worker/Processing/LeaseHeartbeatService.cs | AsyncNaming; FileLength>100 | Rename async methods to end with Async.; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.Worker/Processing/NativeAnalyzerExecutor.cs | FileLength>100; UsingInsideNamespace | Move using directives outside namespace.; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.Worker/Processing/NativeBinaryDiscovery.cs | FileLength>100; PrivateFieldNaming; UsingInsideNamespace | Move using directives outside namespace.; Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.Worker/Processing/RegistrySecretStageExecutor.cs | AsyncNaming; FileLength>100; PrivateFieldNaming; UsingInsideNamespace | Move using directives outside namespace.; Rename async methods to end with Async.; Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.Worker/Processing/ScanJobProcessor.cs | AsyncNaming | Rename async methods to end with Async. |
| src/Scanner/StellaOps.Scanner.Worker/Processing/ScanProgressReporter.cs | UsingInsideNamespace | Move using directives outside namespace. |
| src/Scanner/StellaOps.Scanner.Worker/Processing/VerdictPushStageExecutor.cs | AsyncNaming; FileLength>100 | Rename async methods to end with Async.; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.Worker/Processing/VexGateStageExecutor.cs | AsyncNaming; FileLength>100 | Rename async methods to end with Async.; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.Worker/Processing/AiMlSecurity/AiMlSecurityStageExecutor.cs | AsyncNaming; FileLength>100 | Rename async methods to end with Async.; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.Worker/Processing/BuildProvenance/BuildProvenanceStageExecutor.cs | AsyncNaming; FileLength>100 | Rename async methods to end with Async.; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.Worker/Processing/CryptoAnalysis/CryptoAnalysisStageExecutor.cs | AsyncNaming; FileLength>100 | Rename async methods to end with Async.; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.Worker/Processing/Entropy/EntropyStageExecutor.cs | AsyncNaming; FileLength>100; UsingInsideNamespace | Move using directives outside namespace.; Rename async methods to end with Async.; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.Worker/Processing/PoE/PoEGenerationStageExecutor.cs | AsyncNaming; FileLength>100 | Rename async methods to end with Async.; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.Worker/Processing/Reachability/ReachabilityEvidenceStageExecutor.cs | AsyncNaming; FileLength>100 | Rename async methods to end with Async.; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.Worker/Processing/Reachability/ReachabilityPublishStageExecutor.cs | AsyncNaming | Rename async methods to end with Async. |
| src/Scanner/StellaOps.Scanner.Worker/Processing/Reachability/SbomReachabilityStageExecutor.cs | AsyncNaming; FileLength>100; ServiceLocator | Remove service locator usage; use constructor injection.; Rename async methods to end with Async.; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.Worker/Processing/Replay/ReplayBundleFetcher.cs | AsyncNaming; FileLength>100 | Rename async methods to end with Async.; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.Worker/Processing/Secrets/SecretsAnalyzerStageExecutor.cs | AsyncNaming; FileLength>100; PrivateFieldNaming | Rename async methods to end with Async.; Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.Worker/Processing/ServiceSecurity/ServiceSecurityStageExecutor.cs | AsyncNaming; FileLength>100 | Rename async methods to end with Async.; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.Worker/Processing/Surface/HmacDsseEnvelopeSigner.cs | FileLength>100; ServiceLocator; UsingInsideNamespace | Move using directives outside namespace.; Remove service locator usage; use constructor injection.; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.Worker/Processing/Surface/IDsseEnvelopeSigner.cs | PrivateFieldNaming | Rename private fields to _camelCase. |
| src/Scanner/StellaOps.Scanner.Worker/Processing/Surface/RubyPackageInventoryBuilder.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.Worker/Processing/Surface/SurfaceManifestPublisher.cs | AsyncNaming; FileLength>100; PrivateFieldNaming | Rename async methods to end with Async.; Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/StellaOps.Scanner.Worker/Processing/Surface/SurfaceManifestStageExecutor.cs | AsyncNaming; FileLength>100; PrivateFieldNaming | Rename async methods to end with Async.; Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
## Testing Fullness Findings
- Status: FAIL
- Expected layers (heuristic): E2E, Integration, Offline, Performance, Security, Unit
- Detected test projects: src/Scanner/__Tests/StellaOps.Scanner.Integration.Tests/StellaOps.Scanner.Integration.Tests.csproj [Integration]; src/Scanner/__Tests/StellaOps.Scanner.Worker.Tests/StellaOps.Scanner.Worker.Tests.csproj [Unit]
- Missing layers: E2E, Offline, Performance, Security
### 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,79 @@
# Audit - StellaOps.Scanner.Analyzers.Lang.Deno.Benchmarks
## Project
- Path: src/Scanner/__Benchmarks/StellaOps.Scanner.Analyzers.Lang.Deno.Benchmarks/StellaOps.Scanner.Analyzers.Lang.Deno.Benchmarks.csproj
- Module: Scanner
- Kind: Library
- Audit date (UTC): 2026-01-30
- Files scanned: 8
- 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: 0
- 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:
- none
- Namespace issues:
- src/Scanner/__Benchmarks/StellaOps.Scanner.Analyzers.Lang.Deno.Benchmarks/DenoBenchmarkFixtureBuilder.cs: missing namespace
- src/Scanner/__Benchmarks/StellaOps.Scanner.Analyzers.Lang.Deno.Benchmarks/DenoBenchmarkShared.cs: missing namespace
- src/Scanner/__Benchmarks/StellaOps.Scanner.Analyzers.Lang.Deno.Benchmarks/DenoLanguageAnalyzerBenchmark.cs: missing namespace
- src/Scanner/__Benchmarks/StellaOps.Scanner.Analyzers.Lang.Deno.Benchmarks/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs: missing namespace
- src/Scanner/__Benchmarks/StellaOps.Scanner.Analyzers.Lang.Deno.Benchmarks/obj/Debug/net10.0/StellaOps.Scanner.Analyzers.Lang.Deno.Benchmarks.AssemblyInfo.cs: missing namespace
- src/Scanner/__Benchmarks/StellaOps.Scanner.Analyzers.Lang.Deno.Benchmarks/obj/Debug/net10.0/StellaOps.Scanner.Analyzers.Lang.Deno.Benchmarks.GlobalUsings.g.cs: missing namespace
- src/Scanner/__Benchmarks/StellaOps.Scanner.Analyzers.Lang.Deno.Benchmarks/obj/Release/net10.0/StellaOps.Scanner.Analyzers.Lang.Deno.Benchmarks.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>.
## File-Level Findings
- Status: FAIL
- Files scanned: 8
- Files with issues: 7
- See docs/implplan/audits/csproj-standards/file-audit.csv for full per-file status.
| File | Issues | Fix guidance |
| --- | --- | --- |
| src/Scanner/__Benchmarks/StellaOps.Scanner.Analyzers.Lang.Deno.Benchmarks/DenoBenchmarkFixtureBuilder.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Benchmarks/StellaOps.Scanner.Analyzers.Lang.Deno.Benchmarks/DenoBenchmarkShared.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Benchmarks/StellaOps.Scanner.Analyzers.Lang.Deno.Benchmarks/DenoLanguageAnalyzerBenchmark.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Benchmarks/StellaOps.Scanner.Analyzers.Lang.Deno.Benchmarks/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Benchmarks/StellaOps.Scanner.Analyzers.Lang.Deno.Benchmarks/obj/Debug/net10.0/StellaOps.Scanner.Analyzers.Lang.Deno.Benchmarks.AssemblyInfo.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Benchmarks/StellaOps.Scanner.Analyzers.Lang.Deno.Benchmarks/obj/Debug/net10.0/StellaOps.Scanner.Analyzers.Lang.Deno.Benchmarks.GlobalUsings.g.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Benchmarks/StellaOps.Scanner.Analyzers.Lang.Deno.Benchmarks/obj/Release/net10.0/StellaOps.Scanner.Analyzers.Lang.Deno.Benchmarks.GlobalUsings.g.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
## Testing Fullness Findings
- Status: FAIL
- Expected layers (heuristic): Performance, Unit
- Detected test projects: none
- Missing layers: Performance, 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,71 @@
# Audit - StellaOps.Scanner.Analyzers.Lang.Deno.Benchmarks
## Project
- Path: src/Scanner/__Benchmarks/StellaOps.Scanner.Analyzers.Lang.Deno.Benchmarks/StellaOps.Scanner.Analyzers.Lang.Deno.Benchmarks.csproj
- Module: Scanner
- Kind: Analyzer
- Audit date (UTC): 2026-01-31
- Files scanned: 4
- Files with issues: 3
- 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: 0
- Namespace violations: 3
- 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:
- none
- Namespace issues:
- src/Scanner/__Benchmarks/StellaOps.Scanner.Analyzers.Lang.Deno.Benchmarks/DenoBenchmarkFixtureBuilder.cs: missing namespace
- src/Scanner/__Benchmarks/StellaOps.Scanner.Analyzers.Lang.Deno.Benchmarks/DenoBenchmarkShared.cs: missing namespace
- src/Scanner/__Benchmarks/StellaOps.Scanner.Analyzers.Lang.Deno.Benchmarks/DenoLanguageAnalyzerBenchmark.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>.
## File-Level Findings
- Status: FAIL
- Files scanned: 4
- Files with issues: 3
- See docs/implplan/audits/csproj-standards/file-audit.csv for full per-file status.
| File | Issues | Fix guidance |
| --- | --- | --- |
| src/Scanner/__Benchmarks/StellaOps.Scanner.Analyzers.Lang.Deno.Benchmarks/DenoBenchmarkFixtureBuilder.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Benchmarks/StellaOps.Scanner.Analyzers.Lang.Deno.Benchmarks/DenoBenchmarkShared.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Benchmarks/StellaOps.Scanner.Analyzers.Lang.Deno.Benchmarks/DenoLanguageAnalyzerBenchmark.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
## Testing Fullness Findings
- Status: FAIL
- Expected layers (heuristic): Performance, Unit
- Detected test projects: none
- Missing layers: Performance, 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,77 @@
# Audit - StellaOps.Scanner.Analyzers.Lang.Php.Benchmarks
## Project
- Path: src/Scanner/__Benchmarks/StellaOps.Scanner.Analyzers.Lang.Php.Benchmarks/StellaOps.Scanner.Analyzers.Lang.Php.Benchmarks.csproj
- Module: Scanner
- Kind: Library
- Audit date (UTC): 2026-01-30
- Files scanned: 7
- Files with issues: 6
- 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: 0
- Namespace violations: 6
- 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:
- none
- Namespace issues:
- src/Scanner/__Benchmarks/StellaOps.Scanner.Analyzers.Lang.Php.Benchmarks/PhpBenchmarkShared.cs: missing namespace
- src/Scanner/__Benchmarks/StellaOps.Scanner.Analyzers.Lang.Php.Benchmarks/PhpLanguageAnalyzerBenchmark.cs: missing namespace
- src/Scanner/__Benchmarks/StellaOps.Scanner.Analyzers.Lang.Php.Benchmarks/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs: missing namespace
- src/Scanner/__Benchmarks/StellaOps.Scanner.Analyzers.Lang.Php.Benchmarks/obj/Debug/net10.0/StellaOps.Scanner.Analyzers.Lang.Php.Benchmarks.AssemblyInfo.cs: missing namespace
- src/Scanner/__Benchmarks/StellaOps.Scanner.Analyzers.Lang.Php.Benchmarks/obj/Debug/net10.0/StellaOps.Scanner.Analyzers.Lang.Php.Benchmarks.GlobalUsings.g.cs: missing namespace
- src/Scanner/__Benchmarks/StellaOps.Scanner.Analyzers.Lang.Php.Benchmarks/obj/Release/net10.0/StellaOps.Scanner.Analyzers.Lang.Php.Benchmarks.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>.
## File-Level Findings
- Status: FAIL
- Files scanned: 7
- Files with issues: 6
- See docs/implplan/audits/csproj-standards/file-audit.csv for full per-file status.
| File | Issues | Fix guidance |
| --- | --- | --- |
| src/Scanner/__Benchmarks/StellaOps.Scanner.Analyzers.Lang.Php.Benchmarks/PhpBenchmarkShared.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Benchmarks/StellaOps.Scanner.Analyzers.Lang.Php.Benchmarks/PhpLanguageAnalyzerBenchmark.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Benchmarks/StellaOps.Scanner.Analyzers.Lang.Php.Benchmarks/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Benchmarks/StellaOps.Scanner.Analyzers.Lang.Php.Benchmarks/obj/Debug/net10.0/StellaOps.Scanner.Analyzers.Lang.Php.Benchmarks.AssemblyInfo.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Benchmarks/StellaOps.Scanner.Analyzers.Lang.Php.Benchmarks/obj/Debug/net10.0/StellaOps.Scanner.Analyzers.Lang.Php.Benchmarks.GlobalUsings.g.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Benchmarks/StellaOps.Scanner.Analyzers.Lang.Php.Benchmarks/obj/Release/net10.0/StellaOps.Scanner.Analyzers.Lang.Php.Benchmarks.GlobalUsings.g.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
## Testing Fullness Findings
- Status: FAIL
- Expected layers (heuristic): Performance, Unit
- Detected test projects: none
- Missing layers: Performance, 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,67 @@
# Audit - StellaOps.Scanner.Analyzers.Lang.Php.Benchmarks
## Project
- Path: src/Scanner/__Benchmarks/StellaOps.Scanner.Analyzers.Lang.Php.Benchmarks/StellaOps.Scanner.Analyzers.Lang.Php.Benchmarks.csproj
- Module: Scanner
- Kind: Analyzer
- Audit date (UTC): 2026-01-31
- Files scanned: 3
- Files with issues: 1
- 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: 0
- Namespace violations: 1
- 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:
- none
- Namespace issues:
- src/Scanner/__Benchmarks/StellaOps.Scanner.Analyzers.Lang.Php.Benchmarks/PhpLanguageAnalyzerBenchmark.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>.
## File-Level Findings
- Status: FAIL
- Files scanned: 3
- Files with issues: 1
- See docs/implplan/audits/csproj-standards/file-audit.csv for full per-file status.
| File | Issues | Fix guidance |
| --- | --- | --- |
| src/Scanner/__Benchmarks/StellaOps.Scanner.Analyzers.Lang.Php.Benchmarks/PhpLanguageAnalyzerBenchmark.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
## Testing Fullness Findings
- Status: FAIL
- Expected layers (heuristic): Performance, Unit
- Detected test projects: none
- Missing layers: Performance, 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.Scanner.Analyzers.Lang.Rust.Benchmarks
## Project
- Path: src/Scanner/__Benchmarks/StellaOps.Scanner.Analyzers.Lang.Rust.Benchmarks/StellaOps.Scanner.Analyzers.Lang.Rust.Benchmarks.csproj
- Module: Scanner
- Kind: Library
- Audit date (UTC): 2026-01-30
- Files scanned: 8
- 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/Scanner/__Benchmarks/StellaOps.Scanner.Analyzers.Lang.Rust.Benchmarks/RustBenchmarkShared.cs (110 lines)
- Namespace issues:
- src/Scanner/__Benchmarks/StellaOps.Scanner.Analyzers.Lang.Rust.Benchmarks/RustBenchmarkShared.cs: missing namespace
- src/Scanner/__Benchmarks/StellaOps.Scanner.Analyzers.Lang.Rust.Benchmarks/RustBenchmarkUtility.cs: missing namespace
- src/Scanner/__Benchmarks/StellaOps.Scanner.Analyzers.Lang.Rust.Benchmarks/RustLanguageAnalyzerBenchmark.cs: missing namespace
- src/Scanner/__Benchmarks/StellaOps.Scanner.Analyzers.Lang.Rust.Benchmarks/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs: missing namespace
- src/Scanner/__Benchmarks/StellaOps.Scanner.Analyzers.Lang.Rust.Benchmarks/obj/Debug/net10.0/StellaOps.Scanner.Analyzers.Lang.Rust.Benchmarks.AssemblyInfo.cs: missing namespace
- src/Scanner/__Benchmarks/StellaOps.Scanner.Analyzers.Lang.Rust.Benchmarks/obj/Debug/net10.0/StellaOps.Scanner.Analyzers.Lang.Rust.Benchmarks.GlobalUsings.g.cs: missing namespace
- src/Scanner/__Benchmarks/StellaOps.Scanner.Analyzers.Lang.Rust.Benchmarks/obj/Release/net10.0/StellaOps.Scanner.Analyzers.Lang.Rust.Benchmarks.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: 8
- Files with issues: 7
- See docs/implplan/audits/csproj-standards/file-audit.csv for full per-file status.
| File | Issues | Fix guidance |
| --- | --- | --- |
| src/Scanner/__Benchmarks/StellaOps.Scanner.Analyzers.Lang.Rust.Benchmarks/RustBenchmarkShared.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Benchmarks/StellaOps.Scanner.Analyzers.Lang.Rust.Benchmarks/RustBenchmarkUtility.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Benchmarks/StellaOps.Scanner.Analyzers.Lang.Rust.Benchmarks/RustLanguageAnalyzerBenchmark.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Benchmarks/StellaOps.Scanner.Analyzers.Lang.Rust.Benchmarks/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Benchmarks/StellaOps.Scanner.Analyzers.Lang.Rust.Benchmarks/obj/Debug/net10.0/StellaOps.Scanner.Analyzers.Lang.Rust.Benchmarks.AssemblyInfo.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Benchmarks/StellaOps.Scanner.Analyzers.Lang.Rust.Benchmarks/obj/Debug/net10.0/StellaOps.Scanner.Analyzers.Lang.Rust.Benchmarks.GlobalUsings.g.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Benchmarks/StellaOps.Scanner.Analyzers.Lang.Rust.Benchmarks/obj/Release/net10.0/StellaOps.Scanner.Analyzers.Lang.Rust.Benchmarks.GlobalUsings.g.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
## Testing Fullness Findings
- Status: FAIL
- Expected layers (heuristic): Performance, Unit
- Detected test projects: none
- Missing layers: Performance, 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,74 @@
# Audit - StellaOps.Scanner.Analyzers.Lang.Rust.Benchmarks
## Project
- Path: src/Scanner/__Benchmarks/StellaOps.Scanner.Analyzers.Lang.Rust.Benchmarks/StellaOps.Scanner.Analyzers.Lang.Rust.Benchmarks.csproj
- Module: Scanner
- Kind: Analyzer
- Audit date (UTC): 2026-01-31
- Files scanned: 4
- Files with issues: 3
- 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: 3
- Using directive violations: 0
- Naming violations (interfaces/fields/const/async): 2
- Service locator usage (BuildServiceProvider/GetService): 0
- Assembly.LoadFrom usage: 0
### Details
- 100-line files:
- src/Scanner/__Benchmarks/StellaOps.Scanner.Analyzers.Lang.Rust.Benchmarks/RustBenchmarkShared.cs (111 lines)
- Namespace issues:
- src/Scanner/__Benchmarks/StellaOps.Scanner.Analyzers.Lang.Rust.Benchmarks/RustBenchmarkShared.cs: missing namespace
- src/Scanner/__Benchmarks/StellaOps.Scanner.Analyzers.Lang.Rust.Benchmarks/RustBenchmarkUtility.cs: missing namespace
- src/Scanner/__Benchmarks/StellaOps.Scanner.Analyzers.Lang.Rust.Benchmarks/RustLanguageAnalyzerBenchmark.cs: missing namespace
- Using directive issues:
- none
- Naming issues:
- none
- Async issues:
- src/Scanner/__Benchmarks/StellaOps.Scanner.Analyzers.Lang.Rust.Benchmarks/RustBenchmarkUtility.cs: blocking async usage
- src/Scanner/__Benchmarks/StellaOps.Scanner.Analyzers.Lang.Rust.Benchmarks/RustLanguageAnalyzerBenchmark.cs: blocking async usage
- Service locator matches:
- none
- Assembly.LoadFrom matches:
- none
### Fix Guidance
- Normalize namespaces to file-scoped StellaOps.<Area>.
- Rename async methods and avoid blocking async calls.
- Split files over 100 lines into smaller types or partials.
## File-Level Findings
- Status: FAIL
- Files scanned: 4
- Files with issues: 3
- See docs/implplan/audits/csproj-standards/file-audit.csv for full per-file status.
| File | Issues | Fix guidance |
| --- | --- | --- |
| src/Scanner/__Benchmarks/StellaOps.Scanner.Analyzers.Lang.Rust.Benchmarks/RustBenchmarkShared.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Benchmarks/StellaOps.Scanner.Analyzers.Lang.Rust.Benchmarks/RustBenchmarkUtility.cs | BlockingAsync; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Replace .Result/.Wait/GetAwaiter().GetResult() with await. |
| src/Scanner/__Benchmarks/StellaOps.Scanner.Analyzers.Lang.Rust.Benchmarks/RustLanguageAnalyzerBenchmark.cs | BlockingAsync; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Replace .Result/.Wait/GetAwaiter().GetResult() with await. |
## Testing Fullness Findings
- Status: FAIL
- Expected layers (heuristic): Performance, Unit
- Detected test projects: none
- Missing layers: Performance, 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.Scanner.Gate.Benchmarks
## Project
- Path: src/Scanner/__Benchmarks/StellaOps.Scanner.Gate.Benchmarks/StellaOps.Scanner.Gate.Benchmarks.csproj
- Module: Scanner
- Kind: Library
- Audit date (UTC): 2026-01-30
- Files scanned: 8
- 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/Scanner/__Benchmarks/StellaOps.Scanner.Gate.Benchmarks/VexGateBenchmarks.cs (230 lines)
- Namespace issues:
- src/Scanner/__Benchmarks/StellaOps.Scanner.Gate.Benchmarks/VexGateBenchmarks.cs: missing namespace
- src/Scanner/__Benchmarks/StellaOps.Scanner.Gate.Benchmarks/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs: missing namespace
- src/Scanner/__Benchmarks/StellaOps.Scanner.Gate.Benchmarks/obj/Debug/net10.0/StellaOps.Scanner.Gate.Benchmarks.AssemblyInfo.cs: missing namespace
- src/Scanner/__Benchmarks/StellaOps.Scanner.Gate.Benchmarks/obj/Debug/net10.0/StellaOps.Scanner.Gate.Benchmarks.GlobalUsings.g.cs: missing namespace
- src/Scanner/__Benchmarks/StellaOps.Scanner.Gate.Benchmarks/obj/Release/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs: missing namespace
- src/Scanner/__Benchmarks/StellaOps.Scanner.Gate.Benchmarks/obj/Release/net10.0/StellaOps.Scanner.Gate.Benchmarks.AssemblyInfo.cs: missing namespace
- src/Scanner/__Benchmarks/StellaOps.Scanner.Gate.Benchmarks/obj/Release/net10.0/StellaOps.Scanner.Gate.Benchmarks.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: 8
- Files with issues: 7
- See docs/implplan/audits/csproj-standards/file-audit.csv for full per-file status.
| File | Issues | Fix guidance |
| --- | --- | --- |
| src/Scanner/__Benchmarks/StellaOps.Scanner.Gate.Benchmarks/VexGateBenchmarks.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Benchmarks/StellaOps.Scanner.Gate.Benchmarks/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Benchmarks/StellaOps.Scanner.Gate.Benchmarks/obj/Debug/net10.0/StellaOps.Scanner.Gate.Benchmarks.AssemblyInfo.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Benchmarks/StellaOps.Scanner.Gate.Benchmarks/obj/Debug/net10.0/StellaOps.Scanner.Gate.Benchmarks.GlobalUsings.g.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Benchmarks/StellaOps.Scanner.Gate.Benchmarks/obj/Release/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Benchmarks/StellaOps.Scanner.Gate.Benchmarks/obj/Release/net10.0/StellaOps.Scanner.Gate.Benchmarks.AssemblyInfo.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Benchmarks/StellaOps.Scanner.Gate.Benchmarks/obj/Release/net10.0/StellaOps.Scanner.Gate.Benchmarks.GlobalUsings.g.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
## Testing Fullness Findings
- Status: FAIL
- Expected layers (heuristic): Performance, Unit
- Detected test projects: none
- Missing layers: Performance, 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,67 @@
# Audit - StellaOps.Scanner.Gate.Benchmarks
## Project
- Path: src/Scanner/__Benchmarks/StellaOps.Scanner.Gate.Benchmarks/StellaOps.Scanner.Gate.Benchmarks.csproj
- Module: Scanner
- Kind: Library
- Audit date (UTC): 2026-01-31
- Files scanned: 2
- Files with issues: 1
- 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: 0
- 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/Scanner/__Benchmarks/StellaOps.Scanner.Gate.Benchmarks/VexGateBenchmarks.cs (230 lines)
- Namespace issues:
- none
- Using directive issues:
- none
- Naming issues:
- none
- Async issues:
- none
- Service locator matches:
- none
- Assembly.LoadFrom matches:
- none
### Fix Guidance
- Split files over 100 lines into smaller types or partials.
## File-Level Findings
- Status: FAIL
- Files scanned: 2
- Files with issues: 1
- See docs/implplan/audits/csproj-standards/file-audit.csv for full per-file status.
| File | Issues | Fix guidance |
| --- | --- | --- |
| src/Scanner/__Benchmarks/StellaOps.Scanner.Gate.Benchmarks/VexGateBenchmarks.cs | FileLength>100 | Split file to stay <= 100 lines. |
## Testing Fullness Findings
- Status: FAIL
- Expected layers (heuristic): Performance, Unit
- Detected test projects: none
- Missing layers: Performance, 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,77 @@
# Audit - StellaOps.Scanner.Storage.Epss.Perf
## Project
- Path: src/Scanner/__Benchmarks/StellaOps.Scanner.Storage.Epss.Perf/StellaOps.Scanner.Storage.Epss.Perf.csproj
- Module: Scanner
- Kind: Library
- Audit date (UTC): 2026-01-30
- Files scanned: 6
- Files with issues: 6
- 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: 5
- 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/Scanner/__Benchmarks/StellaOps.Scanner.Storage.Epss.Perf/Program.cs (283 lines)
- Namespace issues:
- src/Scanner/__Benchmarks/StellaOps.Scanner.Storage.Epss.Perf/EpssDatasetGenerator.cs: missing namespace
- src/Scanner/__Benchmarks/StellaOps.Scanner.Storage.Epss.Perf/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs: missing namespace
- src/Scanner/__Benchmarks/StellaOps.Scanner.Storage.Epss.Perf/obj/Debug/net10.0/StellaOps.Scanner.Storage.Epss.Perf.AssemblyInfo.cs: missing namespace
- src/Scanner/__Benchmarks/StellaOps.Scanner.Storage.Epss.Perf/obj/Debug/net10.0/StellaOps.Scanner.Storage.Epss.Perf.GlobalUsings.g.cs: missing namespace
- src/Scanner/__Benchmarks/StellaOps.Scanner.Storage.Epss.Perf/obj/Release/net10.0/StellaOps.Scanner.Storage.Epss.Perf.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: 6
- Files with issues: 6
- See docs/implplan/audits/csproj-standards/file-audit.csv for full per-file status.
| File | Issues | Fix guidance |
| --- | --- | --- |
| src/Scanner/__Benchmarks/StellaOps.Scanner.Storage.Epss.Perf/EpssDatasetGenerator.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Benchmarks/StellaOps.Scanner.Storage.Epss.Perf/Program.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Benchmarks/StellaOps.Scanner.Storage.Epss.Perf/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Benchmarks/StellaOps.Scanner.Storage.Epss.Perf/obj/Debug/net10.0/StellaOps.Scanner.Storage.Epss.Perf.AssemblyInfo.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Benchmarks/StellaOps.Scanner.Storage.Epss.Perf/obj/Debug/net10.0/StellaOps.Scanner.Storage.Epss.Perf.GlobalUsings.g.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Benchmarks/StellaOps.Scanner.Storage.Epss.Perf/obj/Release/net10.0/StellaOps.Scanner.Storage.Epss.Perf.GlobalUsings.g.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
## Testing Fullness Findings
- Status: FAIL
- Expected layers (heuristic): Integration, Performance, Unit
- Detected test projects: none
- Missing layers: Integration, Performance, 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,69 @@
# Audit - StellaOps.Scanner.Storage.Epss.Perf
## Project
- Path: src/Scanner/__Benchmarks/StellaOps.Scanner.Storage.Epss.Perf/StellaOps.Scanner.Storage.Epss.Perf.csproj
- Module: Scanner
- Kind: Library
- Audit date (UTC): 2026-01-31
- Files scanned: 2
- Files with issues: 2
- 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: 0
- Using directive violations: 1
- Naming violations (interfaces/fields/const/async): 0
- Service locator usage (BuildServiceProvider/GetService): 0
- Assembly.LoadFrom usage: 0
### Details
- 100-line files:
- src/Scanner/__Benchmarks/StellaOps.Scanner.Storage.Epss.Perf/Program.cs (284 lines)
- Namespace issues:
- none
- Using directive issues:
- src/Scanner/__Benchmarks/StellaOps.Scanner.Storage.Epss.Perf/EpssDatasetGenerator.cs: using directives inside namespace
- Naming issues:
- none
- Async issues:
- none
- Service locator matches:
- none
- Assembly.LoadFrom matches:
- none
### Fix Guidance
- Move and sort using directives (outside namespace).
- Split files over 100 lines into smaller types or partials.
## File-Level Findings
- Status: FAIL
- Files scanned: 2
- Files with issues: 2
- See docs/implplan/audits/csproj-standards/file-audit.csv for full per-file status.
| File | Issues | Fix guidance |
| --- | --- | --- |
| src/Scanner/__Benchmarks/StellaOps.Scanner.Storage.Epss.Perf/EpssDatasetGenerator.cs | UsingInsideNamespace | Move using directives outside namespace. |
| src/Scanner/__Benchmarks/StellaOps.Scanner.Storage.Epss.Perf/Program.cs | FileLength>100 | Split file to stay <= 100 lines. |
## Testing Fullness Findings
- Status: FAIL
- Expected layers (heuristic): Integration, Performance, Unit
- Detected test projects: none
- Missing layers: Integration, Performance, 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,88 @@
# Audit - StellaOps.Scanner.Advisory
## Project
- Path: src/Scanner/__Libraries/StellaOps.Scanner.Advisory/StellaOps.Scanner.Advisory.csproj
- Module: Scanner
- Kind: Library
- Audit date (UTC): 2026-01-30
- Files scanned: 11
- Files with issues: 11
- 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: 11
- 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/Scanner/__Libraries/StellaOps.Scanner.Advisory/AdvisoryClient.cs (197 lines)
- Namespace issues:
- src/Scanner/__Libraries/StellaOps.Scanner.Advisory/AdvisoryBundleStore.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Advisory/AdvisoryClient.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Advisory/AdvisoryClientOptions.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Advisory/AdvisoryModels.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Advisory/IAdvisoryClient.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Advisory/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Advisory/obj/Debug/net10.0/StellaOps.Scanner.Advisory.AssemblyInfo.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Advisory/obj/Debug/net10.0/StellaOps.Scanner.Advisory.GlobalUsings.g.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Advisory/obj/Release/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Advisory/obj/Release/net10.0/StellaOps.Scanner.Advisory.AssemblyInfo.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Advisory/obj/Release/net10.0/StellaOps.Scanner.Advisory.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: 11
- Files with issues: 11
- See docs/implplan/audits/csproj-standards/file-audit.csv for full per-file status.
| File | Issues | Fix guidance |
| --- | --- | --- |
| src/Scanner/__Libraries/StellaOps.Scanner.Advisory/AdvisoryBundleStore.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Advisory/AdvisoryClient.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Advisory/AdvisoryClientOptions.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Advisory/AdvisoryModels.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Advisory/IAdvisoryClient.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Advisory/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Advisory/obj/Debug/net10.0/StellaOps.Scanner.Advisory.AssemblyInfo.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Advisory/obj/Debug/net10.0/StellaOps.Scanner.Advisory.GlobalUsings.g.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Advisory/obj/Release/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Advisory/obj/Release/net10.0/StellaOps.Scanner.Advisory.AssemblyInfo.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Advisory/obj/Release/net10.0/StellaOps.Scanner.Advisory.GlobalUsings.g.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
## Testing Fullness Findings
- Status: FAIL
- Expected layers (heuristic): Performance, Unit
- Detected test projects: src/Scanner/__Tests/StellaOps.Scanner.Advisory.Tests/StellaOps.Scanner.Advisory.Tests.csproj [Unit] (no test attributes detected)
- Missing layers: Performance, 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,71 @@
# Audit - StellaOps.Scanner.Advisory
## Project
- Path: src/Scanner/__Libraries/StellaOps.Scanner.Advisory/StellaOps.Scanner.Advisory.csproj
- Module: Scanner
- Kind: Library
- Audit date (UTC): 2026-01-31
- Files scanned: 5
- Files with issues: 2
- 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: 0
- Using directive violations: 1
- Naming violations (interfaces/fields/const/async): 2
- Service locator usage (BuildServiceProvider/GetService): 0
- Assembly.LoadFrom usage: 0
### Details
- 100-line files:
- src/Scanner/__Libraries/StellaOps.Scanner.Advisory/AdvisoryClient.cs (198 lines)
- Namespace issues:
- none
- Using directive issues:
- src/Scanner/__Libraries/StellaOps.Scanner.Advisory/AdvisoryClient.cs: using directives inside namespace
- Naming issues:
- none
- Async issues:
- src/Scanner/__Libraries/StellaOps.Scanner.Advisory/AdvisoryBundleStore.cs: async method naming
- src/Scanner/__Libraries/StellaOps.Scanner.Advisory/AdvisoryClient.cs: async method naming
- Service locator matches:
- none
- Assembly.LoadFrom matches:
- none
### Fix Guidance
- Move and sort using directives (outside namespace).
- Rename async methods and avoid blocking async calls.
- Split files over 100 lines into smaller types or partials.
## File-Level Findings
- Status: FAIL
- Files scanned: 5
- Files with issues: 2
- See docs/implplan/audits/csproj-standards/file-audit.csv for full per-file status.
| File | Issues | Fix guidance |
| --- | --- | --- |
| src/Scanner/__Libraries/StellaOps.Scanner.Advisory/AdvisoryBundleStore.cs | AsyncNaming | Rename async methods to end with Async. |
| src/Scanner/__Libraries/StellaOps.Scanner.Advisory/AdvisoryClient.cs | AsyncNaming; FileLength>100; UsingInsideNamespace | Move using directives outside namespace.; Rename async methods to end with Async.; Split file to stay <= 100 lines. |
## Testing Fullness Findings
- Status: FAIL
- Expected layers (heuristic): Performance, Unit
- Detected test projects: src/Scanner/__Tests/StellaOps.Scanner.Advisory.Tests/StellaOps.Scanner.Advisory.Tests.csproj [Unit] (no test attributes detected)
- Missing layers: Performance, 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,121 @@
# Audit - StellaOps.Scanner.AiMlSecurity
## Project
- Path: src/Scanner/__Libraries/StellaOps.Scanner.AiMlSecurity/StellaOps.Scanner.AiMlSecurity.csproj
- Module: Scanner
- Kind: Library
- Audit date (UTC): 2026-01-30
- Files scanned: 22
- Files with issues: 22
- 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: 12
- Namespace violations: 22
- 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/Scanner/__Libraries/StellaOps.Scanner.AiMlSecurity/AiMlSecurityAnalyzer.cs (173 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.AiMlSecurity/Analyzers/AiMlSecurityContext.cs (177 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.AiMlSecurity/Analyzers/AiModelInventoryGenerator.cs (216 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.AiMlSecurity/Analyzers/AiSafetyRiskAnalyzer.cs (137 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.AiMlSecurity/Analyzers/ModelBinaryAnalyzer.cs (112 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.AiMlSecurity/Analyzers/ModelCardCompletenessAnalyzer.cs (146 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.AiMlSecurity/Analyzers/ModelCardScoring.cs (111 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.AiMlSecurity/Analyzers/ModelProvenanceVerifier.cs (189 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.AiMlSecurity/Analyzers/TrainingDataProvenanceAnalyzer.cs (166 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.AiMlSecurity/Models/AiMlSecurityModels.cs (138 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.AiMlSecurity/Policy/AiGovernancePolicyLoader.cs (153 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.AiMlSecurity/Reporting/AiMlSecurityReportFormatter.cs (166 lines)
- Namespace issues:
- src/Scanner/__Libraries/StellaOps.Scanner.AiMlSecurity/AiMlSecurityAnalyzer.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.AiMlSecurity/AiMlSecurityServiceCollectionExtensions.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.AiMlSecurity/Analyzers/AiMlSecurityContext.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.AiMlSecurity/Analyzers/AiMlSecurityResult.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.AiMlSecurity/Analyzers/AiModelInventoryGenerator.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.AiMlSecurity/Analyzers/AiSafetyRiskAnalyzer.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.AiMlSecurity/Analyzers/BiasFairnessAnalyzer.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.AiMlSecurity/Analyzers/ModelBinaryAnalyzer.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.AiMlSecurity/Analyzers/ModelCardCompletenessAnalyzer.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.AiMlSecurity/Analyzers/ModelCardScoring.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.AiMlSecurity/Analyzers/ModelProvenanceVerifier.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.AiMlSecurity/Analyzers/TrainingDataProvenanceAnalyzer.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.AiMlSecurity/Models/AiMlSecurityModels.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.AiMlSecurity/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.AiMlSecurity/obj/Debug/net10.0/StellaOps.Scanner.AiMlSecurity.AssemblyInfo.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.AiMlSecurity/obj/Debug/net10.0/StellaOps.Scanner.AiMlSecurity.GlobalUsings.g.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.AiMlSecurity/obj/Release/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.AiMlSecurity/obj/Release/net10.0/StellaOps.Scanner.AiMlSecurity.AssemblyInfo.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.AiMlSecurity/obj/Release/net10.0/StellaOps.Scanner.AiMlSecurity.GlobalUsings.g.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.AiMlSecurity/Policy/AiGovernancePolicy.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.AiMlSecurity/Policy/AiGovernancePolicyLoader.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.AiMlSecurity/Reporting/AiMlSecurityReportFormatter.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: 22
- Files with issues: 22
- See docs/implplan/audits/csproj-standards/file-audit.csv for full per-file status.
| File | Issues | Fix guidance |
| --- | --- | --- |
| src/Scanner/__Libraries/StellaOps.Scanner.AiMlSecurity/AiMlSecurityAnalyzer.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.AiMlSecurity/AiMlSecurityServiceCollectionExtensions.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.AiMlSecurity/Analyzers/AiMlSecurityContext.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.AiMlSecurity/Analyzers/AiMlSecurityResult.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.AiMlSecurity/Analyzers/AiModelInventoryGenerator.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.AiMlSecurity/Analyzers/AiSafetyRiskAnalyzer.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.AiMlSecurity/Analyzers/BiasFairnessAnalyzer.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.AiMlSecurity/Analyzers/ModelBinaryAnalyzer.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.AiMlSecurity/Analyzers/ModelCardCompletenessAnalyzer.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.AiMlSecurity/Analyzers/ModelCardScoring.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.AiMlSecurity/Analyzers/ModelProvenanceVerifier.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.AiMlSecurity/Analyzers/TrainingDataProvenanceAnalyzer.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.AiMlSecurity/Models/AiMlSecurityModels.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.AiMlSecurity/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.AiMlSecurity/obj/Debug/net10.0/StellaOps.Scanner.AiMlSecurity.AssemblyInfo.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.AiMlSecurity/obj/Debug/net10.0/StellaOps.Scanner.AiMlSecurity.GlobalUsings.g.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.AiMlSecurity/obj/Release/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.AiMlSecurity/obj/Release/net10.0/StellaOps.Scanner.AiMlSecurity.AssemblyInfo.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.AiMlSecurity/obj/Release/net10.0/StellaOps.Scanner.AiMlSecurity.GlobalUsings.g.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.AiMlSecurity/Policy/AiGovernancePolicy.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.AiMlSecurity/Policy/AiGovernancePolicyLoader.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.AiMlSecurity/Reporting/AiMlSecurityReportFormatter.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): Performance, Unit
- Detected test projects: src/Scanner/__Tests/StellaOps.Scanner.AiMlSecurity.Tests/StellaOps.Scanner.AiMlSecurity.Tests.csproj [Security]
- Missing layers: Performance, 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.Scanner.AiMlSecurity
## Project
- Path: src/Scanner/__Libraries/StellaOps.Scanner.AiMlSecurity/StellaOps.Scanner.AiMlSecurity.csproj
- Module: Scanner
- Kind: Library
- Audit date (UTC): 2026-01-31
- Files scanned: 16
- Files with issues: 12
- 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: 12
- Namespace violations: 0
- Using directive violations: 2
- Naming violations (interfaces/fields/const/async): 5
- Service locator usage (BuildServiceProvider/GetService): 0
- Assembly.LoadFrom usage: 0
### Details
- 100-line files:
- src/Scanner/__Libraries/StellaOps.Scanner.AiMlSecurity/AiMlSecurityAnalyzer.cs (174 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.AiMlSecurity/Analyzers/AiMlSecurityContext.cs (178 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.AiMlSecurity/Analyzers/AiModelInventoryGenerator.cs (217 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.AiMlSecurity/Analyzers/AiSafetyRiskAnalyzer.cs (138 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.AiMlSecurity/Analyzers/ModelBinaryAnalyzer.cs (113 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.AiMlSecurity/Analyzers/ModelCardCompletenessAnalyzer.cs (147 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.AiMlSecurity/Analyzers/ModelCardScoring.cs (111 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.AiMlSecurity/Analyzers/ModelProvenanceVerifier.cs (190 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.AiMlSecurity/Analyzers/TrainingDataProvenanceAnalyzer.cs (167 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.AiMlSecurity/Models/AiMlSecurityModels.cs (138 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.AiMlSecurity/Policy/AiGovernancePolicyLoader.cs (154 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.AiMlSecurity/Reporting/AiMlSecurityReportFormatter.cs (167 lines)
- Namespace issues:
- none
- Using directive issues:
- src/Scanner/__Libraries/StellaOps.Scanner.AiMlSecurity/Policy/AiGovernancePolicyLoader.cs: using directives inside namespace
- src/Scanner/__Libraries/StellaOps.Scanner.AiMlSecurity/Reporting/AiMlSecurityReportFormatter.cs: using directives inside namespace
- Naming issues:
- src/Scanner/__Libraries/StellaOps.Scanner.AiMlSecurity/Analyzers/ModelBinaryAnalyzer.cs: private field naming
- src/Scanner/__Libraries/StellaOps.Scanner.AiMlSecurity/Policy/AiGovernancePolicyLoader.cs: private field naming
- src/Scanner/__Libraries/StellaOps.Scanner.AiMlSecurity/Reporting/AiMlSecurityReportFormatter.cs: private field naming
- Async issues:
- src/Scanner/__Libraries/StellaOps.Scanner.AiMlSecurity/Analyzers/ModelBinaryAnalyzer.cs: async method naming
- src/Scanner/__Libraries/StellaOps.Scanner.AiMlSecurity/Policy/AiGovernancePolicyLoader.cs: async method naming
- Service locator matches:
- none
- Assembly.LoadFrom matches:
- none
### Fix Guidance
- Align interface/field/const naming to standards.
- Move and sort using directives (outside namespace).
- Rename async methods and avoid blocking async calls.
- Split files over 100 lines into smaller types or partials.
## File-Level Findings
- Status: FAIL
- Files scanned: 16
- Files with issues: 12
- See docs/implplan/audits/csproj-standards/file-audit.csv for full per-file status.
| File | Issues | Fix guidance |
| --- | --- | --- |
| src/Scanner/__Libraries/StellaOps.Scanner.AiMlSecurity/AiMlSecurityAnalyzer.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.AiMlSecurity/Analyzers/AiMlSecurityContext.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.AiMlSecurity/Analyzers/AiModelInventoryGenerator.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.AiMlSecurity/Analyzers/AiSafetyRiskAnalyzer.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.AiMlSecurity/Analyzers/ModelBinaryAnalyzer.cs | AsyncNaming; FileLength>100; PrivateFieldNaming | Rename async methods to end with Async.; Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.AiMlSecurity/Analyzers/ModelCardCompletenessAnalyzer.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.AiMlSecurity/Analyzers/ModelCardScoring.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.AiMlSecurity/Analyzers/ModelProvenanceVerifier.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.AiMlSecurity/Analyzers/TrainingDataProvenanceAnalyzer.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.AiMlSecurity/Models/AiMlSecurityModels.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.AiMlSecurity/Policy/AiGovernancePolicyLoader.cs | AsyncNaming; FileLength>100; PrivateFieldNaming; UsingInsideNamespace | Move using directives outside namespace.; Rename async methods to end with Async.; Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.AiMlSecurity/Reporting/AiMlSecurityReportFormatter.cs | FileLength>100; PrivateFieldNaming; UsingInsideNamespace | Move using directives outside namespace.; Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
## Testing Fullness Findings
- Status: FAIL
- Expected layers (heuristic): Performance, Unit
- Detected test projects: src/Scanner/__Tests/StellaOps.Scanner.AiMlSecurity.Tests/StellaOps.Scanner.AiMlSecurity.Tests.csproj [Security]
- Missing layers: Performance, 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,120 @@
# Audit - StellaOps.Scanner.Analyzers.Lang.Bun
## Project
- Path: src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Bun/StellaOps.Scanner.Analyzers.Lang.Bun.csproj
- Module: Scanner
- Kind: Library
- Audit date (UTC): 2026-01-30
- Files scanned: 24
- Files with issues: 23
- 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: 9
- Namespace violations: 23
- 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/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Bun/BunLanguageAnalyzer.cs (409 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Bun/Internal/BunConfigHelper.cs (167 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Bun/Internal/BunInstalledCollector.cs (299 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Bun/Internal/BunLockParser.cs (304 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Bun/Internal/BunLockScopeClassifier.cs (204 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Bun/Internal/BunPackage.cs (325 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Bun/Internal/BunProjectDiscoverer.cs (243 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Bun/Internal/BunVersionSpec.cs (145 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Bun/Internal/BunWorkspaceHelper.cs (449 lines)
- Namespace issues:
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Bun/BunAnalyzerPlugin.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Bun/BunLanguageAnalyzer.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Bun/Internal/BunConfigHelper.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Bun/Internal/BunDeclaredDependencyCollector.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Bun/Internal/BunEvidenceHasher.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Bun/Internal/BunInputClassification.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Bun/Internal/BunInputKind.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Bun/Internal/BunInputNormalizer.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Bun/Internal/BunInstalledCollector.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Bun/Internal/BunLockData.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Bun/Internal/BunLockEntry.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Bun/Internal/BunLockInventory.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Bun/Internal/BunLockParser.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Bun/Internal/BunLockScopeClassifier.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Bun/Internal/BunPackage.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Bun/Internal/BunPackageNormalizer.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Bun/Internal/BunProjectDiscoverer.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Bun/Internal/BunVersionSpec.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Bun/Internal/BunWorkspaceHelper.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Bun/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Bun/obj/Debug/net10.0/StellaOps.Scanner.Analyzers.Lang.Bun.AssemblyInfo.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Bun/obj/Debug/net10.0/StellaOps.Scanner.Analyzers.Lang.Bun.GlobalUsings.g.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Bun/obj/Release/net10.0/StellaOps.Scanner.Analyzers.Lang.Bun.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: 24
- Files with issues: 23
- See docs/implplan/audits/csproj-standards/file-audit.csv for full per-file status.
| File | Issues | Fix guidance |
| --- | --- | --- |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Bun/BunAnalyzerPlugin.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Bun/BunLanguageAnalyzer.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Bun/Internal/BunConfigHelper.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Bun/Internal/BunDeclaredDependencyCollector.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Bun/Internal/BunEvidenceHasher.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Bun/Internal/BunInputClassification.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Bun/Internal/BunInputKind.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Bun/Internal/BunInputNormalizer.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Bun/Internal/BunInstalledCollector.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Bun/Internal/BunLockData.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Bun/Internal/BunLockEntry.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Bun/Internal/BunLockInventory.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Bun/Internal/BunLockParser.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Bun/Internal/BunLockScopeClassifier.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Bun/Internal/BunPackage.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Bun/Internal/BunPackageNormalizer.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Bun/Internal/BunProjectDiscoverer.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Bun/Internal/BunVersionSpec.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Bun/Internal/BunWorkspaceHelper.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Bun/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Bun/obj/Debug/net10.0/StellaOps.Scanner.Analyzers.Lang.Bun.AssemblyInfo.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Bun/obj/Debug/net10.0/StellaOps.Scanner.Analyzers.Lang.Bun.GlobalUsings.g.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Bun/obj/Release/net10.0/StellaOps.Scanner.Analyzers.Lang.Bun.GlobalUsings.g.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
## Testing Fullness Findings
- Status: FAIL
- Expected layers (heuristic): Performance, Unit
- Detected test projects: src/Scanner/__Tests/StellaOps.Scanner.Analyzers.Lang.Bun.Tests/StellaOps.Scanner.Analyzers.Lang.Bun.Tests.csproj [Unit]
- Missing layers: Performance
### 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,93 @@
# Audit - StellaOps.Scanner.Analyzers.Lang.Bun
## Project
- Path: src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Bun/StellaOps.Scanner.Analyzers.Lang.Bun.csproj
- Module: Scanner
- Kind: Analyzer
- Audit date (UTC): 2026-01-31
- Files scanned: 20
- Files with issues: 11
- 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: 9
- Namespace violations: 0
- Using directive violations: 5
- Naming violations (interfaces/fields/const/async): 3
- Service locator usage (BuildServiceProvider/GetService): 0
- Assembly.LoadFrom usage: 0
### Details
- 100-line files:
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Bun/BunLanguageAnalyzer.cs (409 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Bun/Internal/BunConfigHelper.cs (167 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Bun/Internal/BunInstalledCollector.cs (300 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Bun/Internal/BunLockParser.cs (305 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Bun/Internal/BunLockScopeClassifier.cs (204 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Bun/Internal/BunPackage.cs (325 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Bun/Internal/BunProjectDiscoverer.cs (243 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Bun/Internal/BunVersionSpec.cs (145 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Bun/Internal/BunWorkspaceHelper.cs (450 lines)
- Namespace issues:
- none
- Using directive issues:
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Bun/Internal/BunDeclaredDependencyCollector.cs: using directives inside namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Bun/Internal/BunEvidenceHasher.cs: using directives inside namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Bun/Internal/BunInstalledCollector.cs: using directives inside namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Bun/Internal/BunLockParser.cs: using directives inside namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Bun/Internal/BunWorkspaceHelper.cs: using directives inside namespace
- Naming issues:
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Bun/Internal/BunProjectDiscoverer.cs: private field naming
- Async issues:
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Bun/BunLanguageAnalyzer.cs: async method naming
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Bun/Internal/BunLockParser.cs: async method naming
- Service locator matches:
- none
- Assembly.LoadFrom matches:
- none
### Fix Guidance
- Align interface/field/const naming to standards.
- Move and sort using directives (outside namespace).
- Rename async methods and avoid blocking async calls.
- Split files over 100 lines into smaller types or partials.
## File-Level Findings
- Status: FAIL
- Files scanned: 20
- Files with issues: 11
- See docs/implplan/audits/csproj-standards/file-audit.csv for full per-file status.
| File | Issues | Fix guidance |
| --- | --- | --- |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Bun/BunLanguageAnalyzer.cs | AsyncNaming; FileLength>100 | Rename async methods to end with Async.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Bun/Internal/BunConfigHelper.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Bun/Internal/BunDeclaredDependencyCollector.cs | UsingInsideNamespace | Move using directives outside namespace. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Bun/Internal/BunEvidenceHasher.cs | UsingInsideNamespace | Move using directives outside namespace. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Bun/Internal/BunInstalledCollector.cs | FileLength>100; UsingInsideNamespace | Move using directives outside namespace.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Bun/Internal/BunLockParser.cs | AsyncNaming; FileLength>100; UsingInsideNamespace | Move using directives outside namespace.; Rename async methods to end with Async.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Bun/Internal/BunLockScopeClassifier.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Bun/Internal/BunPackage.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Bun/Internal/BunProjectDiscoverer.cs | FileLength>100; PrivateFieldNaming | Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Bun/Internal/BunVersionSpec.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Bun/Internal/BunWorkspaceHelper.cs | FileLength>100; UsingInsideNamespace | Move using directives outside namespace.; Split file to stay <= 100 lines. |
## Testing Fullness Findings
- Status: FAIL
- Expected layers (heuristic): Performance, Unit
- Detected test projects: src/Scanner/__Tests/StellaOps.Scanner.Analyzers.Lang.Bun.Tests/StellaOps.Scanner.Analyzers.Lang.Bun.Tests.csproj [Unit]
- Missing layers: Performance
### 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,187 @@
# Audit - StellaOps.Scanner.Analyzers.Lang.Deno
## Project
- Path: src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Deno/StellaOps.Scanner.Analyzers.Lang.Deno.csproj
- Module: Scanner
- Kind: Library
- Audit date (UTC): 2026-01-30
- Files scanned: 56
- Files with issues: 54
- 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: 14
- Namespace violations: 54
- 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/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Deno/DenoLanguageAnalyzer.cs (193 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Deno/Internal/DenoBundleInspector.cs (158 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Deno/Internal/DenoConfigDocument.cs (417 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Deno/Internal/DenoImportMapDocument.cs (153 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Deno/Internal/DenoLockFile.cs (209 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Deno/Internal/DenoModuleGraphResolver.cs (717 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Deno/Internal/DenoNpmCompatibilityAdapter.cs (750 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Deno/Internal/DenoVirtualFileSystem.cs (427 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Deno/Internal/DenoWorkspaceNormalizer.cs (445 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Deno/Internal/Observations/DenoObservationSerializer.cs (110 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Deno/Internal/Runtime/DenoRuntimeShim.cs (487 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Deno/Internal/Runtime/DenoRuntimeTraceProbe.cs (131 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Deno/Internal/Runtime/DenoRuntimeTraceRunner.cs (242 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Deno/Internal/Runtime/DenoRuntimeTraceSerializer.cs (187 lines)
- Namespace issues:
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Deno/DenoAnalyzerPlugin.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Deno/DenoLanguageAnalyzer.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Deno/Internal/DenoBuiltinUsage.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Deno/Internal/DenoBundleInspectionResult.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Deno/Internal/DenoBundleInspector.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Deno/Internal/DenoBundleModule.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Deno/Internal/DenoBundleObservation.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Deno/Internal/DenoBundleResource.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Deno/Internal/DenoBundleScanner.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Deno/Internal/DenoBundleScanResult.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Deno/Internal/DenoCacheLocation.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Deno/Internal/DenoCapabilityRecord.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Deno/Internal/DenoCapabilityType.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Deno/Internal/DenoCompatibilityAnalysis.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Deno/Internal/DenoCompileInspector.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Deno/Internal/DenoConfigDocument.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Deno/Internal/DenoContainerAdapter.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Deno/Internal/DenoContainerEmitter.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Deno/Internal/DenoContainerInput.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Deno/Internal/DenoContainerSourceKind.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Deno/Internal/DenoDynamicImportObservation.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Deno/Internal/DenoImportKind.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Deno/Internal/DenoImportMapDocument.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Deno/Internal/DenoLayerMetadata.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Deno/Internal/DenoLiteralFetchObservation.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Deno/Internal/DenoLockFile.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Deno/Internal/DenoModuleEdge.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Deno/Internal/DenoModuleGraph.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Deno/Internal/DenoModuleGraphResolver.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Deno/Internal/DenoModuleKind.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Deno/Internal/DenoModuleNode.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Deno/Internal/DenoNpmCompatibilityAdapter.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Deno/Internal/DenoNpmResolution.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Deno/Internal/DenoPathUtilities.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Deno/Internal/DenoVendorDirectory.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Deno/Internal/DenoVirtualFileSystem.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Deno/Internal/DenoWorkspace.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Deno/Internal/DenoWorkspaceNormalizer.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Deno/Internal/Observations/DenoObservationBuilder.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Deno/Internal/Observations/DenoObservationBundleSummary.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Deno/Internal/Observations/DenoObservationDocument.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Deno/Internal/Observations/DenoObservationSerializer.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Deno/Internal/Runtime/DenoPolicySignalEmitter.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Deno/Internal/Runtime/DenoRuntimeEvents.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Deno/Internal/Runtime/DenoRuntimePathHasher.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Deno/Internal/Runtime/DenoRuntimeShim.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Deno/Internal/Runtime/DenoRuntimeTraceProbe.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Deno/Internal/Runtime/DenoRuntimeTraceRecorder.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Deno/Internal/Runtime/DenoRuntimeTraceRunner.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Deno/Internal/Runtime/DenoRuntimeTraceSerializer.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Deno/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Deno/obj/Debug/net10.0/StellaOps.Scanner.Analyzers.Lang.Deno.AssemblyInfo.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Deno/obj/Debug/net10.0/StellaOps.Scanner.Analyzers.Lang.Deno.GlobalUsings.g.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Deno/obj/Release/net10.0/StellaOps.Scanner.Analyzers.Lang.Deno.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: 56
- Files with issues: 54
- See docs/implplan/audits/csproj-standards/file-audit.csv for full per-file status.
| File | Issues | Fix guidance |
| --- | --- | --- |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Deno/DenoAnalyzerPlugin.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Deno/DenoLanguageAnalyzer.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Deno/Internal/DenoBuiltinUsage.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Deno/Internal/DenoBundleInspectionResult.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Deno/Internal/DenoBundleInspector.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Deno/Internal/DenoBundleModule.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Deno/Internal/DenoBundleObservation.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Deno/Internal/DenoBundleResource.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Deno/Internal/DenoBundleScanner.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Deno/Internal/DenoBundleScanResult.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Deno/Internal/DenoCacheLocation.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Deno/Internal/DenoCapabilityRecord.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Deno/Internal/DenoCapabilityType.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Deno/Internal/DenoCompatibilityAnalysis.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Deno/Internal/DenoCompileInspector.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Deno/Internal/DenoConfigDocument.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Deno/Internal/DenoContainerAdapter.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Deno/Internal/DenoContainerEmitter.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Deno/Internal/DenoContainerInput.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Deno/Internal/DenoContainerSourceKind.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Deno/Internal/DenoDynamicImportObservation.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Deno/Internal/DenoImportKind.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Deno/Internal/DenoImportMapDocument.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Deno/Internal/DenoLayerMetadata.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Deno/Internal/DenoLiteralFetchObservation.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Deno/Internal/DenoLockFile.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Deno/Internal/DenoModuleEdge.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Deno/Internal/DenoModuleGraph.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Deno/Internal/DenoModuleGraphResolver.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Deno/Internal/DenoModuleKind.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Deno/Internal/DenoModuleNode.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Deno/Internal/DenoNpmCompatibilityAdapter.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Deno/Internal/DenoNpmResolution.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Deno/Internal/DenoPathUtilities.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Deno/Internal/DenoVendorDirectory.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Deno/Internal/DenoVirtualFileSystem.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Deno/Internal/DenoWorkspace.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Deno/Internal/DenoWorkspaceNormalizer.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Deno/Internal/Observations/DenoObservationBuilder.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Deno/Internal/Observations/DenoObservationBundleSummary.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Deno/Internal/Observations/DenoObservationDocument.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Deno/Internal/Observations/DenoObservationSerializer.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Deno/Internal/Runtime/DenoPolicySignalEmitter.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Deno/Internal/Runtime/DenoRuntimeEvents.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Deno/Internal/Runtime/DenoRuntimePathHasher.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Deno/Internal/Runtime/DenoRuntimeShim.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Deno/Internal/Runtime/DenoRuntimeTraceProbe.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Deno/Internal/Runtime/DenoRuntimeTraceRecorder.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Deno/Internal/Runtime/DenoRuntimeTraceRunner.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Deno/Internal/Runtime/DenoRuntimeTraceSerializer.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Deno/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Deno/obj/Debug/net10.0/StellaOps.Scanner.Analyzers.Lang.Deno.AssemblyInfo.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Deno/obj/Debug/net10.0/StellaOps.Scanner.Analyzers.Lang.Deno.GlobalUsings.g.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Deno/obj/Release/net10.0/StellaOps.Scanner.Analyzers.Lang.Deno.GlobalUsings.g.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
## Testing Fullness Findings
- Status: FAIL
- Expected layers (heuristic): Performance, Unit
- Detected test projects: src/Scanner/__Tests/StellaOps.Scanner.Analyzers.Lang.Deno.Tests/StellaOps.Scanner.Analyzers.Lang.Deno.Tests.csproj [Unit]
- Missing layers: Performance
### 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,116 @@
# Audit - StellaOps.Scanner.Analyzers.Lang.Deno
## Project
- Path: src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Deno/StellaOps.Scanner.Analyzers.Lang.Deno.csproj
- Module: Scanner
- Kind: Analyzer
- Audit date (UTC): 2026-01-31
- Files scanned: 52
- 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: 14
- Namespace violations: 0
- Using directive violations: 12
- Naming violations (interfaces/fields/const/async): 8
- Service locator usage (BuildServiceProvider/GetService): 0
- Assembly.LoadFrom usage: 0
### Details
- 100-line files:
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Deno/DenoLanguageAnalyzer.cs (194 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Deno/Internal/DenoBundleInspector.cs (158 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Deno/Internal/DenoConfigDocument.cs (418 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Deno/Internal/DenoImportMapDocument.cs (153 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Deno/Internal/DenoLockFile.cs (209 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Deno/Internal/DenoModuleGraphResolver.cs (717 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Deno/Internal/DenoNpmCompatibilityAdapter.cs (750 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Deno/Internal/DenoVirtualFileSystem.cs (427 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Deno/Internal/DenoWorkspaceNormalizer.cs (445 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Deno/Internal/Observations/DenoObservationSerializer.cs (110 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Deno/Internal/Runtime/DenoRuntimeShim.cs (487 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Deno/Internal/Runtime/DenoRuntimeTraceProbe.cs (132 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Deno/Internal/Runtime/DenoRuntimeTraceRunner.cs (243 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Deno/Internal/Runtime/DenoRuntimeTraceSerializer.cs (188 lines)
- Namespace issues:
- none
- Using directive issues:
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Deno/GlobalUsings.cs: using directives not sorted
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Deno/Internal/DenoBundleInspector.cs: using directives inside namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Deno/Internal/DenoCompileInspector.cs: using directives inside namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Deno/Internal/DenoConfigDocument.cs: using directives inside namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Deno/Internal/DenoImportMapDocument.cs: using directives inside namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Deno/Internal/DenoLockFile.cs: using directives inside namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Deno/Internal/DenoNpmCompatibilityAdapter.cs: using directives inside namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Deno/Internal/Observations/DenoObservationSerializer.cs: using directives inside namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Deno/Internal/Runtime/DenoRuntimePathHasher.cs: using directives inside namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Deno/Internal/Runtime/DenoRuntimeTraceProbe.cs: using directives inside namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Deno/Internal/Runtime/DenoRuntimeTraceRunner.cs: using directives inside namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Deno/Internal/Runtime/DenoRuntimeTraceSerializer.cs: using directives inside namespace
- Naming issues:
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Deno/Internal/DenoConfigDocument.cs: private field naming
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Deno/Internal/DenoNpmCompatibilityAdapter.cs: private field naming
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Deno/Internal/DenoWorkspaceNormalizer.cs: private field naming
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Deno/Internal/Observations/DenoObservationSerializer.cs: private field naming
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Deno/Internal/Runtime/DenoRuntimeTraceRunner.cs: private field naming
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Deno/Internal/Runtime/DenoRuntimeTraceSerializer.cs: private field naming
- Async issues:
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Deno/DenoLanguageAnalyzer.cs: async method naming
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Deno/Internal/Runtime/DenoRuntimeShim.cs: async method naming
- Service locator matches:
- none
- Assembly.LoadFrom matches:
- none
### Fix Guidance
- Align interface/field/const naming to standards.
- Move and sort using directives (outside namespace).
- Rename async methods and avoid blocking async calls.
- Split files over 100 lines into smaller types or partials.
## File-Level Findings
- Status: FAIL
- Files scanned: 52
- Files with issues: 17
- See docs/implplan/audits/csproj-standards/file-audit.csv for full per-file status.
| File | Issues | Fix guidance |
| --- | --- | --- |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Deno/DenoLanguageAnalyzer.cs | AsyncNaming; FileLength>100 | Rename async methods to end with Async.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Deno/GlobalUsings.cs | UsingNotSorted | Sort using directives alphabetically. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Deno/Internal/DenoBundleInspector.cs | FileLength>100; UsingInsideNamespace | Move using directives outside namespace.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Deno/Internal/DenoCompileInspector.cs | UsingInsideNamespace | Move using directives outside namespace. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Deno/Internal/DenoConfigDocument.cs | FileLength>100; PrivateFieldNaming; UsingInsideNamespace | Move using directives outside namespace.; Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Deno/Internal/DenoImportMapDocument.cs | FileLength>100; UsingInsideNamespace | Move using directives outside namespace.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Deno/Internal/DenoLockFile.cs | FileLength>100; UsingInsideNamespace | Move using directives outside namespace.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Deno/Internal/DenoModuleGraphResolver.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Deno/Internal/DenoNpmCompatibilityAdapter.cs | FileLength>100; PrivateFieldNaming; UsingInsideNamespace | Move using directives outside namespace.; Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Deno/Internal/DenoVirtualFileSystem.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Deno/Internal/DenoWorkspaceNormalizer.cs | FileLength>100; PrivateFieldNaming | Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Deno/Internal/Observations/DenoObservationSerializer.cs | FileLength>100; PrivateFieldNaming; UsingInsideNamespace | Move using directives outside namespace.; Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Deno/Internal/Runtime/DenoRuntimePathHasher.cs | UsingInsideNamespace | Move using directives outside namespace. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Deno/Internal/Runtime/DenoRuntimeShim.cs | AsyncNaming; FileLength>100 | Rename async methods to end with Async.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Deno/Internal/Runtime/DenoRuntimeTraceProbe.cs | FileLength>100; UsingInsideNamespace | Move using directives outside namespace.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Deno/Internal/Runtime/DenoRuntimeTraceRunner.cs | FileLength>100; PrivateFieldNaming; UsingInsideNamespace | Move using directives outside namespace.; Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Deno/Internal/Runtime/DenoRuntimeTraceSerializer.cs | FileLength>100; PrivateFieldNaming; UsingInsideNamespace | Move using directives outside namespace.; Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
## Testing Fullness Findings
- Status: FAIL
- Expected layers (heuristic): Performance, Unit
- Detected test projects: src/Scanner/__Tests/StellaOps.Scanner.Analyzers.Lang.Deno.Tests/StellaOps.Scanner.Analyzers.Lang.Deno.Tests.csproj [Unit]
- Missing layers: Performance
### 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,180 @@
# Audit - StellaOps.Scanner.Analyzers.Lang.DotNet
## Project
- Path: src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/StellaOps.Scanner.Analyzers.Lang.DotNet.csproj
- Module: Scanner
- Kind: Library
- Audit date (UTC): 2026-01-30
- Files scanned: 42
- 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: 33
- 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/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/DotNetLanguageAnalyzer.cs (304 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/Internal/DotNetDeclaredDependencyCollector.cs (726 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/Internal/DotNetDependencyCollector.cs (1394 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/Internal/DotNetDepsFile.cs (519 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/Internal/DotNetEntrypointResolver.cs (707 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/Internal/DotNetFileCaches.cs (334 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/Internal/DotNetRuntimeConfig.cs (159 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/Internal/DotNetRuntimeEvidenceLoader.cs (111 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/Internal/BuildMetadata/DotNetDependencyDeclaration.cs (213 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/Internal/BuildMetadata/DotNetProjectMetadata.cs (297 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/Internal/Bundling/DotNetBundlingSignalCollector.cs (318 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/Internal/Bundling/ILMergedAssemblyDetector.cs (221 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/Internal/Bundling/SingleFileAppDetector.cs (250 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/Internal/Callgraph/DotNetCallgraphBuilder.cs (950 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/Internal/Callgraph/DotNetReachabilityGraph.cs (443 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/Internal/Capabilities/DotNetCapabilityEvidence.cs (103 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/Internal/Capabilities/DotNetCapabilityScanBuilder.cs (137 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/Internal/Capabilities/DotNetCapabilityScanner.cs (878 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/Internal/Capabilities/DotNetCapabilityScanResult.cs (216 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/Internal/Config/GlobalJsonParser.cs (247 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/Internal/Config/NuGetConfigParser.cs (356 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/Internal/Conflicts/DotNetVersionConflictDetector.cs (215 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/Internal/Crypto/DotNetCryptoExtractor.cs (359 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/Internal/Discovery/DotNetBuildFileDiscovery.cs (273 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/Internal/Inheritance/CentralPackageManagementParser.cs (281 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/Internal/Inheritance/DirectoryBuildPropsResolver.cs (222 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/Internal/Inheritance/EffectiveProjectBuilder.cs (290 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/Internal/Licensing/DotNetLicenseDetector.cs (653 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/Internal/LockFiles/DotNetLockFileCollector.cs (169 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/Internal/LockFiles/PackagesLockJsonParser.cs (256 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/Internal/Parsing/MsBuildProjectParser.cs (484 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/Internal/Parsing/PackagesConfigParser.cs (124 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/Internal/PropertyResolution/MsBuildPropertyResolver.cs (296 lines)
- Namespace issues:
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/DotNetAnalyzerPlugin.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/DotNetLanguageAnalyzer.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/IDotNetAuthenticodeInspector.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/Internal/DotNetAnalyzerOptions.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/Internal/DotNetDeclaredDependencyCollector.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/Internal/DotNetDependencyCollector.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/Internal/DotNetDependencyEdge.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/Internal/DotNetDepsFile.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/Internal/DotNetEntrypointResolver.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/Internal/DotNetFileCaches.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/Internal/DotNetRuntimeConfig.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/Internal/DotNetRuntimeEvidenceLoader.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/Internal/BuildMetadata/DotNetDependencyDeclaration.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/Internal/BuildMetadata/DotNetProjectMetadata.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/Internal/Bundling/DotNetBundlingSignalCollector.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/Internal/Bundling/ILMergedAssemblyDetector.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/Internal/Bundling/SingleFileAppDetector.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/Internal/Callgraph/DotNetCallgraphBuilder.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/Internal/Callgraph/DotNetReachabilityGraph.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/Internal/Capabilities/DotNetCapabilityEvidence.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/Internal/Capabilities/DotNetCapabilityScanBuilder.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/Internal/Capabilities/DotNetCapabilityScanner.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/Internal/Capabilities/DotNetCapabilityScanResult.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/Internal/Config/GlobalJsonParser.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/Internal/Config/NuGetConfigParser.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/Internal/Conflicts/DotNetVersionConflictDetector.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/Internal/Crypto/DotNetCryptoExtractor.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/Internal/Discovery/DotNetBuildFileDiscovery.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/Internal/Inheritance/CentralPackageManagementParser.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/Internal/Inheritance/DirectoryBuildPropsResolver.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/Internal/Inheritance/EffectiveProjectBuilder.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/Internal/Licensing/DotNetLicenseDetector.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/Internal/LockFiles/DotNetLockFileCollector.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/Internal/LockFiles/PackagesLockJsonParser.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/Internal/Parsing/MsBuildProjectParser.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/Internal/Parsing/PackagesConfigParser.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/Internal/PropertyResolution/MsBuildPropertyResolver.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/obj/Debug/net10.0/StellaOps.Scanner.Analyzers.Lang.DotNet.AssemblyInfo.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/obj/Debug/net10.0/StellaOps.Scanner.Analyzers.Lang.DotNet.GlobalUsings.g.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/obj/Release/net10.0/StellaOps.Scanner.Analyzers.Lang.DotNet.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: 42
- Files with issues: 41
- See docs/implplan/audits/csproj-standards/file-audit.csv for full per-file status.
| File | Issues | Fix guidance |
| --- | --- | --- |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/DotNetAnalyzerPlugin.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/DotNetLanguageAnalyzer.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/IDotNetAuthenticodeInspector.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/Internal/DotNetAnalyzerOptions.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/Internal/DotNetDeclaredDependencyCollector.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/Internal/DotNetDependencyCollector.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/Internal/DotNetDependencyEdge.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/Internal/DotNetDepsFile.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/Internal/DotNetEntrypointResolver.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/Internal/DotNetFileCaches.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/Internal/DotNetRuntimeConfig.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/Internal/DotNetRuntimeEvidenceLoader.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/Internal/BuildMetadata/DotNetDependencyDeclaration.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/Internal/BuildMetadata/DotNetProjectMetadata.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/Internal/Bundling/DotNetBundlingSignalCollector.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/Internal/Bundling/ILMergedAssemblyDetector.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/Internal/Bundling/SingleFileAppDetector.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/Internal/Callgraph/DotNetCallgraphBuilder.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/Internal/Callgraph/DotNetReachabilityGraph.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/Internal/Capabilities/DotNetCapabilityEvidence.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/Internal/Capabilities/DotNetCapabilityScanBuilder.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/Internal/Capabilities/DotNetCapabilityScanner.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/Internal/Capabilities/DotNetCapabilityScanResult.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/Internal/Config/GlobalJsonParser.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/Internal/Config/NuGetConfigParser.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/Internal/Conflicts/DotNetVersionConflictDetector.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/Internal/Crypto/DotNetCryptoExtractor.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/Internal/Discovery/DotNetBuildFileDiscovery.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/Internal/Inheritance/CentralPackageManagementParser.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/Internal/Inheritance/DirectoryBuildPropsResolver.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/Internal/Inheritance/EffectiveProjectBuilder.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/Internal/Licensing/DotNetLicenseDetector.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/Internal/LockFiles/DotNetLockFileCollector.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/Internal/LockFiles/PackagesLockJsonParser.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/Internal/Parsing/MsBuildProjectParser.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/Internal/Parsing/PackagesConfigParser.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/Internal/PropertyResolution/MsBuildPropertyResolver.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/obj/Debug/net10.0/StellaOps.Scanner.Analyzers.Lang.DotNet.AssemblyInfo.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/obj/Debug/net10.0/StellaOps.Scanner.Analyzers.Lang.DotNet.GlobalUsings.g.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/obj/Release/net10.0/StellaOps.Scanner.Analyzers.Lang.DotNet.GlobalUsings.g.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
## Testing Fullness Findings
- Status: FAIL
- Expected layers (heuristic): Performance, Unit
- Detected test projects: src/Scanner/__Tests/StellaOps.Scanner.Analyzers.Lang.DotNet.Tests/StellaOps.Scanner.Analyzers.Lang.DotNet.Tests.csproj [Unit]; src/Scanner/__Tests/StellaOps.Scanner.Analyzers.Lang.Tests/StellaOps.Scanner.Analyzers.Lang.Tests.csproj [Unit]
- Missing layers: Performance
### 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,161 @@
# Audit - StellaOps.Scanner.Analyzers.Lang.DotNet
## Project
- Path: src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/StellaOps.Scanner.Analyzers.Lang.DotNet.csproj
- Module: Scanner
- Kind: Analyzer
- Audit date (UTC): 2026-01-31
- Files scanned: 38
- Files with issues: 34
- 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: 33
- Namespace violations: 0
- Using directive violations: 11
- Naming violations (interfaces/fields/const/async): 16
- Service locator usage (BuildServiceProvider/GetService): 0
- Assembly.LoadFrom usage: 2
### Details
- 100-line files:
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/DotNetLanguageAnalyzer.cs (304 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/Internal/DotNetDeclaredDependencyCollector.cs (727 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/Internal/DotNetDependencyCollector.cs (1394 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/Internal/DotNetDepsFile.cs (520 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/Internal/DotNetEntrypointResolver.cs (708 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/Internal/DotNetFileCaches.cs (335 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/Internal/DotNetRuntimeConfig.cs (160 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/Internal/DotNetRuntimeEvidenceLoader.cs (112 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/Internal/BuildMetadata/DotNetDependencyDeclaration.cs (213 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/Internal/BuildMetadata/DotNetProjectMetadata.cs (297 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/Internal/Bundling/DotNetBundlingSignalCollector.cs (319 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/Internal/Bundling/ILMergedAssemblyDetector.cs (221 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/Internal/Bundling/SingleFileAppDetector.cs (251 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/Internal/Callgraph/DotNetCallgraphBuilder.cs (951 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/Internal/Callgraph/DotNetReachabilityGraph.cs (444 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/Internal/Capabilities/DotNetCapabilityEvidence.cs (103 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/Internal/Capabilities/DotNetCapabilityScanBuilder.cs (137 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/Internal/Capabilities/DotNetCapabilityScanner.cs (878 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/Internal/Capabilities/DotNetCapabilityScanResult.cs (216 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/Internal/Config/GlobalJsonParser.cs (248 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/Internal/Config/NuGetConfigParser.cs (356 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/Internal/Conflicts/DotNetVersionConflictDetector.cs (216 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/Internal/Crypto/DotNetCryptoExtractor.cs (360 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/Internal/Discovery/DotNetBuildFileDiscovery.cs (273 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/Internal/Inheritance/CentralPackageManagementParser.cs (282 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/Internal/Inheritance/DirectoryBuildPropsResolver.cs (223 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/Internal/Inheritance/EffectiveProjectBuilder.cs (291 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/Internal/Licensing/DotNetLicenseDetector.cs (654 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/Internal/LockFiles/DotNetLockFileCollector.cs (170 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/Internal/LockFiles/PackagesLockJsonParser.cs (257 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/Internal/Parsing/MsBuildProjectParser.cs (485 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/Internal/Parsing/PackagesConfigParser.cs (125 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/Internal/PropertyResolution/MsBuildPropertyResolver.cs (297 lines)
- Namespace issues:
- none
- Using directive issues:
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/GlobalUsings.cs: using directives not sorted
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/Internal/DotNetDepsFile.cs: using directives inside namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/Internal/DotNetEntrypointResolver.cs: using directives inside namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/Internal/DotNetFileCaches.cs: using directives inside namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/Internal/DotNetRuntimeConfig.cs: using directives inside namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/Internal/DotNetRuntimeEvidenceLoader.cs: using directives inside namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/Internal/Bundling/SingleFileAppDetector.cs: using directives inside namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/Internal/Callgraph/DotNetCallgraphBuilder.cs: using directives inside namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/Internal/Callgraph/DotNetReachabilityGraph.cs: using directives inside namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/Internal/Config/GlobalJsonParser.cs: using directives inside namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/Internal/LockFiles/PackagesLockJsonParser.cs: using directives inside namespace
- Naming issues:
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/Internal/DotNetDependencyCollector.cs: private field naming
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/Internal/DotNetEntrypointResolver.cs: private field naming
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/Internal/Bundling/DotNetBundlingSignalCollector.cs: private field naming
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/Internal/Bundling/SingleFileAppDetector.cs: private field naming
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/Internal/Capabilities/DotNetCapabilityScanBuilder.cs: private field naming
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/Internal/Crypto/DotNetCryptoExtractor.cs: private field naming
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/Internal/Discovery/DotNetBuildFileDiscovery.cs: private field naming
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/Internal/Inheritance/DirectoryBuildPropsResolver.cs: private field naming
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/Internal/LockFiles/DotNetLockFileCollector.cs: private field naming
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/Internal/Parsing/MsBuildProjectParser.cs: private field naming
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/Internal/PropertyResolution/MsBuildPropertyResolver.cs: private field naming
- Async issues:
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/DotNetLanguageAnalyzer.cs: async method naming
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/Internal/DotNetDeclaredDependencyCollector.cs: async method naming
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/Internal/DotNetDependencyCollector.cs: async method naming
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/Internal/Callgraph/DotNetReachabilityGraph.cs: missing ConfigureAwait(false)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/Internal/Licensing/DotNetLicenseDetector.cs: missing ConfigureAwait(false)
- Service locator matches:
- none
- Assembly.LoadFrom matches:
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/Internal/Capabilities/DotNetCapabilityScanner.cs:627 strippedLine.Contains("Assembly.LoadFrom(") ||
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/Internal/Capabilities/DotNetCapabilityScanner.cs:628 strippedLine.Contains("Assembly.LoadFile(") ||
### Fix Guidance
- Align interface/field/const naming to standards.
- Move and sort using directives (outside namespace).
- Rename async methods and avoid blocking async calls.
- Replace Assembly.LoadFrom usage with plugin loader patterns.
- Split files over 100 lines into smaller types or partials.
## File-Level Findings
- Status: FAIL
- Files scanned: 38
- Files with issues: 34
- See docs/implplan/audits/csproj-standards/file-audit.csv for full per-file status.
| File | Issues | Fix guidance |
| --- | --- | --- |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/DotNetLanguageAnalyzer.cs | AsyncNaming; FileLength>100 | Rename async methods to end with Async.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/GlobalUsings.cs | UsingNotSorted | Sort using directives alphabetically. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/Internal/DotNetDeclaredDependencyCollector.cs | AsyncNaming; FileLength>100 | Rename async methods to end with Async.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/Internal/DotNetDependencyCollector.cs | AsyncNaming; FileLength>100; PrivateFieldNaming | Rename async methods to end with Async.; Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/Internal/DotNetDepsFile.cs | FileLength>100; UsingInsideNamespace | Move using directives outside namespace.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/Internal/DotNetEntrypointResolver.cs | FileLength>100; PrivateFieldNaming; UsingInsideNamespace | Move using directives outside namespace.; Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/Internal/DotNetFileCaches.cs | FileLength>100; UsingInsideNamespace | Move using directives outside namespace.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/Internal/DotNetRuntimeConfig.cs | FileLength>100; UsingInsideNamespace | Move using directives outside namespace.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/Internal/DotNetRuntimeEvidenceLoader.cs | FileLength>100; UsingInsideNamespace | Move using directives outside namespace.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/Internal/BuildMetadata/DotNetDependencyDeclaration.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/Internal/BuildMetadata/DotNetProjectMetadata.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/Internal/Bundling/DotNetBundlingSignalCollector.cs | FileLength>100; PrivateFieldNaming | Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/Internal/Bundling/ILMergedAssemblyDetector.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/Internal/Bundling/SingleFileAppDetector.cs | FileLength>100; PrivateFieldNaming; UsingInsideNamespace | Move using directives outside namespace.; Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/Internal/Callgraph/DotNetCallgraphBuilder.cs | FileLength>100; UsingInsideNamespace | Move using directives outside namespace.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/Internal/Callgraph/DotNetReachabilityGraph.cs | ConfigureAwaitMissing; FileLength>100; UsingInsideNamespace | Add ConfigureAwait(false) to awaited calls in library-like code.; Move using directives outside namespace.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/Internal/Capabilities/DotNetCapabilityEvidence.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/Internal/Capabilities/DotNetCapabilityScanBuilder.cs | FileLength>100; PrivateFieldNaming | Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/Internal/Capabilities/DotNetCapabilityScanner.cs | AssemblyLoadFrom; FileLength>100 | Avoid Assembly.LoadFrom outside the plugin loader.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/Internal/Capabilities/DotNetCapabilityScanResult.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/Internal/Config/GlobalJsonParser.cs | FileLength>100; UsingInsideNamespace | Move using directives outside namespace.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/Internal/Config/NuGetConfigParser.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/Internal/Conflicts/DotNetVersionConflictDetector.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/Internal/Crypto/DotNetCryptoExtractor.cs | FileLength>100; PrivateFieldNaming | Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/Internal/Discovery/DotNetBuildFileDiscovery.cs | FileLength>100; PrivateFieldNaming | Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/Internal/Inheritance/CentralPackageManagementParser.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/Internal/Inheritance/DirectoryBuildPropsResolver.cs | FileLength>100; PrivateFieldNaming | Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/Internal/Inheritance/EffectiveProjectBuilder.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/Internal/Licensing/DotNetLicenseDetector.cs | ConfigureAwaitMissing; FileLength>100 | Add ConfigureAwait(false) to awaited calls in library-like code.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/Internal/LockFiles/DotNetLockFileCollector.cs | FileLength>100; PrivateFieldNaming | Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/Internal/LockFiles/PackagesLockJsonParser.cs | FileLength>100; UsingInsideNamespace | Move using directives outside namespace.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/Internal/Parsing/MsBuildProjectParser.cs | FileLength>100; PrivateFieldNaming | Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/Internal/Parsing/PackagesConfigParser.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/Internal/PropertyResolution/MsBuildPropertyResolver.cs | FileLength>100; PrivateFieldNaming | Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
## Testing Fullness Findings
- Status: FAIL
- Expected layers (heuristic): Performance, Unit
- Detected test projects: src/Scanner/__Tests/StellaOps.Scanner.Analyzers.Lang.DotNet.Tests/StellaOps.Scanner.Analyzers.Lang.DotNet.Tests.csproj [Unit]; src/Scanner/__Tests/StellaOps.Scanner.Analyzers.Lang.Tests/StellaOps.Scanner.Analyzers.Lang.Tests.csproj [Unit]
- Missing layers: Performance
### 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,151 @@
# Audit - StellaOps.Scanner.Analyzers.Lang.Go
## Project
- Path: src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Go/StellaOps.Scanner.Analyzers.Lang.Go.csproj
- Module: Scanner
- Kind: Library
- Audit date (UTC): 2026-01-30
- Files scanned: 33
- Files with issues: 32
- 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: 22
- Namespace violations: 32
- 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/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Go/GoLanguageAnalyzer.cs (831 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Go/Internal/EnhancedGoLicenseDetector.cs (274 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Go/Internal/GoBinaryFormatDetector.cs (302 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Go/Internal/GoBinaryScanner.cs (407 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Go/Internal/GoBuildInfoDecoder.cs (160 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Go/Internal/GoBuildInfoParser.cs (235 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Go/Internal/GoBuildInfoProvider.cs (149 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Go/Internal/GoCapabilityEvidence.cs (103 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Go/Internal/GoCapabilityScanBuilder.cs (172 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Go/Internal/GoCapabilityScanner.cs (839 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Go/Internal/GoCapabilityScanResult.cs (228 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Go/Internal/GoCgoDetector.cs (399 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Go/Internal/GoDwarfReader.cs (240 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Go/Internal/GoLicenseDetector.cs (339 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Go/Internal/GoModParser.cs (374 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Go/Internal/GoPrivateModuleDetector.cs (200 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Go/Internal/GoProjectDiscoverer.cs (196 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Go/Internal/GoSourceInventory.cs (428 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Go/Internal/GoSumParser.cs (130 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Go/Internal/GoVendorParser.cs (179 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Go/Internal/GoVersionConflictDetector.cs (439 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Go/Internal/GoWorkParser.cs (240 lines)
- Namespace issues:
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Go/GoAnalyzerPlugin.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Go/GoLanguageAnalyzer.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Go/Internal/EnhancedGoLicenseDetector.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Go/Internal/GoAnalyzerMetrics.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Go/Internal/GoBinaryFormatDetector.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Go/Internal/GoBinaryScanner.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Go/Internal/GoBuildInfo.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Go/Internal/GoBuildInfoDecoder.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Go/Internal/GoBuildInfoParser.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Go/Internal/GoBuildInfoProvider.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Go/Internal/GoCapabilityEvidence.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Go/Internal/GoCapabilityScanBuilder.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Go/Internal/GoCapabilityScanner.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Go/Internal/GoCapabilityScanResult.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Go/Internal/GoCgoDetector.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Go/Internal/GoDwarfMetadata.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Go/Internal/GoDwarfReader.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Go/Internal/GoLicenseDetector.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Go/Internal/GoModParser.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Go/Internal/GoModule.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Go/Internal/GoPrivateModuleDetector.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Go/Internal/GoProjectDiscoverer.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Go/Internal/GoSourceInventory.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Go/Internal/GoStrippedBinaryClassification.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Go/Internal/GoSumParser.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Go/Internal/GoVendorParser.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Go/Internal/GoVersionConflictDetector.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Go/Internal/GoWorkParser.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Go/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Go/obj/Debug/net10.0/StellaOps.Scanner.Analyzers.Lang.Go.AssemblyInfo.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Go/obj/Debug/net10.0/StellaOps.Scanner.Analyzers.Lang.Go.GlobalUsings.g.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Go/obj/Release/net10.0/StellaOps.Scanner.Analyzers.Lang.Go.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: 33
- Files with issues: 32
- See docs/implplan/audits/csproj-standards/file-audit.csv for full per-file status.
| File | Issues | Fix guidance |
| --- | --- | --- |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Go/GoAnalyzerPlugin.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Go/GoLanguageAnalyzer.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Go/Internal/EnhancedGoLicenseDetector.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Go/Internal/GoAnalyzerMetrics.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Go/Internal/GoBinaryFormatDetector.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Go/Internal/GoBinaryScanner.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Go/Internal/GoBuildInfo.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Go/Internal/GoBuildInfoDecoder.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Go/Internal/GoBuildInfoParser.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Go/Internal/GoBuildInfoProvider.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Go/Internal/GoCapabilityEvidence.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Go/Internal/GoCapabilityScanBuilder.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Go/Internal/GoCapabilityScanner.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Go/Internal/GoCapabilityScanResult.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Go/Internal/GoCgoDetector.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Go/Internal/GoDwarfMetadata.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Go/Internal/GoDwarfReader.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Go/Internal/GoLicenseDetector.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Go/Internal/GoModParser.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Go/Internal/GoModule.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Go/Internal/GoPrivateModuleDetector.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Go/Internal/GoProjectDiscoverer.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Go/Internal/GoSourceInventory.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Go/Internal/GoStrippedBinaryClassification.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Go/Internal/GoSumParser.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Go/Internal/GoVendorParser.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Go/Internal/GoVersionConflictDetector.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Go/Internal/GoWorkParser.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Go/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Go/obj/Debug/net10.0/StellaOps.Scanner.Analyzers.Lang.Go.AssemblyInfo.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Go/obj/Debug/net10.0/StellaOps.Scanner.Analyzers.Lang.Go.GlobalUsings.g.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Go/obj/Release/net10.0/StellaOps.Scanner.Analyzers.Lang.Go.GlobalUsings.g.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
## Testing Fullness Findings
- Status: FAIL
- Expected layers (heuristic): Performance, Unit
- Detected test projects: src/Scanner/__Tests/StellaOps.Scanner.Analyzers.Lang.Go.Tests/StellaOps.Scanner.Analyzers.Lang.Go.Tests.csproj [Unit]
- Missing layers: Performance
### 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,128 @@
# Audit - StellaOps.Scanner.Analyzers.Lang.Go
## Project
- Path: src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Go/StellaOps.Scanner.Analyzers.Lang.Go.csproj
- Module: Scanner
- Kind: Analyzer
- Audit date (UTC): 2026-01-31
- Files scanned: 29
- 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: 22
- Namespace violations: 0
- Using directive violations: 8
- Naming violations (interfaces/fields/const/async): 9
- Service locator usage (BuildServiceProvider/GetService): 0
- Assembly.LoadFrom usage: 0
### Details
- 100-line files:
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Go/GoLanguageAnalyzer.cs (832 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Go/Internal/EnhancedGoLicenseDetector.cs (275 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Go/Internal/GoBinaryFormatDetector.cs (303 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Go/Internal/GoBinaryScanner.cs (408 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Go/Internal/GoBuildInfoDecoder.cs (160 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Go/Internal/GoBuildInfoParser.cs (236 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Go/Internal/GoBuildInfoProvider.cs (150 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Go/Internal/GoCapabilityEvidence.cs (103 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Go/Internal/GoCapabilityScanBuilder.cs (172 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Go/Internal/GoCapabilityScanner.cs (839 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Go/Internal/GoCapabilityScanResult.cs (228 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Go/Internal/GoCgoDetector.cs (399 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Go/Internal/GoDwarfReader.cs (241 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Go/Internal/GoLicenseDetector.cs (340 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Go/Internal/GoModParser.cs (374 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Go/Internal/GoPrivateModuleDetector.cs (200 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Go/Internal/GoProjectDiscoverer.cs (196 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Go/Internal/GoSourceInventory.cs (428 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Go/Internal/GoSumParser.cs (130 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Go/Internal/GoVendorParser.cs (179 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Go/Internal/GoVersionConflictDetector.cs (439 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Go/Internal/GoWorkParser.cs (240 lines)
- Namespace issues:
- none
- Using directive issues:
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Go/GlobalUsings.cs: using directives not sorted
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Go/GoLanguageAnalyzer.cs: using directives inside namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Go/Internal/GoBinaryFormatDetector.cs: using directives inside namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Go/Internal/GoBinaryScanner.cs: using directives inside namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Go/Internal/GoBuildInfoParser.cs: using directives inside namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Go/Internal/GoBuildInfoProvider.cs: using directives inside namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Go/Internal/GoDwarfReader.cs: using directives inside namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Go/Internal/GoLicenseDetector.cs: using directives inside namespace
- Naming issues:
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Go/Internal/GoAnalyzerMetrics.cs: private field naming
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Go/Internal/GoBinaryFormatDetector.cs: private field naming
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Go/Internal/GoBinaryScanner.cs: private field naming
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Go/Internal/GoCgoDetector.cs: private field naming
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Go/Internal/GoDwarfReader.cs: private field naming
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Go/Internal/GoLicenseDetector.cs: private field naming
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Go/Internal/GoPrivateModuleDetector.cs: private field naming
- Async issues:
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Go/Internal/EnhancedGoLicenseDetector.cs: async method naming
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Go/Internal/EnhancedGoLicenseDetector.cs: missing ConfigureAwait(false)
- Service locator matches:
- none
- Assembly.LoadFrom matches:
- none
### Fix Guidance
- Align interface/field/const naming to standards.
- Move and sort using directives (outside namespace).
- Rename async methods and avoid blocking async calls.
- Split files over 100 lines into smaller types or partials.
## File-Level Findings
- Status: FAIL
- Files scanned: 29
- Files with issues: 24
- See docs/implplan/audits/csproj-standards/file-audit.csv for full per-file status.
| File | Issues | Fix guidance |
| --- | --- | --- |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Go/GlobalUsings.cs | UsingNotSorted | Sort using directives alphabetically. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Go/GoLanguageAnalyzer.cs | FileLength>100; UsingInsideNamespace | Move using directives outside namespace.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Go/Internal/EnhancedGoLicenseDetector.cs | AsyncNaming; ConfigureAwaitMissing; FileLength>100 | Add ConfigureAwait(false) to awaited calls in library-like code.; Rename async methods to end with Async.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Go/Internal/GoAnalyzerMetrics.cs | PrivateFieldNaming | Rename private fields to _camelCase. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Go/Internal/GoBinaryFormatDetector.cs | FileLength>100; PrivateFieldNaming; UsingInsideNamespace | Move using directives outside namespace.; Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Go/Internal/GoBinaryScanner.cs | FileLength>100; PrivateFieldNaming; UsingInsideNamespace | Move using directives outside namespace.; Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Go/Internal/GoBuildInfoDecoder.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Go/Internal/GoBuildInfoParser.cs | FileLength>100; UsingInsideNamespace | Move using directives outside namespace.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Go/Internal/GoBuildInfoProvider.cs | FileLength>100; UsingInsideNamespace | Move using directives outside namespace.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Go/Internal/GoCapabilityEvidence.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Go/Internal/GoCapabilityScanBuilder.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Go/Internal/GoCapabilityScanner.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Go/Internal/GoCapabilityScanResult.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Go/Internal/GoCgoDetector.cs | FileLength>100; PrivateFieldNaming | Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Go/Internal/GoDwarfReader.cs | FileLength>100; PrivateFieldNaming; UsingInsideNamespace | Move using directives outside namespace.; Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Go/Internal/GoLicenseDetector.cs | FileLength>100; PrivateFieldNaming; UsingInsideNamespace | Move using directives outside namespace.; Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Go/Internal/GoModParser.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Go/Internal/GoPrivateModuleDetector.cs | FileLength>100; PrivateFieldNaming | Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Go/Internal/GoProjectDiscoverer.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Go/Internal/GoSourceInventory.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Go/Internal/GoSumParser.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Go/Internal/GoVendorParser.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Go/Internal/GoVersionConflictDetector.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Go/Internal/GoWorkParser.cs | FileLength>100 | Split file to stay <= 100 lines. |
## Testing Fullness Findings
- Status: FAIL
- Expected layers (heuristic): Performance, Unit
- Detected test projects: src/Scanner/__Tests/StellaOps.Scanner.Analyzers.Lang.Go.Tests/StellaOps.Scanner.Analyzers.Lang.Go.Tests.csproj [Unit]
- Missing layers: Performance
### 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,236 @@
# Audit - StellaOps.Scanner.Analyzers.Lang.Java
## Project
- Path: src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/StellaOps.Scanner.Analyzers.Lang.Java.csproj
- Module: Scanner
- Kind: Library
- Audit date (UTC): 2026-01-30
- Files scanned: 64
- Files with issues: 62
- 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: 47
- Namespace violations: 62
- 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/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/JavaLanguageAnalyzer.cs (1885 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/JavaArchive.cs (265 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/JavaLockFileCollector.cs (510 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/JavaWorkspaceNormalizer.cs (102 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/BuildMetadata/JavaDependencyDeclaration.cs (162 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/BuildMetadata/JavaProjectMetadata.cs (239 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Callgraph/JavaCallgraphBuilder.cs (953 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Callgraph/JavaReachabilityGraph.cs (394 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Capabilities/JavaCapabilityEvidence.cs (103 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Capabilities/JavaCapabilityScanBuilder.cs (171 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Capabilities/JavaCapabilityScanner.cs (483 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Capabilities/JavaCapabilityScanResult.cs (219 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/ClassPath/JavaClassPathAnalysis.cs (103 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/ClassPath/JavaClassPathBuilder.cs (661 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/ClassPath/JavaModuleInfoParser.cs (368 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Conflicts/VersionConflictDetector.cs (281 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Crypto/JavaCryptoExtractor.cs (489 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Discovery/JavaBuildFileDiscovery.cs (343 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Gradle/GradleGroovyParser.cs (378 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Gradle/GradleKotlinParser.cs (376 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Gradle/GradlePropertiesParser.cs (192 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Gradle/GradleVersionCatalogParser.cs (398 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Gradle/TomlParser.cs (319 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Jni/JavaJniAnalyzer.cs (687 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/License/JavaLicenseDetector.cs (317 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/License/SpdxLicenseNormalizer.cs (353 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Maven/MavenBomImporter.cs (214 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Maven/MavenEffectivePomBuilder.cs (290 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Maven/MavenLocalRepository.cs (229 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Maven/MavenParentResolver.cs (335 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Maven/MavenPomParser.cs (480 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Osgi/OsgiBundleParser.cs (370 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/PropertyResolution/JavaPropertyResolver.cs (267 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Reflection/JavaReflectionAnalyzer.cs (732 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Resolver/JavaEntrypointAocWriter.cs (389 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Resolver/JavaEntrypointResolution.cs (343 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Resolver/JavaEntrypointResolver.cs (540 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Runtime/JavaRuntimeEdgeResolver.cs (358 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Runtime/JavaRuntimeEventParser.cs (287 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Runtime/JavaRuntimeEvents.cs (173 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Runtime/JavaRuntimeIngestion.cs (212 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Runtime/JavaRuntimeIngestor.cs (235 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/ServiceProviders/JavaServiceProviderScanner.cs (161 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/ServiceProviders/JavaSpiCatalog.cs (104 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Shading/ShadedJarDetector.cs (317 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Signature/JavaSignatureManifestAnalysis.cs (151 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Signature/JavaSignatureManifestAnalyzer.cs (311 lines)
- Namespace issues:
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/JavaLanguageAnalyzer.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/JavaArchive.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/JavaArchiveEntry.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/JavaLockFileCollector.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/JavaPackagingKind.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/JavaReleaseFileParser.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/JavaRuntimeImage.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/JavaWorkspace.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/JavaWorkspaceNormalizer.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/JavaZipEntryUtilities.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/ShadedJarAnalysisResult.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/BuildMetadata/JavaDependencyDeclaration.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/BuildMetadata/JavaProjectMetadata.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Callgraph/JavaCallgraphBuilder.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Callgraph/JavaReachabilityGraph.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Capabilities/JavaCapabilityEvidence.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Capabilities/JavaCapabilityScanBuilder.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Capabilities/JavaCapabilityScanner.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Capabilities/JavaCapabilityScanResult.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/ClassPath/JavaClassLocation.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/ClassPath/JavaClassPathAnalysis.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/ClassPath/JavaClassPathBuilder.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/ClassPath/JavaModuleDescriptor.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/ClassPath/JavaModuleInfoParser.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Conflicts/VersionConflictDetector.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Crypto/JavaCryptoExtractor.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Discovery/JavaBuildFileDiscovery.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Gradle/GradleGroovyParser.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Gradle/GradleKotlinParser.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Gradle/GradlePropertiesParser.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Gradle/GradleVersionCatalogParser.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Gradle/TomlParser.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Jni/JavaJniAnalysis.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Jni/JavaJniAnalyzer.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/License/JavaLicenseDetector.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/License/SpdxLicenseNormalizer.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Maven/MavenBomImporter.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Maven/MavenEffectivePomBuilder.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Maven/MavenLocalRepository.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Maven/MavenParentResolver.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Maven/MavenPomParser.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Osgi/OsgiBundleParser.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/PropertyResolution/JavaPropertyResolver.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Reflection/JavaReflectionAnalysis.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Reflection/JavaReflectionAnalyzer.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Resolver/JavaEntrypointAocWriter.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Resolver/JavaEntrypointResolution.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Resolver/JavaEntrypointResolver.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Runtime/JavaRuntimeEdgeResolver.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Runtime/JavaRuntimeEventParser.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Runtime/JavaRuntimeEvents.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Runtime/JavaRuntimeIngestion.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Runtime/JavaRuntimeIngestor.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/ServiceProviders/JavaServiceProviderScanner.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/ServiceProviders/JavaSpiCatalog.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Shading/ShadedJarDetector.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Signature/JavaSignatureManifestAnalysis.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Signature/JavaSignatureManifestAnalyzer.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/obj/Debug/net10.0/StellaOps.Scanner.Analyzers.Lang.Java.AssemblyInfo.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/obj/Debug/net10.0/StellaOps.Scanner.Analyzers.Lang.Java.GlobalUsings.g.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/obj/Release/net10.0/StellaOps.Scanner.Analyzers.Lang.Java.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: 64
- Files with issues: 62
- See docs/implplan/audits/csproj-standards/file-audit.csv for full per-file status.
| File | Issues | Fix guidance |
| --- | --- | --- |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/JavaLanguageAnalyzer.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/JavaArchive.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/JavaArchiveEntry.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/JavaLockFileCollector.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/JavaPackagingKind.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/JavaReleaseFileParser.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/JavaRuntimeImage.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/JavaWorkspace.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/JavaWorkspaceNormalizer.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/JavaZipEntryUtilities.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/ShadedJarAnalysisResult.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/BuildMetadata/JavaDependencyDeclaration.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/BuildMetadata/JavaProjectMetadata.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Callgraph/JavaCallgraphBuilder.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Callgraph/JavaReachabilityGraph.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Capabilities/JavaCapabilityEvidence.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Capabilities/JavaCapabilityScanBuilder.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Capabilities/JavaCapabilityScanner.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Capabilities/JavaCapabilityScanResult.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/ClassPath/JavaClassLocation.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/ClassPath/JavaClassPathAnalysis.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/ClassPath/JavaClassPathBuilder.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/ClassPath/JavaModuleDescriptor.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/ClassPath/JavaModuleInfoParser.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Conflicts/VersionConflictDetector.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Crypto/JavaCryptoExtractor.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Discovery/JavaBuildFileDiscovery.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Gradle/GradleGroovyParser.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Gradle/GradleKotlinParser.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Gradle/GradlePropertiesParser.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Gradle/GradleVersionCatalogParser.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Gradle/TomlParser.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Jni/JavaJniAnalysis.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Jni/JavaJniAnalyzer.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/License/JavaLicenseDetector.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/License/SpdxLicenseNormalizer.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Maven/MavenBomImporter.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Maven/MavenEffectivePomBuilder.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Maven/MavenLocalRepository.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Maven/MavenParentResolver.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Maven/MavenPomParser.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Osgi/OsgiBundleParser.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/PropertyResolution/JavaPropertyResolver.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Reflection/JavaReflectionAnalysis.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Reflection/JavaReflectionAnalyzer.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Resolver/JavaEntrypointAocWriter.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Resolver/JavaEntrypointResolution.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Resolver/JavaEntrypointResolver.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Runtime/JavaRuntimeEdgeResolver.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Runtime/JavaRuntimeEventParser.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Runtime/JavaRuntimeEvents.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Runtime/JavaRuntimeIngestion.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Runtime/JavaRuntimeIngestor.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/ServiceProviders/JavaServiceProviderScanner.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/ServiceProviders/JavaSpiCatalog.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Shading/ShadedJarDetector.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Signature/JavaSignatureManifestAnalysis.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Signature/JavaSignatureManifestAnalyzer.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/obj/Debug/net10.0/StellaOps.Scanner.Analyzers.Lang.Java.AssemblyInfo.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/obj/Debug/net10.0/StellaOps.Scanner.Analyzers.Lang.Java.GlobalUsings.g.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/obj/Release/net10.0/StellaOps.Scanner.Analyzers.Lang.Java.GlobalUsings.g.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
## Testing Fullness Findings
- Status: FAIL
- Expected layers (heuristic): Performance, Unit
- Detected test projects: src/Scanner/__Tests/StellaOps.Scanner.Analyzers.Lang.Java.Tests/StellaOps.Scanner.Analyzers.Lang.Java.Tests.csproj [Unit]
- Missing layers: Performance
### 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,208 @@
# Audit - StellaOps.Scanner.Analyzers.Lang.Java
## Project
- Path: src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/StellaOps.Scanner.Analyzers.Lang.Java.csproj
- Module: Scanner
- Kind: Analyzer
- Audit date (UTC): 2026-01-31
- Files scanned: 60
- Files with issues: 50
- 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: 47
- Namespace violations: 0
- Using directive violations: 19
- Naming violations (interfaces/fields/const/async): 27
- Service locator usage (BuildServiceProvider/GetService): 0
- Assembly.LoadFrom usage: 0
### Details
- 100-line files:
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/JavaLanguageAnalyzer.cs (1886 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/JavaArchive.cs (266 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/JavaLockFileCollector.cs (511 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/JavaWorkspaceNormalizer.cs (102 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/BuildMetadata/JavaDependencyDeclaration.cs (162 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/BuildMetadata/JavaProjectMetadata.cs (239 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Callgraph/JavaCallgraphBuilder.cs (954 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Callgraph/JavaReachabilityGraph.cs (395 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Capabilities/JavaCapabilityEvidence.cs (103 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Capabilities/JavaCapabilityScanBuilder.cs (171 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Capabilities/JavaCapabilityScanner.cs (483 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Capabilities/JavaCapabilityScanResult.cs (219 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/ClassPath/JavaClassPathAnalysis.cs (103 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/ClassPath/JavaClassPathBuilder.cs (662 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/ClassPath/JavaModuleInfoParser.cs (369 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Conflicts/VersionConflictDetector.cs (282 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Crypto/JavaCryptoExtractor.cs (490 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Discovery/JavaBuildFileDiscovery.cs (344 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Gradle/GradleGroovyParser.cs (379 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Gradle/GradleKotlinParser.cs (377 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Gradle/GradlePropertiesParser.cs (193 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Gradle/GradleVersionCatalogParser.cs (399 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Gradle/TomlParser.cs (320 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Jni/JavaJniAnalyzer.cs (688 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/License/JavaLicenseDetector.cs (318 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/License/SpdxLicenseNormalizer.cs (354 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Maven/MavenBomImporter.cs (215 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Maven/MavenEffectivePomBuilder.cs (291 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Maven/MavenLocalRepository.cs (229 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Maven/MavenParentResolver.cs (336 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Maven/MavenPomParser.cs (481 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Osgi/OsgiBundleParser.cs (370 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/PropertyResolution/JavaPropertyResolver.cs (268 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Reflection/JavaReflectionAnalyzer.cs (733 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Resolver/JavaEntrypointAocWriter.cs (390 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Resolver/JavaEntrypointResolution.cs (343 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Resolver/JavaEntrypointResolver.cs (541 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Runtime/JavaRuntimeEdgeResolver.cs (358 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Runtime/JavaRuntimeEventParser.cs (288 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Runtime/JavaRuntimeEvents.cs (173 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Runtime/JavaRuntimeIngestion.cs (212 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Runtime/JavaRuntimeIngestor.cs (236 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/ServiceProviders/JavaServiceProviderScanner.cs (162 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/ServiceProviders/JavaSpiCatalog.cs (105 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Shading/ShadedJarDetector.cs (318 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Signature/JavaSignatureManifestAnalysis.cs (151 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Signature/JavaSignatureManifestAnalyzer.cs (312 lines)
- Namespace issues:
- none
- Using directive issues:
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/GlobalUsings.cs: using directives not sorted
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/JavaLanguageAnalyzer.cs: using directives inside namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/JavaArchive.cs: using directives inside namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/JavaLockFileCollector.cs: using directives inside namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/JavaReleaseFileParser.cs: using directives inside namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Callgraph/JavaCallgraphBuilder.cs: using directives inside namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Callgraph/JavaReachabilityGraph.cs: using directives inside namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/ClassPath/JavaClassLocation.cs: using directives inside namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/ClassPath/JavaClassPathBuilder.cs: using directives inside namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/ClassPath/JavaModuleInfoParser.cs: using directives inside namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Gradle/GradlePropertiesParser.cs: using directives inside namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Gradle/TomlParser.cs: using directives inside namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Jni/JavaJniAnalyzer.cs: using directives inside namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Reflection/JavaReflectionAnalyzer.cs: using directives inside namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Resolver/JavaEntrypointAocWriter.cs: using directives inside namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Runtime/JavaRuntimeEventParser.cs: using directives inside namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/ServiceProviders/JavaSpiCatalog.cs: using directives inside namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Shading/ShadedJarDetector.cs: using directives inside namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Signature/JavaSignatureManifestAnalyzer.cs: using directives inside namespace
- Naming issues:
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/JavaWorkspaceNormalizer.cs: private field naming
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Capabilities/JavaCapabilityScanBuilder.cs: private field naming
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Crypto/JavaCryptoExtractor.cs: private field naming
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Discovery/JavaBuildFileDiscovery.cs: private field naming
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Gradle/GradleGroovyParser.cs: private field naming
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Gradle/GradleKotlinParser.cs: private field naming
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/License/SpdxLicenseNormalizer.cs: private field naming
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Maven/MavenPomParser.cs: private field naming
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/PropertyResolution/JavaPropertyResolver.cs: private field naming
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Resolver/JavaEntrypointAocWriter.cs: private field naming
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Runtime/JavaRuntimeEventParser.cs: private field naming
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/ServiceProviders/JavaSpiCatalog.cs: private field naming
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Shading/ShadedJarDetector.cs: private field naming
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Signature/JavaSignatureManifestAnalyzer.cs: private field naming
- Async issues:
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/JavaLanguageAnalyzer.cs: async method naming
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/JavaLockFileCollector.cs: async method naming
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Gradle/GradlePropertiesParser.cs: async method naming
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/License/JavaLicenseDetector.cs: async method naming
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/License/JavaLicenseDetector.cs: missing ConfigureAwait(false)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Maven/MavenParentResolver.cs: async method naming
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Maven/MavenPomParser.cs: async method naming
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Resolver/JavaEntrypointAocWriter.cs: async method naming
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Resolver/JavaEntrypointAocWriter.cs: missing ConfigureAwait(false)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Runtime/JavaRuntimeEventParser.cs: async method naming
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Runtime/JavaRuntimeEventParser.cs: missing ConfigureAwait(false)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Runtime/JavaRuntimeIngestor.cs: missing ConfigureAwait(false)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Shading/ShadedJarDetector.cs: missing ConfigureAwait(false)
- Service locator matches:
- none
- Assembly.LoadFrom matches:
- none
### Fix Guidance
- Align interface/field/const naming to standards.
- Move and sort using directives (outside namespace).
- Rename async methods and avoid blocking async calls.
- Split files over 100 lines into smaller types or partials.
## File-Level Findings
- Status: FAIL
- Files scanned: 60
- Files with issues: 50
- See docs/implplan/audits/csproj-standards/file-audit.csv for full per-file status.
| File | Issues | Fix guidance |
| --- | --- | --- |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/GlobalUsings.cs | UsingNotSorted | Sort using directives alphabetically. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/JavaLanguageAnalyzer.cs | AsyncNaming; FileLength>100; UsingInsideNamespace | Move using directives outside namespace.; Rename async methods to end with Async.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/JavaArchive.cs | FileLength>100; UsingInsideNamespace | Move using directives outside namespace.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/JavaLockFileCollector.cs | AsyncNaming; FileLength>100; UsingInsideNamespace | Move using directives outside namespace.; Rename async methods to end with Async.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/JavaReleaseFileParser.cs | UsingInsideNamespace | Move using directives outside namespace. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/JavaWorkspaceNormalizer.cs | FileLength>100; PrivateFieldNaming | Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/BuildMetadata/JavaDependencyDeclaration.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/BuildMetadata/JavaProjectMetadata.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Callgraph/JavaCallgraphBuilder.cs | FileLength>100; UsingInsideNamespace | Move using directives outside namespace.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Callgraph/JavaReachabilityGraph.cs | FileLength>100; UsingInsideNamespace | Move using directives outside namespace.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Capabilities/JavaCapabilityEvidence.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Capabilities/JavaCapabilityScanBuilder.cs | FileLength>100; PrivateFieldNaming | Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Capabilities/JavaCapabilityScanner.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Capabilities/JavaCapabilityScanResult.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/ClassPath/JavaClassLocation.cs | UsingInsideNamespace | Move using directives outside namespace. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/ClassPath/JavaClassPathAnalysis.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/ClassPath/JavaClassPathBuilder.cs | FileLength>100; UsingInsideNamespace | Move using directives outside namespace.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/ClassPath/JavaModuleInfoParser.cs | FileLength>100; UsingInsideNamespace | Move using directives outside namespace.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Conflicts/VersionConflictDetector.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Crypto/JavaCryptoExtractor.cs | FileLength>100; PrivateFieldNaming | Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Discovery/JavaBuildFileDiscovery.cs | FileLength>100; PrivateFieldNaming | Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Gradle/GradleGroovyParser.cs | FileLength>100; PrivateFieldNaming | Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Gradle/GradleKotlinParser.cs | FileLength>100; PrivateFieldNaming | Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Gradle/GradlePropertiesParser.cs | AsyncNaming; FileLength>100; UsingInsideNamespace | Move using directives outside namespace.; Rename async methods to end with Async.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Gradle/GradleVersionCatalogParser.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Gradle/TomlParser.cs | FileLength>100; UsingInsideNamespace | Move using directives outside namespace.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Jni/JavaJniAnalyzer.cs | FileLength>100; UsingInsideNamespace | Move using directives outside namespace.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/License/JavaLicenseDetector.cs | AsyncNaming; ConfigureAwaitMissing; FileLength>100 | Add ConfigureAwait(false) to awaited calls in library-like code.; Rename async methods to end with Async.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/License/SpdxLicenseNormalizer.cs | FileLength>100; PrivateFieldNaming | Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Maven/MavenBomImporter.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Maven/MavenEffectivePomBuilder.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Maven/MavenLocalRepository.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Maven/MavenParentResolver.cs | AsyncNaming; FileLength>100 | Rename async methods to end with Async.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Maven/MavenPomParser.cs | AsyncNaming; FileLength>100; PrivateFieldNaming | Rename async methods to end with Async.; Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Osgi/OsgiBundleParser.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/PropertyResolution/JavaPropertyResolver.cs | FileLength>100; PrivateFieldNaming | Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Reflection/JavaReflectionAnalyzer.cs | FileLength>100; UsingInsideNamespace | Move using directives outside namespace.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Resolver/JavaEntrypointAocWriter.cs | AsyncNaming; ConfigureAwaitMissing; FileLength>100; PrivateFieldNaming; UsingInsideNamespace | Add ConfigureAwait(false) to awaited calls in library-like code.; Move using directives outside namespace.; Rename async methods to end with Async.; Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Resolver/JavaEntrypointResolution.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Resolver/JavaEntrypointResolver.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Runtime/JavaRuntimeEdgeResolver.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Runtime/JavaRuntimeEventParser.cs | AsyncNaming; ConfigureAwaitMissing; FileLength>100; PrivateFieldNaming; UsingInsideNamespace | Add ConfigureAwait(false) to awaited calls in library-like code.; Move using directives outside namespace.; Rename async methods to end with Async.; Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Runtime/JavaRuntimeEvents.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Runtime/JavaRuntimeIngestion.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Runtime/JavaRuntimeIngestor.cs | ConfigureAwaitMissing; FileLength>100 | Add ConfigureAwait(false) to awaited calls in library-like code.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/ServiceProviders/JavaServiceProviderScanner.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/ServiceProviders/JavaSpiCatalog.cs | FileLength>100; PrivateFieldNaming; UsingInsideNamespace | Move using directives outside namespace.; Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Shading/ShadedJarDetector.cs | ConfigureAwaitMissing; FileLength>100; PrivateFieldNaming; UsingInsideNamespace | Add ConfigureAwait(false) to awaited calls in library-like code.; Move using directives outside namespace.; Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Signature/JavaSignatureManifestAnalysis.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Signature/JavaSignatureManifestAnalyzer.cs | FileLength>100; PrivateFieldNaming; UsingInsideNamespace | Move using directives outside namespace.; Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
## Testing Fullness Findings
- Status: FAIL
- Expected layers (heuristic): Performance, Unit
- Detected test projects: src/Scanner/__Tests/StellaOps.Scanner.Analyzers.Lang.Java.Tests/StellaOps.Scanner.Analyzers.Lang.Java.Tests.csproj [Unit]
- Missing layers: Performance
### 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,164 @@
# Audit - StellaOps.Scanner.Analyzers.Lang.Node
## Project
- Path: src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node/StellaOps.Scanner.Analyzers.Lang.Node.csproj
- Module: Scanner
- Kind: Library
- Audit date (UTC): 2026-01-30
- Files scanned: 39
- Files with issues: 38
- 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: 23
- Namespace violations: 38
- 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/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node/NodeLanguageAnalyzer.cs (360 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node/Internal/NodeDependencyIndex.cs (282 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node/Internal/NodeEnvironmentScanner.cs (127 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node/Internal/NodeImportWalker.cs (352 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node/Internal/NodeInputNormalizer.cs (167 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node/Internal/NodeLockData.cs (833 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node/Internal/NodePackage.cs (499 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node/Internal/NodePackageCollector.cs (1520 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node/Internal/NodePnpDataLoader.cs (308 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node/Internal/NodeResolver.cs (533 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node/Internal/NodeVersionDetector.cs (146 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node/Internal/NodeWorkspaceIndex.cs (453 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node/Internal/RuntimeEvidenceLoader.cs (171 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node/Internal/YarnPnpData.cs (317 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node/Internal/Capabilities/NodeCapabilityEvidence.cs (103 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node/Internal/Capabilities/NodeCapabilityScanBuilder.cs (272 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node/Internal/Capabilities/NodeCapabilityScanner.cs (539 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node/Internal/Capabilities/NodeCapabilityScanResult.cs (219 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node/Internal/Crypto/NodeCryptoExtractor.cs (577 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node/Internal/Licensing/NodeLicenseDetector.cs (587 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node/Internal/Phase22/NodePhase22Analyzer.cs (680 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node/Internal/Phase22/NodePhase22Exporter.cs (176 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node/Internal/Phase22/NodePhase22SampleLoader.cs (101 lines)
- Namespace issues:
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node/NodeAnalyzerPlugin.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node/NodeLanguageAnalyzer.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node/Internal/NodeAnalyzerMetrics.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node/Internal/NodeDeclarationKeyBuilder.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node/Internal/NodeDependencyIndex.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node/Internal/NodeDependencyScope.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node/Internal/NodeEntrypoint.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node/Internal/NodeEnvironmentScanner.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node/Internal/NodeImportEdge.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node/Internal/NodeImportResolution.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node/Internal/NodeImportWalker.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node/Internal/NodeInputNormalizer.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node/Internal/NodeLifecycleScript.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node/Internal/NodeLockData.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node/Internal/NodeLockEntry.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node/Internal/NodePackage.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node/Internal/NodePackageCollector.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node/Internal/NodePnpDataLoader.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node/Internal/NodeResolver.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node/Internal/NodeScopeClassifier.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node/Internal/NodeVersionDetector.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node/Internal/NodeVersionTarget.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node/Internal/NodeWorkspaceIndex.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node/Internal/RuntimeEvidenceLoader.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node/Internal/YarnPnpData.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node/Internal/Capabilities/NodeCapabilityEvidence.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node/Internal/Capabilities/NodeCapabilityScanBuilder.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node/Internal/Capabilities/NodeCapabilityScanner.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node/Internal/Capabilities/NodeCapabilityScanResult.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node/Internal/Crypto/NodeCryptoExtractor.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node/Internal/Licensing/NodeLicenseDetector.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node/Internal/Phase22/NodePhase22Analyzer.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node/Internal/Phase22/NodePhase22Exporter.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node/Internal/Phase22/NodePhase22SampleLoader.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node/obj/Debug/net10.0/StellaOps.Scanner.Analyzers.Lang.Node.AssemblyInfo.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node/obj/Debug/net10.0/StellaOps.Scanner.Analyzers.Lang.Node.GlobalUsings.g.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node/obj/Release/net10.0/StellaOps.Scanner.Analyzers.Lang.Node.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: 39
- Files with issues: 38
- See docs/implplan/audits/csproj-standards/file-audit.csv for full per-file status.
| File | Issues | Fix guidance |
| --- | --- | --- |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node/NodeAnalyzerPlugin.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node/NodeLanguageAnalyzer.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node/Internal/NodeAnalyzerMetrics.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node/Internal/NodeDeclarationKeyBuilder.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node/Internal/NodeDependencyIndex.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node/Internal/NodeDependencyScope.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node/Internal/NodeEntrypoint.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node/Internal/NodeEnvironmentScanner.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node/Internal/NodeImportEdge.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node/Internal/NodeImportResolution.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node/Internal/NodeImportWalker.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node/Internal/NodeInputNormalizer.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node/Internal/NodeLifecycleScript.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node/Internal/NodeLockData.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node/Internal/NodeLockEntry.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node/Internal/NodePackage.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node/Internal/NodePackageCollector.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node/Internal/NodePnpDataLoader.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node/Internal/NodeResolver.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node/Internal/NodeScopeClassifier.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node/Internal/NodeVersionDetector.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node/Internal/NodeVersionTarget.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node/Internal/NodeWorkspaceIndex.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node/Internal/RuntimeEvidenceLoader.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node/Internal/YarnPnpData.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node/Internal/Capabilities/NodeCapabilityEvidence.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node/Internal/Capabilities/NodeCapabilityScanBuilder.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node/Internal/Capabilities/NodeCapabilityScanner.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node/Internal/Capabilities/NodeCapabilityScanResult.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node/Internal/Crypto/NodeCryptoExtractor.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node/Internal/Licensing/NodeLicenseDetector.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node/Internal/Phase22/NodePhase22Analyzer.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node/Internal/Phase22/NodePhase22Exporter.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node/Internal/Phase22/NodePhase22SampleLoader.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node/obj/Debug/net10.0/StellaOps.Scanner.Analyzers.Lang.Node.AssemblyInfo.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node/obj/Debug/net10.0/StellaOps.Scanner.Analyzers.Lang.Node.GlobalUsings.g.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node/obj/Release/net10.0/StellaOps.Scanner.Analyzers.Lang.Node.GlobalUsings.g.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
## Testing Fullness Findings
- Status: FAIL
- Expected layers (heuristic): Performance, Unit
- Detected test projects: src/Scanner/__Tests/StellaOps.Scanner.Analyzers.Lang.Node.SmokeTests/StellaOps.Scanner.Analyzers.Lang.Node.SmokeTests.csproj [Unit]; src/Scanner/__Tests/StellaOps.Scanner.Analyzers.Lang.Node.Tests/StellaOps.Scanner.Analyzers.Lang.Node.Tests.csproj [Unit]
- Missing layers: Performance
### 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,139 @@
# Audit - StellaOps.Scanner.Analyzers.Lang.Node
## Project
- Path: src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node/StellaOps.Scanner.Analyzers.Lang.Node.csproj
- Module: Scanner
- Kind: Analyzer
- Audit date (UTC): 2026-01-31
- Files scanned: 35
- Files with issues: 25
- 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: 23
- Namespace violations: 0
- Using directive violations: 13
- Naming violations (interfaces/fields/const/async): 13
- Service locator usage (BuildServiceProvider/GetService): 0
- Assembly.LoadFrom usage: 0
### Details
- 100-line files:
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node/NodeLanguageAnalyzer.cs (360 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node/Internal/NodeDependencyIndex.cs (283 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node/Internal/NodeEnvironmentScanner.cs (127 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node/Internal/NodeImportWalker.cs (353 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node/Internal/NodeInputNormalizer.cs (167 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node/Internal/NodeLockData.cs (834 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node/Internal/NodePackage.cs (499 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node/Internal/NodePackageCollector.cs (1521 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node/Internal/NodePnpDataLoader.cs (309 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node/Internal/NodeResolver.cs (533 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node/Internal/NodeVersionDetector.cs (147 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node/Internal/NodeWorkspaceIndex.cs (454 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node/Internal/RuntimeEvidenceLoader.cs (172 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node/Internal/YarnPnpData.cs (318 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node/Internal/Capabilities/NodeCapabilityEvidence.cs (103 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node/Internal/Capabilities/NodeCapabilityScanBuilder.cs (272 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node/Internal/Capabilities/NodeCapabilityScanner.cs (539 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node/Internal/Capabilities/NodeCapabilityScanResult.cs (219 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node/Internal/Crypto/NodeCryptoExtractor.cs (578 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node/Internal/Licensing/NodeLicenseDetector.cs (588 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node/Internal/Phase22/NodePhase22Analyzer.cs (681 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node/Internal/Phase22/NodePhase22Exporter.cs (176 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node/Internal/Phase22/NodePhase22SampleLoader.cs (102 lines)
- Namespace issues:
- none
- Using directive issues:
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node/GlobalUsings.cs: using directives not sorted
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node/Internal/NodeDependencyIndex.cs: using directives inside namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node/Internal/NodeImportWalker.cs: using directives inside namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node/Internal/NodeLockData.cs: using directives inside namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node/Internal/NodePackageCollector.cs: using directives inside namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node/Internal/NodePnpDataLoader.cs: using directives inside namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node/Internal/NodeVersionDetector.cs: using directives inside namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node/Internal/NodeWorkspaceIndex.cs: using directives inside namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node/Internal/RuntimeEvidenceLoader.cs: using directives inside namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node/Internal/YarnPnpData.cs: using directives inside namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node/Internal/Licensing/NodeLicenseDetector.cs: using directives inside namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node/Internal/Phase22/NodePhase22Analyzer.cs: using directives inside namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node/Internal/Phase22/NodePhase22SampleLoader.cs: using directives inside namespace
- Naming issues:
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node/Internal/NodeAnalyzerMetrics.cs: private field naming
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node/Internal/NodeDependencyIndex.cs: private field naming
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node/Internal/NodeEnvironmentScanner.cs: private field naming
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node/Internal/NodeInputNormalizer.cs: private field naming
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node/Internal/NodeLockData.cs: private field naming
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node/Internal/NodePackageCollector.cs: private field naming
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node/Internal/NodeResolver.cs: private field naming
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node/Internal/NodeVersionDetector.cs: private field naming
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node/Internal/YarnPnpData.cs: private field naming
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node/Internal/Capabilities/NodeCapabilityScanBuilder.cs: private field naming
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node/Internal/Crypto/NodeCryptoExtractor.cs: private field naming
- Async issues:
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node/NodeLanguageAnalyzer.cs: async method naming
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node/Internal/Licensing/NodeLicenseDetector.cs: missing ConfigureAwait(false)
- Service locator matches:
- none
- Assembly.LoadFrom matches:
- none
### Fix Guidance
- Align interface/field/const naming to standards.
- Move and sort using directives (outside namespace).
- Rename async methods and avoid blocking async calls.
- Split files over 100 lines into smaller types or partials.
## File-Level Findings
- Status: FAIL
- Files scanned: 35
- Files with issues: 25
- See docs/implplan/audits/csproj-standards/file-audit.csv for full per-file status.
| File | Issues | Fix guidance |
| --- | --- | --- |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node/GlobalUsings.cs | UsingNotSorted | Sort using directives alphabetically. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node/NodeLanguageAnalyzer.cs | AsyncNaming; FileLength>100 | Rename async methods to end with Async.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node/Internal/NodeAnalyzerMetrics.cs | PrivateFieldNaming | Rename private fields to _camelCase. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node/Internal/NodeDependencyIndex.cs | FileLength>100; PrivateFieldNaming; UsingInsideNamespace | Move using directives outside namespace.; Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node/Internal/NodeEnvironmentScanner.cs | FileLength>100; PrivateFieldNaming | Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node/Internal/NodeImportWalker.cs | FileLength>100; UsingInsideNamespace | Move using directives outside namespace.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node/Internal/NodeInputNormalizer.cs | FileLength>100; PrivateFieldNaming | Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node/Internal/NodeLockData.cs | FileLength>100; PrivateFieldNaming; UsingInsideNamespace | Move using directives outside namespace.; Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node/Internal/NodePackage.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node/Internal/NodePackageCollector.cs | FileLength>100; PrivateFieldNaming; UsingInsideNamespace | Move using directives outside namespace.; Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node/Internal/NodePnpDataLoader.cs | FileLength>100; UsingInsideNamespace | Move using directives outside namespace.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node/Internal/NodeResolver.cs | FileLength>100; PrivateFieldNaming | Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node/Internal/NodeVersionDetector.cs | FileLength>100; PrivateFieldNaming; UsingInsideNamespace | Move using directives outside namespace.; Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node/Internal/NodeWorkspaceIndex.cs | FileLength>100; UsingInsideNamespace | Move using directives outside namespace.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node/Internal/RuntimeEvidenceLoader.cs | FileLength>100; UsingInsideNamespace | Move using directives outside namespace.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node/Internal/YarnPnpData.cs | FileLength>100; PrivateFieldNaming; UsingInsideNamespace | Move using directives outside namespace.; Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node/Internal/Capabilities/NodeCapabilityEvidence.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node/Internal/Capabilities/NodeCapabilityScanBuilder.cs | FileLength>100; PrivateFieldNaming | Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node/Internal/Capabilities/NodeCapabilityScanner.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node/Internal/Capabilities/NodeCapabilityScanResult.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node/Internal/Crypto/NodeCryptoExtractor.cs | FileLength>100; PrivateFieldNaming | Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node/Internal/Licensing/NodeLicenseDetector.cs | ConfigureAwaitMissing; FileLength>100; UsingInsideNamespace | Add ConfigureAwait(false) to awaited calls in library-like code.; Move using directives outside namespace.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node/Internal/Phase22/NodePhase22Analyzer.cs | FileLength>100; UsingInsideNamespace | Move using directives outside namespace.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node/Internal/Phase22/NodePhase22Exporter.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node/Internal/Phase22/NodePhase22SampleLoader.cs | FileLength>100; UsingInsideNamespace | Move using directives outside namespace.; Split file to stay <= 100 lines. |
## Testing Fullness Findings
- Status: FAIL
- Expected layers (heuristic): Performance, Unit
- Detected test projects: src/Scanner/__Tests/StellaOps.Scanner.Analyzers.Lang.Node.SmokeTests/StellaOps.Scanner.Analyzers.Lang.Node.SmokeTests.csproj [Unit]; src/Scanner/__Tests/StellaOps.Scanner.Analyzers.Lang.Node.Tests/StellaOps.Scanner.Analyzers.Lang.Node.Tests.csproj [Unit]
- Missing layers: Performance
### 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,187 @@
# Audit - StellaOps.Scanner.Analyzers.Lang.Php
## Project
- Path: src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/StellaOps.Scanner.Analyzers.Lang.Php.csproj
- Module: Scanner
- Kind: Library
- Audit date (UTC): 2026-01-30
- Files scanned: 46
- Files with issues: 45
- 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: 32
- Namespace violations: 45
- 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/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/PhpLanguageAnalyzer.cs (300 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/Internal/ComposerLockReader.cs (189 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/Internal/PhpAutoloadEdge.cs (101 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/Internal/PhpAutoloadGraphBuilder.cs (271 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/Internal/PhpCapabilityEvidence.cs (159 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/Internal/PhpCapabilityScanner.cs (826 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/Internal/PhpCapabilityScanResult.cs (201 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/Internal/PhpComposerManifest.cs (190 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/Internal/PhpComposerManifestReader.cs (307 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/Internal/PhpConfigCollection.cs (278 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/Internal/PhpConfigCollector.cs (320 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/Internal/PhpExtension.cs (365 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/Internal/PhpExtensionScanner.cs (446 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/Internal/PhpFfiDetector.cs (506 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/Internal/PhpFrameworkFingerprint.cs (172 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/Internal/PhpFrameworkFingerprinter.cs (438 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/Internal/PhpFrameworkSurface.cs (191 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/Internal/PhpFrameworkSurfaceScanner.cs (889 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/Internal/PhpIncludeEdge.cs (109 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/Internal/PhpIncludeGraphBuilder.cs (270 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/Internal/PhpIncludeScanner.cs (245 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/Internal/PhpInputNormalizer.cs (287 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/Internal/PhpInstalledJsonReader.cs (362 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/Internal/PhpPackage.cs (108 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/Internal/PhpPharArchive.cs (203 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/Internal/PhpPharScanner.cs (481 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/Internal/PhpProjectInput.cs (112 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/Internal/PhpVersionConflictDetector.cs (418 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/Internal/PhpVirtualFileSystem.cs (183 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/Internal/Runtime/PhpRuntimeEvidence.cs (136 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/Internal/Runtime/PhpRuntimeEvidenceCollector.cs (233 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/Internal/Runtime/PhpRuntimeShim.cs (343 lines)
- Namespace issues:
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/PhpAnalyzerPlugin.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/PhpLanguageAnalyzer.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/Internal/ComposerAutoloadData.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/Internal/ComposerLockData.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/Internal/ComposerLockReader.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/Internal/ComposerPackage.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/Internal/PhpAutoloadEdge.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/Internal/PhpAutoloadGraphBuilder.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/Internal/PhpCapabilityEvidence.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/Internal/PhpCapabilityScanBuilder.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/Internal/PhpCapabilityScanner.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/Internal/PhpCapabilityScanResult.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/Internal/PhpCapabilitySignals.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/Internal/PhpComposerManifest.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/Internal/PhpComposerManifestReader.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/Internal/PhpConfigCollection.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/Internal/PhpConfigCollector.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/Internal/PhpConfigEntry.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/Internal/PhpExtension.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/Internal/PhpExtensionScanner.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/Internal/PhpFfiDetector.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/Internal/PhpFrameworkFingerprint.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/Internal/PhpFrameworkFingerprinter.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/Internal/PhpFrameworkSurface.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/Internal/PhpFrameworkSurfaceScanner.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/Internal/PhpIncludeEdge.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/Internal/PhpIncludeGraphBuilder.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/Internal/PhpIncludeScanner.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/Internal/PhpInputNormalizer.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/Internal/PhpInstalledJsonReader.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/Internal/PhpPackage.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/Internal/PhpPackageCollector.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/Internal/PhpPharArchive.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/Internal/PhpPharScanner.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/Internal/PhpProjectInput.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/Internal/PhpVersionConflictDetector.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/Internal/PhpVirtualFile.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/Internal/PhpVirtualFileSystem.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/Internal/Runtime/PhpRuntimeEvidence.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/Internal/Runtime/PhpRuntimeEvidenceCollector.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/Internal/Runtime/PhpRuntimeShim.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/obj/Debug/net10.0/StellaOps.Scanner.Analyzers.Lang.Php.AssemblyInfo.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/obj/Debug/net10.0/StellaOps.Scanner.Analyzers.Lang.Php.GlobalUsings.g.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/obj/Release/net10.0/StellaOps.Scanner.Analyzers.Lang.Php.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: 46
- Files with issues: 45
- See docs/implplan/audits/csproj-standards/file-audit.csv for full per-file status.
| File | Issues | Fix guidance |
| --- | --- | --- |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/PhpAnalyzerPlugin.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/PhpLanguageAnalyzer.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/Internal/ComposerAutoloadData.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/Internal/ComposerLockData.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/Internal/ComposerLockReader.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/Internal/ComposerPackage.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/Internal/PhpAutoloadEdge.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/Internal/PhpAutoloadGraphBuilder.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/Internal/PhpCapabilityEvidence.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/Internal/PhpCapabilityScanBuilder.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/Internal/PhpCapabilityScanner.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/Internal/PhpCapabilityScanResult.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/Internal/PhpCapabilitySignals.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/Internal/PhpComposerManifest.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/Internal/PhpComposerManifestReader.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/Internal/PhpConfigCollection.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/Internal/PhpConfigCollector.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/Internal/PhpConfigEntry.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/Internal/PhpExtension.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/Internal/PhpExtensionScanner.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/Internal/PhpFfiDetector.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/Internal/PhpFrameworkFingerprint.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/Internal/PhpFrameworkFingerprinter.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/Internal/PhpFrameworkSurface.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/Internal/PhpFrameworkSurfaceScanner.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/Internal/PhpIncludeEdge.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/Internal/PhpIncludeGraphBuilder.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/Internal/PhpIncludeScanner.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/Internal/PhpInputNormalizer.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/Internal/PhpInstalledJsonReader.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/Internal/PhpPackage.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/Internal/PhpPackageCollector.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/Internal/PhpPharArchive.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/Internal/PhpPharScanner.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/Internal/PhpProjectInput.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/Internal/PhpVersionConflictDetector.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/Internal/PhpVirtualFile.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/Internal/PhpVirtualFileSystem.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/Internal/Runtime/PhpRuntimeEvidence.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/Internal/Runtime/PhpRuntimeEvidenceCollector.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/Internal/Runtime/PhpRuntimeShim.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/obj/Debug/net10.0/StellaOps.Scanner.Analyzers.Lang.Php.AssemblyInfo.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/obj/Debug/net10.0/StellaOps.Scanner.Analyzers.Lang.Php.GlobalUsings.g.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/obj/Release/net10.0/StellaOps.Scanner.Analyzers.Lang.Php.GlobalUsings.g.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
## Testing Fullness Findings
- Status: FAIL
- Expected layers (heuristic): Performance, Unit
- Detected test projects: src/Scanner/__Tests/StellaOps.Scanner.Analyzers.Lang.Php.Tests/StellaOps.Scanner.Analyzers.Lang.Php.Tests.csproj [Unit]
- Missing layers: Performance
### 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,150 @@
# Audit - StellaOps.Scanner.Analyzers.Lang.Php
## Project
- Path: src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/StellaOps.Scanner.Analyzers.Lang.Php.csproj
- Module: Scanner
- Kind: Analyzer
- Audit date (UTC): 2026-01-31
- Files scanned: 42
- Files with issues: 33
- 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: 32
- Namespace violations: 0
- Using directive violations: 5
- Naming violations (interfaces/fields/const/async): 13
- Service locator usage (BuildServiceProvider/GetService): 2
- Assembly.LoadFrom usage: 0
### Details
- 100-line files:
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/PhpLanguageAnalyzer.cs (300 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/Internal/ComposerLockReader.cs (190 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/Internal/PhpAutoloadEdge.cs (101 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/Internal/PhpAutoloadGraphBuilder.cs (271 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/Internal/PhpCapabilityEvidence.cs (159 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/Internal/PhpCapabilityScanner.cs (826 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/Internal/PhpCapabilityScanResult.cs (201 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/Internal/PhpComposerManifest.cs (190 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/Internal/PhpComposerManifestReader.cs (307 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/Internal/PhpConfigCollection.cs (278 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/Internal/PhpConfigCollector.cs (320 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/Internal/PhpExtension.cs (365 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/Internal/PhpExtensionScanner.cs (446 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/Internal/PhpFfiDetector.cs (506 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/Internal/PhpFrameworkFingerprint.cs (172 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/Internal/PhpFrameworkFingerprinter.cs (438 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/Internal/PhpFrameworkSurface.cs (191 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/Internal/PhpFrameworkSurfaceScanner.cs (889 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/Internal/PhpIncludeEdge.cs (109 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/Internal/PhpIncludeGraphBuilder.cs (270 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/Internal/PhpIncludeScanner.cs (245 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/Internal/PhpInputNormalizer.cs (287 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/Internal/PhpInstalledJsonReader.cs (362 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/Internal/PhpPackage.cs (108 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/Internal/PhpPharArchive.cs (203 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/Internal/PhpPharScanner.cs (481 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/Internal/PhpProjectInput.cs (112 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/Internal/PhpVersionConflictDetector.cs (418 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/Internal/PhpVirtualFileSystem.cs (183 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/Internal/Runtime/PhpRuntimeEvidence.cs (136 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/Internal/Runtime/PhpRuntimeEvidenceCollector.cs (234 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/Internal/Runtime/PhpRuntimeShim.cs (343 lines)
- Namespace issues:
- none
- Using directive issues:
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/GlobalUsings.cs: using directives not sorted
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/Internal/ComposerLockReader.cs: using directives inside namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/Internal/PhpComposerManifestReader.cs: using directives inside namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/Internal/PhpInstalledJsonReader.cs: using directives inside namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/Internal/Runtime/PhpRuntimeEvidenceCollector.cs: using directives inside namespace
- Naming issues:
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/Internal/PhpConfigCollector.cs: private field naming
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/Internal/PhpExtensionScanner.cs: private field naming
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/Internal/PhpFrameworkFingerprinter.cs: private field naming
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/Internal/PhpInputNormalizer.cs: private field naming
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/Internal/PhpInstalledJsonReader.cs: private field naming
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/Internal/PhpPharScanner.cs: private field naming
- Async issues:
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/PhpLanguageAnalyzer.cs: async method naming
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/Internal/ComposerLockReader.cs: async method naming
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/Internal/PhpComposerManifestReader.cs: async method naming
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/Internal/PhpExtensionScanner.cs: async method naming
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/Internal/PhpFfiDetector.cs: async method naming
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/Internal/PhpFrameworkSurfaceScanner.cs: async method naming
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/Internal/Runtime/PhpRuntimeShim.cs: async method naming
- Service locator matches:
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/Internal/PhpFrameworkSurfaceScanner.cs:111 // Scan app/Providers/EventServiceProvider.php for event listeners
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/Internal/PhpFrameworkSurfaceScanner.cs:112 var eventProviderFile = fileSystem.GetFilesByPattern("**/EventServiceProvider.php").FirstOrDefault();
- Assembly.LoadFrom matches:
- none
### Fix Guidance
- Align interface/field/const naming to standards.
- Move and sort using directives (outside namespace).
- Rename async methods and avoid blocking async calls.
- Replace service locator usage with constructor injection.
- Split files over 100 lines into smaller types or partials.
## File-Level Findings
- Status: FAIL
- Files scanned: 42
- Files with issues: 33
- See docs/implplan/audits/csproj-standards/file-audit.csv for full per-file status.
| File | Issues | Fix guidance |
| --- | --- | --- |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/GlobalUsings.cs | UsingNotSorted | Sort using directives alphabetically. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/PhpLanguageAnalyzer.cs | AsyncNaming; FileLength>100 | Rename async methods to end with Async.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/Internal/ComposerLockReader.cs | AsyncNaming; FileLength>100; UsingInsideNamespace | Move using directives outside namespace.; Rename async methods to end with Async.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/Internal/PhpAutoloadEdge.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/Internal/PhpAutoloadGraphBuilder.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/Internal/PhpCapabilityEvidence.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/Internal/PhpCapabilityScanner.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/Internal/PhpCapabilityScanResult.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/Internal/PhpComposerManifest.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/Internal/PhpComposerManifestReader.cs | AsyncNaming; FileLength>100; UsingInsideNamespace | Move using directives outside namespace.; Rename async methods to end with Async.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/Internal/PhpConfigCollection.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/Internal/PhpConfigCollector.cs | FileLength>100; PrivateFieldNaming | Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/Internal/PhpExtension.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/Internal/PhpExtensionScanner.cs | AsyncNaming; FileLength>100; PrivateFieldNaming | Rename async methods to end with Async.; Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/Internal/PhpFfiDetector.cs | AsyncNaming; FileLength>100 | Rename async methods to end with Async.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/Internal/PhpFrameworkFingerprint.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/Internal/PhpFrameworkFingerprinter.cs | FileLength>100; PrivateFieldNaming | Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/Internal/PhpFrameworkSurface.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/Internal/PhpFrameworkSurfaceScanner.cs | AsyncNaming; FileLength>100; ServiceLocator | Remove service locator usage; use constructor injection.; Rename async methods to end with Async.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/Internal/PhpIncludeEdge.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/Internal/PhpIncludeGraphBuilder.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/Internal/PhpIncludeScanner.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/Internal/PhpInputNormalizer.cs | FileLength>100; PrivateFieldNaming | Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/Internal/PhpInstalledJsonReader.cs | FileLength>100; PrivateFieldNaming; UsingInsideNamespace | Move using directives outside namespace.; Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/Internal/PhpPackage.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/Internal/PhpPharArchive.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/Internal/PhpPharScanner.cs | FileLength>100; PrivateFieldNaming | Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/Internal/PhpProjectInput.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/Internal/PhpVersionConflictDetector.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/Internal/PhpVirtualFileSystem.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/Internal/Runtime/PhpRuntimeEvidence.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/Internal/Runtime/PhpRuntimeEvidenceCollector.cs | FileLength>100; UsingInsideNamespace | Move using directives outside namespace.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Php/Internal/Runtime/PhpRuntimeShim.cs | AsyncNaming; FileLength>100 | Rename async methods to end with Async.; Split file to stay <= 100 lines. |
## Testing Fullness Findings
- Status: FAIL
- Expected layers (heuristic): Performance, Unit
- Detected test projects: src/Scanner/__Tests/StellaOps.Scanner.Analyzers.Lang.Php.Tests/StellaOps.Scanner.Analyzers.Lang.Php.Tests.csproj [Unit]
- Missing layers: Performance
### 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,254 @@
# Audit - StellaOps.Scanner.Analyzers.Lang.Python
## Project
- Path: src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/StellaOps.Scanner.Analyzers.Lang.Python.csproj
- Module: Scanner
- Kind: Library
- Audit date (UTC): 2026-01-30
- Files scanned: 69
- Files with issues: 68
- 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: 53
- Namespace violations: 68
- 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/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/PythonLanguageAnalyzer.cs (881 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/PythonContainerAdapter.cs (353 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/PythonDistributionLoader.cs (1130 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/PythonDistributionVfsLoader.cs (938 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/PythonEnvironmentDetector.cs (327 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/PythonLockFileCollector.cs (830 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/PythonStartupHookDetector.cs (448 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/PythonZipappAdapter.cs (529 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Capabilities/NativeLibraryAnalyzer.cs (559 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Capabilities/PythonCapability.cs (201 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Capabilities/PythonCapabilityDetector.cs (336 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Capabilities/PythonNativeExtension.cs (163 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Capabilities/PythonNativeExtensionScanner.cs (364 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Conflicts/VersionConflictDetector.cs (390 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Dependencies/DependencyGraph.cs (339 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Dependencies/TransitiveDependencyResolver.cs (255 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Entrypoints/PythonEntrypoint.cs (184 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Entrypoints/PythonEntrypointAnalysis.cs (139 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Entrypoints/PythonEntrypointDiscovery.cs (669 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Framework/PythonFrameworkDetector.cs (424 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Framework/PythonFrameworkHint.cs (152 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Framework/PythonFrameworkKind.cs (187 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Framework/PythonProjectConfigParser.cs (328 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Imports/PythonBytecodeImportExtractor.cs (417 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Imports/PythonImport.cs (150 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Imports/PythonImportAnalysis.cs (382 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Imports/PythonImportGraph.cs (563 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Imports/PythonSourceImportExtractor.cs (515 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Licensing/PythonLicenseDetector.cs (272 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Licensing/SpdxLicenseNormalizer.cs (448 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Observations/PythonObservationBuilder.cs (396 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Observations/PythonObservationDocument.cs (232 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Packaging/ContainerOverlayHandler.cs (278 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Packaging/PythonPackageDiscovery.cs (300 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Packaging/PythonPackageInfo.cs (186 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Packaging/PythonPackageScope.cs (101 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Packaging/PythonScopeClassifier.cs (361 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Packaging/Adapters/CondaAdapter.cs (183 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Packaging/Adapters/ContainerLayerAdapter.cs (425 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Packaging/Adapters/DistInfoAdapter.cs (317 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Packaging/Adapters/EggInfoAdapter.cs (418 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Packaging/Adapters/PipEditableAdapter.cs (280 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Packaging/Adapters/PoetryAdapter.cs (306 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Resolver/PythonModuleResolution.cs (280 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Resolver/PythonModuleResolver.cs (547 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/RuntimeEvidence/PythonImportHookScript.cs (195 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/RuntimeEvidence/PythonPathHasher.cs (195 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/RuntimeEvidence/PythonRuntimeEvidenceCollector.cs (398 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Vendoring/VendoredPackageDetector.cs (526 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Vendoring/VendoringMetadataBuilder.cs (125 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/VirtualFileSystem/PythonInputNormalizer.cs (954 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/VirtualFileSystem/PythonProjectAnalysis.cs (123 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/VirtualFileSystem/PythonVirtualFileSystem.cs (698 lines)
- Namespace issues:
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/PythonAnalyzerPlugin.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/PythonLanguageAnalyzer.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/PythonContainerAdapter.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/PythonDistributionLoader.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/PythonDistributionVfsLoader.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/PythonEnvironmentDetector.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/PythonLockFileCollector.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/PythonStartupHookDetector.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/PythonZipappAdapter.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Capabilities/NativeLibraryAnalyzer.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Capabilities/PythonCapability.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Capabilities/PythonCapabilityDetector.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Capabilities/PythonNativeExtension.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Capabilities/PythonNativeExtensionScanner.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Conflicts/VersionConflictDetector.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Dependencies/DependencyGraph.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Dependencies/TransitiveDependencyResolver.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Entrypoints/PythonEntrypoint.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Entrypoints/PythonEntrypointAnalysis.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Entrypoints/PythonEntrypointDiscovery.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Entrypoints/PythonEntrypointKind.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Framework/PythonFrameworkDetector.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Framework/PythonFrameworkHint.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Framework/PythonFrameworkKind.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Framework/PythonProjectConfigParser.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Imports/PythonBytecodeImportExtractor.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Imports/PythonImport.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Imports/PythonImportAnalysis.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Imports/PythonImportGraph.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Imports/PythonImportKind.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Imports/PythonSourceImportExtractor.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Licensing/PythonLicenseDetector.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Licensing/SpdxLicenseNormalizer.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Observations/PythonObservationBuilder.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Observations/PythonObservationDocument.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Observations/PythonObservationSerializer.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Packaging/ContainerOverlayHandler.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Packaging/IPythonPackagingAdapter.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Packaging/PythonPackageDiscovery.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Packaging/PythonPackageInfo.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Packaging/PythonPackageKind.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Packaging/PythonPackageScope.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Packaging/PythonScopeClassifier.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Packaging/Adapters/CondaAdapter.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Packaging/Adapters/ContainerLayerAdapter.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Packaging/Adapters/DistInfoAdapter.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Packaging/Adapters/EggInfoAdapter.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Packaging/Adapters/PipEditableAdapter.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Packaging/Adapters/PoetryAdapter.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Resolver/PythonModuleResolution.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Resolver/PythonModuleResolver.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/RuntimeEvidence/PythonImportHookScript.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/RuntimeEvidence/PythonPathHasher.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/RuntimeEvidence/PythonRuntimeEvent.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/RuntimeEvidence/PythonRuntimeEvidenceCollector.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Vendoring/VendoredPackageDetector.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Vendoring/VendoringMetadataBuilder.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/VirtualFileSystem/PythonFileSource.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/VirtualFileSystem/PythonInputNormalizer.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/VirtualFileSystem/PythonLayoutKind.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/VirtualFileSystem/PythonProjectAnalysis.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/VirtualFileSystem/PythonVersionTarget.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/VirtualFileSystem/PythonVirtualFile.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/VirtualFileSystem/PythonVirtualFileSystem.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/obj/Debug/net10.0/StellaOps.Scanner.Analyzers.Lang.Python.AssemblyInfo.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/obj/Debug/net10.0/StellaOps.Scanner.Analyzers.Lang.Python.GlobalUsings.g.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/obj/Release/net10.0/StellaOps.Scanner.Analyzers.Lang.Python.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: 69
- Files with issues: 68
- See docs/implplan/audits/csproj-standards/file-audit.csv for full per-file status.
| File | Issues | Fix guidance |
| --- | --- | --- |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/PythonAnalyzerPlugin.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/PythonLanguageAnalyzer.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/PythonContainerAdapter.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/PythonDistributionLoader.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/PythonDistributionVfsLoader.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/PythonEnvironmentDetector.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/PythonLockFileCollector.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/PythonStartupHookDetector.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/PythonZipappAdapter.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Capabilities/NativeLibraryAnalyzer.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Capabilities/PythonCapability.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Capabilities/PythonCapabilityDetector.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Capabilities/PythonNativeExtension.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Capabilities/PythonNativeExtensionScanner.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Conflicts/VersionConflictDetector.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Dependencies/DependencyGraph.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Dependencies/TransitiveDependencyResolver.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Entrypoints/PythonEntrypoint.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Entrypoints/PythonEntrypointAnalysis.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Entrypoints/PythonEntrypointDiscovery.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Entrypoints/PythonEntrypointKind.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Framework/PythonFrameworkDetector.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Framework/PythonFrameworkHint.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Framework/PythonFrameworkKind.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Framework/PythonProjectConfigParser.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Imports/PythonBytecodeImportExtractor.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Imports/PythonImport.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Imports/PythonImportAnalysis.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Imports/PythonImportGraph.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Imports/PythonImportKind.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Imports/PythonSourceImportExtractor.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Licensing/PythonLicenseDetector.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Licensing/SpdxLicenseNormalizer.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Observations/PythonObservationBuilder.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Observations/PythonObservationDocument.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Observations/PythonObservationSerializer.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Packaging/ContainerOverlayHandler.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Packaging/IPythonPackagingAdapter.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Packaging/PythonPackageDiscovery.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Packaging/PythonPackageInfo.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Packaging/PythonPackageKind.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Packaging/PythonPackageScope.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Packaging/PythonScopeClassifier.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Packaging/Adapters/CondaAdapter.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Packaging/Adapters/ContainerLayerAdapter.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Packaging/Adapters/DistInfoAdapter.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Packaging/Adapters/EggInfoAdapter.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Packaging/Adapters/PipEditableAdapter.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Packaging/Adapters/PoetryAdapter.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Resolver/PythonModuleResolution.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Resolver/PythonModuleResolver.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/RuntimeEvidence/PythonImportHookScript.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/RuntimeEvidence/PythonPathHasher.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/RuntimeEvidence/PythonRuntimeEvent.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/RuntimeEvidence/PythonRuntimeEvidenceCollector.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Vendoring/VendoredPackageDetector.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Vendoring/VendoringMetadataBuilder.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/VirtualFileSystem/PythonFileSource.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/VirtualFileSystem/PythonInputNormalizer.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/VirtualFileSystem/PythonLayoutKind.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/VirtualFileSystem/PythonProjectAnalysis.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/VirtualFileSystem/PythonVersionTarget.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/VirtualFileSystem/PythonVirtualFile.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/VirtualFileSystem/PythonVirtualFileSystem.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/obj/Debug/net10.0/StellaOps.Scanner.Analyzers.Lang.Python.AssemblyInfo.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/obj/Debug/net10.0/StellaOps.Scanner.Analyzers.Lang.Python.GlobalUsings.g.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/obj/Release/net10.0/StellaOps.Scanner.Analyzers.Lang.Python.GlobalUsings.g.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
## Testing Fullness Findings
- Status: FAIL
- Expected layers (heuristic): Performance, Unit
- Detected test projects: src/Scanner/__Tests/StellaOps.Scanner.Analyzers.Lang.Python.Tests/StellaOps.Scanner.Analyzers.Lang.Python.Tests.csproj [Unit]
- Missing layers: Performance
### 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,223 @@
# Audit - StellaOps.Scanner.Analyzers.Lang.Python
## Project
- Path: src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/StellaOps.Scanner.Analyzers.Lang.Python.csproj
- Module: Scanner
- Kind: Analyzer
- Audit date (UTC): 2026-01-31
- Files scanned: 65
- Files with issues: 55
- 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: 53
- Namespace violations: 0
- Using directive violations: 21
- Naming violations (interfaces/fields/const/async): 29
- Service locator usage (BuildServiceProvider/GetService): 0
- Assembly.LoadFrom usage: 0
### Details
- 100-line files:
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/PythonLanguageAnalyzer.cs (882 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/PythonContainerAdapter.cs (353 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/PythonDistributionLoader.cs (1131 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/PythonDistributionVfsLoader.cs (939 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/PythonEnvironmentDetector.cs (328 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/PythonLockFileCollector.cs (831 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/PythonStartupHookDetector.cs (448 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/PythonZipappAdapter.cs (530 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Capabilities/NativeLibraryAnalyzer.cs (560 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Capabilities/PythonCapability.cs (201 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Capabilities/PythonCapabilityDetector.cs (337 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Capabilities/PythonNativeExtension.cs (164 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Capabilities/PythonNativeExtensionScanner.cs (365 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Conflicts/VersionConflictDetector.cs (391 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Dependencies/DependencyGraph.cs (339 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Dependencies/TransitiveDependencyResolver.cs (256 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Entrypoints/PythonEntrypoint.cs (184 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Entrypoints/PythonEntrypointAnalysis.cs (139 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Entrypoints/PythonEntrypointDiscovery.cs (670 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Framework/PythonFrameworkDetector.cs (425 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Framework/PythonFrameworkHint.cs (152 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Framework/PythonFrameworkKind.cs (187 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Framework/PythonProjectConfigParser.cs (329 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Imports/PythonBytecodeImportExtractor.cs (417 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Imports/PythonImport.cs (150 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Imports/PythonImportAnalysis.cs (382 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Imports/PythonImportGraph.cs (564 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Imports/PythonSourceImportExtractor.cs (515 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Licensing/PythonLicenseDetector.cs (273 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Licensing/SpdxLicenseNormalizer.cs (448 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Observations/PythonObservationBuilder.cs (397 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Observations/PythonObservationDocument.cs (232 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Packaging/ContainerOverlayHandler.cs (278 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Packaging/PythonPackageDiscovery.cs (301 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Packaging/PythonPackageInfo.cs (186 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Packaging/PythonPackageScope.cs (101 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Packaging/PythonScopeClassifier.cs (361 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Packaging/Adapters/CondaAdapter.cs (184 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Packaging/Adapters/ContainerLayerAdapter.cs (426 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Packaging/Adapters/DistInfoAdapter.cs (318 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Packaging/Adapters/EggInfoAdapter.cs (419 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Packaging/Adapters/PipEditableAdapter.cs (281 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Packaging/Adapters/PoetryAdapter.cs (307 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Resolver/PythonModuleResolution.cs (280 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Resolver/PythonModuleResolver.cs (548 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/RuntimeEvidence/PythonImportHookScript.cs (195 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/RuntimeEvidence/PythonPathHasher.cs (195 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/RuntimeEvidence/PythonRuntimeEvidenceCollector.cs (399 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Vendoring/VendoredPackageDetector.cs (527 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Vendoring/VendoringMetadataBuilder.cs (125 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/VirtualFileSystem/PythonInputNormalizer.cs (955 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/VirtualFileSystem/PythonProjectAnalysis.cs (123 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/VirtualFileSystem/PythonVirtualFileSystem.cs (699 lines)
- Namespace issues:
- none
- Using directive issues:
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/GlobalUsings.cs: using directives not sorted
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/PythonDistributionLoader.cs: using directives inside namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/PythonDistributionVfsLoader.cs: using directives inside namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/PythonEnvironmentDetector.cs: using directives inside namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/PythonLockFileCollector.cs: using directives inside namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/PythonZipappAdapter.cs: using directives inside namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Capabilities/NativeLibraryAnalyzer.cs: using directives inside namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Capabilities/PythonCapabilityDetector.cs: using directives inside namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Capabilities/PythonNativeExtensionScanner.cs: using directives inside namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Entrypoints/PythonEntrypointDiscovery.cs: using directives inside namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Framework/PythonFrameworkDetector.cs: using directives inside namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Framework/PythonProjectConfigParser.cs: using directives inside namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Packaging/Adapters/CondaAdapter.cs: using directives inside namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Packaging/Adapters/DistInfoAdapter.cs: using directives inside namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Packaging/Adapters/EggInfoAdapter.cs: using directives inside namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Packaging/Adapters/PipEditableAdapter.cs: using directives inside namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Packaging/Adapters/PoetryAdapter.cs: using directives inside namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/RuntimeEvidence/PythonRuntimeEvidenceCollector.cs: using directives inside namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Vendoring/VendoredPackageDetector.cs: using directives inside namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/VirtualFileSystem/PythonInputNormalizer.cs: using directives inside namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/VirtualFileSystem/PythonVirtualFileSystem.cs: using directives inside namespace
- Naming issues:
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/PythonContainerAdapter.cs: private field naming
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/PythonDistributionLoader.cs: private field naming
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/PythonEnvironmentDetector.cs: private field naming
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/PythonStartupHookDetector.cs: private field naming
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/PythonZipappAdapter.cs: private field naming
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Capabilities/NativeLibraryAnalyzer.cs: private field naming
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Capabilities/NativeLibraryAnalyzer.cs: const naming
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Imports/PythonBytecodeImportExtractor.cs: const naming
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Observations/PythonObservationSerializer.cs: private field naming
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Packaging/PythonScopeClassifier.cs: private field naming
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Resolver/PythonModuleResolver.cs: private field naming
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/RuntimeEvidence/PythonPathHasher.cs: private field naming
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/RuntimeEvidence/PythonRuntimeEvidenceCollector.cs: private field naming
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Vendoring/VendoredPackageDetector.cs: private field naming
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/VirtualFileSystem/PythonInputNormalizer.cs: private field naming
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/VirtualFileSystem/PythonVirtualFileSystem.cs: private field naming
- Async issues:
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/PythonLanguageAnalyzer.cs: async method naming
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/PythonDistributionLoader.cs: async method naming
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/PythonEnvironmentDetector.cs: async method naming
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/PythonLockFileCollector.cs: async method naming
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Capabilities/PythonCapability.cs: missing ConfigureAwait(false)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Entrypoints/PythonEntrypointDiscovery.cs: async method naming
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Imports/PythonBytecodeImportExtractor.cs: async method naming
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Imports/PythonImportGraph.cs: async method naming
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Licensing/PythonLicenseDetector.cs: missing ConfigureAwait(false)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Resolver/PythonModuleResolver.cs: async method naming
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/RuntimeEvidence/PythonRuntimeEvidenceCollector.cs: async method naming
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/VirtualFileSystem/PythonInputNormalizer.cs: async method naming
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/VirtualFileSystem/PythonVirtualFileSystem.cs: async method naming
- Service locator matches:
- none
- Assembly.LoadFrom matches:
- none
### Fix Guidance
- Align interface/field/const naming to standards.
- Move and sort using directives (outside namespace).
- Rename async methods and avoid blocking async calls.
- Split files over 100 lines into smaller types or partials.
## File-Level Findings
- Status: FAIL
- Files scanned: 65
- Files with issues: 55
- See docs/implplan/audits/csproj-standards/file-audit.csv for full per-file status.
| File | Issues | Fix guidance |
| --- | --- | --- |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/GlobalUsings.cs | UsingNotSorted | Sort using directives alphabetically. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/PythonLanguageAnalyzer.cs | AsyncNaming; FileLength>100 | Rename async methods to end with Async.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/PythonContainerAdapter.cs | FileLength>100; PrivateFieldNaming | Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/PythonDistributionLoader.cs | AsyncNaming; FileLength>100; PrivateFieldNaming; UsingInsideNamespace | Move using directives outside namespace.; Rename async methods to end with Async.; Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/PythonDistributionVfsLoader.cs | FileLength>100; UsingInsideNamespace | Move using directives outside namespace.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/PythonEnvironmentDetector.cs | AsyncNaming; FileLength>100; PrivateFieldNaming; UsingInsideNamespace | Move using directives outside namespace.; Rename async methods to end with Async.; Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/PythonLockFileCollector.cs | AsyncNaming; FileLength>100; UsingInsideNamespace | Move using directives outside namespace.; Rename async methods to end with Async.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/PythonStartupHookDetector.cs | FileLength>100; PrivateFieldNaming | Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/PythonZipappAdapter.cs | FileLength>100; PrivateFieldNaming; UsingInsideNamespace | Move using directives outside namespace.; Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Capabilities/NativeLibraryAnalyzer.cs | ConstNaming; FileLength>100; PrivateFieldNaming; UsingInsideNamespace | Move using directives outside namespace.; Rename consts to PascalCase.; Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Capabilities/PythonCapability.cs | ConfigureAwaitMissing; FileLength>100 | Add ConfigureAwait(false) to awaited calls in library-like code.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Capabilities/PythonCapabilityDetector.cs | FileLength>100; UsingInsideNamespace | Move using directives outside namespace.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Capabilities/PythonNativeExtension.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Capabilities/PythonNativeExtensionScanner.cs | FileLength>100; UsingInsideNamespace | Move using directives outside namespace.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Conflicts/VersionConflictDetector.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Dependencies/DependencyGraph.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Dependencies/TransitiveDependencyResolver.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Entrypoints/PythonEntrypoint.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Entrypoints/PythonEntrypointAnalysis.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Entrypoints/PythonEntrypointDiscovery.cs | AsyncNaming; FileLength>100; UsingInsideNamespace | Move using directives outside namespace.; Rename async methods to end with Async.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Framework/PythonFrameworkDetector.cs | FileLength>100; UsingInsideNamespace | Move using directives outside namespace.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Framework/PythonFrameworkHint.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Framework/PythonFrameworkKind.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Framework/PythonProjectConfigParser.cs | FileLength>100; UsingInsideNamespace | Move using directives outside namespace.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Imports/PythonBytecodeImportExtractor.cs | AsyncNaming; ConstNaming; FileLength>100 | Rename async methods to end with Async.; Rename consts to PascalCase.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Imports/PythonImport.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Imports/PythonImportAnalysis.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Imports/PythonImportGraph.cs | AsyncNaming; FileLength>100 | Rename async methods to end with Async.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Imports/PythonSourceImportExtractor.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Licensing/PythonLicenseDetector.cs | ConfigureAwaitMissing; FileLength>100 | Add ConfigureAwait(false) to awaited calls in library-like code.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Licensing/SpdxLicenseNormalizer.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Observations/PythonObservationBuilder.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Observations/PythonObservationDocument.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Observations/PythonObservationSerializer.cs | PrivateFieldNaming | Rename private fields to _camelCase. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Packaging/ContainerOverlayHandler.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Packaging/PythonPackageDiscovery.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Packaging/PythonPackageInfo.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Packaging/PythonPackageScope.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Packaging/PythonScopeClassifier.cs | FileLength>100; PrivateFieldNaming | Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Packaging/Adapters/CondaAdapter.cs | FileLength>100; UsingInsideNamespace | Move using directives outside namespace.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Packaging/Adapters/ContainerLayerAdapter.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Packaging/Adapters/DistInfoAdapter.cs | FileLength>100; UsingInsideNamespace | Move using directives outside namespace.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Packaging/Adapters/EggInfoAdapter.cs | FileLength>100; UsingInsideNamespace | Move using directives outside namespace.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Packaging/Adapters/PipEditableAdapter.cs | FileLength>100; UsingInsideNamespace | Move using directives outside namespace.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Packaging/Adapters/PoetryAdapter.cs | FileLength>100; UsingInsideNamespace | Move using directives outside namespace.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Resolver/PythonModuleResolution.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Resolver/PythonModuleResolver.cs | AsyncNaming; FileLength>100; PrivateFieldNaming | Rename async methods to end with Async.; Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/RuntimeEvidence/PythonImportHookScript.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/RuntimeEvidence/PythonPathHasher.cs | FileLength>100; PrivateFieldNaming | Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/RuntimeEvidence/PythonRuntimeEvidenceCollector.cs | AsyncNaming; FileLength>100; PrivateFieldNaming; UsingInsideNamespace | Move using directives outside namespace.; Rename async methods to end with Async.; Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Vendoring/VendoredPackageDetector.cs | FileLength>100; PrivateFieldNaming; UsingInsideNamespace | Move using directives outside namespace.; Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/Vendoring/VendoringMetadataBuilder.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/VirtualFileSystem/PythonInputNormalizer.cs | AsyncNaming; FileLength>100; PrivateFieldNaming; UsingInsideNamespace | Move using directives outside namespace.; Rename async methods to end with Async.; Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/VirtualFileSystem/PythonProjectAnalysis.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/Internal/VirtualFileSystem/PythonVirtualFileSystem.cs | AsyncNaming; FileLength>100; PrivateFieldNaming; UsingInsideNamespace | Move using directives outside namespace.; Rename async methods to end with Async.; Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
## Testing Fullness Findings
- Status: FAIL
- Expected layers (heuristic): Performance, Unit
- Detected test projects: src/Scanner/__Tests/StellaOps.Scanner.Analyzers.Lang.Python.Tests/StellaOps.Scanner.Analyzers.Lang.Python.Tests.csproj [Unit]
- Missing layers: Performance
### 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,151 @@
# Audit - StellaOps.Scanner.Analyzers.Lang.Ruby
## Project
- Path: src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Ruby/StellaOps.Scanner.Analyzers.Lang.Ruby.csproj
- Module: Scanner
- Kind: Library
- Audit date (UTC): 2026-01-30
- Files scanned: 33
- Files with issues: 32
- 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: 22
- Namespace violations: 32
- 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/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Ruby/RubyLanguageAnalyzer.cs (319 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Ruby/Internal/RubyBundlerConfig.cs (157 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Ruby/Internal/RubyCapabilityDetector.cs (320 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Ruby/Internal/RubyContainerScanner.cs (661 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Ruby/Internal/RubyLockCollector.cs (364 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Ruby/Internal/RubyLockParser.cs (275 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Ruby/Internal/RubyManifestParser.cs (268 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Ruby/Internal/RubyPackage.cs (155 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Ruby/Internal/RubyPackageCollector.cs (142 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Ruby/Internal/RubyRuntimeGraphBuilder.cs (467 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Ruby/Internal/RubyVendorArtifactCollector.cs (375 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Ruby/Internal/Observations/RubyObservationBuilder.cs (308 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Ruby/Internal/Observations/RubyObservationDocument.cs (240 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Ruby/Internal/Observations/RubyObservationSerializer.cs (590 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Ruby/Internal/Policy/RubyPolicyContextBuilder.cs (282 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Ruby/Internal/Policy/RubyPolicySignalEmitter.cs (287 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Ruby/Internal/Runtime/RubyRuntimeEvidence.cs (197 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Ruby/Internal/Runtime/RubyRuntimeEvidenceCollector.cs (376 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Ruby/Internal/Runtime/RubyRuntimeEvidenceIntegrator.cs (257 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Ruby/Internal/Runtime/RubyRuntimeShim.cs (308 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Ruby/Internal/Runtime/RubyRuntimeTraceReader.cs (269 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Ruby/Internal/Runtime/RubyRuntimeTraceRunner.cs (165 lines)
- Namespace issues:
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Ruby/RubyAnalyzerPlugin.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Ruby/RubyLanguageAnalyzer.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Ruby/Internal/RubyBundlerConfig.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Ruby/Internal/RubyCapabilities.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Ruby/Internal/RubyCapabilityDetector.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Ruby/Internal/RubyContainerScanner.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Ruby/Internal/RubyLockCollector.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Ruby/Internal/RubyLockData.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Ruby/Internal/RubyLockEntry.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Ruby/Internal/RubyLockParser.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Ruby/Internal/RubyManifestParser.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Ruby/Internal/RubyPackage.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Ruby/Internal/RubyPackageCollector.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Ruby/Internal/RubyRuntimeGraphBuilder.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Ruby/Internal/RubyRuntimeUsage.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Ruby/Internal/RubyVendorArtifactCollector.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Ruby/Internal/Observations/RubyObservationBuilder.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Ruby/Internal/Observations/RubyObservationDocument.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Ruby/Internal/Observations/RubyObservationSerializer.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Ruby/Internal/Policy/RubyPolicyContextBuilder.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Ruby/Internal/Policy/RubyPolicySignalEmitter.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Ruby/Internal/Runtime/RubyRuntimeEvidence.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Ruby/Internal/Runtime/RubyRuntimeEvidenceCollector.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Ruby/Internal/Runtime/RubyRuntimeEvidenceIntegrator.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Ruby/Internal/Runtime/RubyRuntimePathHasher.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Ruby/Internal/Runtime/RubyRuntimeShim.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Ruby/Internal/Runtime/RubyRuntimeTraceReader.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Ruby/Internal/Runtime/RubyRuntimeTraceRunner.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Ruby/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Ruby/obj/Debug/net10.0/StellaOps.Scanner.Analyzers.Lang.Ruby.AssemblyInfo.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Ruby/obj/Debug/net10.0/StellaOps.Scanner.Analyzers.Lang.Ruby.GlobalUsings.g.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Ruby/obj/Release/net10.0/StellaOps.Scanner.Analyzers.Lang.Ruby.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: 33
- Files with issues: 32
- See docs/implplan/audits/csproj-standards/file-audit.csv for full per-file status.
| File | Issues | Fix guidance |
| --- | --- | --- |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Ruby/RubyAnalyzerPlugin.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Ruby/RubyLanguageAnalyzer.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Ruby/Internal/RubyBundlerConfig.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Ruby/Internal/RubyCapabilities.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Ruby/Internal/RubyCapabilityDetector.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Ruby/Internal/RubyContainerScanner.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Ruby/Internal/RubyLockCollector.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Ruby/Internal/RubyLockData.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Ruby/Internal/RubyLockEntry.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Ruby/Internal/RubyLockParser.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Ruby/Internal/RubyManifestParser.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Ruby/Internal/RubyPackage.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Ruby/Internal/RubyPackageCollector.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Ruby/Internal/RubyRuntimeGraphBuilder.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Ruby/Internal/RubyRuntimeUsage.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Ruby/Internal/RubyVendorArtifactCollector.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Ruby/Internal/Observations/RubyObservationBuilder.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Ruby/Internal/Observations/RubyObservationDocument.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Ruby/Internal/Observations/RubyObservationSerializer.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Ruby/Internal/Policy/RubyPolicyContextBuilder.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Ruby/Internal/Policy/RubyPolicySignalEmitter.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Ruby/Internal/Runtime/RubyRuntimeEvidence.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Ruby/Internal/Runtime/RubyRuntimeEvidenceCollector.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Ruby/Internal/Runtime/RubyRuntimeEvidenceIntegrator.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Ruby/Internal/Runtime/RubyRuntimePathHasher.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Ruby/Internal/Runtime/RubyRuntimeShim.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Ruby/Internal/Runtime/RubyRuntimeTraceReader.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Ruby/Internal/Runtime/RubyRuntimeTraceRunner.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Ruby/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Ruby/obj/Debug/net10.0/StellaOps.Scanner.Analyzers.Lang.Ruby.AssemblyInfo.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Ruby/obj/Debug/net10.0/StellaOps.Scanner.Analyzers.Lang.Ruby.GlobalUsings.g.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Ruby/obj/Release/net10.0/StellaOps.Scanner.Analyzers.Lang.Ruby.GlobalUsings.g.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
## Testing Fullness Findings
- Status: FAIL
- Expected layers (heuristic): Performance, Unit
- Detected test projects: src/Scanner/__Tests/StellaOps.Scanner.Analyzers.Lang.Ruby.Tests/StellaOps.Scanner.Analyzers.Lang.Ruby.Tests.csproj [Unit]; src/Scanner/__Tests/StellaOps.Scanner.Analyzers.Lang.Tests/StellaOps.Scanner.Analyzers.Lang.Tests.csproj [Unit]; src/Scanner/__Tests/StellaOps.Scanner.Worker.Tests/StellaOps.Scanner.Worker.Tests.csproj [Unit]
- Missing layers: Performance
### 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,135 @@
# Audit - StellaOps.Scanner.Analyzers.Lang.Ruby
## Project
- Path: src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Ruby/StellaOps.Scanner.Analyzers.Lang.Ruby.csproj
- Module: Scanner
- Kind: Analyzer
- Audit date (UTC): 2026-01-31
- Files scanned: 29
- Files with issues: 23
- 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: 22
- Namespace violations: 0
- Using directive violations: 9
- Naming violations (interfaces/fields/const/async): 16
- Service locator usage (BuildServiceProvider/GetService): 0
- Assembly.LoadFrom usage: 0
### Details
- 100-line files:
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Ruby/RubyLanguageAnalyzer.cs (320 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Ruby/Internal/RubyBundlerConfig.cs (157 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Ruby/Internal/RubyCapabilityDetector.cs (321 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Ruby/Internal/RubyContainerScanner.cs (661 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Ruby/Internal/RubyLockCollector.cs (365 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Ruby/Internal/RubyLockParser.cs (276 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Ruby/Internal/RubyManifestParser.cs (268 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Ruby/Internal/RubyPackage.cs (155 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Ruby/Internal/RubyPackageCollector.cs (142 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Ruby/Internal/RubyRuntimeGraphBuilder.cs (468 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Ruby/Internal/RubyVendorArtifactCollector.cs (375 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Ruby/Internal/Observations/RubyObservationBuilder.cs (309 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Ruby/Internal/Observations/RubyObservationDocument.cs (240 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Ruby/Internal/Observations/RubyObservationSerializer.cs (591 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Ruby/Internal/Policy/RubyPolicyContextBuilder.cs (282 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Ruby/Internal/Policy/RubyPolicySignalEmitter.cs (288 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Ruby/Internal/Runtime/RubyRuntimeEvidence.cs (197 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Ruby/Internal/Runtime/RubyRuntimeEvidenceCollector.cs (377 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Ruby/Internal/Runtime/RubyRuntimeEvidenceIntegrator.cs (258 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Ruby/Internal/Runtime/RubyRuntimeShim.cs (308 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Ruby/Internal/Runtime/RubyRuntimeTraceReader.cs (270 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Ruby/Internal/Runtime/RubyRuntimeTraceRunner.cs (166 lines)
- Namespace issues:
- none
- Using directive issues:
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Ruby/GlobalUsings.cs: using directives not sorted
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Ruby/Internal/RubyCapabilityDetector.cs: using directives inside namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Ruby/Internal/RubyLockCollector.cs: using directives inside namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Ruby/Internal/RubyLockParser.cs: using directives inside namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Ruby/Internal/RubyRuntimeGraphBuilder.cs: using directives inside namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Ruby/Internal/Observations/RubyObservationSerializer.cs: using directives inside namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Ruby/Internal/Runtime/RubyRuntimeEvidenceCollector.cs: using directives inside namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Ruby/Internal/Runtime/RubyRuntimeTraceReader.cs: using directives inside namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Ruby/Internal/Runtime/RubyRuntimeTraceRunner.cs: using directives inside namespace
- Naming issues:
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Ruby/Internal/RubyCapabilityDetector.cs: private field naming
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Ruby/Internal/RubyContainerScanner.cs: private field naming
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Ruby/Internal/RubyLockCollector.cs: private field naming
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Ruby/Internal/RubyLockParser.cs: private field naming
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Ruby/Internal/RubyManifestParser.cs: private field naming
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Ruby/Internal/RubyRuntimeGraphBuilder.cs: private field naming
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Ruby/Internal/RubyVendorArtifactCollector.cs: private field naming
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Ruby/Internal/Policy/RubyPolicyContextBuilder.cs: private field naming
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Ruby/Internal/Runtime/RubyRuntimeEvidenceCollector.cs: private field naming
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Ruby/Internal/Runtime/RubyRuntimeTraceReader.cs: private field naming
- Async issues:
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Ruby/RubyLanguageAnalyzer.cs: async method naming
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Ruby/Internal/RubyCapabilityDetector.cs: async method naming
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Ruby/Internal/RubyLockCollector.cs: async method naming
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Ruby/Internal/RubyRuntimeGraphBuilder.cs: async method naming
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Ruby/Internal/Runtime/RubyRuntimeShim.cs: async method naming
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Ruby/Internal/Runtime/RubyRuntimeTraceReader.cs: async method naming
- Service locator matches:
- none
- Assembly.LoadFrom matches:
- none
### Fix Guidance
- Align interface/field/const naming to standards.
- Move and sort using directives (outside namespace).
- Rename async methods and avoid blocking async calls.
- Split files over 100 lines into smaller types or partials.
## File-Level Findings
- Status: FAIL
- Files scanned: 29
- Files with issues: 23
- See docs/implplan/audits/csproj-standards/file-audit.csv for full per-file status.
| File | Issues | Fix guidance |
| --- | --- | --- |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Ruby/GlobalUsings.cs | UsingNotSorted | Sort using directives alphabetically. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Ruby/RubyLanguageAnalyzer.cs | AsyncNaming; FileLength>100 | Rename async methods to end with Async.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Ruby/Internal/RubyBundlerConfig.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Ruby/Internal/RubyCapabilityDetector.cs | AsyncNaming; FileLength>100; PrivateFieldNaming; UsingInsideNamespace | Move using directives outside namespace.; Rename async methods to end with Async.; Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Ruby/Internal/RubyContainerScanner.cs | FileLength>100; PrivateFieldNaming | Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Ruby/Internal/RubyLockCollector.cs | AsyncNaming; FileLength>100; PrivateFieldNaming; UsingInsideNamespace | Move using directives outside namespace.; Rename async methods to end with Async.; Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Ruby/Internal/RubyLockParser.cs | FileLength>100; PrivateFieldNaming; UsingInsideNamespace | Move using directives outside namespace.; Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Ruby/Internal/RubyManifestParser.cs | FileLength>100; PrivateFieldNaming | Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Ruby/Internal/RubyPackage.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Ruby/Internal/RubyPackageCollector.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Ruby/Internal/RubyRuntimeGraphBuilder.cs | AsyncNaming; FileLength>100; PrivateFieldNaming; UsingInsideNamespace | Move using directives outside namespace.; Rename async methods to end with Async.; Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Ruby/Internal/RubyVendorArtifactCollector.cs | FileLength>100; PrivateFieldNaming | Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Ruby/Internal/Observations/RubyObservationBuilder.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Ruby/Internal/Observations/RubyObservationDocument.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Ruby/Internal/Observations/RubyObservationSerializer.cs | FileLength>100; UsingInsideNamespace | Move using directives outside namespace.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Ruby/Internal/Policy/RubyPolicyContextBuilder.cs | FileLength>100; PrivateFieldNaming | Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Ruby/Internal/Policy/RubyPolicySignalEmitter.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Ruby/Internal/Runtime/RubyRuntimeEvidence.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Ruby/Internal/Runtime/RubyRuntimeEvidenceCollector.cs | FileLength>100; PrivateFieldNaming; UsingInsideNamespace | Move using directives outside namespace.; Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Ruby/Internal/Runtime/RubyRuntimeEvidenceIntegrator.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Ruby/Internal/Runtime/RubyRuntimeShim.cs | AsyncNaming; FileLength>100 | Rename async methods to end with Async.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Ruby/Internal/Runtime/RubyRuntimeTraceReader.cs | AsyncNaming; FileLength>100; PrivateFieldNaming; UsingInsideNamespace | Move using directives outside namespace.; Rename async methods to end with Async.; Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Ruby/Internal/Runtime/RubyRuntimeTraceRunner.cs | FileLength>100; UsingInsideNamespace | Move using directives outside namespace.; Split file to stay <= 100 lines. |
## Testing Fullness Findings
- Status: FAIL
- Expected layers (heuristic): Performance, Unit
- Detected test projects: src/Scanner/__Tests/StellaOps.Scanner.Analyzers.Lang.Ruby.Tests/StellaOps.Scanner.Analyzers.Lang.Ruby.Tests.csproj [Unit]; src/Scanner/__Tests/StellaOps.Scanner.Analyzers.Lang.Tests/StellaOps.Scanner.Analyzers.Lang.Tests.csproj [Unit]; src/Scanner/__Tests/StellaOps.Scanner.Worker.Tests/StellaOps.Scanner.Worker.Tests.csproj [Unit]
- Missing layers: Performance
### 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,99 @@
# Audit - StellaOps.Scanner.Analyzers.Lang.Rust
## Project
- Path: src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Rust/StellaOps.Scanner.Analyzers.Lang.Rust.csproj
- Module: Scanner
- Kind: Library
- Audit date (UTC): 2026-01-30
- Files scanned: 15
- Files with issues: 14
- 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: 14
- 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/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Rust/Internal/EnhancedRustLicenseDetector.cs (266 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Rust/Internal/RustAnalyzerCollector.cs (728 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Rust/Internal/RustBinaryClassifier.cs (244 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Rust/Internal/RustCargoLockParser.cs (313 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Rust/Internal/RustFingerprintScanner.cs (187 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Rust/Internal/RustLicenseScanner.cs (299 lines)
- Namespace issues:
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Rust/RustAnalyzerPlugin.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Rust/RustLanguageAnalyzer.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Rust/Internal/EnhancedRustLicenseDetector.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Rust/Internal/RustAnalyzerCollector.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Rust/Internal/RustBinaryClassifier.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Rust/Internal/RustCargoLockParser.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Rust/Internal/RustFileCacheKey.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Rust/Internal/RustFileHashCache.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Rust/Internal/RustFingerprintScanner.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Rust/Internal/RustLicenseScanner.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Rust/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Rust/obj/Debug/net10.0/StellaOps.Scanner.Analyzers.Lang.Rust.AssemblyInfo.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Rust/obj/Debug/net10.0/StellaOps.Scanner.Analyzers.Lang.Rust.GlobalUsings.g.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Rust/obj/Release/net10.0/StellaOps.Scanner.Analyzers.Lang.Rust.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: 15
- Files with issues: 14
- See docs/implplan/audits/csproj-standards/file-audit.csv for full per-file status.
| File | Issues | Fix guidance |
| --- | --- | --- |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Rust/RustAnalyzerPlugin.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Rust/RustLanguageAnalyzer.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Rust/Internal/EnhancedRustLicenseDetector.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Rust/Internal/RustAnalyzerCollector.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Rust/Internal/RustBinaryClassifier.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Rust/Internal/RustCargoLockParser.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Rust/Internal/RustFileCacheKey.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Rust/Internal/RustFileHashCache.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Rust/Internal/RustFingerprintScanner.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Rust/Internal/RustLicenseScanner.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Rust/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Rust/obj/Debug/net10.0/StellaOps.Scanner.Analyzers.Lang.Rust.AssemblyInfo.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Rust/obj/Debug/net10.0/StellaOps.Scanner.Analyzers.Lang.Rust.GlobalUsings.g.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Rust/obj/Release/net10.0/StellaOps.Scanner.Analyzers.Lang.Rust.GlobalUsings.g.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
## Testing Fullness Findings
- Status: FAIL
- Expected layers (heuristic): Performance, Unit
- Detected test projects: src/Scanner/__Tests/StellaOps.Scanner.Analyzers.Lang.Tests/StellaOps.Scanner.Analyzers.Lang.Tests.csproj [Unit]
- Missing layers: Performance
### 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,89 @@
# Audit - StellaOps.Scanner.Analyzers.Lang.Rust
## Project
- Path: src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Rust/StellaOps.Scanner.Analyzers.Lang.Rust.csproj
- Module: Scanner
- Kind: Analyzer
- Audit date (UTC): 2026-01-31
- Files scanned: 11
- Files with issues: 8
- 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: 0
- Using directive violations: 6
- Naming violations (interfaces/fields/const/async): 4
- Service locator usage (BuildServiceProvider/GetService): 0
- Assembly.LoadFrom usage: 0
### Details
- 100-line files:
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Rust/Internal/EnhancedRustLicenseDetector.cs (267 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Rust/Internal/RustAnalyzerCollector.cs (728 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Rust/Internal/RustBinaryClassifier.cs (245 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Rust/Internal/RustCargoLockParser.cs (314 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Rust/Internal/RustFingerprintScanner.cs (188 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Rust/Internal/RustLicenseScanner.cs (300 lines)
- Namespace issues:
- none
- Using directive issues:
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Rust/GlobalUsings.cs: using directives not sorted
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Rust/Internal/RustBinaryClassifier.cs: using directives inside namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Rust/Internal/RustCargoLockParser.cs: using directives inside namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Rust/Internal/RustFileHashCache.cs: using directives inside namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Rust/Internal/RustFingerprintScanner.cs: using directives inside namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Rust/Internal/RustLicenseScanner.cs: using directives inside namespace
- Naming issues:
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Rust/Internal/RustAnalyzerCollector.cs: private field naming
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Rust/Internal/RustBinaryClassifier.cs: private field naming
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Rust/Internal/RustFingerprintScanner.cs: private field naming
- Async issues:
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Rust/Internal/EnhancedRustLicenseDetector.cs: missing ConfigureAwait(false)
- Service locator matches:
- none
- Assembly.LoadFrom matches:
- none
### Fix Guidance
- Align interface/field/const naming to standards.
- Move and sort using directives (outside namespace).
- Rename async methods and avoid blocking async calls.
- Split files over 100 lines into smaller types or partials.
## File-Level Findings
- Status: FAIL
- Files scanned: 11
- Files with issues: 8
- See docs/implplan/audits/csproj-standards/file-audit.csv for full per-file status.
| File | Issues | Fix guidance |
| --- | --- | --- |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Rust/GlobalUsings.cs | UsingNotSorted | Sort using directives alphabetically. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Rust/Internal/EnhancedRustLicenseDetector.cs | ConfigureAwaitMissing; FileLength>100 | Add ConfigureAwait(false) to awaited calls in library-like code.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Rust/Internal/RustAnalyzerCollector.cs | FileLength>100; PrivateFieldNaming | Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Rust/Internal/RustBinaryClassifier.cs | FileLength>100; PrivateFieldNaming; UsingInsideNamespace | Move using directives outside namespace.; Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Rust/Internal/RustCargoLockParser.cs | FileLength>100; UsingInsideNamespace | Move using directives outside namespace.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Rust/Internal/RustFileHashCache.cs | UsingInsideNamespace | Move using directives outside namespace. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Rust/Internal/RustFingerprintScanner.cs | FileLength>100; PrivateFieldNaming; UsingInsideNamespace | Move using directives outside namespace.; Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Rust/Internal/RustLicenseScanner.cs | FileLength>100; UsingInsideNamespace | Move using directives outside namespace.; Split file to stay <= 100 lines. |
## Testing Fullness Findings
- Status: FAIL
- Expected layers (heuristic): Performance, Unit
- Detected test projects: src/Scanner/__Tests/StellaOps.Scanner.Analyzers.Lang.Tests/StellaOps.Scanner.Analyzers.Lang.Tests.csproj [Unit]
- Missing layers: Performance
### 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,163 @@
# Audit - StellaOps.Scanner.Analyzers.Lang
## Project
- Path: src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang/StellaOps.Scanner.Analyzers.Lang.csproj
- Module: Scanner
- Kind: Library
- Audit date (UTC): 2026-01-30
- Files scanned: 41
- Files with issues: 40
- 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: 18
- Namespace violations: 40
- 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/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang/Core/CapabilityEvidence.cs (117 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang/Core/CapabilityKind.cs (111 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang/Core/CapabilityScanResult.cs (234 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang/Core/ICapabilityScanner.cs (165 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang/Core/LanguageAnalyzerContext.cs (102 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang/Core/LanguageAnalyzerResult.cs (129 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang/Core/LanguageComponentMapper.cs (224 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang/Core/LanguageComponentRecord.cs (478 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang/Core/LanguageComponentSemanticExtensions.cs (262 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang/Core/Internal/LanguageAnalyzerSurfaceCache.cs (122 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang/Core/Internal/LanguageWorkspaceFingerprint.cs (113 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang/Core/Licensing/CopyrightExtractor.cs (386 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang/Core/Licensing/ILicenseCategorizationService.cs (115 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang/Core/Licensing/LicenseCategorizationService.cs (350 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang/Core/Licensing/LicenseDetectionAggregator.cs (281 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang/Core/Licensing/LicenseDetectionResult.cs (261 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang/Core/Licensing/LicenseTextExtractor.cs (390 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang/Plugin/LanguageAnalyzerPluginCatalog.cs (148 lines)
- Namespace issues:
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang/Core/AnalysisSnapshot.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang/Core/CapabilityEvidence.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang/Core/CapabilityKind.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang/Core/CapabilityRisk.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang/Core/CapabilityScanResult.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang/Core/ICapabilityScanner.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang/Core/ILanguageAnalyzer.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang/Core/LanguageAnalyzerContext.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang/Core/LanguageAnalyzerEngine.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang/Core/LanguageAnalyzerResult.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang/Core/LanguageAnalyzerSecrets.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang/Core/LanguageComponentEvidence.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang/Core/LanguageComponentEvidenceExtensions.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang/Core/LanguageComponentMapper.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang/Core/LanguageComponentRecord.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang/Core/LanguageComponentSemanticExtensions.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang/Core/LanguageEntrypointRecord.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang/Core/LanguageExplicitKey.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang/Core/LanguageUsageHints.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang/Core/Internal/LanguageAnalyzerJson.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang/Core/Internal/LanguageAnalyzerSurfaceCache.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang/Core/Internal/LanguageWorkspaceFingerprint.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang/Core/Licensing/CopyrightExtractor.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang/Core/Licensing/CopyrightNotice.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang/Core/Licensing/ICopyrightExtractor.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang/Core/Licensing/ILicenseCategorizationService.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang/Core/Licensing/ILicenseDetectionAggregator.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang/Core/Licensing/ILicenseTextExtractor.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang/Core/Licensing/LicenseCategorizationService.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang/Core/Licensing/LicenseDetectionAggregator.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang/Core/Licensing/LicenseDetectionResult.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang/Core/Licensing/LicenseDetectionSummary.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang/Core/Licensing/LicenseTextExtractionResult.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang/Core/Licensing/LicenseTextExtractor.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang/obj/Debug/net10.0/StellaOps.Scanner.Analyzers.Lang.AssemblyInfo.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang/obj/Debug/net10.0/StellaOps.Scanner.Analyzers.Lang.GlobalUsings.g.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang/obj/Release/net10.0/StellaOps.Scanner.Analyzers.Lang.GlobalUsings.g.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang/Plugin/ILanguageAnalyzerPlugin.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang/Plugin/LanguageAnalyzerPluginCatalog.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: 40
- See docs/implplan/audits/csproj-standards/file-audit.csv for full per-file status.
| File | Issues | Fix guidance |
| --- | --- | --- |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang/Core/AnalysisSnapshot.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang/Core/CapabilityEvidence.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang/Core/CapabilityKind.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang/Core/CapabilityRisk.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang/Core/CapabilityScanResult.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang/Core/ICapabilityScanner.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang/Core/ILanguageAnalyzer.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang/Core/LanguageAnalyzerContext.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang/Core/LanguageAnalyzerEngine.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang/Core/LanguageAnalyzerResult.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang/Core/LanguageAnalyzerSecrets.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang/Core/LanguageComponentEvidence.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang/Core/LanguageComponentEvidenceExtensions.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang/Core/LanguageComponentMapper.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang/Core/LanguageComponentRecord.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang/Core/LanguageComponentSemanticExtensions.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang/Core/LanguageEntrypointRecord.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang/Core/LanguageExplicitKey.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang/Core/LanguageUsageHints.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang/Core/Internal/LanguageAnalyzerJson.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang/Core/Internal/LanguageAnalyzerSurfaceCache.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang/Core/Internal/LanguageWorkspaceFingerprint.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang/Core/Licensing/CopyrightExtractor.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang/Core/Licensing/CopyrightNotice.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang/Core/Licensing/ICopyrightExtractor.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang/Core/Licensing/ILicenseCategorizationService.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang/Core/Licensing/ILicenseDetectionAggregator.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang/Core/Licensing/ILicenseTextExtractor.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang/Core/Licensing/LicenseCategorizationService.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang/Core/Licensing/LicenseDetectionAggregator.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang/Core/Licensing/LicenseDetectionResult.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang/Core/Licensing/LicenseDetectionSummary.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang/Core/Licensing/LicenseTextExtractionResult.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang/Core/Licensing/LicenseTextExtractor.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang/obj/Debug/net10.0/StellaOps.Scanner.Analyzers.Lang.AssemblyInfo.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang/obj/Debug/net10.0/StellaOps.Scanner.Analyzers.Lang.GlobalUsings.g.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang/obj/Release/net10.0/StellaOps.Scanner.Analyzers.Lang.GlobalUsings.g.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang/Plugin/ILanguageAnalyzerPlugin.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang/Plugin/LanguageAnalyzerPluginCatalog.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): Performance, Unit
- Detected test projects: src/Scanner/__Tests/StellaOps.Scanner.Analyzers.Lang.Bun.Tests/StellaOps.Scanner.Analyzers.Lang.Bun.Tests.csproj [Unit]; src/Scanner/__Tests/StellaOps.Scanner.Analyzers.Lang.Deno.Tests/StellaOps.Scanner.Analyzers.Lang.Deno.Tests.csproj [Unit]; src/Scanner/__Tests/StellaOps.Scanner.Analyzers.Lang.Go.Tests/StellaOps.Scanner.Analyzers.Lang.Go.Tests.csproj [Unit]; src/Scanner/__Tests/StellaOps.Scanner.Analyzers.Lang.Java.Tests/StellaOps.Scanner.Analyzers.Lang.Java.Tests.csproj [Unit]; src/Scanner/__Tests/StellaOps.Scanner.Analyzers.Lang.Node.Tests/StellaOps.Scanner.Analyzers.Lang.Node.Tests.csproj [Unit]; src/Scanner/__Tests/StellaOps.Scanner.Analyzers.Lang.Php.Tests/StellaOps.Scanner.Analyzers.Lang.Php.Tests.csproj [Unit]; src/Scanner/__Tests/StellaOps.Scanner.Analyzers.Lang.Python.Tests/StellaOps.Scanner.Analyzers.Lang.Python.Tests.csproj [Unit]; src/Scanner/__Tests/StellaOps.Scanner.Analyzers.Lang.Ruby.Tests/StellaOps.Scanner.Analyzers.Lang.Ruby.Tests.csproj [Unit]; src/Scanner/__Tests/StellaOps.Scanner.Analyzers.Lang.Tests/StellaOps.Scanner.Analyzers.Lang.Tests.csproj [Unit]
- Missing layers: Performance
### 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,119 @@
# Audit - StellaOps.Scanner.Analyzers.Lang
## Project
- Path: src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang/StellaOps.Scanner.Analyzers.Lang.csproj
- Module: Scanner
- Kind: Analyzer
- Audit date (UTC): 2026-01-31
- Files scanned: 37
- Files with issues: 20
- 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: 18
- Namespace violations: 0
- Using directive violations: 1
- Naming violations (interfaces/fields/const/async): 11
- Service locator usage (BuildServiceProvider/GetService): 3
- Assembly.LoadFrom usage: 1
### Details
- 100-line files:
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang/Core/CapabilityEvidence.cs (117 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang/Core/CapabilityKind.cs (111 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang/Core/CapabilityScanResult.cs (234 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang/Core/ICapabilityScanner.cs (165 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang/Core/LanguageAnalyzerContext.cs (102 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang/Core/LanguageAnalyzerResult.cs (129 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang/Core/LanguageComponentMapper.cs (225 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang/Core/LanguageComponentRecord.cs (478 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang/Core/LanguageComponentSemanticExtensions.cs (262 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang/Core/Internal/LanguageAnalyzerSurfaceCache.cs (123 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang/Core/Internal/LanguageWorkspaceFingerprint.cs (114 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang/Core/Licensing/CopyrightExtractor.cs (386 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang/Core/Licensing/ILicenseCategorizationService.cs (115 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang/Core/Licensing/LicenseCategorizationService.cs (350 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang/Core/Licensing/LicenseDetectionAggregator.cs (281 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang/Core/Licensing/LicenseDetectionResult.cs (261 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang/Core/Licensing/LicenseTextExtractor.cs (390 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang/Plugin/LanguageAnalyzerPluginCatalog.cs (149 lines)
- Namespace issues:
- none
- Using directive issues:
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang/Core/Internal/LanguageWorkspaceFingerprint.cs: using directives inside namespace
- Naming issues:
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang/Core/LanguageComponentSemanticExtensions.cs: private field naming
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang/Core/LanguageUsageHints.cs: private field naming
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang/Core/Internal/LanguageAnalyzerSurfaceCache.cs: private field naming
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang/Core/Internal/LanguageWorkspaceFingerprint.cs: private field naming
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang/Core/Licensing/LicenseTextExtractor.cs: private field naming
- Async issues:
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang/Core/LanguageAnalyzerEngine.cs: async method naming
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang/Core/Internal/LanguageAnalyzerSurfaceCache.cs: blocking async usage
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang/Core/Licensing/CopyrightExtractor.cs: async method naming
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang/Core/Licensing/CopyrightExtractor.cs: missing ConfigureAwait(false)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang/Core/Licensing/LicenseTextExtractor.cs: async method naming
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang/Core/Licensing/LicenseTextExtractor.cs: missing ConfigureAwait(false)
- Service locator matches:
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang/Core/LanguageAnalyzerContext.cs:56 service = Services.GetService(typeof(T)) as T;
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang/Core/LanguageAnalyzerContext.cs:92 var environment = services.GetService(typeof(ISurfaceEnvironment)) as ISurfaceEnvironment;
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang/Core/LanguageAnalyzerContext.cs:98 var provider = services.GetService(typeof(ISurfaceSecretProvider)) as ISurfaceSecretProvider;
- Assembly.LoadFrom matches:
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang/Core/CapabilityKind.cs:102 /// Examples: plugin.Open, Assembly.LoadFrom, dlopen
### Fix Guidance
- Align interface/field/const naming to standards.
- Move and sort using directives (outside namespace).
- Rename async methods and avoid blocking async calls.
- Replace Assembly.LoadFrom usage with plugin loader patterns.
- Replace service locator usage with constructor injection.
- Split files over 100 lines into smaller types or partials.
## File-Level Findings
- Status: FAIL
- Files scanned: 37
- Files with issues: 20
- See docs/implplan/audits/csproj-standards/file-audit.csv for full per-file status.
| File | Issues | Fix guidance |
| --- | --- | --- |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang/Core/CapabilityEvidence.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang/Core/CapabilityKind.cs | AssemblyLoadFrom; FileLength>100 | Avoid Assembly.LoadFrom outside the plugin loader.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang/Core/CapabilityScanResult.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang/Core/ICapabilityScanner.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang/Core/LanguageAnalyzerContext.cs | FileLength>100; ServiceLocator | Remove service locator usage; use constructor injection.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang/Core/LanguageAnalyzerEngine.cs | AsyncNaming | Rename async methods to end with Async. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang/Core/LanguageAnalyzerResult.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang/Core/LanguageComponentMapper.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang/Core/LanguageComponentRecord.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang/Core/LanguageComponentSemanticExtensions.cs | FileLength>100; PrivateFieldNaming | Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang/Core/LanguageUsageHints.cs | PrivateFieldNaming | Rename private fields to _camelCase. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang/Core/Internal/LanguageAnalyzerSurfaceCache.cs | BlockingAsync; FileLength>100; PrivateFieldNaming | Rename private fields to _camelCase.; Replace .Result/.Wait/GetAwaiter().GetResult() with await.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang/Core/Internal/LanguageWorkspaceFingerprint.cs | FileLength>100; PrivateFieldNaming; UsingInsideNamespace | Move using directives outside namespace.; Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang/Core/Licensing/CopyrightExtractor.cs | AsyncNaming; ConfigureAwaitMissing; FileLength>100 | Add ConfigureAwait(false) to awaited calls in library-like code.; Rename async methods to end with Async.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang/Core/Licensing/ILicenseCategorizationService.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang/Core/Licensing/LicenseCategorizationService.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang/Core/Licensing/LicenseDetectionAggregator.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang/Core/Licensing/LicenseDetectionResult.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang/Core/Licensing/LicenseTextExtractor.cs | AsyncNaming; ConfigureAwaitMissing; FileLength>100; PrivateFieldNaming | Add ConfigureAwait(false) to awaited calls in library-like code.; Rename async methods to end with Async.; Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang/Plugin/LanguageAnalyzerPluginCatalog.cs | FileLength>100 | Split file to stay <= 100 lines. |
## Testing Fullness Findings
- Status: FAIL
- Expected layers (heuristic): Performance, Unit
- Detected test projects: src/Scanner/__Tests/StellaOps.Scanner.Analyzers.Lang.Bun.Tests/StellaOps.Scanner.Analyzers.Lang.Bun.Tests.csproj [Unit]; src/Scanner/__Tests/StellaOps.Scanner.Analyzers.Lang.Deno.Tests/StellaOps.Scanner.Analyzers.Lang.Deno.Tests.csproj [Unit]; src/Scanner/__Tests/StellaOps.Scanner.Analyzers.Lang.Go.Tests/StellaOps.Scanner.Analyzers.Lang.Go.Tests.csproj [Unit]; src/Scanner/__Tests/StellaOps.Scanner.Analyzers.Lang.Java.Tests/StellaOps.Scanner.Analyzers.Lang.Java.Tests.csproj [Unit]; src/Scanner/__Tests/StellaOps.Scanner.Analyzers.Lang.Node.Tests/StellaOps.Scanner.Analyzers.Lang.Node.Tests.csproj [Unit]; src/Scanner/__Tests/StellaOps.Scanner.Analyzers.Lang.Php.Tests/StellaOps.Scanner.Analyzers.Lang.Php.Tests.csproj [Unit]; src/Scanner/__Tests/StellaOps.Scanner.Analyzers.Lang.Python.Tests/StellaOps.Scanner.Analyzers.Lang.Python.Tests.csproj [Unit]; src/Scanner/__Tests/StellaOps.Scanner.Analyzers.Lang.Ruby.Tests/StellaOps.Scanner.Analyzers.Lang.Ruby.Tests.csproj [Unit]; src/Scanner/__Tests/StellaOps.Scanner.Analyzers.Lang.Tests/StellaOps.Scanner.Analyzers.Lang.Tests.csproj [Unit]
- Missing layers: Performance
### 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,102 @@
# Audit - StellaOps.Scanner.Analyzers.Native
## Project
- Path: src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Native/StellaOps.Scanner.Analyzers.Native.csproj
- Module: Scanner
- Kind: Library
- Audit date (UTC): 2026-01-30
- Files scanned: 15
- Files with issues: 14
- 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: 9
- Namespace violations: 14
- 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/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Native/NativeReachabilityAnalyzer.cs (257 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Native/Internal/Callgraph/NativeCallgraphBuilder.cs (366 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Native/Internal/Demangle/CompositeDemangler.cs (282 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Native/Internal/Elf/ElfReader.cs (517 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Native/Internal/Elf/ElfTypes.cs (221 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Native/Internal/Graph/NativeGraphDsseWriter.cs (303 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Native/Internal/Graph/NativeReachabilityGraph.cs (357 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Native/RuntimeCapture/Timeline/RuntimeTimeline.cs (185 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Native/RuntimeCapture/Timeline/TimelineBuilder.cs (260 lines)
- Namespace issues:
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Native/NativeReachabilityAnalyzer.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Native/Internal/Callgraph/NativeCallgraphBuilder.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Native/Internal/Demangle/CompositeDemangler.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Native/Internal/Demangle/ISymbolDemangler.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Native/Internal/Elf/ElfReader.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Native/Internal/Elf/ElfTypes.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Native/Internal/Graph/NativeGraphDsseWriter.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Native/Internal/Graph/NativeReachabilityGraph.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Native/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Native/obj/Debug/net10.0/StellaOps.Scanner.Analyzers.Native.AssemblyInfo.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Native/obj/Debug/net10.0/StellaOps.Scanner.Analyzers.Native.GlobalUsings.g.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Native/obj/Release/net10.0/StellaOps.Scanner.Analyzers.Native.GlobalUsings.g.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Native/RuntimeCapture/Timeline/RuntimeTimeline.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Native/RuntimeCapture/Timeline/TimelineBuilder.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: 15
- Files with issues: 14
- See docs/implplan/audits/csproj-standards/file-audit.csv for full per-file status.
| File | Issues | Fix guidance |
| --- | --- | --- |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Native/NativeReachabilityAnalyzer.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Native/Internal/Callgraph/NativeCallgraphBuilder.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Native/Internal/Demangle/CompositeDemangler.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Native/Internal/Demangle/ISymbolDemangler.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Native/Internal/Elf/ElfReader.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Native/Internal/Elf/ElfTypes.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Native/Internal/Graph/NativeGraphDsseWriter.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Native/Internal/Graph/NativeReachabilityGraph.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Native/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Native/obj/Debug/net10.0/StellaOps.Scanner.Analyzers.Native.AssemblyInfo.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Native/obj/Debug/net10.0/StellaOps.Scanner.Analyzers.Native.GlobalUsings.g.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Native/obj/Release/net10.0/StellaOps.Scanner.Analyzers.Native.GlobalUsings.g.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Native/RuntimeCapture/Timeline/RuntimeTimeline.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Native/RuntimeCapture/Timeline/TimelineBuilder.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): Performance, Unit
- Detected test projects: src/Scanner/__Tests/StellaOps.Scanner.Analyzers.Native.Library.Tests/StellaOps.Scanner.Analyzers.Native.Library.Tests.csproj [Unit]
- Missing layers: Performance
### 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,90 @@
# Audit - StellaOps.Scanner.Analyzers.Native
## Project
- Path: src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Native/StellaOps.Scanner.Analyzers.Native.csproj
- Module: Scanner
- Kind: Analyzer
- Audit date (UTC): 2026-01-31
- Files scanned: 11
- Files with issues: 9
- 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: 9
- Namespace violations: 0
- Using directive violations: 1
- Naming violations (interfaces/fields/const/async): 6
- Service locator usage (BuildServiceProvider/GetService): 0
- Assembly.LoadFrom usage: 0
### Details
- 100-line files:
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Native/NativeReachabilityAnalyzer.cs (257 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Native/Internal/Callgraph/NativeCallgraphBuilder.cs (366 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Native/Internal/Demangle/CompositeDemangler.cs (282 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Native/Internal/Elf/ElfReader.cs (517 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Native/Internal/Elf/ElfTypes.cs (221 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Native/Internal/Graph/NativeGraphDsseWriter.cs (303 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Native/Internal/Graph/NativeReachabilityGraph.cs (357 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Native/RuntimeCapture/Timeline/RuntimeTimeline.cs (185 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Native/RuntimeCapture/Timeline/TimelineBuilder.cs (260 lines)
- Namespace issues:
- none
- Using directive issues:
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Native/Internal/Graph/NativeReachabilityGraph.cs: using directives inside namespace
- Naming issues:
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Native/Internal/Elf/ElfReader.cs: const naming
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Native/Internal/Graph/NativeGraphDsseWriter.cs: private field naming
- Async issues:
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Native/NativeReachabilityAnalyzer.cs: async method naming
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Native/NativeReachabilityAnalyzer.cs: missing ConfigureAwait(false)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Native/Internal/Graph/NativeGraphDsseWriter.cs: async method naming
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Native/Internal/Graph/NativeGraphDsseWriter.cs: missing ConfigureAwait(false)
- Service locator matches:
- none
- Assembly.LoadFrom matches:
- none
### Fix Guidance
- Align interface/field/const naming to standards.
- Move and sort using directives (outside namespace).
- Rename async methods and avoid blocking async calls.
- Split files over 100 lines into smaller types or partials.
## File-Level Findings
- Status: FAIL
- Files scanned: 11
- Files with issues: 9
- See docs/implplan/audits/csproj-standards/file-audit.csv for full per-file status.
| File | Issues | Fix guidance |
| --- | --- | --- |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Native/NativeReachabilityAnalyzer.cs | AsyncNaming; ConfigureAwaitMissing; FileLength>100 | Add ConfigureAwait(false) to awaited calls in library-like code.; Rename async methods to end with Async.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Native/Internal/Callgraph/NativeCallgraphBuilder.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Native/Internal/Demangle/CompositeDemangler.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Native/Internal/Elf/ElfReader.cs | ConstNaming; FileLength>100 | Rename consts to PascalCase.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Native/Internal/Elf/ElfTypes.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Native/Internal/Graph/NativeGraphDsseWriter.cs | AsyncNaming; ConfigureAwaitMissing; FileLength>100; PrivateFieldNaming | Add ConfigureAwait(false) to awaited calls in library-like code.; Rename async methods to end with Async.; Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Native/Internal/Graph/NativeReachabilityGraph.cs | FileLength>100; UsingInsideNamespace | Move using directives outside namespace.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Native/RuntimeCapture/Timeline/RuntimeTimeline.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Native/RuntimeCapture/Timeline/TimelineBuilder.cs | FileLength>100 | Split file to stay <= 100 lines. |
## Testing Fullness Findings
- Status: FAIL
- Expected layers (heuristic): Performance, Unit
- Detected test projects: src/Scanner/__Tests/StellaOps.Scanner.Analyzers.Native.Library.Tests/StellaOps.Scanner.Analyzers.Native.Library.Tests.csproj [Unit]
- Missing layers: Performance
### 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,81 @@
# Audit - StellaOps.Scanner.Analyzers.OS.Apk
## Project
- Path: src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Apk/StellaOps.Scanner.Analyzers.OS.Apk.csproj
- Module: Scanner
- Kind: Library
- Audit date (UTC): 2026-01-30
- Files scanned: 8
- 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: 2
- 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/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Apk/ApkDatabaseParser.cs (204 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Apk/ApkPackageAnalyzer.cs (111 lines)
- Namespace issues:
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Apk/ApkAnalyzerPlugin.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Apk/ApkDatabaseParser.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Apk/ApkPackageAnalyzer.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Apk/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Apk/obj/Debug/net10.0/StellaOps.Scanner.Analyzers.OS.Apk.AssemblyInfo.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Apk/obj/Debug/net10.0/StellaOps.Scanner.Analyzers.OS.Apk.GlobalUsings.g.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Apk/obj/Release/net10.0/StellaOps.Scanner.Analyzers.OS.Apk.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: 8
- Files with issues: 7
- See docs/implplan/audits/csproj-standards/file-audit.csv for full per-file status.
| File | Issues | Fix guidance |
| --- | --- | --- |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Apk/ApkAnalyzerPlugin.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Apk/ApkDatabaseParser.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Apk/ApkPackageAnalyzer.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Apk/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Apk/obj/Debug/net10.0/StellaOps.Scanner.Analyzers.OS.Apk.AssemblyInfo.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Apk/obj/Debug/net10.0/StellaOps.Scanner.Analyzers.OS.Apk.GlobalUsings.g.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Apk/obj/Release/net10.0/StellaOps.Scanner.Analyzers.OS.Apk.GlobalUsings.g.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
## Testing Fullness Findings
- Status: FAIL
- Expected layers (heuristic): Performance, Unit
- Detected test projects: src/Scanner/__Tests/StellaOps.Scanner.Analyzers.OS.Tests/StellaOps.Scanner.Analyzers.OS.Tests.csproj [Unit]
- Missing layers: Performance
### 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,73 @@
# Audit - StellaOps.Scanner.Analyzers.OS.Apk
## Project
- Path: src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Apk/StellaOps.Scanner.Analyzers.OS.Apk.csproj
- Module: Scanner
- Kind: Analyzer
- Audit date (UTC): 2026-01-31
- Files scanned: 4
- Files with issues: 3
- 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: 0
- Using directive violations: 1
- Naming violations (interfaces/fields/const/async): 1
- Service locator usage (BuildServiceProvider/GetService): 1
- Assembly.LoadFrom usage: 0
### Details
- 100-line files:
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Apk/ApkDatabaseParser.cs (204 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Apk/ApkPackageAnalyzer.cs (113 lines)
- Namespace issues:
- none
- Using directive issues:
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Apk/ApkPackageAnalyzer.cs: using directives inside namespace
- Naming issues:
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Apk/ApkPackageAnalyzer.cs: private field naming
- Async issues:
- none
- Service locator matches:
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Apk/ApkAnalyzerPlugin.cs:19 var loggerFactory = services.GetRequiredService<ILoggerFactory>();
- Assembly.LoadFrom matches:
- none
### Fix Guidance
- Align interface/field/const naming to standards.
- Move and sort using directives (outside namespace).
- Replace service locator usage with constructor injection.
- Split files over 100 lines into smaller types or partials.
## File-Level Findings
- Status: FAIL
- Files scanned: 4
- Files with issues: 3
- See docs/implplan/audits/csproj-standards/file-audit.csv for full per-file status.
| File | Issues | Fix guidance |
| --- | --- | --- |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Apk/ApkAnalyzerPlugin.cs | ServiceLocator | Remove service locator usage; use constructor injection. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Apk/ApkDatabaseParser.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Apk/ApkPackageAnalyzer.cs | FileLength>100; PrivateFieldNaming; UsingInsideNamespace | Move using directives outside namespace.; Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
## Testing Fullness Findings
- Status: FAIL
- Expected layers (heuristic): Performance, Unit
- Detected test projects: src/Scanner/__Tests/StellaOps.Scanner.Analyzers.OS.Tests/StellaOps.Scanner.Analyzers.OS.Tests.csproj [Unit]
- Missing layers: Performance
### 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,81 @@
# Audit - StellaOps.Scanner.Analyzers.OS.Dpkg
## Project
- Path: src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Dpkg/StellaOps.Scanner.Analyzers.OS.Dpkg.csproj
- Module: Scanner
- Kind: Library
- Audit date (UTC): 2026-01-30
- Files scanned: 8
- 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: 2
- 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/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Dpkg/DpkgPackageAnalyzer.cs (269 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Dpkg/DpkgStatusParser.cs (254 lines)
- Namespace issues:
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Dpkg/DpkgAnalyzerPlugin.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Dpkg/DpkgPackageAnalyzer.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Dpkg/DpkgStatusParser.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Dpkg/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Dpkg/obj/Debug/net10.0/StellaOps.Scanner.Analyzers.OS.Dpkg.AssemblyInfo.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Dpkg/obj/Debug/net10.0/StellaOps.Scanner.Analyzers.OS.Dpkg.GlobalUsings.g.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Dpkg/obj/Release/net10.0/StellaOps.Scanner.Analyzers.OS.Dpkg.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: 8
- Files with issues: 7
- See docs/implplan/audits/csproj-standards/file-audit.csv for full per-file status.
| File | Issues | Fix guidance |
| --- | --- | --- |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Dpkg/DpkgAnalyzerPlugin.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Dpkg/DpkgPackageAnalyzer.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Dpkg/DpkgStatusParser.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Dpkg/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Dpkg/obj/Debug/net10.0/StellaOps.Scanner.Analyzers.OS.Dpkg.AssemblyInfo.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Dpkg/obj/Debug/net10.0/StellaOps.Scanner.Analyzers.OS.Dpkg.GlobalUsings.g.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Dpkg/obj/Release/net10.0/StellaOps.Scanner.Analyzers.OS.Dpkg.GlobalUsings.g.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
## Testing Fullness Findings
- Status: FAIL
- Expected layers (heuristic): Performance, Unit
- Detected test projects: src/Scanner/__Tests/StellaOps.Scanner.Analyzers.OS.Tests/StellaOps.Scanner.Analyzers.OS.Tests.csproj [Unit]
- Missing layers: Performance
### 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,74 @@
# Audit - StellaOps.Scanner.Analyzers.OS.Dpkg
## Project
- Path: src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Dpkg/StellaOps.Scanner.Analyzers.OS.Dpkg.csproj
- Module: Scanner
- Kind: Analyzer
- Audit date (UTC): 2026-01-31
- Files scanned: 4
- Files with issues: 3
- 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: 0
- Using directive violations: 2
- Naming violations (interfaces/fields/const/async): 1
- Service locator usage (BuildServiceProvider/GetService): 1
- Assembly.LoadFrom usage: 0
### Details
- 100-line files:
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Dpkg/DpkgPackageAnalyzer.cs (270 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Dpkg/DpkgStatusParser.cs (255 lines)
- Namespace issues:
- none
- Using directive issues:
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Dpkg/DpkgPackageAnalyzer.cs: using directives inside namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Dpkg/DpkgStatusParser.cs: using directives inside namespace
- Naming issues:
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Dpkg/DpkgPackageAnalyzer.cs: private field naming
- Async issues:
- none
- Service locator matches:
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Dpkg/DpkgAnalyzerPlugin.cs:19 var loggerFactory = services.GetRequiredService<ILoggerFactory>();
- Assembly.LoadFrom matches:
- none
### Fix Guidance
- Align interface/field/const naming to standards.
- Move and sort using directives (outside namespace).
- Replace service locator usage with constructor injection.
- Split files over 100 lines into smaller types or partials.
## File-Level Findings
- Status: FAIL
- Files scanned: 4
- Files with issues: 3
- See docs/implplan/audits/csproj-standards/file-audit.csv for full per-file status.
| File | Issues | Fix guidance |
| --- | --- | --- |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Dpkg/DpkgAnalyzerPlugin.cs | ServiceLocator | Remove service locator usage; use constructor injection. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Dpkg/DpkgPackageAnalyzer.cs | FileLength>100; PrivateFieldNaming; UsingInsideNamespace | Move using directives outside namespace.; Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Dpkg/DpkgStatusParser.cs | FileLength>100; UsingInsideNamespace | Move using directives outside namespace.; Split file to stay <= 100 lines. |
## Testing Fullness Findings
- Status: FAIL
- Expected layers (heuristic): Performance, Unit
- Detected test projects: src/Scanner/__Tests/StellaOps.Scanner.Analyzers.OS.Tests/StellaOps.Scanner.Analyzers.OS.Tests.csproj [Unit]
- Missing layers: Performance
### 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,81 @@
# Audit - StellaOps.Scanner.Analyzers.OS.Homebrew
## Project
- Path: src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Homebrew/StellaOps.Scanner.Analyzers.OS.Homebrew.csproj
- Module: Scanner
- Kind: Library
- Audit date (UTC): 2026-01-30
- Files scanned: 8
- 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: 2
- 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/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Homebrew/HomebrewPackageAnalyzer.cs (387 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Homebrew/HomebrewReceiptParser.cs (238 lines)
- Namespace issues:
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Homebrew/HomebrewAnalyzerPlugin.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Homebrew/HomebrewPackageAnalyzer.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Homebrew/HomebrewReceiptParser.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Homebrew/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Homebrew/obj/Debug/net10.0/StellaOps.Scanner.Analyzers.OS.Homebrew.AssemblyInfo.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Homebrew/obj/Debug/net10.0/StellaOps.Scanner.Analyzers.OS.Homebrew.GlobalUsings.g.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Homebrew/obj/Release/net10.0/StellaOps.Scanner.Analyzers.OS.Homebrew.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: 8
- Files with issues: 7
- See docs/implplan/audits/csproj-standards/file-audit.csv for full per-file status.
| File | Issues | Fix guidance |
| --- | --- | --- |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Homebrew/HomebrewAnalyzerPlugin.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Homebrew/HomebrewPackageAnalyzer.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Homebrew/HomebrewReceiptParser.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Homebrew/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Homebrew/obj/Debug/net10.0/StellaOps.Scanner.Analyzers.OS.Homebrew.AssemblyInfo.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Homebrew/obj/Debug/net10.0/StellaOps.Scanner.Analyzers.OS.Homebrew.GlobalUsings.g.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Homebrew/obj/Release/net10.0/StellaOps.Scanner.Analyzers.OS.Homebrew.GlobalUsings.g.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
## Testing Fullness Findings
- Status: FAIL
- Expected layers (heuristic): Performance, Unit
- Detected test projects: src/Scanner/__Tests/StellaOps.Scanner.Analyzers.OS.Homebrew.Tests/StellaOps.Scanner.Analyzers.OS.Homebrew.Tests.csproj [Unit]
- Missing layers: Performance
### 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,74 @@
# Audit - StellaOps.Scanner.Analyzers.OS.Homebrew
## Project
- Path: src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Homebrew/StellaOps.Scanner.Analyzers.OS.Homebrew.csproj
- Module: Scanner
- Kind: Analyzer
- Audit date (UTC): 2026-01-31
- Files scanned: 4
- Files with issues: 3
- 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: 0
- Using directive violations: 1
- Naming violations (interfaces/fields/const/async): 2
- Service locator usage (BuildServiceProvider/GetService): 1
- Assembly.LoadFrom usage: 0
### Details
- 100-line files:
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Homebrew/HomebrewPackageAnalyzer.cs (388 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Homebrew/HomebrewReceiptParser.cs (240 lines)
- Namespace issues:
- none
- Using directive issues:
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Homebrew/HomebrewReceiptParser.cs: using directives inside namespace
- Naming issues:
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Homebrew/HomebrewPackageAnalyzer.cs: private field naming
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Homebrew/HomebrewReceiptParser.cs: private field naming
- Async issues:
- none
- Service locator matches:
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Homebrew/HomebrewAnalyzerPlugin.cs:23 var loggerFactory = services.GetRequiredService<ILoggerFactory>();
- Assembly.LoadFrom matches:
- none
### Fix Guidance
- Align interface/field/const naming to standards.
- Move and sort using directives (outside namespace).
- Replace service locator usage with constructor injection.
- Split files over 100 lines into smaller types or partials.
## File-Level Findings
- Status: FAIL
- Files scanned: 4
- Files with issues: 3
- See docs/implplan/audits/csproj-standards/file-audit.csv for full per-file status.
| File | Issues | Fix guidance |
| --- | --- | --- |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Homebrew/HomebrewAnalyzerPlugin.cs | ServiceLocator | Remove service locator usage; use constructor injection. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Homebrew/HomebrewPackageAnalyzer.cs | FileLength>100; PrivateFieldNaming | Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Homebrew/HomebrewReceiptParser.cs | FileLength>100; PrivateFieldNaming; UsingInsideNamespace | Move using directives outside namespace.; Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
## Testing Fullness Findings
- Status: FAIL
- Expected layers (heuristic): Performance, Unit
- Detected test projects: src/Scanner/__Tests/StellaOps.Scanner.Analyzers.OS.Homebrew.Tests/StellaOps.Scanner.Analyzers.OS.Homebrew.Tests.csproj [Unit]
- Missing layers: Performance
### 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.Scanner.Analyzers.OS.MacOsBundle
## Project
- Path: src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.MacOsBundle/StellaOps.Scanner.Analyzers.OS.MacOsBundle.csproj
- Module: Scanner
- Kind: Library
- Audit date (UTC): 2026-01-30
- Files scanned: 9
- Files with issues: 8
- 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: 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/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.MacOsBundle/EntitlementsParser.cs (231 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.MacOsBundle/InfoPlistParser.cs (133 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.MacOsBundle/MacOsBundleAnalyzer.cs (440 lines)
- Namespace issues:
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.MacOsBundle/EntitlementsParser.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.MacOsBundle/InfoPlistParser.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.MacOsBundle/MacOsBundleAnalyzer.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.MacOsBundle/MacOsBundleAnalyzerPlugin.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.MacOsBundle/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.MacOsBundle/obj/Debug/net10.0/StellaOps.Scanner.Analyzers.OS.MacOsBundle.AssemblyInfo.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.MacOsBundle/obj/Debug/net10.0/StellaOps.Scanner.Analyzers.OS.MacOsBundle.GlobalUsings.g.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.MacOsBundle/obj/Release/net10.0/StellaOps.Scanner.Analyzers.OS.MacOsBundle.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: 9
- Files with issues: 8
- See docs/implplan/audits/csproj-standards/file-audit.csv for full per-file status.
| File | Issues | Fix guidance |
| --- | --- | --- |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.MacOsBundle/EntitlementsParser.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.MacOsBundle/InfoPlistParser.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.MacOsBundle/MacOsBundleAnalyzer.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.MacOsBundle/MacOsBundleAnalyzerPlugin.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.MacOsBundle/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.MacOsBundle/obj/Debug/net10.0/StellaOps.Scanner.Analyzers.OS.MacOsBundle.AssemblyInfo.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.MacOsBundle/obj/Debug/net10.0/StellaOps.Scanner.Analyzers.OS.MacOsBundle.GlobalUsings.g.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.MacOsBundle/obj/Release/net10.0/StellaOps.Scanner.Analyzers.OS.MacOsBundle.GlobalUsings.g.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
## Testing Fullness Findings
- Status: FAIL
- Expected layers (heuristic): Performance, Unit
- Detected test projects: src/Scanner/__Tests/StellaOps.Scanner.Analyzers.OS.MacOsBundle.Tests/StellaOps.Scanner.Analyzers.OS.MacOsBundle.Tests.csproj [Unit]
- Missing layers: Performance
### 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,78 @@
# Audit - StellaOps.Scanner.Analyzers.OS.MacOsBundle
## Project
- Path: src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.MacOsBundle/StellaOps.Scanner.Analyzers.OS.MacOsBundle.csproj
- Module: Scanner
- Kind: Analyzer
- Audit date (UTC): 2026-01-31
- Files scanned: 5
- Files with issues: 4
- 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: 0
- Using directive violations: 3
- Naming violations (interfaces/fields/const/async): 2
- Service locator usage (BuildServiceProvider/GetService): 1
- Assembly.LoadFrom usage: 0
### Details
- 100-line files:
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.MacOsBundle/EntitlementsParser.cs (232 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.MacOsBundle/InfoPlistParser.cs (134 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.MacOsBundle/MacOsBundleAnalyzer.cs (441 lines)
- Namespace issues:
- none
- Using directive issues:
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.MacOsBundle/EntitlementsParser.cs: using directives inside namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.MacOsBundle/InfoPlistParser.cs: using directives inside namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.MacOsBundle/MacOsBundleAnalyzer.cs: using directives inside namespace
- Naming issues:
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.MacOsBundle/EntitlementsParser.cs: private field naming
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.MacOsBundle/MacOsBundleAnalyzer.cs: private field naming
- Async issues:
- none
- Service locator matches:
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.MacOsBundle/MacOsBundleAnalyzerPlugin.cs:23 var loggerFactory = services.GetRequiredService<ILoggerFactory>();
- Assembly.LoadFrom matches:
- none
### Fix Guidance
- Align interface/field/const naming to standards.
- Move and sort using directives (outside namespace).
- Replace service locator usage with constructor injection.
- Split files over 100 lines into smaller types or partials.
## File-Level Findings
- Status: FAIL
- Files scanned: 5
- Files with issues: 4
- See docs/implplan/audits/csproj-standards/file-audit.csv for full per-file status.
| File | Issues | Fix guidance |
| --- | --- | --- |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.MacOsBundle/EntitlementsParser.cs | FileLength>100; PrivateFieldNaming; UsingInsideNamespace | Move using directives outside namespace.; Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.MacOsBundle/InfoPlistParser.cs | FileLength>100; UsingInsideNamespace | Move using directives outside namespace.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.MacOsBundle/MacOsBundleAnalyzer.cs | FileLength>100; PrivateFieldNaming; UsingInsideNamespace | Move using directives outside namespace.; Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.MacOsBundle/MacOsBundleAnalyzerPlugin.cs | ServiceLocator | Remove service locator usage; use constructor injection. |
## Testing Fullness Findings
- Status: FAIL
- Expected layers (heuristic): Performance, Unit
- Detected test projects: src/Scanner/__Tests/StellaOps.Scanner.Analyzers.OS.MacOsBundle.Tests/StellaOps.Scanner.Analyzers.OS.MacOsBundle.Tests.csproj [Unit]
- Missing layers: Performance
### 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.Scanner.Analyzers.OS.Pkgutil
## Project
- Path: src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Pkgutil/StellaOps.Scanner.Analyzers.OS.Pkgutil.csproj
- Module: Scanner
- Kind: Library
- Audit date (UTC): 2026-01-30
- Files scanned: 9
- Files with issues: 8
- 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: 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/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Pkgutil/BomParser.cs (199 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Pkgutil/PkgutilPackageAnalyzer.cs (228 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Pkgutil/PkgutilReceiptParser.cs (155 lines)
- Namespace issues:
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Pkgutil/BomParser.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Pkgutil/PkgutilAnalyzerPlugin.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Pkgutil/PkgutilPackageAnalyzer.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Pkgutil/PkgutilReceiptParser.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Pkgutil/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Pkgutil/obj/Debug/net10.0/StellaOps.Scanner.Analyzers.OS.Pkgutil.AssemblyInfo.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Pkgutil/obj/Debug/net10.0/StellaOps.Scanner.Analyzers.OS.Pkgutil.GlobalUsings.g.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Pkgutil/obj/Release/net10.0/StellaOps.Scanner.Analyzers.OS.Pkgutil.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: 9
- Files with issues: 8
- See docs/implplan/audits/csproj-standards/file-audit.csv for full per-file status.
| File | Issues | Fix guidance |
| --- | --- | --- |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Pkgutil/BomParser.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Pkgutil/PkgutilAnalyzerPlugin.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Pkgutil/PkgutilPackageAnalyzer.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Pkgutil/PkgutilReceiptParser.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Pkgutil/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Pkgutil/obj/Debug/net10.0/StellaOps.Scanner.Analyzers.OS.Pkgutil.AssemblyInfo.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Pkgutil/obj/Debug/net10.0/StellaOps.Scanner.Analyzers.OS.Pkgutil.GlobalUsings.g.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Pkgutil/obj/Release/net10.0/StellaOps.Scanner.Analyzers.OS.Pkgutil.GlobalUsings.g.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
## Testing Fullness Findings
- Status: FAIL
- Expected layers (heuristic): Performance, Unit
- Detected test projects: src/Scanner/__Tests/StellaOps.Scanner.Analyzers.OS.Pkgutil.Tests/StellaOps.Scanner.Analyzers.OS.Pkgutil.Tests.csproj [Unit]
- Missing layers: Performance
### 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,77 @@
# Audit - StellaOps.Scanner.Analyzers.OS.Pkgutil
## Project
- Path: src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Pkgutil/StellaOps.Scanner.Analyzers.OS.Pkgutil.csproj
- Module: Scanner
- Kind: Analyzer
- Audit date (UTC): 2026-01-31
- Files scanned: 5
- Files with issues: 4
- 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: 0
- Using directive violations: 2
- Naming violations (interfaces/fields/const/async): 2
- Service locator usage (BuildServiceProvider/GetService): 1
- Assembly.LoadFrom usage: 0
### Details
- 100-line files:
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Pkgutil/BomParser.cs (200 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Pkgutil/PkgutilPackageAnalyzer.cs (229 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Pkgutil/PkgutilReceiptParser.cs (156 lines)
- Namespace issues:
- none
- Using directive issues:
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Pkgutil/BomParser.cs: using directives inside namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Pkgutil/PkgutilReceiptParser.cs: using directives inside namespace
- Naming issues:
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Pkgutil/BomParser.cs: private field naming
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Pkgutil/PkgutilPackageAnalyzer.cs: private field naming
- Async issues:
- none
- Service locator matches:
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Pkgutil/PkgutilAnalyzerPlugin.cs:23 var loggerFactory = services.GetRequiredService<ILoggerFactory>();
- Assembly.LoadFrom matches:
- none
### Fix Guidance
- Align interface/field/const naming to standards.
- Move and sort using directives (outside namespace).
- Replace service locator usage with constructor injection.
- Split files over 100 lines into smaller types or partials.
## File-Level Findings
- Status: FAIL
- Files scanned: 5
- Files with issues: 4
- See docs/implplan/audits/csproj-standards/file-audit.csv for full per-file status.
| File | Issues | Fix guidance |
| --- | --- | --- |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Pkgutil/BomParser.cs | FileLength>100; PrivateFieldNaming; UsingInsideNamespace | Move using directives outside namespace.; Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Pkgutil/PkgutilAnalyzerPlugin.cs | ServiceLocator | Remove service locator usage; use constructor injection. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Pkgutil/PkgutilPackageAnalyzer.cs | FileLength>100; PrivateFieldNaming | Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Pkgutil/PkgutilReceiptParser.cs | FileLength>100; UsingInsideNamespace | Move using directives outside namespace.; Split file to stay <= 100 lines. |
## Testing Fullness Findings
- Status: FAIL
- Expected layers (heuristic): Performance, Unit
- Detected test projects: src/Scanner/__Tests/StellaOps.Scanner.Analyzers.OS.Pkgutil.Tests/StellaOps.Scanner.Analyzers.OS.Pkgutil.Tests.csproj [Unit]
- Missing layers: Performance
### 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,93 @@
# Audit - StellaOps.Scanner.Analyzers.OS.Rpm
## Project
- Path: src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Rpm/StellaOps.Scanner.Analyzers.OS.Rpm.csproj
- Module: Scanner
- Kind: Library
- Audit date (UTC): 2026-01-30
- Files scanned: 13
- Files with issues: 12
- 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: 12
- 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/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Rpm/RpmDatabaseReader.cs (417 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Rpm/RpmPackageAnalyzer.cs (138 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Rpm/Internal/BerkeleyDbReader.cs (212 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Rpm/Internal/RpmHeaderParser.cs (480 lines)
- Namespace issues:
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Rpm/IRpmDatabaseReader.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Rpm/RpmAnalyzerPlugin.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Rpm/RpmDatabaseReader.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Rpm/RpmPackageAnalyzer.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Rpm/Internal/BerkeleyDbReader.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Rpm/Internal/RpmHeader.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Rpm/Internal/RpmHeaderParser.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Rpm/Internal/RpmTags.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Rpm/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Rpm/obj/Debug/net10.0/StellaOps.Scanner.Analyzers.OS.Rpm.AssemblyInfo.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Rpm/obj/Debug/net10.0/StellaOps.Scanner.Analyzers.OS.Rpm.GlobalUsings.g.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Rpm/obj/Release/net10.0/StellaOps.Scanner.Analyzers.OS.Rpm.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: 13
- Files with issues: 12
- See docs/implplan/audits/csproj-standards/file-audit.csv for full per-file status.
| File | Issues | Fix guidance |
| --- | --- | --- |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Rpm/IRpmDatabaseReader.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Rpm/RpmAnalyzerPlugin.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Rpm/RpmDatabaseReader.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Rpm/RpmPackageAnalyzer.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Rpm/Internal/BerkeleyDbReader.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Rpm/Internal/RpmHeader.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Rpm/Internal/RpmHeaderParser.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Rpm/Internal/RpmTags.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Rpm/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Rpm/obj/Debug/net10.0/StellaOps.Scanner.Analyzers.OS.Rpm.AssemblyInfo.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Rpm/obj/Debug/net10.0/StellaOps.Scanner.Analyzers.OS.Rpm.GlobalUsings.g.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Rpm/obj/Release/net10.0/StellaOps.Scanner.Analyzers.OS.Rpm.GlobalUsings.g.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
## Testing Fullness Findings
- Status: FAIL
- Expected layers (heuristic): Performance, Unit
- Detected test projects: src/Scanner/__Tests/StellaOps.Scanner.Analyzers.OS.Tests/StellaOps.Scanner.Analyzers.OS.Tests.csproj [Unit]
- Missing layers: Performance
### 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,77 @@
# Audit - StellaOps.Scanner.Analyzers.OS.Rpm
## Project
- Path: src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Rpm/StellaOps.Scanner.Analyzers.OS.Rpm.csproj
- Module: Scanner
- Kind: Analyzer
- Audit date (UTC): 2026-01-31
- Files scanned: 9
- Files with issues: 5
- 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: 0
- Using directive violations: 1
- Naming violations (interfaces/fields/const/async): 1
- Service locator usage (BuildServiceProvider/GetService): 1
- Assembly.LoadFrom usage: 0
### Details
- 100-line files:
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Rpm/RpmDatabaseReader.cs (418 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Rpm/RpmPackageAnalyzer.cs (139 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Rpm/Internal/BerkeleyDbReader.cs (212 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Rpm/Internal/RpmHeaderParser.cs (480 lines)
- Namespace issues:
- none
- Using directive issues:
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Rpm/RpmDatabaseReader.cs: using directives inside namespace
- Naming issues:
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Rpm/RpmPackageAnalyzer.cs: private field naming
- Async issues:
- none
- Service locator matches:
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Rpm/RpmAnalyzerPlugin.cs:19 var loggerFactory = services.GetRequiredService<ILoggerFactory>();
- Assembly.LoadFrom matches:
- none
### Fix Guidance
- Align interface/field/const naming to standards.
- Move and sort using directives (outside namespace).
- Replace service locator usage with constructor injection.
- Split files over 100 lines into smaller types or partials.
## File-Level Findings
- Status: FAIL
- Files scanned: 9
- Files with issues: 5
- See docs/implplan/audits/csproj-standards/file-audit.csv for full per-file status.
| File | Issues | Fix guidance |
| --- | --- | --- |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Rpm/RpmAnalyzerPlugin.cs | ServiceLocator | Remove service locator usage; use constructor injection. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Rpm/RpmDatabaseReader.cs | FileLength>100; UsingInsideNamespace | Move using directives outside namespace.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Rpm/RpmPackageAnalyzer.cs | FileLength>100; PrivateFieldNaming | Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Rpm/Internal/BerkeleyDbReader.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Rpm/Internal/RpmHeaderParser.cs | FileLength>100 | Split file to stay <= 100 lines. |
## Testing Fullness Findings
- Status: FAIL
- Expected layers (heuristic): Performance, Unit
- Detected test projects: src/Scanner/__Tests/StellaOps.Scanner.Analyzers.OS.Tests/StellaOps.Scanner.Analyzers.OS.Tests.csproj [Unit]
- Missing layers: Performance
### 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.Scanner.Analyzers.OS.Windows.Chocolatey
## Project
- Path: src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Windows.Chocolatey/StellaOps.Scanner.Analyzers.OS.Windows.Chocolatey.csproj
- Module: Scanner
- Kind: Library
- Audit date (UTC): 2026-01-30
- Files scanned: 9
- Files with issues: 8
- 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: 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/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Windows.Chocolatey/ChocolateyPackageAnalyzer.cs (295 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Windows.Chocolatey/NuspecParser.cs (185 lines)
- Namespace issues:
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Windows.Chocolatey/ChocolateyAnalyzerPlugin.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Windows.Chocolatey/ChocolateyPackageAnalyzer.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Windows.Chocolatey/ChocolateyPackageMetadata.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Windows.Chocolatey/NuspecParser.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Windows.Chocolatey/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Windows.Chocolatey/obj/Debug/net10.0/StellaOps.Scanner.Analyzers.OS.Windows.Chocolatey.AssemblyInfo.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Windows.Chocolatey/obj/Debug/net10.0/StellaOps.Scanner.Analyzers.OS.Windows.Chocolatey.GlobalUsings.g.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Windows.Chocolatey/obj/Release/net10.0/StellaOps.Scanner.Analyzers.OS.Windows.Chocolatey.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: 9
- Files with issues: 8
- See docs/implplan/audits/csproj-standards/file-audit.csv for full per-file status.
| File | Issues | Fix guidance |
| --- | --- | --- |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Windows.Chocolatey/ChocolateyAnalyzerPlugin.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Windows.Chocolatey/ChocolateyPackageAnalyzer.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Windows.Chocolatey/ChocolateyPackageMetadata.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Windows.Chocolatey/NuspecParser.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Windows.Chocolatey/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Windows.Chocolatey/obj/Debug/net10.0/StellaOps.Scanner.Analyzers.OS.Windows.Chocolatey.AssemblyInfo.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Windows.Chocolatey/obj/Debug/net10.0/StellaOps.Scanner.Analyzers.OS.Windows.Chocolatey.GlobalUsings.g.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Windows.Chocolatey/obj/Release/net10.0/StellaOps.Scanner.Analyzers.OS.Windows.Chocolatey.GlobalUsings.g.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
## Testing Fullness Findings
- Status: FAIL
- Expected layers (heuristic): Performance, Unit
- Detected test projects: src/Scanner/__Tests/StellaOps.Scanner.Analyzers.OS.Windows.Chocolatey.Tests/StellaOps.Scanner.Analyzers.OS.Windows.Chocolatey.Tests.csproj [Unit]
- Missing layers: Performance
### 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,74 @@
# Audit - StellaOps.Scanner.Analyzers.OS.Windows.Chocolatey
## Project
- Path: src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Windows.Chocolatey/StellaOps.Scanner.Analyzers.OS.Windows.Chocolatey.csproj
- Module: Scanner
- Kind: Analyzer
- Audit date (UTC): 2026-01-31
- Files scanned: 5
- Files with issues: 3
- 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: 0
- Using directive violations: 1
- Naming violations (interfaces/fields/const/async): 2
- Service locator usage (BuildServiceProvider/GetService): 1
- Assembly.LoadFrom usage: 0
### Details
- 100-line files:
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Windows.Chocolatey/ChocolateyPackageAnalyzer.cs (296 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Windows.Chocolatey/NuspecParser.cs (187 lines)
- Namespace issues:
- none
- Using directive issues:
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Windows.Chocolatey/NuspecParser.cs: using directives inside namespace
- Naming issues:
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Windows.Chocolatey/ChocolateyPackageAnalyzer.cs: private field naming
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Windows.Chocolatey/NuspecParser.cs: private field naming
- Async issues:
- none
- Service locator matches:
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Windows.Chocolatey/ChocolateyAnalyzerPlugin.cs:23 var loggerFactory = services.GetRequiredService<ILoggerFactory>();
- Assembly.LoadFrom matches:
- none
### Fix Guidance
- Align interface/field/const naming to standards.
- Move and sort using directives (outside namespace).
- Replace service locator usage with constructor injection.
- Split files over 100 lines into smaller types or partials.
## File-Level Findings
- Status: FAIL
- Files scanned: 5
- Files with issues: 3
- See docs/implplan/audits/csproj-standards/file-audit.csv for full per-file status.
| File | Issues | Fix guidance |
| --- | --- | --- |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Windows.Chocolatey/ChocolateyAnalyzerPlugin.cs | ServiceLocator | Remove service locator usage; use constructor injection. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Windows.Chocolatey/ChocolateyPackageAnalyzer.cs | FileLength>100; PrivateFieldNaming | Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Windows.Chocolatey/NuspecParser.cs | FileLength>100; PrivateFieldNaming; UsingInsideNamespace | Move using directives outside namespace.; Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
## Testing Fullness Findings
- Status: FAIL
- Expected layers (heuristic): Performance, Unit
- Detected test projects: src/Scanner/__Tests/StellaOps.Scanner.Analyzers.OS.Windows.Chocolatey.Tests/StellaOps.Scanner.Analyzers.OS.Windows.Chocolatey.Tests.csproj [Unit]
- Missing layers: Performance
### 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,82 @@
# Audit - StellaOps.Scanner.Analyzers.OS.Windows.Msi
## Project
- Path: src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Windows.Msi/StellaOps.Scanner.Analyzers.OS.Windows.Msi.csproj
- Module: Scanner
- Kind: Library
- Audit date (UTC): 2026-01-30
- Files scanned: 9
- Files with issues: 8
- 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: 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/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Windows.Msi/MsiPackageAnalyzer.cs (285 lines)
- Namespace issues:
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Windows.Msi/MsiAnalyzerPlugin.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Windows.Msi/MsiDatabaseParser.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Windows.Msi/MsiMetadata.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Windows.Msi/MsiPackageAnalyzer.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Windows.Msi/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Windows.Msi/obj/Debug/net10.0/StellaOps.Scanner.Analyzers.OS.Windows.Msi.AssemblyInfo.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Windows.Msi/obj/Debug/net10.0/StellaOps.Scanner.Analyzers.OS.Windows.Msi.GlobalUsings.g.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Windows.Msi/obj/Release/net10.0/StellaOps.Scanner.Analyzers.OS.Windows.Msi.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: 9
- Files with issues: 8
- See docs/implplan/audits/csproj-standards/file-audit.csv for full per-file status.
| File | Issues | Fix guidance |
| --- | --- | --- |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Windows.Msi/MsiAnalyzerPlugin.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Windows.Msi/MsiDatabaseParser.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Windows.Msi/MsiMetadata.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Windows.Msi/MsiPackageAnalyzer.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Windows.Msi/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Windows.Msi/obj/Debug/net10.0/StellaOps.Scanner.Analyzers.OS.Windows.Msi.AssemblyInfo.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Windows.Msi/obj/Debug/net10.0/StellaOps.Scanner.Analyzers.OS.Windows.Msi.GlobalUsings.g.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Windows.Msi/obj/Release/net10.0/StellaOps.Scanner.Analyzers.OS.Windows.Msi.GlobalUsings.g.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
## Testing Fullness Findings
- Status: FAIL
- Expected layers (heuristic): Performance, Unit
- Detected test projects: src/Scanner/__Tests/StellaOps.Scanner.Analyzers.OS.Windows.Msi.Tests/StellaOps.Scanner.Analyzers.OS.Windows.Msi.Tests.csproj [Unit]
- Missing layers: Performance
### 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,75 @@
# Audit - StellaOps.Scanner.Analyzers.OS.Windows.Msi
## Project
- Path: src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Windows.Msi/StellaOps.Scanner.Analyzers.OS.Windows.Msi.csproj
- Module: Scanner
- Kind: Analyzer
- Audit date (UTC): 2026-01-31
- Files scanned: 5
- Files with issues: 3
- 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: 0
- Using directive violations: 1
- Naming violations (interfaces/fields/const/async): 3
- Service locator usage (BuildServiceProvider/GetService): 1
- Assembly.LoadFrom usage: 0
### Details
- 100-line files:
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Windows.Msi/MsiDatabaseParser.cs (101 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Windows.Msi/MsiPackageAnalyzer.cs (286 lines)
- Namespace issues:
- none
- Using directive issues:
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Windows.Msi/MsiDatabaseParser.cs: using directives inside namespace
- Naming issues:
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Windows.Msi/MsiDatabaseParser.cs: private field naming
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Windows.Msi/MsiDatabaseParser.cs: const naming
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Windows.Msi/MsiPackageAnalyzer.cs: private field naming
- Async issues:
- none
- Service locator matches:
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Windows.Msi/MsiAnalyzerPlugin.cs:23 var loggerFactory = services.GetRequiredService<ILoggerFactory>();
- Assembly.LoadFrom matches:
- none
### Fix Guidance
- Align interface/field/const naming to standards.
- Move and sort using directives (outside namespace).
- Replace service locator usage with constructor injection.
- Split files over 100 lines into smaller types or partials.
## File-Level Findings
- Status: FAIL
- Files scanned: 5
- Files with issues: 3
- See docs/implplan/audits/csproj-standards/file-audit.csv for full per-file status.
| File | Issues | Fix guidance |
| --- | --- | --- |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Windows.Msi/MsiAnalyzerPlugin.cs | ServiceLocator | Remove service locator usage; use constructor injection. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Windows.Msi/MsiDatabaseParser.cs | ConstNaming; FileLength>100; PrivateFieldNaming; UsingInsideNamespace | Move using directives outside namespace.; Rename consts to PascalCase.; Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Windows.Msi/MsiPackageAnalyzer.cs | FileLength>100; PrivateFieldNaming | Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
## Testing Fullness Findings
- Status: FAIL
- Expected layers (heuristic): Performance, Unit
- Detected test projects: src/Scanner/__Tests/StellaOps.Scanner.Analyzers.OS.Windows.Msi.Tests/StellaOps.Scanner.Analyzers.OS.Windows.Msi.Tests.csproj [Unit]
- Missing layers: Performance
### 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.Scanner.Analyzers.OS.Windows.WinSxS
## Project
- Path: src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Windows.WinSxS/StellaOps.Scanner.Analyzers.OS.Windows.WinSxS.csproj
- Module: Scanner
- Kind: Library
- Audit date (UTC): 2026-01-30
- Files scanned: 9
- Files with issues: 8
- 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: 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/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Windows.WinSxS/WinSxSManifestParser.cs (241 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Windows.WinSxS/WinSxSPackageAnalyzer.cs (237 lines)
- Namespace issues:
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Windows.WinSxS/WinSxSAnalyzerPlugin.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Windows.WinSxS/WinSxSAssemblyMetadata.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Windows.WinSxS/WinSxSManifestParser.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Windows.WinSxS/WinSxSPackageAnalyzer.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Windows.WinSxS/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Windows.WinSxS/obj/Debug/net10.0/StellaOps.Scanner.Analyzers.OS.Windows.WinSxS.AssemblyInfo.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Windows.WinSxS/obj/Debug/net10.0/StellaOps.Scanner.Analyzers.OS.Windows.WinSxS.GlobalUsings.g.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Windows.WinSxS/obj/Release/net10.0/StellaOps.Scanner.Analyzers.OS.Windows.WinSxS.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: 9
- Files with issues: 8
- See docs/implplan/audits/csproj-standards/file-audit.csv for full per-file status.
| File | Issues | Fix guidance |
| --- | --- | --- |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Windows.WinSxS/WinSxSAnalyzerPlugin.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Windows.WinSxS/WinSxSAssemblyMetadata.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Windows.WinSxS/WinSxSManifestParser.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Windows.WinSxS/WinSxSPackageAnalyzer.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Windows.WinSxS/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Windows.WinSxS/obj/Debug/net10.0/StellaOps.Scanner.Analyzers.OS.Windows.WinSxS.AssemblyInfo.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Windows.WinSxS/obj/Debug/net10.0/StellaOps.Scanner.Analyzers.OS.Windows.WinSxS.GlobalUsings.g.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Windows.WinSxS/obj/Release/net10.0/StellaOps.Scanner.Analyzers.OS.Windows.WinSxS.GlobalUsings.g.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
## Testing Fullness Findings
- Status: FAIL
- Expected layers (heuristic): Performance, Unit
- Detected test projects: src/Scanner/__Tests/StellaOps.Scanner.Analyzers.OS.Windows.WinSxS.Tests/StellaOps.Scanner.Analyzers.OS.Windows.WinSxS.Tests.csproj [Unit]
- Missing layers: Performance
### 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,73 @@
# Audit - StellaOps.Scanner.Analyzers.OS.Windows.WinSxS
## Project
- Path: src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Windows.WinSxS/StellaOps.Scanner.Analyzers.OS.Windows.WinSxS.csproj
- Module: Scanner
- Kind: Analyzer
- Audit date (UTC): 2026-01-31
- Files scanned: 5
- Files with issues: 3
- 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: 0
- Using directive violations: 0
- Naming violations (interfaces/fields/const/async): 2
- Service locator usage (BuildServiceProvider/GetService): 1
- Assembly.LoadFrom usage: 0
### Details
- 100-line files:
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Windows.WinSxS/WinSxSManifestParser.cs (241 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Windows.WinSxS/WinSxSPackageAnalyzer.cs (238 lines)
- Namespace issues:
- none
- Using directive issues:
- none
- Naming issues:
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Windows.WinSxS/WinSxSManifestParser.cs: private field naming
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Windows.WinSxS/WinSxSPackageAnalyzer.cs: private field naming
- Async issues:
- none
- Service locator matches:
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Windows.WinSxS/WinSxSAnalyzerPlugin.cs:23 var loggerFactory = services.GetRequiredService<ILoggerFactory>();
- Assembly.LoadFrom matches:
- none
### Fix Guidance
- Align interface/field/const naming to standards.
- Replace service locator usage with constructor injection.
- Split files over 100 lines into smaller types or partials.
## File-Level Findings
- Status: FAIL
- Files scanned: 5
- Files with issues: 3
- See docs/implplan/audits/csproj-standards/file-audit.csv for full per-file status.
| File | Issues | Fix guidance |
| --- | --- | --- |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Windows.WinSxS/WinSxSAnalyzerPlugin.cs | ServiceLocator | Remove service locator usage; use constructor injection. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Windows.WinSxS/WinSxSManifestParser.cs | FileLength>100; PrivateFieldNaming | Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Windows.WinSxS/WinSxSPackageAnalyzer.cs | FileLength>100; PrivateFieldNaming | Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
## Testing Fullness Findings
- Status: FAIL
- Expected layers (heuristic): Performance, Unit
- Detected test projects: src/Scanner/__Tests/StellaOps.Scanner.Analyzers.OS.Windows.WinSxS.Tests/StellaOps.Scanner.Analyzers.OS.Windows.WinSxS.Tests.csproj [Unit]
- Missing layers: Performance
### 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,119 @@
# Audit - StellaOps.Scanner.Analyzers.OS
## Project
- Path: src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS/StellaOps.Scanner.Analyzers.OS.csproj
- Module: Scanner
- Kind: Library
- Audit date (UTC): 2026-01-30
- Files scanned: 24
- Files with issues: 23
- 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: 8
- Namespace violations: 23
- 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/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS/Helpers/OsFileEvidenceFactory.cs (230 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS/Helpers/PackageUrlBuilder.cs (172 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS/Internal/OsAnalyzerSurfaceCache.cs (281 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS/Internal/OsRootfsFingerprint.cs (156 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS/Mapping/OsComponentMapper.cs (200 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS/Model/OSPackageFileEvidence.cs (101 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS/Model/OSPackageRecord.cs (139 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS/Plugin/OsAnalyzerPluginCatalog.cs (148 lines)
- Namespace issues:
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS/Abstractions/IOSPackageAnalyzer.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS/Analyzers/OsPackageAnalyzerBase.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS/Helpers/CveHintExtractor.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS/Helpers/OsFileEvidenceFactory.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS/Helpers/OsPath.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS/Helpers/PackageUrlBuilder.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS/Helpers/PackageVersionParser.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS/Internal/OsAnalyzerSurfaceCache.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS/Internal/OsRootfsFingerprint.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS/Mapping/OsComponentMapper.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS/Model/AnalyzerWarning.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS/Model/OSAnalyzerTelemetry.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS/Model/OSPackageAnalyzerContext.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS/Model/OSPackageAnalyzerResult.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS/Model/OSPackageFileEvidence.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS/Model/OSPackageRecord.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS/Model/PackageEvidenceSource.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS/obj/Debug/net10.0/StellaOps.Scanner.Analyzers.OS.AssemblyInfo.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS/obj/Debug/net10.0/StellaOps.Scanner.Analyzers.OS.GlobalUsings.g.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS/obj/Release/net10.0/StellaOps.Scanner.Analyzers.OS.GlobalUsings.g.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS/Plugin/IOSAnalyzerPlugin.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS/Plugin/OsAnalyzerPluginCatalog.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: 24
- Files with issues: 23
- See docs/implplan/audits/csproj-standards/file-audit.csv for full per-file status.
| File | Issues | Fix guidance |
| --- | --- | --- |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS/Abstractions/IOSPackageAnalyzer.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS/Analyzers/OsPackageAnalyzerBase.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS/Helpers/CveHintExtractor.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS/Helpers/OsFileEvidenceFactory.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS/Helpers/OsPath.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS/Helpers/PackageUrlBuilder.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS/Helpers/PackageVersionParser.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS/Internal/OsAnalyzerSurfaceCache.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS/Internal/OsRootfsFingerprint.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS/Mapping/OsComponentMapper.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS/Model/AnalyzerWarning.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS/Model/OSAnalyzerTelemetry.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS/Model/OSPackageAnalyzerContext.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS/Model/OSPackageAnalyzerResult.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS/Model/OSPackageFileEvidence.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS/Model/OSPackageRecord.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS/Model/PackageEvidenceSource.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS/obj/Debug/net10.0/StellaOps.Scanner.Analyzers.OS.AssemblyInfo.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS/obj/Debug/net10.0/StellaOps.Scanner.Analyzers.OS.GlobalUsings.g.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS/obj/Release/net10.0/StellaOps.Scanner.Analyzers.OS.GlobalUsings.g.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS/Plugin/IOSAnalyzerPlugin.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS/Plugin/OsAnalyzerPluginCatalog.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): Performance, Unit
- Detected test projects: src/Scanner/__Tests/StellaOps.Scanner.Analyzers.OS.Homebrew.Tests/StellaOps.Scanner.Analyzers.OS.Homebrew.Tests.csproj [Unit]; src/Scanner/__Tests/StellaOps.Scanner.Analyzers.OS.MacOsBundle.Tests/StellaOps.Scanner.Analyzers.OS.MacOsBundle.Tests.csproj [Unit]; src/Scanner/__Tests/StellaOps.Scanner.Analyzers.OS.Pkgutil.Tests/StellaOps.Scanner.Analyzers.OS.Pkgutil.Tests.csproj [Unit]; src/Scanner/__Tests/StellaOps.Scanner.Analyzers.OS.Tests/StellaOps.Scanner.Analyzers.OS.Tests.csproj [Unit]; src/Scanner/__Tests/StellaOps.Scanner.Analyzers.OS.Windows.Chocolatey.Tests/StellaOps.Scanner.Analyzers.OS.Windows.Chocolatey.Tests.csproj [Unit]; src/Scanner/__Tests/StellaOps.Scanner.Analyzers.OS.Windows.Msi.Tests/StellaOps.Scanner.Analyzers.OS.Windows.Msi.Tests.csproj [Unit]; src/Scanner/__Tests/StellaOps.Scanner.Analyzers.OS.Windows.WinSxS.Tests/StellaOps.Scanner.Analyzers.OS.Windows.WinSxS.Tests.csproj [Unit]
- Missing layers: Performance
### 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,94 @@
# Audit - StellaOps.Scanner.Analyzers.OS
## Project
- Path: src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS/StellaOps.Scanner.Analyzers.OS.csproj
- Module: Scanner
- Kind: Analyzer
- Audit date (UTC): 2026-01-31
- Files scanned: 20
- Files with issues: 12
- 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: 8
- Namespace violations: 0
- Using directive violations: 2
- Naming violations (interfaces/fields/const/async): 7
- Service locator usage (BuildServiceProvider/GetService): 0
- Assembly.LoadFrom usage: 0
### Details
- 100-line files:
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS/Helpers/OsFileEvidenceFactory.cs (231 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS/Helpers/PackageUrlBuilder.cs (172 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS/Internal/OsAnalyzerSurfaceCache.cs (282 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS/Internal/OsRootfsFingerprint.cs (157 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS/Mapping/OsComponentMapper.cs (201 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS/Model/OSPackageFileEvidence.cs (101 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS/Model/OSPackageRecord.cs (139 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS/Plugin/OsAnalyzerPluginCatalog.cs (149 lines)
- Namespace issues:
- none
- Using directive issues:
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS/Helpers/OsFileEvidenceFactory.cs: using directives inside namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS/Internal/OsRootfsFingerprint.cs: using directives inside namespace
- Naming issues:
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS/Analyzers/OsPackageAnalyzerBase.cs: private field naming
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS/Helpers/CveHintExtractor.cs: private field naming
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS/Helpers/PackageVersionParser.cs: private field naming
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS/Internal/OsAnalyzerSurfaceCache.cs: private field naming
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS/Model/OSPackageAnalyzerResult.cs: private field naming
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS/Model/OSPackageRecord.cs: private field naming
- Async issues:
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS/Analyzers/OsPackageAnalyzerBase.cs: async method naming
- Service locator matches:
- none
- Assembly.LoadFrom matches:
- none
### Fix Guidance
- Align interface/field/const naming to standards.
- Move and sort using directives (outside namespace).
- Rename async methods and avoid blocking async calls.
- Split files over 100 lines into smaller types or partials.
## File-Level Findings
- Status: FAIL
- Files scanned: 20
- Files with issues: 12
- See docs/implplan/audits/csproj-standards/file-audit.csv for full per-file status.
| File | Issues | Fix guidance |
| --- | --- | --- |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS/Analyzers/OsPackageAnalyzerBase.cs | AsyncNaming; PrivateFieldNaming | Rename async methods to end with Async.; Rename private fields to _camelCase. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS/Helpers/CveHintExtractor.cs | PrivateFieldNaming | Rename private fields to _camelCase. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS/Helpers/OsFileEvidenceFactory.cs | FileLength>100; UsingInsideNamespace | Move using directives outside namespace.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS/Helpers/PackageUrlBuilder.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS/Helpers/PackageVersionParser.cs | PrivateFieldNaming | Rename private fields to _camelCase. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS/Internal/OsAnalyzerSurfaceCache.cs | FileLength>100; PrivateFieldNaming | Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS/Internal/OsRootfsFingerprint.cs | FileLength>100; UsingInsideNamespace | Move using directives outside namespace.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS/Mapping/OsComponentMapper.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS/Model/OSPackageAnalyzerResult.cs | PrivateFieldNaming | Rename private fields to _camelCase. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS/Model/OSPackageFileEvidence.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS/Model/OSPackageRecord.cs | FileLength>100; PrivateFieldNaming | Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS/Plugin/OsAnalyzerPluginCatalog.cs | FileLength>100 | Split file to stay <= 100 lines. |
## Testing Fullness Findings
- Status: FAIL
- Expected layers (heuristic): Performance, Unit
- Detected test projects: src/Scanner/__Tests/StellaOps.Scanner.Analyzers.OS.Homebrew.Tests/StellaOps.Scanner.Analyzers.OS.Homebrew.Tests.csproj [Unit]; src/Scanner/__Tests/StellaOps.Scanner.Analyzers.OS.MacOsBundle.Tests/StellaOps.Scanner.Analyzers.OS.MacOsBundle.Tests.csproj [Unit]; src/Scanner/__Tests/StellaOps.Scanner.Analyzers.OS.Pkgutil.Tests/StellaOps.Scanner.Analyzers.OS.Pkgutil.Tests.csproj [Unit]; src/Scanner/__Tests/StellaOps.Scanner.Analyzers.OS.Tests/StellaOps.Scanner.Analyzers.OS.Tests.csproj [Unit]; src/Scanner/__Tests/StellaOps.Scanner.Analyzers.OS.Windows.Chocolatey.Tests/StellaOps.Scanner.Analyzers.OS.Windows.Chocolatey.Tests.csproj [Unit]; src/Scanner/__Tests/StellaOps.Scanner.Analyzers.OS.Windows.Msi.Tests/StellaOps.Scanner.Analyzers.OS.Windows.Msi.Tests.csproj [Unit]; src/Scanner/__Tests/StellaOps.Scanner.Analyzers.OS.Windows.WinSxS.Tests/StellaOps.Scanner.Analyzers.OS.Windows.WinSxS.Tests.csproj [Unit]
- Missing layers: Performance
### 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,154 @@
# Audit - StellaOps.Scanner.Analyzers.Secrets
## Project
- Path: src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Secrets/StellaOps.Scanner.Analyzers.Secrets.csproj
- Module: Scanner
- Kind: Library
- Audit date (UTC): 2026-01-30
- Files scanned: 36
- Files with issues: 34
- 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: 21
- Namespace violations: 34
- 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/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Secrets/SecretsAnalyzer.cs (277 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Secrets/SecretsAnalyzerHost.cs (187 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Secrets/SecretsAnalyzerOptions.cs (119 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Secrets/Alerts/NotifySecretAlertPublisher.cs (257 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Secrets/Alerts/SecretAlertEmitter.cs (314 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Secrets/Alerts/SecretAlertSettings.cs (210 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Secrets/Alerts/SecretFindingAlertEvent.cs (222 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Secrets/Bundles/BundleBuilder.cs (346 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Secrets/Bundles/BundleManifest.cs (152 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Secrets/Bundles/BundleSigner.cs (350 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Secrets/Bundles/BundleVerifier.cs (528 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Secrets/Bundles/RuleValidator.cs (187 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Secrets/Detectors/CompositeSecretDetector.cs (140 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Secrets/Detectors/EntropyCalculator.cs (162 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Secrets/Detectors/EntropyDetector.cs (200 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Secrets/Detectors/RegexDetector.cs (138 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Secrets/Evidence/SecretLeakEvidence.cs (137 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Secrets/Masking/PayloadMasker.cs (152 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Secrets/Rules/RulesetLoader.cs (228 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Secrets/Rules/SecretRule.cs (192 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Secrets/Rules/SecretRuleset.cs (116 lines)
- Namespace issues:
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Secrets/SecretsAnalyzer.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Secrets/SecretsAnalyzerHost.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Secrets/SecretsAnalyzerOptions.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Secrets/ServiceCollectionExtensions.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Secrets/Alerts/NotifySecretAlertPublisher.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Secrets/Alerts/SecretAlertEmitter.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Secrets/Alerts/SecretAlertSettings.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Secrets/Alerts/SecretFindingAlertEvent.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Secrets/Bundles/BundleBuilder.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Secrets/Bundles/BundleManifest.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Secrets/Bundles/BundleSigner.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Secrets/Bundles/BundleVerifier.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Secrets/Bundles/RuleValidator.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Secrets/Detectors/CompositeSecretDetector.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Secrets/Detectors/EntropyCalculator.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Secrets/Detectors/EntropyDetector.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Secrets/Detectors/ISecretDetector.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Secrets/Detectors/RegexDetector.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Secrets/Detectors/SecretMatch.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Secrets/Evidence/SecretFinding.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Secrets/Evidence/SecretLeakEvidence.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Secrets/Masking/IPayloadMasker.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Secrets/Masking/PayloadMasker.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Secrets/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Secrets/obj/Debug/net10.0/StellaOps.Scanner.Analyzers.Secrets.AssemblyInfo.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Secrets/obj/Debug/net10.0/StellaOps.Scanner.Analyzers.Secrets.GlobalUsings.g.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Secrets/obj/Release/net10.0/StellaOps.Scanner.Analyzers.Secrets.GlobalUsings.g.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Secrets/Rules/IRulesetLoader.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Secrets/Rules/RulesetLoader.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Secrets/Rules/SecretConfidence.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Secrets/Rules/SecretRule.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Secrets/Rules/SecretRuleset.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Secrets/Rules/SecretRuleType.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Secrets/Rules/SecretSeverity.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: 34
- See docs/implplan/audits/csproj-standards/file-audit.csv for full per-file status.
| File | Issues | Fix guidance |
| --- | --- | --- |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Secrets/SecretsAnalyzer.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Secrets/SecretsAnalyzerHost.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Secrets/SecretsAnalyzerOptions.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Secrets/ServiceCollectionExtensions.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Secrets/Alerts/NotifySecretAlertPublisher.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Secrets/Alerts/SecretAlertEmitter.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Secrets/Alerts/SecretAlertSettings.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Secrets/Alerts/SecretFindingAlertEvent.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Secrets/Bundles/BundleBuilder.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Secrets/Bundles/BundleManifest.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Secrets/Bundles/BundleSigner.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Secrets/Bundles/BundleVerifier.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Secrets/Bundles/RuleValidator.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Secrets/Detectors/CompositeSecretDetector.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Secrets/Detectors/EntropyCalculator.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Secrets/Detectors/EntropyDetector.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Secrets/Detectors/ISecretDetector.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Secrets/Detectors/RegexDetector.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Secrets/Detectors/SecretMatch.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Secrets/Evidence/SecretFinding.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Secrets/Evidence/SecretLeakEvidence.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Secrets/Masking/IPayloadMasker.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Secrets/Masking/PayloadMasker.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Secrets/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Secrets/obj/Debug/net10.0/StellaOps.Scanner.Analyzers.Secrets.AssemblyInfo.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Secrets/obj/Debug/net10.0/StellaOps.Scanner.Analyzers.Secrets.GlobalUsings.g.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Secrets/obj/Release/net10.0/StellaOps.Scanner.Analyzers.Secrets.GlobalUsings.g.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Secrets/Rules/IRulesetLoader.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Secrets/Rules/RulesetLoader.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Secrets/Rules/SecretConfidence.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Secrets/Rules/SecretRule.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Secrets/Rules/SecretRuleset.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Secrets/Rules/SecretRuleType.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Secrets/Rules/SecretSeverity.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
## Testing Fullness Findings
- Status: FAIL
- Expected layers (heuristic): Performance, Unit
- Detected test projects: src/Scanner/__Tests/StellaOps.Scanner.Analyzers.Secrets.Tests/StellaOps.Scanner.Analyzers.Secrets.Tests.csproj [Unit]
- Missing layers: Performance
### 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,134 @@
# Audit - StellaOps.Scanner.Analyzers.Secrets
## Project
- Path: src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Secrets/StellaOps.Scanner.Analyzers.Secrets.csproj
- Module: Scanner
- Kind: Analyzer
- Audit date (UTC): 2026-01-31
- Files scanned: 32
- Files with issues: 23
- 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: 21
- Namespace violations: 0
- Using directive violations: 4
- Naming violations (interfaces/fields/const/async): 19
- Service locator usage (BuildServiceProvider/GetService): 2
- Assembly.LoadFrom usage: 0
### Details
- 100-line files:
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Secrets/SecretsAnalyzer.cs (277 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Secrets/SecretsAnalyzerHost.cs (187 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Secrets/SecretsAnalyzerOptions.cs (119 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Secrets/Alerts/NotifySecretAlertPublisher.cs (257 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Secrets/Alerts/SecretAlertEmitter.cs (314 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Secrets/Alerts/SecretAlertSettings.cs (210 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Secrets/Alerts/SecretFindingAlertEvent.cs (222 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Secrets/Bundles/BundleBuilder.cs (347 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Secrets/Bundles/BundleManifest.cs (152 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Secrets/Bundles/BundleSigner.cs (351 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Secrets/Bundles/BundleVerifier.cs (529 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Secrets/Bundles/RuleValidator.cs (188 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Secrets/Detectors/CompositeSecretDetector.cs (140 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Secrets/Detectors/EntropyCalculator.cs (162 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Secrets/Detectors/EntropyDetector.cs (200 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Secrets/Detectors/RegexDetector.cs (138 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Secrets/Evidence/SecretLeakEvidence.cs (137 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Secrets/Masking/PayloadMasker.cs (152 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Secrets/Rules/RulesetLoader.cs (229 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Secrets/Rules/SecretRule.cs (192 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Secrets/Rules/SecretRuleset.cs (116 lines)
- Namespace issues:
- none
- Using directive issues:
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Secrets/GlobalUsings.cs: using directives not sorted
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Secrets/Bundles/BundleSigner.cs: using directives inside namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Secrets/Bundles/BundleVerifier.cs: using directives inside namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Secrets/Rules/RulesetLoader.cs: using directives inside namespace
- Naming issues:
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Secrets/Alerts/NotifySecretAlertPublisher.cs: private field naming
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Secrets/Bundles/BundleBuilder.cs: private field naming
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Secrets/Bundles/BundleSigner.cs: private field naming
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Secrets/Bundles/BundleVerifier.cs: private field naming
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Secrets/Bundles/RuleValidator.cs: private field naming
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Secrets/Detectors/EntropyDetector.cs: private field naming
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Secrets/Rules/RulesetLoader.cs: private field naming
- Async issues:
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Secrets/SecretsAnalyzer.cs: async method naming
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Secrets/SecretsAnalyzer.cs: missing ConfigureAwait(false)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Secrets/SecretsAnalyzerHost.cs: async method naming
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Secrets/SecretsAnalyzerHost.cs: missing ConfigureAwait(false)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Secrets/Alerts/NotifySecretAlertPublisher.cs: missing ConfigureAwait(false)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Secrets/Alerts/SecretAlertEmitter.cs: missing ConfigureAwait(false)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Secrets/Bundles/BundleBuilder.cs: async method naming
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Secrets/Bundles/BundleSigner.cs: async method naming
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Secrets/Bundles/BundleVerifier.cs: async method naming
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Secrets/Detectors/CompositeSecretDetector.cs: missing ConfigureAwait(false)
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Secrets/Rules/RulesetLoader.cs: async method naming
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Secrets/Rules/RulesetLoader.cs: missing ConfigureAwait(false)
- Service locator matches:
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Secrets/ServiceCollectionExtensions.cs:84 services.AddSingleton<ILanguageAnalyzer>(sp => sp.GetRequiredService<SecretsAnalyzer>());
- src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Secrets/ServiceCollectionExtensions.cs:88 services.AddHostedService(sp => sp.GetRequiredService<SecretsAnalyzerHost>());
- Assembly.LoadFrom matches:
- none
### Fix Guidance
- Align interface/field/const naming to standards.
- Move and sort using directives (outside namespace).
- Rename async methods and avoid blocking async calls.
- Replace service locator usage with constructor injection.
- Split files over 100 lines into smaller types or partials.
## File-Level Findings
- Status: FAIL
- Files scanned: 32
- Files with issues: 23
- See docs/implplan/audits/csproj-standards/file-audit.csv for full per-file status.
| File | Issues | Fix guidance |
| --- | --- | --- |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Secrets/GlobalUsings.cs | UsingNotSorted | Sort using directives alphabetically. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Secrets/SecretsAnalyzer.cs | AsyncNaming; ConfigureAwaitMissing; FileLength>100 | Add ConfigureAwait(false) to awaited calls in library-like code.; Rename async methods to end with Async.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Secrets/SecretsAnalyzerHost.cs | AsyncNaming; ConfigureAwaitMissing; FileLength>100 | Add ConfigureAwait(false) to awaited calls in library-like code.; Rename async methods to end with Async.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Secrets/SecretsAnalyzerOptions.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Secrets/ServiceCollectionExtensions.cs | ServiceLocator | Remove service locator usage; use constructor injection. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Secrets/Alerts/NotifySecretAlertPublisher.cs | ConfigureAwaitMissing; FileLength>100; PrivateFieldNaming | Add ConfigureAwait(false) to awaited calls in library-like code.; Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Secrets/Alerts/SecretAlertEmitter.cs | ConfigureAwaitMissing; FileLength>100 | Add ConfigureAwait(false) to awaited calls in library-like code.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Secrets/Alerts/SecretAlertSettings.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Secrets/Alerts/SecretFindingAlertEvent.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Secrets/Bundles/BundleBuilder.cs | AsyncNaming; FileLength>100; PrivateFieldNaming | Rename async methods to end with Async.; Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Secrets/Bundles/BundleManifest.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Secrets/Bundles/BundleSigner.cs | AsyncNaming; FileLength>100; PrivateFieldNaming; UsingInsideNamespace | Move using directives outside namespace.; Rename async methods to end with Async.; Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Secrets/Bundles/BundleVerifier.cs | AsyncNaming; FileLength>100; PrivateFieldNaming; UsingInsideNamespace | Move using directives outside namespace.; Rename async methods to end with Async.; Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Secrets/Bundles/RuleValidator.cs | FileLength>100; PrivateFieldNaming | Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Secrets/Detectors/CompositeSecretDetector.cs | ConfigureAwaitMissing; FileLength>100 | Add ConfigureAwait(false) to awaited calls in library-like code.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Secrets/Detectors/EntropyCalculator.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Secrets/Detectors/EntropyDetector.cs | FileLength>100; PrivateFieldNaming | Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Secrets/Detectors/RegexDetector.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Secrets/Evidence/SecretLeakEvidence.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Secrets/Masking/PayloadMasker.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Secrets/Rules/RulesetLoader.cs | AsyncNaming; ConfigureAwaitMissing; FileLength>100; PrivateFieldNaming; UsingInsideNamespace | Add ConfigureAwait(false) to awaited calls in library-like code.; Move using directives outside namespace.; Rename async methods to end with Async.; Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Secrets/Rules/SecretRule.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Secrets/Rules/SecretRuleset.cs | FileLength>100 | Split file to stay <= 100 lines. |
## Testing Fullness Findings
- Status: FAIL
- Expected layers (heuristic): Performance, Unit
- Detected test projects: src/Scanner/__Tests/StellaOps.Scanner.Analyzers.Secrets.Tests/StellaOps.Scanner.Analyzers.Secrets.Tests.csproj [Unit]
- Missing layers: Performance
### 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,105 @@
# Audit - StellaOps.Scanner.Benchmark
## Project
- Path: src/Scanner/__Libraries/StellaOps.Scanner.Benchmark/StellaOps.Scanner.Benchmark.csproj
- Module: Scanner
- Kind: Library
- Audit date (UTC): 2026-01-30
- Files scanned: 16
- Files with issues: 16
- 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: 8
- Namespace violations: 16
- 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/Scanner/__Libraries/StellaOps.Scanner.Benchmark/Claims/ClaimsIndex.cs (270 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Benchmark/Corpus/CorpusManifest.cs (130 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Benchmark/Corpus/FindingClassification.cs (126 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Benchmark/Harness/GrypeAdapter.cs (126 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Benchmark/Harness/SyftAdapter.cs (112 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Benchmark/Harness/TrivyAdapter.cs (120 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Benchmark/Metrics/BenchmarkMetrics.cs (153 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Benchmark/Metrics/MetricsCalculator.cs (165 lines)
- Namespace issues:
- src/Scanner/__Libraries/StellaOps.Scanner.Benchmark/Claims/ClaimsIndex.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Benchmark/Corpus/CorpusManifest.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Benchmark/Corpus/FindingClassification.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Benchmark/Harness/GrypeAdapter.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Benchmark/Harness/ICompetitorAdapter.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Benchmark/Harness/NormalizedFinding.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Benchmark/Harness/SyftAdapter.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Benchmark/Harness/TrivyAdapter.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Benchmark/Metrics/BenchmarkMetrics.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Benchmark/Metrics/MetricsCalculator.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Benchmark/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Benchmark/obj/Debug/net10.0/StellaOps.Scanner.Benchmark.AssemblyInfo.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Benchmark/obj/Debug/net10.0/StellaOps.Scanner.Benchmark.GlobalUsings.g.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Benchmark/obj/Release/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Benchmark/obj/Release/net10.0/StellaOps.Scanner.Benchmark.AssemblyInfo.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Benchmark/obj/Release/net10.0/StellaOps.Scanner.Benchmark.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: 16
- Files with issues: 16
- See docs/implplan/audits/csproj-standards/file-audit.csv for full per-file status.
| File | Issues | Fix guidance |
| --- | --- | --- |
| src/Scanner/__Libraries/StellaOps.Scanner.Benchmark/Claims/ClaimsIndex.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Benchmark/Corpus/CorpusManifest.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Benchmark/Corpus/FindingClassification.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Benchmark/Harness/GrypeAdapter.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Benchmark/Harness/ICompetitorAdapter.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Benchmark/Harness/NormalizedFinding.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Benchmark/Harness/SyftAdapter.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Benchmark/Harness/TrivyAdapter.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Benchmark/Metrics/BenchmarkMetrics.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Benchmark/Metrics/MetricsCalculator.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Benchmark/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Benchmark/obj/Debug/net10.0/StellaOps.Scanner.Benchmark.AssemblyInfo.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Benchmark/obj/Debug/net10.0/StellaOps.Scanner.Benchmark.GlobalUsings.g.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Benchmark/obj/Release/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Benchmark/obj/Release/net10.0/StellaOps.Scanner.Benchmark.AssemblyInfo.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Benchmark/obj/Release/net10.0/StellaOps.Scanner.Benchmark.GlobalUsings.g.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
## Testing Fullness Findings
- Status: FAIL
- Expected layers (heuristic): Performance, Unit
- Detected test projects: none
- Missing layers: Performance, 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,93 @@
# Audit - StellaOps.Scanner.Benchmark
## Project
- Path: src/Scanner/__Libraries/StellaOps.Scanner.Benchmark/StellaOps.Scanner.Benchmark.csproj
- Module: Scanner
- Kind: Library
- Audit date (UTC): 2026-01-31
- Files scanned: 10
- Files with issues: 8
- 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: 8
- Namespace violations: 0
- Using directive violations: 3
- Naming violations (interfaces/fields/const/async): 9
- Service locator usage (BuildServiceProvider/GetService): 0
- Assembly.LoadFrom usage: 0
### Details
- 100-line files:
- src/Scanner/__Libraries/StellaOps.Scanner.Benchmark/Claims/ClaimsIndex.cs (270 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Benchmark/Corpus/CorpusManifest.cs (130 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Benchmark/Corpus/FindingClassification.cs (126 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Benchmark/Harness/GrypeAdapter.cs (127 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Benchmark/Harness/SyftAdapter.cs (113 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Benchmark/Harness/TrivyAdapter.cs (121 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Benchmark/Metrics/BenchmarkMetrics.cs (153 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Benchmark/Metrics/MetricsCalculator.cs (165 lines)
- Namespace issues:
- none
- Using directive issues:
- src/Scanner/__Libraries/StellaOps.Scanner.Benchmark/Harness/GrypeAdapter.cs: using directives inside namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Benchmark/Harness/SyftAdapter.cs: using directives inside namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Benchmark/Harness/TrivyAdapter.cs: using directives inside namespace
- Naming issues:
- src/Scanner/__Libraries/StellaOps.Scanner.Benchmark/Claims/ClaimsIndex.cs: private field naming
- src/Scanner/__Libraries/StellaOps.Scanner.Benchmark/Corpus/CorpusManifest.cs: private field naming
- Async issues:
- src/Scanner/__Libraries/StellaOps.Scanner.Benchmark/Claims/ClaimsIndex.cs: async method naming
- src/Scanner/__Libraries/StellaOps.Scanner.Benchmark/Claims/ClaimsIndex.cs: missing ConfigureAwait(false)
- src/Scanner/__Libraries/StellaOps.Scanner.Benchmark/Corpus/CorpusManifest.cs: async method naming
- src/Scanner/__Libraries/StellaOps.Scanner.Benchmark/Corpus/CorpusManifest.cs: missing ConfigureAwait(false)
- src/Scanner/__Libraries/StellaOps.Scanner.Benchmark/Harness/GrypeAdapter.cs: missing ConfigureAwait(false)
- src/Scanner/__Libraries/StellaOps.Scanner.Benchmark/Harness/SyftAdapter.cs: missing ConfigureAwait(false)
- src/Scanner/__Libraries/StellaOps.Scanner.Benchmark/Harness/TrivyAdapter.cs: missing ConfigureAwait(false)
- Service locator matches:
- none
- Assembly.LoadFrom matches:
- none
### Fix Guidance
- Align interface/field/const naming to standards.
- Move and sort using directives (outside namespace).
- Rename async methods and avoid blocking async calls.
- Split files over 100 lines into smaller types or partials.
## File-Level Findings
- Status: FAIL
- Files scanned: 10
- Files with issues: 8
- See docs/implplan/audits/csproj-standards/file-audit.csv for full per-file status.
| File | Issues | Fix guidance |
| --- | --- | --- |
| src/Scanner/__Libraries/StellaOps.Scanner.Benchmark/Claims/ClaimsIndex.cs | AsyncNaming; ConfigureAwaitMissing; FileLength>100; PrivateFieldNaming | Add ConfigureAwait(false) to awaited calls in library-like code.; Rename async methods to end with Async.; Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Benchmark/Corpus/CorpusManifest.cs | AsyncNaming; ConfigureAwaitMissing; FileLength>100; PrivateFieldNaming | Add ConfigureAwait(false) to awaited calls in library-like code.; Rename async methods to end with Async.; Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Benchmark/Corpus/FindingClassification.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Benchmark/Harness/GrypeAdapter.cs | ConfigureAwaitMissing; FileLength>100; UsingInsideNamespace | Add ConfigureAwait(false) to awaited calls in library-like code.; Move using directives outside namespace.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Benchmark/Harness/SyftAdapter.cs | ConfigureAwaitMissing; FileLength>100; UsingInsideNamespace | Add ConfigureAwait(false) to awaited calls in library-like code.; Move using directives outside namespace.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Benchmark/Harness/TrivyAdapter.cs | ConfigureAwaitMissing; FileLength>100; UsingInsideNamespace | Add ConfigureAwait(false) to awaited calls in library-like code.; Move using directives outside namespace.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Benchmark/Metrics/BenchmarkMetrics.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Benchmark/Metrics/MetricsCalculator.cs | FileLength>100 | Split file to stay <= 100 lines. |
## Testing Fullness Findings
- Status: FAIL
- Expected layers (heuristic): Performance, Unit
- Detected test projects: none
- Missing layers: Performance, 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,79 @@
# Audit - StellaOps.Scanner.Benchmarks
## Project
- Path: src/Scanner/__Libraries/StellaOps.Scanner.Benchmarks/StellaOps.Scanner.Benchmarks.csproj
- Module: Scanner
- Kind: Library
- Audit date (UTC): 2026-01-30
- Files scanned: 6
- Files with issues: 6
- 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: 6
- 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/Scanner/__Libraries/StellaOps.Scanner.Benchmarks/BenchmarkResultWriter.cs (223 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Benchmarks/ICorpusRunner.cs (233 lines)
- Namespace issues:
- src/Scanner/__Libraries/StellaOps.Scanner.Benchmarks/BenchmarkResultWriter.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Benchmarks/ICorpusRunner.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Benchmarks/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Benchmarks/obj/Debug/net10.0/StellaOps.Scanner.Benchmarks.AssemblyInfo.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Benchmarks/obj/Debug/net10.0/StellaOps.Scanner.Benchmarks.GlobalUsings.g.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Benchmarks/obj/Release/net10.0/StellaOps.Scanner.Benchmarks.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: 6
- Files with issues: 6
- See docs/implplan/audits/csproj-standards/file-audit.csv for full per-file status.
| File | Issues | Fix guidance |
| --- | --- | --- |
| src/Scanner/__Libraries/StellaOps.Scanner.Benchmarks/BenchmarkResultWriter.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Benchmarks/ICorpusRunner.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Benchmarks/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Benchmarks/obj/Debug/net10.0/StellaOps.Scanner.Benchmarks.AssemblyInfo.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Benchmarks/obj/Debug/net10.0/StellaOps.Scanner.Benchmarks.GlobalUsings.g.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Benchmarks/obj/Release/net10.0/StellaOps.Scanner.Benchmarks.GlobalUsings.g.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
## Testing Fullness Findings
- Status: FAIL
- Expected layers (heuristic): Performance, Unit
- Detected test projects: src/Scanner/__Tests/StellaOps.Scanner.Benchmarks.Tests/StellaOps.Scanner.Benchmarks.Tests.csproj [Performance] (no test attributes detected)
- Missing layers: Performance, 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,72 @@
# Audit - StellaOps.Scanner.Benchmarks
## Project
- Path: src/Scanner/__Libraries/StellaOps.Scanner.Benchmarks/StellaOps.Scanner.Benchmarks.csproj
- Module: Scanner
- Kind: Library
- Audit date (UTC): 2026-01-31
- Files scanned: 2
- Files with issues: 2
- 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: 0
- Using directive violations: 0
- Naming violations (interfaces/fields/const/async): 3
- Service locator usage (BuildServiceProvider/GetService): 0
- Assembly.LoadFrom usage: 0
### Details
- 100-line files:
- src/Scanner/__Libraries/StellaOps.Scanner.Benchmarks/BenchmarkResultWriter.cs (223 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Benchmarks/ICorpusRunner.cs (233 lines)
- Namespace issues:
- none
- Using directive issues:
- none
- Naming issues:
- src/Scanner/__Libraries/StellaOps.Scanner.Benchmarks/BenchmarkResultWriter.cs: private field naming
- Async issues:
- src/Scanner/__Libraries/StellaOps.Scanner.Benchmarks/BenchmarkResultWriter.cs: async method naming
- src/Scanner/__Libraries/StellaOps.Scanner.Benchmarks/BenchmarkResultWriter.cs: missing ConfigureAwait(false)
- Service locator matches:
- none
- Assembly.LoadFrom matches:
- none
### Fix Guidance
- Align interface/field/const naming to standards.
- Rename async methods and avoid blocking async calls.
- Split files over 100 lines into smaller types or partials.
## File-Level Findings
- Status: FAIL
- Files scanned: 2
- Files with issues: 2
- See docs/implplan/audits/csproj-standards/file-audit.csv for full per-file status.
| File | Issues | Fix guidance |
| --- | --- | --- |
| src/Scanner/__Libraries/StellaOps.Scanner.Benchmarks/BenchmarkResultWriter.cs | AsyncNaming; ConfigureAwaitMissing; FileLength>100; PrivateFieldNaming | Add ConfigureAwait(false) to awaited calls in library-like code.; Rename async methods to end with Async.; Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Benchmarks/ICorpusRunner.cs | FileLength>100 | Split file to stay <= 100 lines. |
## Testing Fullness Findings
- Status: FAIL
- Expected layers (heuristic): Performance, Unit
- Detected test projects: src/Scanner/__Tests/StellaOps.Scanner.Benchmarks.Tests/StellaOps.Scanner.Benchmarks.Tests.csproj [Performance] (no test attributes detected)
- Missing layers: Performance, 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,112 @@
# Audit - StellaOps.Scanner.BuildProvenance
## Project
- Path: src/Scanner/__Libraries/StellaOps.Scanner.BuildProvenance/StellaOps.Scanner.BuildProvenance.csproj
- Module: Scanner
- Kind: Library
- Audit date (UTC): 2026-01-30
- Files scanned: 18
- Files with issues: 18
- 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: 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/Scanner/__Libraries/StellaOps.Scanner.BuildProvenance/Analyzers/BuildConfigVerifier.cs (201 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.BuildProvenance/Analyzers/BuilderVerifier.cs (145 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.BuildProvenance/Analyzers/BuildInputIntegrityChecker.cs (111 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.BuildProvenance/Analyzers/BuildProvenanceAnalyzer.cs (208 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.BuildProvenance/Analyzers/BuildProvenanceChainBuilder.cs (149 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.BuildProvenance/Analyzers/ReproducibilityVerifier.cs (186 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.BuildProvenance/Analyzers/SlsaLevelEvaluator.cs (134 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.BuildProvenance/Analyzers/SourceVerifier.cs (173 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.BuildProvenance/Models/BuildProvenanceModels.cs (152 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.BuildProvenance/Policy/BuildProvenancePolicyLoader.cs (101 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.BuildProvenance/Reporting/BuildProvenanceReportFormatter.cs (232 lines)
- Namespace issues:
- src/Scanner/__Libraries/StellaOps.Scanner.BuildProvenance/BuildProvenanceServiceCollectionExtensions.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.BuildProvenance/Analyzers/BuildConfigVerifier.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.BuildProvenance/Analyzers/BuilderVerifier.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.BuildProvenance/Analyzers/BuildInputIntegrityChecker.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.BuildProvenance/Analyzers/BuildProvenanceAnalyzer.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.BuildProvenance/Analyzers/BuildProvenanceChainBuilder.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.BuildProvenance/Analyzers/BuildProvenancePatternMatcher.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.BuildProvenance/Analyzers/ReproducibilityVerifier.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.BuildProvenance/Analyzers/SlsaLevelEvaluator.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.BuildProvenance/Analyzers/SourceVerifier.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.BuildProvenance/Models/BuildProvenanceModels.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.BuildProvenance/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.BuildProvenance/obj/Debug/net10.0/StellaOps.Scanner.BuildProvenance.AssemblyInfo.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.BuildProvenance/obj/Debug/net10.0/StellaOps.Scanner.BuildProvenance.GlobalUsings.g.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.BuildProvenance/obj/Release/net10.0/StellaOps.Scanner.BuildProvenance.GlobalUsings.g.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.BuildProvenance/Policy/BuildProvenancePolicy.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.BuildProvenance/Policy/BuildProvenancePolicyLoader.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.BuildProvenance/Reporting/BuildProvenanceReportFormatter.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: 18
- Files with issues: 18
- See docs/implplan/audits/csproj-standards/file-audit.csv for full per-file status.
| File | Issues | Fix guidance |
| --- | --- | --- |
| src/Scanner/__Libraries/StellaOps.Scanner.BuildProvenance/BuildProvenanceServiceCollectionExtensions.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.BuildProvenance/Analyzers/BuildConfigVerifier.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.BuildProvenance/Analyzers/BuilderVerifier.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.BuildProvenance/Analyzers/BuildInputIntegrityChecker.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.BuildProvenance/Analyzers/BuildProvenanceAnalyzer.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.BuildProvenance/Analyzers/BuildProvenanceChainBuilder.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.BuildProvenance/Analyzers/BuildProvenancePatternMatcher.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.BuildProvenance/Analyzers/ReproducibilityVerifier.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.BuildProvenance/Analyzers/SlsaLevelEvaluator.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.BuildProvenance/Analyzers/SourceVerifier.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.BuildProvenance/Models/BuildProvenanceModels.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.BuildProvenance/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.BuildProvenance/obj/Debug/net10.0/StellaOps.Scanner.BuildProvenance.AssemblyInfo.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.BuildProvenance/obj/Debug/net10.0/StellaOps.Scanner.BuildProvenance.GlobalUsings.g.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.BuildProvenance/obj/Release/net10.0/StellaOps.Scanner.BuildProvenance.GlobalUsings.g.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.BuildProvenance/Policy/BuildProvenancePolicy.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.BuildProvenance/Policy/BuildProvenancePolicyLoader.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.BuildProvenance/Reporting/BuildProvenanceReportFormatter.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): Performance, Unit
- Detected test projects: src/Scanner/__Tests/StellaOps.Scanner.BuildProvenance.Tests/StellaOps.Scanner.BuildProvenance.Tests.csproj [Unit]
- Missing layers: Performance
### 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,99 @@
# Audit - StellaOps.Scanner.BuildProvenance
## Project
- Path: src/Scanner/__Libraries/StellaOps.Scanner.BuildProvenance/StellaOps.Scanner.BuildProvenance.csproj
- Module: Scanner
- Kind: Library
- Audit date (UTC): 2026-01-31
- Files scanned: 14
- Files with issues: 11
- 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: 11
- Namespace violations: 0
- Using directive violations: 3
- Naming violations (interfaces/fields/const/async): 9
- Service locator usage (BuildServiceProvider/GetService): 0
- Assembly.LoadFrom usage: 0
### Details
- 100-line files:
- src/Scanner/__Libraries/StellaOps.Scanner.BuildProvenance/Analyzers/BuildConfigVerifier.cs (202 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.BuildProvenance/Analyzers/BuilderVerifier.cs (145 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.BuildProvenance/Analyzers/BuildInputIntegrityChecker.cs (112 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.BuildProvenance/Analyzers/BuildProvenanceAnalyzer.cs (209 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.BuildProvenance/Analyzers/BuildProvenanceChainBuilder.cs (150 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.BuildProvenance/Analyzers/ReproducibilityVerifier.cs (187 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.BuildProvenance/Analyzers/SlsaLevelEvaluator.cs (135 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.BuildProvenance/Analyzers/SourceVerifier.cs (173 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.BuildProvenance/Models/BuildProvenanceModels.cs (152 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.BuildProvenance/Policy/BuildProvenancePolicyLoader.cs (102 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.BuildProvenance/Reporting/BuildProvenanceReportFormatter.cs (233 lines)
- Namespace issues:
- none
- Using directive issues:
- src/Scanner/__Libraries/StellaOps.Scanner.BuildProvenance/Analyzers/BuildConfigVerifier.cs: using directives inside namespace
- src/Scanner/__Libraries/StellaOps.Scanner.BuildProvenance/Policy/BuildProvenancePolicyLoader.cs: using directives inside namespace
- src/Scanner/__Libraries/StellaOps.Scanner.BuildProvenance/Reporting/BuildProvenanceReportFormatter.cs: using directives inside namespace
- Naming issues:
- src/Scanner/__Libraries/StellaOps.Scanner.BuildProvenance/Analyzers/BuilderVerifier.cs: private field naming
- src/Scanner/__Libraries/StellaOps.Scanner.BuildProvenance/Analyzers/BuildProvenanceChainBuilder.cs: private field naming
- src/Scanner/__Libraries/StellaOps.Scanner.BuildProvenance/Analyzers/ReproducibilityVerifier.cs: private field naming
- src/Scanner/__Libraries/StellaOps.Scanner.BuildProvenance/Analyzers/SlsaLevelEvaluator.cs: private field naming
- src/Scanner/__Libraries/StellaOps.Scanner.BuildProvenance/Analyzers/SourceVerifier.cs: private field naming
- src/Scanner/__Libraries/StellaOps.Scanner.BuildProvenance/Policy/BuildProvenancePolicyLoader.cs: private field naming
- src/Scanner/__Libraries/StellaOps.Scanner.BuildProvenance/Reporting/BuildProvenanceReportFormatter.cs: private field naming
- Async issues:
- src/Scanner/__Libraries/StellaOps.Scanner.BuildProvenance/Policy/BuildProvenancePolicyLoader.cs: async method naming
- src/Scanner/__Libraries/StellaOps.Scanner.BuildProvenance/Reporting/BuildProvenanceReportFormatter.cs: async method naming
- Service locator matches:
- none
- Assembly.LoadFrom matches:
- none
### Fix Guidance
- Align interface/field/const naming to standards.
- Move and sort using directives (outside namespace).
- Rename async methods and avoid blocking async calls.
- Split files over 100 lines into smaller types or partials.
## File-Level Findings
- Status: FAIL
- Files scanned: 14
- Files with issues: 11
- See docs/implplan/audits/csproj-standards/file-audit.csv for full per-file status.
| File | Issues | Fix guidance |
| --- | --- | --- |
| src/Scanner/__Libraries/StellaOps.Scanner.BuildProvenance/Analyzers/BuildConfigVerifier.cs | FileLength>100; UsingInsideNamespace | Move using directives outside namespace.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.BuildProvenance/Analyzers/BuilderVerifier.cs | FileLength>100; PrivateFieldNaming | Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.BuildProvenance/Analyzers/BuildInputIntegrityChecker.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.BuildProvenance/Analyzers/BuildProvenanceAnalyzer.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.BuildProvenance/Analyzers/BuildProvenanceChainBuilder.cs | FileLength>100; PrivateFieldNaming | Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.BuildProvenance/Analyzers/ReproducibilityVerifier.cs | FileLength>100; PrivateFieldNaming | Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.BuildProvenance/Analyzers/SlsaLevelEvaluator.cs | FileLength>100; PrivateFieldNaming | Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.BuildProvenance/Analyzers/SourceVerifier.cs | FileLength>100; PrivateFieldNaming | Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.BuildProvenance/Models/BuildProvenanceModels.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.BuildProvenance/Policy/BuildProvenancePolicyLoader.cs | AsyncNaming; FileLength>100; PrivateFieldNaming; UsingInsideNamespace | Move using directives outside namespace.; Rename async methods to end with Async.; Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.BuildProvenance/Reporting/BuildProvenanceReportFormatter.cs | AsyncNaming; FileLength>100; PrivateFieldNaming; UsingInsideNamespace | Move using directives outside namespace.; Rename async methods to end with Async.; Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
## Testing Fullness Findings
- Status: FAIL
- Expected layers (heuristic): Performance, Unit
- Detected test projects: src/Scanner/__Tests/StellaOps.Scanner.BuildProvenance.Tests/StellaOps.Scanner.BuildProvenance.Tests.csproj [Unit]
- Missing layers: Performance
### 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.Scanner.Cache
## Project
- Path: src/Scanner/__Libraries/StellaOps.Scanner.Cache/StellaOps.Scanner.Cache.csproj
- Module: Scanner
- 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/Scanner/__Libraries/StellaOps.Scanner.Cache/FileCas/FileContentAddressableStore.cs (482 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Cache/LayerCache/LayerCacheStore.cs (481 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Cache/LayerSbomCas/ILayerSbomCas.cs (174 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Cache/LayerSbomCas/PostgresLayerSbomCas.cs (293 lines)
- Namespace issues:
- src/Scanner/__Libraries/StellaOps.Scanner.Cache/ScannerCacheMetrics.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Cache/ScannerCacheOptions.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Cache/ScannerCacheServiceCollectionExtensions.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Cache/Abstractions/IFileContentAddressableStore.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Cache/Abstractions/ILayerCacheStore.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Cache/Abstractions/LayerCacheEntry.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Cache/Abstractions/LayerCachePutRequest.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Cache/FileCas/FileContentAddressableStore.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Cache/FileCas/NullFileContentAddressableStore.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Cache/LayerCache/LayerCacheStore.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Cache/LayerSbomCas/ILayerSbomCas.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Cache/LayerSbomCas/PostgresLayerSbomCas.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Cache/Maintenance/ScannerCacheMaintenanceService.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Cache/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Cache/obj/Debug/net10.0/StellaOps.Scanner.Cache.GlobalUsings.g.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Cache/obj/Release/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Cache/obj/Release/net10.0/StellaOps.Scanner.Cache.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/Scanner/__Libraries/StellaOps.Scanner.Cache/ScannerCacheMetrics.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Cache/ScannerCacheOptions.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Cache/ScannerCacheServiceCollectionExtensions.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Cache/Abstractions/IFileContentAddressableStore.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Cache/Abstractions/ILayerCacheStore.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Cache/Abstractions/LayerCacheEntry.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Cache/Abstractions/LayerCachePutRequest.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Cache/FileCas/FileContentAddressableStore.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Cache/FileCas/NullFileContentAddressableStore.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Cache/LayerCache/LayerCacheStore.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Cache/LayerSbomCas/ILayerSbomCas.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Cache/LayerSbomCas/PostgresLayerSbomCas.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Cache/Maintenance/ScannerCacheMaintenanceService.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Cache/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Cache/obj/Debug/net10.0/StellaOps.Scanner.Cache.GlobalUsings.g.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Cache/obj/Release/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Cache/obj/Release/net10.0/StellaOps.Scanner.Cache.GlobalUsings.g.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
## Testing Fullness Findings
- Status: FAIL
- Expected layers (heuristic): Performance, Unit
- Detected test projects: src/Scanner/__Tests/StellaOps.Scanner.Cache.Tests/StellaOps.Scanner.Cache.Tests.csproj [Unit]; src/Scanner/__Tests/StellaOps.Scanner.Core.Tests/StellaOps.Scanner.Core.Tests.csproj [Unit]; src/Scanner/__Tests/StellaOps.Scanner.Reachability.Tests/StellaOps.Scanner.Reachability.Tests.csproj [Unit]
- Missing layers: Performance
### 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,86 @@
# Audit - StellaOps.Scanner.Cache
## Project
- Path: src/Scanner/__Libraries/StellaOps.Scanner.Cache/StellaOps.Scanner.Cache.csproj
- Module: Scanner
- Kind: Library
- Audit date (UTC): 2026-01-31
- Files scanned: 13
- 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: 4
- Namespace violations: 0
- Using directive violations: 2
- Naming violations (interfaces/fields/const/async): 5
- Service locator usage (BuildServiceProvider/GetService): 3
- Assembly.LoadFrom usage: 0
### Details
- 100-line files:
- src/Scanner/__Libraries/StellaOps.Scanner.Cache/FileCas/FileContentAddressableStore.cs (483 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Cache/LayerCache/LayerCacheStore.cs (482 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Cache/LayerSbomCas/ILayerSbomCas.cs (174 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Cache/LayerSbomCas/PostgresLayerSbomCas.cs (294 lines)
- Namespace issues:
- none
- Using directive issues:
- src/Scanner/__Libraries/StellaOps.Scanner.Cache/LayerSbomCas/PostgresLayerSbomCas.cs: using directives inside namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Cache/Maintenance/ScannerCacheMaintenanceService.cs: using directives inside namespace
- Naming issues:
- src/Scanner/__Libraries/StellaOps.Scanner.Cache/ScannerCacheMetrics.cs: private field naming
- Async issues:
- src/Scanner/__Libraries/StellaOps.Scanner.Cache/FileCas/FileContentAddressableStore.cs: async method naming
- src/Scanner/__Libraries/StellaOps.Scanner.Cache/LayerCache/LayerCacheStore.cs: async method naming
- src/Scanner/__Libraries/StellaOps.Scanner.Cache/LayerSbomCas/PostgresLayerSbomCas.cs: async method naming
- src/Scanner/__Libraries/StellaOps.Scanner.Cache/Maintenance/ScannerCacheMaintenanceService.cs: async method naming
- Service locator matches:
- src/Scanner/__Libraries/StellaOps.Scanner.Cache/ScannerCacheServiceCollectionExtensions.cs:33 var options = sp.GetRequiredService<IOptions<ScannerCacheOptions>>();
- src/Scanner/__Libraries/StellaOps.Scanner.Cache/ScannerCacheServiceCollectionExtensions.cs:34 var timeProvider = sp.GetService<TimeProvider>() ?? TimeProvider.System;
- src/Scanner/__Libraries/StellaOps.Scanner.Cache/ScannerCacheServiceCollectionExtensions.cs:35 var loggerFactory = sp.GetRequiredService<ILoggerFactory>();
- Assembly.LoadFrom matches:
- none
### Fix Guidance
- Align interface/field/const naming to standards.
- Move and sort using directives (outside namespace).
- Rename async methods and avoid blocking async calls.
- Replace service locator usage with constructor injection.
- Split files over 100 lines into smaller types or partials.
## File-Level Findings
- Status: FAIL
- Files scanned: 13
- Files with issues: 7
- See docs/implplan/audits/csproj-standards/file-audit.csv for full per-file status.
| File | Issues | Fix guidance |
| --- | --- | --- |
| src/Scanner/__Libraries/StellaOps.Scanner.Cache/ScannerCacheMetrics.cs | PrivateFieldNaming | Rename private fields to _camelCase. |
| src/Scanner/__Libraries/StellaOps.Scanner.Cache/ScannerCacheServiceCollectionExtensions.cs | ServiceLocator | Remove service locator usage; use constructor injection. |
| src/Scanner/__Libraries/StellaOps.Scanner.Cache/FileCas/FileContentAddressableStore.cs | AsyncNaming; FileLength>100 | Rename async methods to end with Async.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Cache/LayerCache/LayerCacheStore.cs | AsyncNaming; FileLength>100 | Rename async methods to end with Async.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Cache/LayerSbomCas/ILayerSbomCas.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Cache/LayerSbomCas/PostgresLayerSbomCas.cs | AsyncNaming; FileLength>100; UsingInsideNamespace | Move using directives outside namespace.; Rename async methods to end with Async.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Cache/Maintenance/ScannerCacheMaintenanceService.cs | AsyncNaming; UsingInsideNamespace | Move using directives outside namespace.; Rename async methods to end with Async. |
## Testing Fullness Findings
- Status: FAIL
- Expected layers (heuristic): Performance, Unit
- Detected test projects: src/Scanner/__Tests/StellaOps.Scanner.Cache.Tests/StellaOps.Scanner.Cache.Tests.csproj [Unit]; src/Scanner/__Tests/StellaOps.Scanner.Core.Tests/StellaOps.Scanner.Core.Tests.csproj [Unit]; src/Scanner/__Tests/StellaOps.Scanner.Reachability.Tests/StellaOps.Scanner.Reachability.Tests.csproj [Unit]
- Missing layers: Performance
### 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,235 @@
# Audit - StellaOps.Scanner.CallGraph
## Project
- Path: src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/StellaOps.Scanner.CallGraph.csproj
- Module: Scanner
- Kind: Library
- Audit date (UTC): 2026-01-30
- Files scanned: 63
- Files with issues: 62
- 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: 46
- Namespace violations: 62
- 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/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Analysis/ReachabilityAnalyzer.cs (241 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Caching/CircuitBreakerState.cs (134 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Caching/ValkeyCallGraphCacheService.cs (243 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/CallGraphExtractorRegistry.cs (105 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/GuardDetector.cs (250 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Binary/BinaryCallGraphExtractor.cs (1180 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Binary/BinaryEntrypointClassifier.cs (153 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Binary/DwarfDebugReader.cs (539 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Binary/FunctionBoundaryDetector.cs (526 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Binary/Analysis/BinaryDynamicLoadDetector.cs (129 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Binary/Analysis/BinaryStringLiteralScanner.cs (465 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Binary/Disassembly/Arm64Disassembler.cs (101 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Binary/Disassembly/BinaryTextSectionReader.cs (397 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Binary/Disassembly/DirectCallExtractor.cs (147 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Bun/BunCallGraphExtractor.cs (391 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Bun/BunEntrypointClassifier.cs (101 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Bun/BunSinkMatcher.cs (112 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Deno/DenoCallGraphExtractor.cs (442 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Deno/DenoEntrypointClassifier.cs (127 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Deno/DenoSinkMatcher.cs (112 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/DotNet/DotNetCallGraphExtractor.cs (523 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Go/GoCallGraphExtractor.cs (427 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Go/GoEntrypointClassifier.cs (162 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Go/GoSinkMatcher.cs (178 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Go/GoSsaResultParser.cs (193 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Go/GoSymbolIdBuilder.cs (226 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Java/JavaBytecodeAnalyzer.cs (636 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Java/JavaCallGraphExtractor.cs (371 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Java/JavaEntrypointClassifier.cs (158 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Java/JavaModels.cs (411 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Java/JavaSinkMatcher.cs (176 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Java/JavaSymbolIdBuilder.cs (308 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/JavaScript/JavaScriptCallGraphExtractor.cs (412 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/JavaScript/JsEntrypointClassifier.cs (153 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/JavaScript/JsSinkMatcher.cs (186 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Node/BabelResultParser.cs (262 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Node/NodeCallGraphExtractor.cs (538 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Php/PhpCallGraphExtractor.cs (425 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Php/PhpEntrypointClassifier.cs (145 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Php/PhpSinkMatcher.cs (175 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Python/PythonCallGraphExtractor.cs (480 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Python/PythonEntrypointClassifier.cs (141 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Python/PythonSinkMatcher.cs (201 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Ruby/RubyCallGraphExtractor.cs (358 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Ruby/RubyEntrypointClassifier.cs (113 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Ruby/RubySinkMatcher.cs (155 lines)
- Namespace issues:
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Analysis/ReachabilityAnalysisOptions.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Analysis/ReachabilityAnalyzer.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Caching/CallGraphCacheConfig.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Caching/CircuitBreakerConfig.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Caching/CircuitBreakerState.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Caching/ICallGraphCacheService.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Caching/ValkeyCallGraphCacheService.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/DependencyInjection/CallGraphServiceCollectionExtensions.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/CallGraphExtractorRegistry.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/GuardDetector.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/ICallGraphExtractor.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/ICallGraphExtractorRegistry.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Binary/BinaryCallGraphExtractor.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Binary/BinaryEntrypointClassifier.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Binary/DwarfDebugReader.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Binary/FunctionBoundaryDetector.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Binary/Analysis/BinaryDynamicLoadDetector.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Binary/Analysis/BinaryStringLiteralScanner.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Binary/Disassembly/Arm64Disassembler.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Binary/Disassembly/BinaryDisassemblyModels.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Binary/Disassembly/BinaryTextSectionReader.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Binary/Disassembly/DirectCallExtractor.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Binary/Disassembly/X86Disassembler.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Bun/BunCallGraphExtractor.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Bun/BunEntrypointClassifier.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Bun/BunSinkMatcher.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Deno/DenoCallGraphExtractor.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Deno/DenoEntrypointClassifier.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Deno/DenoSinkMatcher.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/DotNet/DotNetCallGraphExtractor.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Go/GoCallGraphExtractor.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Go/GoEntrypointClassifier.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Go/GoSinkMatcher.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Go/GoSsaResultParser.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Go/GoSymbolIdBuilder.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Java/JavaBytecodeAnalyzer.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Java/JavaCallGraphExtractor.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Java/JavaEntrypointClassifier.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Java/JavaModels.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Java/JavaSinkMatcher.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Java/JavaSymbolIdBuilder.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/JavaScript/JavaScriptCallGraphExtractor.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/JavaScript/JsEntrypointClassifier.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/JavaScript/JsSinkMatcher.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Node/BabelResultParser.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Node/NodeCallGraphExtractor.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Php/PhpCallGraphExtractor.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Php/PhpEntrypointClassifier.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Php/PhpSinkMatcher.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Python/PythonCallGraphExtractor.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Python/PythonEntrypointClassifier.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Python/PythonSinkMatcher.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Ruby/RubyCallGraphExtractor.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Ruby/RubyEntrypointClassifier.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Ruby/RubySinkMatcher.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Models/CallGraphEdgeComparer.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Models/CallGraphModels.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/obj/Debug/net10.0/StellaOps.Scanner.CallGraph.GlobalUsings.g.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/obj/Release/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/obj/Release/net10.0/StellaOps.Scanner.CallGraph.GlobalUsings.g.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Serialization/ImmutableArrayJsonConverter.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: 63
- Files with issues: 62
- See docs/implplan/audits/csproj-standards/file-audit.csv for full per-file status.
| File | Issues | Fix guidance |
| --- | --- | --- |
| src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Analysis/ReachabilityAnalysisOptions.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Analysis/ReachabilityAnalyzer.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Caching/CallGraphCacheConfig.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Caching/CircuitBreakerConfig.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Caching/CircuitBreakerState.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Caching/ICallGraphCacheService.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Caching/ValkeyCallGraphCacheService.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/DependencyInjection/CallGraphServiceCollectionExtensions.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/CallGraphExtractorRegistry.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/GuardDetector.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/ICallGraphExtractor.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/ICallGraphExtractorRegistry.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Binary/BinaryCallGraphExtractor.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Binary/BinaryEntrypointClassifier.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Binary/DwarfDebugReader.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Binary/FunctionBoundaryDetector.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Binary/Analysis/BinaryDynamicLoadDetector.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Binary/Analysis/BinaryStringLiteralScanner.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Binary/Disassembly/Arm64Disassembler.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Binary/Disassembly/BinaryDisassemblyModels.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Binary/Disassembly/BinaryTextSectionReader.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Binary/Disassembly/DirectCallExtractor.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Binary/Disassembly/X86Disassembler.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Bun/BunCallGraphExtractor.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Bun/BunEntrypointClassifier.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Bun/BunSinkMatcher.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Deno/DenoCallGraphExtractor.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Deno/DenoEntrypointClassifier.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Deno/DenoSinkMatcher.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/DotNet/DotNetCallGraphExtractor.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Go/GoCallGraphExtractor.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Go/GoEntrypointClassifier.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Go/GoSinkMatcher.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Go/GoSsaResultParser.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Go/GoSymbolIdBuilder.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Java/JavaBytecodeAnalyzer.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Java/JavaCallGraphExtractor.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Java/JavaEntrypointClassifier.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Java/JavaModels.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Java/JavaSinkMatcher.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Java/JavaSymbolIdBuilder.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/JavaScript/JavaScriptCallGraphExtractor.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/JavaScript/JsEntrypointClassifier.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/JavaScript/JsSinkMatcher.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Node/BabelResultParser.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Node/NodeCallGraphExtractor.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Php/PhpCallGraphExtractor.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Php/PhpEntrypointClassifier.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Php/PhpSinkMatcher.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Python/PythonCallGraphExtractor.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Python/PythonEntrypointClassifier.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Python/PythonSinkMatcher.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Ruby/RubyCallGraphExtractor.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Ruby/RubyEntrypointClassifier.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Ruby/RubySinkMatcher.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Models/CallGraphEdgeComparer.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Models/CallGraphModels.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/obj/Debug/net10.0/StellaOps.Scanner.CallGraph.GlobalUsings.g.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/obj/Release/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/obj/Release/net10.0/StellaOps.Scanner.CallGraph.GlobalUsings.g.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Serialization/ImmutableArrayJsonConverter.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
## Testing Fullness Findings
- Status: FAIL
- Expected layers (heuristic): Performance, Unit
- Detected test projects: src/__Tests/Integration/StellaOps.Integration.E2E/StellaOps.Integration.E2E.csproj [E2E, Integration]; src/__Tests/Integration/StellaOps.Integration.Reachability/StellaOps.Integration.Reachability.csproj [Integration]; src/__Tests/reachability/StellaOps.ScannerSignals.IntegrationTests/StellaOps.ScannerSignals.IntegrationTests.csproj [Integration]; src/Scanner/__Tests/StellaOps.Scanner.CallGraph.Tests/StellaOps.Scanner.CallGraph.Tests.csproj [Unit]; src/Scanner/__Tests/StellaOps.Scanner.ReachabilityDrift.Tests/StellaOps.Scanner.ReachabilityDrift.Tests.csproj [Unit]
- Missing layers: Performance
### 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,223 @@
# Audit - StellaOps.Scanner.CallGraph
## Project
- Path: src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/StellaOps.Scanner.CallGraph.csproj
- Module: Scanner
- Kind: Library
- Audit date (UTC): 2026-01-31
- Files scanned: 59
- Files with issues: 48
- 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: 46
- Namespace violations: 2
- Using directive violations: 11
- Naming violations (interfaces/fields/const/async): 51
- Service locator usage (BuildServiceProvider/GetService): 0
- Assembly.LoadFrom usage: 0
### Details
- 100-line files:
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Analysis/ReachabilityAnalyzer.cs (242 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Caching/CircuitBreakerState.cs (134 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Caching/ValkeyCallGraphCacheService.cs (244 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/CallGraphExtractorRegistry.cs (106 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/GuardDetector.cs (250 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Binary/BinaryCallGraphExtractor.cs (1181 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Binary/BinaryEntrypointClassifier.cs (153 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Binary/DwarfDebugReader.cs (540 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Binary/FunctionBoundaryDetector.cs (527 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Binary/Analysis/BinaryDynamicLoadDetector.cs (130 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Binary/Analysis/BinaryStringLiteralScanner.cs (466 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Binary/Disassembly/Arm64Disassembler.cs (102 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Binary/Disassembly/BinaryTextSectionReader.cs (398 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Binary/Disassembly/DirectCallExtractor.cs (148 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Bun/BunCallGraphExtractor.cs (392 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Bun/BunEntrypointClassifier.cs (101 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Bun/BunSinkMatcher.cs (112 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Deno/DenoCallGraphExtractor.cs (443 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Deno/DenoEntrypointClassifier.cs (127 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Deno/DenoSinkMatcher.cs (112 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/DotNet/DotNetCallGraphExtractor.cs (524 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Go/GoCallGraphExtractor.cs (428 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Go/GoEntrypointClassifier.cs (162 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Go/GoSinkMatcher.cs (178 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Go/GoSsaResultParser.cs (193 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Go/GoSymbolIdBuilder.cs (226 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Java/JavaBytecodeAnalyzer.cs (637 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Java/JavaCallGraphExtractor.cs (372 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Java/JavaEntrypointClassifier.cs (158 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Java/JavaModels.cs (411 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Java/JavaSinkMatcher.cs (176 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Java/JavaSymbolIdBuilder.cs (308 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/JavaScript/JavaScriptCallGraphExtractor.cs (413 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/JavaScript/JsEntrypointClassifier.cs (153 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/JavaScript/JsSinkMatcher.cs (186 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Node/BabelResultParser.cs (262 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Node/NodeCallGraphExtractor.cs (539 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Php/PhpCallGraphExtractor.cs (426 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Php/PhpEntrypointClassifier.cs (145 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Php/PhpSinkMatcher.cs (175 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Python/PythonCallGraphExtractor.cs (481 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Python/PythonEntrypointClassifier.cs (141 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Python/PythonSinkMatcher.cs (201 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Ruby/RubyCallGraphExtractor.cs (359 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Ruby/RubyEntrypointClassifier.cs (113 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Ruby/RubySinkMatcher.cs (155 lines)
- Namespace issues:
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Analysis/ReachabilityAnalysisOptions.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Models/CallGraphModels.cs: missing namespace
- Using directive issues:
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Caching/ValkeyCallGraphCacheService.cs: using directives inside namespace
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Binary/BinaryCallGraphExtractor.cs: using directives inside namespace
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Binary/DwarfDebugReader.cs: using directives inside namespace
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Binary/FunctionBoundaryDetector.cs: using directives inside namespace
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Binary/Analysis/BinaryStringLiteralScanner.cs: using directives inside namespace
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Binary/Disassembly/Arm64Disassembler.cs: using directives inside namespace
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Binary/Disassembly/BinaryTextSectionReader.cs: using directives inside namespace
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/DotNet/DotNetCallGraphExtractor.cs: using directives inside namespace
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Go/GoCallGraphExtractor.cs: using directives inside namespace
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Java/JavaCallGraphExtractor.cs: using directives inside namespace
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Node/NodeCallGraphExtractor.cs: using directives inside namespace
- Naming issues:
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Caching/ValkeyCallGraphCacheService.cs: private field naming
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Binary/BinaryEntrypointClassifier.cs: private field naming
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Binary/DwarfDebugReader.cs: const naming
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Binary/FunctionBoundaryDetector.cs: private field naming
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Binary/Analysis/BinaryDynamicLoadDetector.cs: private field naming
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Bun/BunCallGraphExtractor.cs: private field naming
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Bun/BunEntrypointClassifier.cs: private field naming
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Deno/DenoCallGraphExtractor.cs: private field naming
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Deno/DenoEntrypointClassifier.cs: private field naming
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/DotNet/DotNetCallGraphExtractor.cs: private field naming
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Go/GoCallGraphExtractor.cs: private field naming
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Go/GoSinkMatcher.cs: private field naming
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Go/GoSsaResultParser.cs: private field naming
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Java/JavaEntrypointClassifier.cs: private field naming
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Java/JavaSinkMatcher.cs: private field naming
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/JavaScript/JsEntrypointClassifier.cs: private field naming
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/JavaScript/JsSinkMatcher.cs: private field naming
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Node/BabelResultParser.cs: private field naming
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Node/NodeCallGraphExtractor.cs: private field naming
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Php/PhpEntrypointClassifier.cs: private field naming
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Php/PhpSinkMatcher.cs: private field naming
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Python/PythonEntrypointClassifier.cs: private field naming
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Python/PythonSinkMatcher.cs: private field naming
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Ruby/RubyEntrypointClassifier.cs: private field naming
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Ruby/RubySinkMatcher.cs: private field naming
- Async issues:
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Caching/ValkeyCallGraphCacheService.cs: async method naming
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Binary/BinaryCallGraphExtractor.cs: async method naming
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Binary/BinaryCallGraphExtractor.cs: missing ConfigureAwait(false)
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Binary/DwarfDebugReader.cs: async method naming
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Binary/DwarfDebugReader.cs: missing ConfigureAwait(false)
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Binary/FunctionBoundaryDetector.cs: async method naming
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Binary/FunctionBoundaryDetector.cs: missing ConfigureAwait(false)
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Binary/Analysis/BinaryDynamicLoadDetector.cs: missing ConfigureAwait(false)
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Binary/Analysis/BinaryStringLiteralScanner.cs: async method naming
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Binary/Analysis/BinaryStringLiteralScanner.cs: missing ConfigureAwait(false)
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Binary/Disassembly/BinaryTextSectionReader.cs: async method naming
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Binary/Disassembly/BinaryTextSectionReader.cs: missing ConfigureAwait(false)
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/DotNet/DotNetCallGraphExtractor.cs: async method naming
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Go/GoCallGraphExtractor.cs: missing ConfigureAwait(false)
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Go/GoSsaResultParser.cs: missing ConfigureAwait(false)
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Java/JavaCallGraphExtractor.cs: missing ConfigureAwait(false)
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/JavaScript/JavaScriptCallGraphExtractor.cs: async method naming
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/JavaScript/JavaScriptCallGraphExtractor.cs: missing ConfigureAwait(false)
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Node/BabelResultParser.cs: missing ConfigureAwait(false)
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Node/NodeCallGraphExtractor.cs: async method naming
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Php/PhpCallGraphExtractor.cs: async method naming
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Php/PhpCallGraphExtractor.cs: missing ConfigureAwait(false)
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Python/PythonCallGraphExtractor.cs: async method naming
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Python/PythonCallGraphExtractor.cs: missing ConfigureAwait(false)
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Ruby/RubyCallGraphExtractor.cs: async method naming
- src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Ruby/RubyCallGraphExtractor.cs: missing ConfigureAwait(false)
- Service locator matches:
- none
- Assembly.LoadFrom matches:
- none
### Fix Guidance
- Align interface/field/const naming to standards.
- Move and sort using directives (outside namespace).
- Normalize namespaces to file-scoped StellaOps.<Area>.
- Rename async methods and avoid blocking async calls.
- Split files over 100 lines into smaller types or partials.
## File-Level Findings
- Status: FAIL
- Files scanned: 59
- Files with issues: 48
- See docs/implplan/audits/csproj-standards/file-audit.csv for full per-file status.
| File | Issues | Fix guidance |
| --- | --- | --- |
| src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Analysis/ReachabilityAnalysisOptions.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Analysis/ReachabilityAnalyzer.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Caching/CircuitBreakerState.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Caching/ValkeyCallGraphCacheService.cs | AsyncNaming; FileLength>100; PrivateFieldNaming; UsingInsideNamespace | Move using directives outside namespace.; Rename async methods to end with Async.; Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/CallGraphExtractorRegistry.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/GuardDetector.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Binary/BinaryCallGraphExtractor.cs | AsyncNaming; ConfigureAwaitMissing; FileLength>100; UsingInsideNamespace | Add ConfigureAwait(false) to awaited calls in library-like code.; Move using directives outside namespace.; Rename async methods to end with Async.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Binary/BinaryEntrypointClassifier.cs | FileLength>100; PrivateFieldNaming | Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Binary/DwarfDebugReader.cs | AsyncNaming; ConfigureAwaitMissing; ConstNaming; FileLength>100; UsingInsideNamespace | Add ConfigureAwait(false) to awaited calls in library-like code.; Move using directives outside namespace.; Rename async methods to end with Async.; Rename consts to PascalCase.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Binary/FunctionBoundaryDetector.cs | AsyncNaming; ConfigureAwaitMissing; FileLength>100; PrivateFieldNaming; UsingInsideNamespace | Add ConfigureAwait(false) to awaited calls in library-like code.; Move using directives outside namespace.; Rename async methods to end with Async.; Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Binary/Analysis/BinaryDynamicLoadDetector.cs | ConfigureAwaitMissing; FileLength>100; PrivateFieldNaming | Add ConfigureAwait(false) to awaited calls in library-like code.; Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Binary/Analysis/BinaryStringLiteralScanner.cs | AsyncNaming; ConfigureAwaitMissing; FileLength>100; UsingInsideNamespace | Add ConfigureAwait(false) to awaited calls in library-like code.; Move using directives outside namespace.; Rename async methods to end with Async.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Binary/Disassembly/Arm64Disassembler.cs | FileLength>100; UsingInsideNamespace | Move using directives outside namespace.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Binary/Disassembly/BinaryTextSectionReader.cs | AsyncNaming; ConfigureAwaitMissing; FileLength>100; UsingInsideNamespace | Add ConfigureAwait(false) to awaited calls in library-like code.; Move using directives outside namespace.; Rename async methods to end with Async.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Binary/Disassembly/DirectCallExtractor.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Bun/BunCallGraphExtractor.cs | FileLength>100; PrivateFieldNaming | Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Bun/BunEntrypointClassifier.cs | FileLength>100; PrivateFieldNaming | Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Bun/BunSinkMatcher.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Deno/DenoCallGraphExtractor.cs | FileLength>100; PrivateFieldNaming | Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Deno/DenoEntrypointClassifier.cs | FileLength>100; PrivateFieldNaming | Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Deno/DenoSinkMatcher.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/DotNet/DotNetCallGraphExtractor.cs | AsyncNaming; FileLength>100; PrivateFieldNaming; UsingInsideNamespace | Move using directives outside namespace.; Rename async methods to end with Async.; Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Go/GoCallGraphExtractor.cs | ConfigureAwaitMissing; FileLength>100; PrivateFieldNaming; UsingInsideNamespace | Add ConfigureAwait(false) to awaited calls in library-like code.; Move using directives outside namespace.; Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Go/GoEntrypointClassifier.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Go/GoSinkMatcher.cs | FileLength>100; PrivateFieldNaming | Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Go/GoSsaResultParser.cs | ConfigureAwaitMissing; FileLength>100; PrivateFieldNaming | Add ConfigureAwait(false) to awaited calls in library-like code.; Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Go/GoSymbolIdBuilder.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Java/JavaBytecodeAnalyzer.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Java/JavaCallGraphExtractor.cs | ConfigureAwaitMissing; FileLength>100; UsingInsideNamespace | Add ConfigureAwait(false) to awaited calls in library-like code.; Move using directives outside namespace.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Java/JavaEntrypointClassifier.cs | FileLength>100; PrivateFieldNaming | Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Java/JavaModels.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Java/JavaSinkMatcher.cs | FileLength>100; PrivateFieldNaming | Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Java/JavaSymbolIdBuilder.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/JavaScript/JavaScriptCallGraphExtractor.cs | AsyncNaming; ConfigureAwaitMissing; FileLength>100 | Add ConfigureAwait(false) to awaited calls in library-like code.; Rename async methods to end with Async.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/JavaScript/JsEntrypointClassifier.cs | FileLength>100; PrivateFieldNaming | Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/JavaScript/JsSinkMatcher.cs | FileLength>100; PrivateFieldNaming | Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Node/BabelResultParser.cs | ConfigureAwaitMissing; FileLength>100; PrivateFieldNaming | Add ConfigureAwait(false) to awaited calls in library-like code.; Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Node/NodeCallGraphExtractor.cs | AsyncNaming; FileLength>100; PrivateFieldNaming; UsingInsideNamespace | Move using directives outside namespace.; Rename async methods to end with Async.; Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Php/PhpCallGraphExtractor.cs | AsyncNaming; ConfigureAwaitMissing; FileLength>100 | Add ConfigureAwait(false) to awaited calls in library-like code.; Rename async methods to end with Async.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Php/PhpEntrypointClassifier.cs | FileLength>100; PrivateFieldNaming | Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Php/PhpSinkMatcher.cs | FileLength>100; PrivateFieldNaming | Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Python/PythonCallGraphExtractor.cs | AsyncNaming; ConfigureAwaitMissing; FileLength>100 | Add ConfigureAwait(false) to awaited calls in library-like code.; Rename async methods to end with Async.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Python/PythonEntrypointClassifier.cs | FileLength>100; PrivateFieldNaming | Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Python/PythonSinkMatcher.cs | FileLength>100; PrivateFieldNaming | Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Ruby/RubyCallGraphExtractor.cs | AsyncNaming; ConfigureAwaitMissing; FileLength>100 | Add ConfigureAwait(false) to awaited calls in library-like code.; Rename async methods to end with Async.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Ruby/RubyEntrypointClassifier.cs | FileLength>100; PrivateFieldNaming | Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Extraction/Ruby/RubySinkMatcher.cs | FileLength>100; PrivateFieldNaming | Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.CallGraph/Models/CallGraphModels.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
## Testing Fullness Findings
- Status: FAIL
- Expected layers (heuristic): Performance, Unit
- Detected test projects: src/__Tests/Integration/StellaOps.Integration.E2E/StellaOps.Integration.E2E.csproj [E2E, Integration]; src/__Tests/Integration/StellaOps.Integration.Reachability/StellaOps.Integration.Reachability.csproj [Integration]; src/__Tests/reachability/StellaOps.ScannerSignals.IntegrationTests/StellaOps.ScannerSignals.IntegrationTests.csproj [Integration]; src/Scanner/__Tests/StellaOps.Scanner.CallGraph.Tests/StellaOps.Scanner.CallGraph.Tests.csproj [Unit]; src/Scanner/__Tests/StellaOps.Scanner.ReachabilityDrift.Tests/StellaOps.Scanner.ReachabilityDrift.Tests.csproj [Unit]
- Missing layers: Performance
### 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,142 @@
# Audit - StellaOps.Scanner.ChangeTrace
## Project
- Path: src/Scanner/__Libraries/StellaOps.Scanner.ChangeTrace/StellaOps.Scanner.ChangeTrace.csproj
- Module: Scanner
- Kind: Library
- Audit date (UTC): 2026-01-30
- Files scanned: 32
- Files with issues: 32
- 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: 32
- 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/Scanner/__Libraries/StellaOps.Scanner.ChangeTrace/Builder/ChangeTraceBuilder.cs (171 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.ChangeTrace/ByteDiff/ByteLevelDiffer.cs (382 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.ChangeTrace/ByteDiff/SectionAnalyzer.cs (426 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.ChangeTrace/CycloneDx/ChangeTraceEvidenceExtension.cs (363 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.ChangeTrace/Integration/IReachGraphClient.cs (118 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.ChangeTrace/Models/ChangeTrace.cs (179 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.ChangeTrace/Models/PackageDelta.cs (209 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.ChangeTrace/Models/SymbolDelta.cs (115 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.ChangeTrace/Models/TrustDelta.cs (112 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.ChangeTrace/Proofs/LatticeProofGenerator.cs (197 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.ChangeTrace/Scoring/TrustDeltaCalculator.cs (266 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.ChangeTrace/Serialization/ChangeTraceSerializer.cs (159 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.ChangeTrace/Validation/ChangeTraceValidator.cs (261 lines)
- Namespace issues:
- src/Scanner/__Libraries/StellaOps.Scanner.ChangeTrace/Builder/ChangeTraceBuilder.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.ChangeTrace/Builder/ChangeTraceBuilderOptions.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.ChangeTrace/Builder/IChangeTraceBuilder.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.ChangeTrace/ByteDiff/ByteDiffOptions.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.ChangeTrace/ByteDiff/ByteLevelDiffer.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.ChangeTrace/ByteDiff/IByteLevelDiffer.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.ChangeTrace/ByteDiff/ISectionAnalyzer.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.ChangeTrace/ByteDiff/SectionAnalyzer.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.ChangeTrace/CycloneDx/ChangeTraceEvidenceExtension.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.ChangeTrace/CycloneDx/IChangeTraceEvidenceExtension.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.ChangeTrace/Integration/IReachGraphClient.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.ChangeTrace/Integration/IVexLensClient.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.ChangeTrace/Models/ByteDelta.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.ChangeTrace/Models/ChangeTrace.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.ChangeTrace/Models/ChangeTraceSummary.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.ChangeTrace/Models/PackageDelta.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.ChangeTrace/Models/SymbolDelta.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.ChangeTrace/Models/TrustDelta.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.ChangeTrace/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.ChangeTrace/obj/Debug/net10.0/StellaOps.Scanner.ChangeTrace.AssemblyInfo.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.ChangeTrace/obj/Debug/net10.0/StellaOps.Scanner.ChangeTrace.GlobalUsings.g.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.ChangeTrace/obj/Release/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.ChangeTrace/obj/Release/net10.0/StellaOps.Scanner.ChangeTrace.AssemblyInfo.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.ChangeTrace/obj/Release/net10.0/StellaOps.Scanner.ChangeTrace.GlobalUsings.g.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.ChangeTrace/Proofs/ILatticeProofGenerator.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.ChangeTrace/Proofs/LatticeProofGenerator.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.ChangeTrace/Scoring/ITrustDeltaCalculator.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.ChangeTrace/Scoring/TrustDeltaCalculator.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.ChangeTrace/Scoring/TrustDeltaContext.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.ChangeTrace/Scoring/TrustDeltaOptions.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.ChangeTrace/Serialization/ChangeTraceSerializer.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.ChangeTrace/Validation/ChangeTraceValidator.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: 32
- Files with issues: 32
- See docs/implplan/audits/csproj-standards/file-audit.csv for full per-file status.
| File | Issues | Fix guidance |
| --- | --- | --- |
| src/Scanner/__Libraries/StellaOps.Scanner.ChangeTrace/Builder/ChangeTraceBuilder.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.ChangeTrace/Builder/ChangeTraceBuilderOptions.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.ChangeTrace/Builder/IChangeTraceBuilder.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.ChangeTrace/ByteDiff/ByteDiffOptions.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.ChangeTrace/ByteDiff/ByteLevelDiffer.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.ChangeTrace/ByteDiff/IByteLevelDiffer.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.ChangeTrace/ByteDiff/ISectionAnalyzer.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.ChangeTrace/ByteDiff/SectionAnalyzer.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.ChangeTrace/CycloneDx/ChangeTraceEvidenceExtension.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.ChangeTrace/CycloneDx/IChangeTraceEvidenceExtension.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.ChangeTrace/Integration/IReachGraphClient.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.ChangeTrace/Integration/IVexLensClient.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.ChangeTrace/Models/ByteDelta.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.ChangeTrace/Models/ChangeTrace.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.ChangeTrace/Models/ChangeTraceSummary.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.ChangeTrace/Models/PackageDelta.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.ChangeTrace/Models/SymbolDelta.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.ChangeTrace/Models/TrustDelta.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.ChangeTrace/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.ChangeTrace/obj/Debug/net10.0/StellaOps.Scanner.ChangeTrace.AssemblyInfo.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.ChangeTrace/obj/Debug/net10.0/StellaOps.Scanner.ChangeTrace.GlobalUsings.g.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.ChangeTrace/obj/Release/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.ChangeTrace/obj/Release/net10.0/StellaOps.Scanner.ChangeTrace.AssemblyInfo.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.ChangeTrace/obj/Release/net10.0/StellaOps.Scanner.ChangeTrace.GlobalUsings.g.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.ChangeTrace/Proofs/ILatticeProofGenerator.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.ChangeTrace/Proofs/LatticeProofGenerator.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.ChangeTrace/Scoring/ITrustDeltaCalculator.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.ChangeTrace/Scoring/TrustDeltaCalculator.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.ChangeTrace/Scoring/TrustDeltaContext.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.ChangeTrace/Scoring/TrustDeltaOptions.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.ChangeTrace/Serialization/ChangeTraceSerializer.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.ChangeTrace/Validation/ChangeTraceValidator.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): Performance, Unit
- Detected test projects: src/Scanner/__Tests/StellaOps.Scanner.ChangeTrace.Tests/StellaOps.Scanner.ChangeTrace.Tests.csproj [Unit]
- Missing layers: Performance
### 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.Scanner.ChangeTrace
## Project
- Path: src/Scanner/__Libraries/StellaOps.Scanner.ChangeTrace/StellaOps.Scanner.ChangeTrace.csproj
- Module: Scanner
- Kind: Library
- Audit date (UTC): 2026-01-31
- Files scanned: 26
- Files with issues: 13
- 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: 0
- Using directive violations: 1
- Naming violations (interfaces/fields/const/async): 4
- Service locator usage (BuildServiceProvider/GetService): 0
- Assembly.LoadFrom usage: 0
### Details
- 100-line files:
- src/Scanner/__Libraries/StellaOps.Scanner.ChangeTrace/Builder/ChangeTraceBuilder.cs (172 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.ChangeTrace/ByteDiff/ByteLevelDiffer.cs (383 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.ChangeTrace/ByteDiff/SectionAnalyzer.cs (426 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.ChangeTrace/CycloneDx/ChangeTraceEvidenceExtension.cs (364 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.ChangeTrace/Integration/IReachGraphClient.cs (118 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.ChangeTrace/Models/ChangeTrace.cs (179 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.ChangeTrace/Models/PackageDelta.cs (209 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.ChangeTrace/Models/SymbolDelta.cs (115 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.ChangeTrace/Models/TrustDelta.cs (112 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.ChangeTrace/Proofs/LatticeProofGenerator.cs (198 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.ChangeTrace/Scoring/TrustDeltaCalculator.cs (267 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.ChangeTrace/Serialization/ChangeTraceSerializer.cs (160 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.ChangeTrace/Validation/ChangeTraceValidator.cs (262 lines)
- Namespace issues:
- none
- Using directive issues:
- src/Scanner/__Libraries/StellaOps.Scanner.ChangeTrace/ByteDiff/ByteLevelDiffer.cs: using directives inside namespace
- Naming issues:
- src/Scanner/__Libraries/StellaOps.Scanner.ChangeTrace/ByteDiff/SectionAnalyzer.cs: private field naming
- src/Scanner/__Libraries/StellaOps.Scanner.ChangeTrace/Serialization/ChangeTraceSerializer.cs: private field naming
- Async issues:
- src/Scanner/__Libraries/StellaOps.Scanner.ChangeTrace/ByteDiff/ByteLevelDiffer.cs: async method naming
- src/Scanner/__Libraries/StellaOps.Scanner.ChangeTrace/ByteDiff/ByteLevelDiffer.cs: missing ConfigureAwait(false)
- Service locator matches:
- none
- Assembly.LoadFrom matches:
- none
### Fix Guidance
- Align interface/field/const naming to standards.
- Move and sort using directives (outside namespace).
- Rename async methods and avoid blocking async calls.
- Split files over 100 lines into smaller types or partials.
## File-Level Findings
- Status: FAIL
- Files scanned: 26
- Files with issues: 13
- See docs/implplan/audits/csproj-standards/file-audit.csv for full per-file status.
| File | Issues | Fix guidance |
| --- | --- | --- |
| src/Scanner/__Libraries/StellaOps.Scanner.ChangeTrace/Builder/ChangeTraceBuilder.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.ChangeTrace/ByteDiff/ByteLevelDiffer.cs | AsyncNaming; ConfigureAwaitMissing; FileLength>100; UsingInsideNamespace | Add ConfigureAwait(false) to awaited calls in library-like code.; Move using directives outside namespace.; Rename async methods to end with Async.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.ChangeTrace/ByteDiff/SectionAnalyzer.cs | FileLength>100; PrivateFieldNaming | Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.ChangeTrace/CycloneDx/ChangeTraceEvidenceExtension.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.ChangeTrace/Integration/IReachGraphClient.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.ChangeTrace/Models/ChangeTrace.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.ChangeTrace/Models/PackageDelta.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.ChangeTrace/Models/SymbolDelta.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.ChangeTrace/Models/TrustDelta.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.ChangeTrace/Proofs/LatticeProofGenerator.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.ChangeTrace/Scoring/TrustDeltaCalculator.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.ChangeTrace/Serialization/ChangeTraceSerializer.cs | FileLength>100; PrivateFieldNaming | Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.ChangeTrace/Validation/ChangeTraceValidator.cs | FileLength>100 | Split file to stay <= 100 lines. |
## Testing Fullness Findings
- Status: FAIL
- Expected layers (heuristic): Performance, Unit
- Detected test projects: src/Scanner/__Tests/StellaOps.Scanner.ChangeTrace.Tests/StellaOps.Scanner.ChangeTrace.Tests.csproj [Unit]
- Missing layers: Performance
### 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.Scanner.Contracts
## Project
- Path: src/Scanner/__Libraries/StellaOps.Scanner.Contracts/StellaOps.Scanner.Contracts.csproj
- Module: Scanner
- Kind: Library
- Audit date (UTC): 2026-01-30
- Files scanned: 11
- 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/Scanner/__Libraries/StellaOps.Scanner.Contracts/CallGraphModels.cs (486 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Contracts/SinkRegistry.cs (144 lines)
- Namespace issues:
- src/Scanner/__Libraries/StellaOps.Scanner.Contracts/CallGraphEnums.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Contracts/CallGraphModels.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Contracts/ElfSectionHashModels.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Contracts/OciInspectionModels.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Contracts/SinkCategory.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Contracts/SinkRegistry.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Contracts/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Contracts/obj/Debug/net10.0/StellaOps.Scanner.Contracts.GlobalUsings.g.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Contracts/obj/Release/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Contracts/obj/Release/net10.0/StellaOps.Scanner.Contracts.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: 11
- Files with issues: 10
- See docs/implplan/audits/csproj-standards/file-audit.csv for full per-file status.
| File | Issues | Fix guidance |
| --- | --- | --- |
| src/Scanner/__Libraries/StellaOps.Scanner.Contracts/CallGraphEnums.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Contracts/CallGraphModels.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Contracts/ElfSectionHashModels.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Contracts/OciInspectionModels.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Contracts/SinkCategory.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Contracts/SinkRegistry.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Contracts/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Contracts/obj/Debug/net10.0/StellaOps.Scanner.Contracts.GlobalUsings.g.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Contracts/obj/Release/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Contracts/obj/Release/net10.0/StellaOps.Scanner.Contracts.GlobalUsings.g.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
## Testing Fullness Findings
- Status: FAIL
- Expected layers (heuristic): Performance, Unit
- Detected test projects: src/__Tests/reachability/StellaOps.ScannerSignals.IntegrationTests/StellaOps.ScannerSignals.IntegrationTests.csproj [Integration]; src/Scanner/__Tests/StellaOps.Scanner.CallGraph.Tests/StellaOps.Scanner.CallGraph.Tests.csproj [Unit]; src/Scanner/__Tests/StellaOps.Scanner.Contracts.Tests/StellaOps.Scanner.Contracts.Tests.csproj [Unit]; src/Scanner/__Tests/StellaOps.Scanner.ReachabilityDrift.Tests/StellaOps.Scanner.ReachabilityDrift.Tests.csproj [Unit]
- Missing layers: Performance
### 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,71 @@
# Audit - StellaOps.Scanner.Contracts
## Project
- Path: src/Scanner/__Libraries/StellaOps.Scanner.Contracts/StellaOps.Scanner.Contracts.csproj
- Module: Scanner
- Kind: Library
- Audit date (UTC): 2026-01-31
- Files scanned: 7
- Files with issues: 2
- 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: 0
- Using directive violations: 1
- Naming violations (interfaces/fields/const/async): 1
- Service locator usage (BuildServiceProvider/GetService): 0
- Assembly.LoadFrom usage: 0
### Details
- 100-line files:
- src/Scanner/__Libraries/StellaOps.Scanner.Contracts/CallGraphModels.cs (487 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Contracts/SinkRegistry.cs (145 lines)
- Namespace issues:
- none
- Using directive issues:
- src/Scanner/__Libraries/StellaOps.Scanner.Contracts/CallGraphModels.cs: using directives inside namespace
- Naming issues:
- src/Scanner/__Libraries/StellaOps.Scanner.Contracts/CallGraphModels.cs: private field naming
- Async issues:
- none
- Service locator matches:
- none
- Assembly.LoadFrom matches:
- none
### Fix Guidance
- Align interface/field/const naming to standards.
- Move and sort using directives (outside namespace).
- Split files over 100 lines into smaller types or partials.
## File-Level Findings
- Status: FAIL
- Files scanned: 7
- Files with issues: 2
- See docs/implplan/audits/csproj-standards/file-audit.csv for full per-file status.
| File | Issues | Fix guidance |
| --- | --- | --- |
| src/Scanner/__Libraries/StellaOps.Scanner.Contracts/CallGraphModels.cs | FileLength>100; PrivateFieldNaming; UsingInsideNamespace | Move using directives outside namespace.; Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Contracts/SinkRegistry.cs | FileLength>100 | Split file to stay <= 100 lines. |
## Testing Fullness Findings
- Status: FAIL
- Expected layers (heuristic): Performance, Unit
- Detected test projects: src/__Tests/reachability/StellaOps.ScannerSignals.IntegrationTests/StellaOps.ScannerSignals.IntegrationTests.csproj [Integration]; src/Scanner/__Tests/StellaOps.Scanner.CallGraph.Tests/StellaOps.Scanner.CallGraph.Tests.csproj [Unit]; src/Scanner/__Tests/StellaOps.Scanner.Contracts.Tests/StellaOps.Scanner.Contracts.Tests.csproj [Unit]; src/Scanner/__Tests/StellaOps.Scanner.ReachabilityDrift.Tests/StellaOps.Scanner.ReachabilityDrift.Tests.csproj [Unit]
- Missing layers: Performance
### 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,263 @@
# Audit - StellaOps.Scanner.Core
## Project
- Path: src/Scanner/__Libraries/StellaOps.Scanner.Core/StellaOps.Scanner.Core.csproj
- Module: Scanner
- Kind: Library
- Audit date (UTC): 2026-01-30
- Files scanned: 78
- Files with issues: 78
- 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: 42
- Namespace violations: 78
- 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/Scanner/__Libraries/StellaOps.Scanner.Core/ProofBundleWriter.cs (259 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Core/ScanManifest.cs (318 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Core/ScanManifestSigner.cs (227 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Core/Configuration/EpssEnrichmentOptions.cs (144 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Core/Configuration/OfflineKitOptionsValidator.cs (143 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Core/Configuration/PoEConfiguration.cs (144 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Core/Contracts/ComponentGraph.cs (302 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Core/Contracts/ComponentModels.cs (284 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Core/Contracts/ScanJob.cs (174 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Core/Contracts/ScannerError.cs (111 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Core/Contracts/ScanProgressEvent.cs (122 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Core/Entropy/EntropyReportBuilder.cs (108 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Core/Epss/EpssChangeEvent.cs (379 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Core/Epss/EpssEvidence.cs (148 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Core/Epss/EpssPriorityBand.cs (203 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Core/Epss/IEpssProvider.cs (120 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Core/Models/ComponentIdentity.cs (203 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Core/Models/FalsificationConditions.cs (440 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Core/Models/LayerDependencyGraph.cs (308 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Core/Models/SbomVersioning.cs (365 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Core/Models/ZeroDayWindowTracking.cs (536 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Core/Normalization/IPackageNameNormalizer.cs (198 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Core/Normalization/PackageNameNormalizer.cs (625 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Core/Observability/ScannerLogExtensions.cs (116 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Core/Provenance/EnrichmentProvenanceCapture.cs (197 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Core/Provenance/IEnrichmentProvenanceCapture.cs (285 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Core/Replay/RecordModeAssembler.cs (102 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Core/Secrets/Alerts/ISecretAlertEmitter.cs (147 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Core/Secrets/Alerts/ISecretAlertRouter.cs (168 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Core/Secrets/Alerts/SecretAlertEmitter.cs (223 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Core/Secrets/Alerts/SecretFindingAlertEvent.cs (227 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Core/Secrets/Configuration/SecretAlertSettings.cs (266 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Core/Secrets/Configuration/SecretDetectionSettings.cs (195 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Core/Secrets/Configuration/SecretExceptionMatcher.cs (199 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Core/Secrets/Configuration/SecretExceptionPattern.cs (190 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Core/Secrets/Configuration/SecretRevelationPolicy.cs (115 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Core/Secrets/Configuration/SecretRevelationService.cs (224 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Core/Secrets/Masking/SecretMasker.cs (165 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Core/Security/AuthorityTokenSource.cs (129 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Core/TrustAnchors/FileSystemPublicKeyLoader.cs (107 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Core/TrustAnchors/TrustAnchorRegistry.cs (206 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Core/Utility/ScannerIdentifiers.cs (137 lines)
- Namespace issues:
- src/Scanner/__Libraries/StellaOps.Scanner.Core/ProofBundleWriter.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Core/ScanManifest.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Core/ScanManifestSigner.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Core/Configuration/EpssEnrichmentOptions.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Core/Configuration/OfflineKitOptions.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Core/Configuration/OfflineKitOptionsValidator.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Core/Configuration/PoEConfiguration.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Core/Configuration/TrustAnchorConfig.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Core/Contracts/AnalyzerObservationPayload.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Core/Contracts/BunPackageInventory.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Core/Contracts/ComponentGraph.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Core/Contracts/ComponentModels.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Core/Contracts/RubyPackageInventory.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Core/Contracts/SbomView.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Core/Contracts/ScanAnalysisKeys.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Core/Contracts/ScanAnalysisStore.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Core/Contracts/ScanAnalysisStoreExtensions.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Core/Contracts/ScanFileEntry.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Core/Contracts/ScanJob.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Core/Contracts/ScanJobIdJsonConverter.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Core/Contracts/ScanMetadataKeys.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Core/Contracts/ScannerError.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Core/Contracts/ScanProgressEvent.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Core/Entropy/EntropyCalculator.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Core/Entropy/EntropyReportBuilder.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Core/Entropy/EntropyReportModels.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Core/Epss/EpssChangeEvent.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Core/Epss/EpssEvidence.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Core/Epss/EpssPriorityBand.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Core/Epss/IEpssProvider.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Core/Models/ComponentIdentity.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Core/Models/FalsificationConditions.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Core/Models/LayerDependencyGraph.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Core/Models/SbomVersioning.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Core/Models/ZeroDayWindowTracking.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Core/Normalization/IPackageNameNormalizer.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Core/Normalization/NormalizationServiceCollectionExtensions.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Core/Normalization/PackageNameNormalizer.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Core/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Core/obj/Debug/net10.0/StellaOps.Scanner.Core.AssemblyInfo.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Core/obj/Debug/net10.0/StellaOps.Scanner.Core.GlobalUsings.g.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Core/obj/Release/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Core/obj/Release/net10.0/StellaOps.Scanner.Core.AssemblyInfo.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Core/obj/Release/net10.0/StellaOps.Scanner.Core.GlobalUsings.g.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Core/Observability/ScannerCorrelationContext.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Core/Observability/ScannerDiagnostics.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Core/Observability/ScannerLogExtensions.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Core/Observability/ScannerMetricNames.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Core/Provenance/EnrichmentProvenanceCapture.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Core/Provenance/IEnrichmentProvenanceCapture.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Core/Replay/RecordModeAssembler.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Core/Secrets/Alerts/ISecretAlertDeduplicator.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Core/Secrets/Alerts/ISecretAlertEmitter.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Core/Secrets/Alerts/ISecretAlertRouter.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Core/Secrets/Alerts/SecretAlertEmitter.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Core/Secrets/Alerts/SecretFindingAlertEvent.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Core/Secrets/Configuration/ISecretDetectionSettingsRepository.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Core/Secrets/Configuration/SecretAlertSettings.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Core/Secrets/Configuration/SecretDetectionSettings.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Core/Secrets/Configuration/SecretExceptionMatcher.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Core/Secrets/Configuration/SecretExceptionPattern.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Core/Secrets/Configuration/SecretRevelationPolicy.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Core/Secrets/Configuration/SecretRevelationService.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Core/Secrets/Masking/SecretMasker.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Core/Security/AuthorityTokenSource.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Core/Security/IAuthorityTokenSource.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Core/Security/IPluginCatalogGuard.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Core/Security/RestartOnlyPluginGuard.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Core/Security/ScannerOperationalToken.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Core/Security/ServiceCollectionExtensions.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Core/Serialization/ScannerJsonOptions.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Core/TrustAnchors/FileSystemPublicKeyLoader.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Core/TrustAnchors/IPublicKeyLoader.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Core/TrustAnchors/ITrustAnchorRegistry.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Core/TrustAnchors/PurlPatternMatcher.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Core/TrustAnchors/TrustAnchorRegistry.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Core/Utility/ScannerIdentifiers.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Core/Utility/ScannerTimestamps.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: 78
- Files with issues: 78
- See docs/implplan/audits/csproj-standards/file-audit.csv for full per-file status.
| File | Issues | Fix guidance |
| --- | --- | --- |
| src/Scanner/__Libraries/StellaOps.Scanner.Core/ProofBundleWriter.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Core/ScanManifest.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Core/ScanManifestSigner.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Core/Configuration/EpssEnrichmentOptions.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Core/Configuration/OfflineKitOptions.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Core/Configuration/OfflineKitOptionsValidator.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Core/Configuration/PoEConfiguration.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Core/Configuration/TrustAnchorConfig.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Core/Contracts/AnalyzerObservationPayload.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Core/Contracts/BunPackageInventory.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Core/Contracts/ComponentGraph.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Core/Contracts/ComponentModels.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Core/Contracts/RubyPackageInventory.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Core/Contracts/SbomView.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Core/Contracts/ScanAnalysisKeys.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Core/Contracts/ScanAnalysisStore.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Core/Contracts/ScanAnalysisStoreExtensions.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Core/Contracts/ScanFileEntry.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Core/Contracts/ScanJob.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Core/Contracts/ScanJobIdJsonConverter.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Core/Contracts/ScanMetadataKeys.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Core/Contracts/ScannerError.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Core/Contracts/ScanProgressEvent.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Core/Entropy/EntropyCalculator.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Core/Entropy/EntropyReportBuilder.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Core/Entropy/EntropyReportModels.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Core/Epss/EpssChangeEvent.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Core/Epss/EpssEvidence.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Core/Epss/EpssPriorityBand.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Core/Epss/IEpssProvider.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Core/Models/ComponentIdentity.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Core/Models/FalsificationConditions.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Core/Models/LayerDependencyGraph.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Core/Models/SbomVersioning.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Core/Models/ZeroDayWindowTracking.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Core/Normalization/IPackageNameNormalizer.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Core/Normalization/NormalizationServiceCollectionExtensions.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Core/Normalization/PackageNameNormalizer.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Core/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Core/obj/Debug/net10.0/StellaOps.Scanner.Core.AssemblyInfo.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Core/obj/Debug/net10.0/StellaOps.Scanner.Core.GlobalUsings.g.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Core/obj/Release/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Core/obj/Release/net10.0/StellaOps.Scanner.Core.AssemblyInfo.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Core/obj/Release/net10.0/StellaOps.Scanner.Core.GlobalUsings.g.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Core/Observability/ScannerCorrelationContext.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Core/Observability/ScannerDiagnostics.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Core/Observability/ScannerLogExtensions.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Core/Observability/ScannerMetricNames.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Core/Provenance/EnrichmentProvenanceCapture.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Core/Provenance/IEnrichmentProvenanceCapture.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Core/Replay/RecordModeAssembler.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Core/Secrets/Alerts/ISecretAlertDeduplicator.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Core/Secrets/Alerts/ISecretAlertEmitter.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Core/Secrets/Alerts/ISecretAlertRouter.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Core/Secrets/Alerts/SecretAlertEmitter.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Core/Secrets/Alerts/SecretFindingAlertEvent.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Core/Secrets/Configuration/ISecretDetectionSettingsRepository.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Core/Secrets/Configuration/SecretAlertSettings.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Core/Secrets/Configuration/SecretDetectionSettings.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Core/Secrets/Configuration/SecretExceptionMatcher.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Core/Secrets/Configuration/SecretExceptionPattern.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Core/Secrets/Configuration/SecretRevelationPolicy.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Core/Secrets/Configuration/SecretRevelationService.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Core/Secrets/Masking/SecretMasker.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Core/Security/AuthorityTokenSource.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Core/Security/IAuthorityTokenSource.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Core/Security/IPluginCatalogGuard.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Core/Security/RestartOnlyPluginGuard.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Core/Security/ScannerOperationalToken.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Core/Security/ServiceCollectionExtensions.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Core/Serialization/ScannerJsonOptions.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Core/TrustAnchors/FileSystemPublicKeyLoader.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Core/TrustAnchors/IPublicKeyLoader.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Core/TrustAnchors/ITrustAnchorRegistry.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Core/TrustAnchors/PurlPatternMatcher.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Core/TrustAnchors/TrustAnchorRegistry.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Core/Utility/ScannerIdentifiers.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Core/Utility/ScannerTimestamps.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
## Testing Fullness Findings
- Status: FAIL
- Expected layers (heuristic): Performance, Unit
- Detected test projects: src/__Tests/Integration/StellaOps.Integration.Determinism/StellaOps.Integration.Determinism.csproj [Integration]; src/__Tests/Integration/StellaOps.Integration.E2E/StellaOps.Integration.E2E.csproj [E2E, Integration]; src/__Tests/parity/StellaOps.Parity.Tests/StellaOps.Parity.Tests.csproj [Unit]; src/Scanner/__Tests/StellaOps.Scanner.Analyzers.Lang.Bun.Tests/StellaOps.Scanner.Analyzers.Lang.Bun.Tests.csproj [Unit]; src/Scanner/__Tests/StellaOps.Scanner.Analyzers.Lang.Deno.Tests/StellaOps.Scanner.Analyzers.Lang.Deno.Tests.csproj [Unit]; src/Scanner/__Tests/StellaOps.Scanner.Analyzers.Lang.Go.Tests/StellaOps.Scanner.Analyzers.Lang.Go.Tests.csproj [Unit]; src/Scanner/__Tests/StellaOps.Scanner.Analyzers.Lang.Java.Tests/StellaOps.Scanner.Analyzers.Lang.Java.Tests.csproj [Unit]; src/Scanner/__Tests/StellaOps.Scanner.Analyzers.Lang.Node.SmokeTests/StellaOps.Scanner.Analyzers.Lang.Node.SmokeTests.csproj [Unit]; src/Scanner/__Tests/StellaOps.Scanner.Analyzers.Lang.Node.Tests/StellaOps.Scanner.Analyzers.Lang.Node.Tests.csproj [Unit]; src/Scanner/__Tests/StellaOps.Scanner.Analyzers.Lang.Php.Tests/StellaOps.Scanner.Analyzers.Lang.Php.Tests.csproj [Unit]; src/Scanner/__Tests/StellaOps.Scanner.Analyzers.Lang.Python.Tests/StellaOps.Scanner.Analyzers.Lang.Python.Tests.csproj [Unit]; src/Scanner/__Tests/StellaOps.Scanner.Analyzers.Lang.Ruby.Tests/StellaOps.Scanner.Analyzers.Lang.Ruby.Tests.csproj [Unit]; src/Scanner/__Tests/StellaOps.Scanner.Analyzers.Lang.Tests/StellaOps.Scanner.Analyzers.Lang.Tests.csproj [Unit]; src/Scanner/__Tests/StellaOps.Scanner.ConfigDiff.Tests/StellaOps.Scanner.ConfigDiff.Tests.csproj [Unit]; src/Scanner/__Tests/StellaOps.Scanner.Core.Tests/StellaOps.Scanner.Core.Tests.csproj [Unit]; src/Scanner/__Tests/StellaOps.Scanner.Integration.Tests/StellaOps.Scanner.Integration.Tests.csproj [Integration]
- Missing layers: Performance
### 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,171 @@
# Audit - StellaOps.Scanner.Core
## Project
- Path: src/Scanner/__Libraries/StellaOps.Scanner.Core/StellaOps.Scanner.Core.csproj
- Module: Scanner
- Kind: Library
- Audit date (UTC): 2026-01-31
- Files scanned: 72
- Files with issues: 45
- 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: 42
- Namespace violations: 0
- Using directive violations: 4
- Naming violations (interfaces/fields/const/async): 14
- Service locator usage (BuildServiceProvider/GetService): 1
- Assembly.LoadFrom usage: 0
### Details
- 100-line files:
- src/Scanner/__Libraries/StellaOps.Scanner.Core/ProofBundleWriter.cs (260 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Core/ScanManifest.cs (319 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Core/ScanManifestSigner.cs (228 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Core/Configuration/EpssEnrichmentOptions.cs (144 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Core/Configuration/OfflineKitOptionsValidator.cs (144 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Core/Configuration/PoEConfiguration.cs (144 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Core/Contracts/ComponentGraph.cs (302 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Core/Contracts/ComponentModels.cs (284 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Core/Contracts/ScanJob.cs (175 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Core/Contracts/ScannerError.cs (112 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Core/Contracts/ScanProgressEvent.cs (123 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Core/Entropy/EntropyReportBuilder.cs (108 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Core/Epss/EpssChangeEvent.cs (379 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Core/Epss/EpssEvidence.cs (148 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Core/Epss/EpssPriorityBand.cs (203 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Core/Epss/IEpssProvider.cs (120 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Core/Models/ComponentIdentity.cs (203 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Core/Models/FalsificationConditions.cs (440 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Core/Models/LayerDependencyGraph.cs (308 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Core/Models/SbomVersioning.cs (365 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Core/Models/ZeroDayWindowTracking.cs (536 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Core/Normalization/IPackageNameNormalizer.cs (198 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Core/Normalization/PackageNameNormalizer.cs (626 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Core/Observability/ScannerLogExtensions.cs (116 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Core/Provenance/EnrichmentProvenanceCapture.cs (198 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Core/Provenance/IEnrichmentProvenanceCapture.cs (286 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Core/Replay/RecordModeAssembler.cs (103 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Core/Secrets/Alerts/ISecretAlertEmitter.cs (147 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Core/Secrets/Alerts/ISecretAlertRouter.cs (168 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Core/Secrets/Alerts/SecretAlertEmitter.cs (223 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Core/Secrets/Alerts/SecretFindingAlertEvent.cs (228 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Core/Secrets/Configuration/SecretAlertSettings.cs (266 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Core/Secrets/Configuration/SecretDetectionSettings.cs (195 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Core/Secrets/Configuration/SecretExceptionMatcher.cs (200 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Core/Secrets/Configuration/SecretExceptionPattern.cs (190 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Core/Secrets/Configuration/SecretRevelationPolicy.cs (115 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Core/Secrets/Configuration/SecretRevelationService.cs (224 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Core/Secrets/Masking/SecretMasker.cs (165 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Core/Security/AuthorityTokenSource.cs (130 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Core/TrustAnchors/FileSystemPublicKeyLoader.cs (107 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Core/TrustAnchors/TrustAnchorRegistry.cs (207 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Core/Utility/ScannerIdentifiers.cs (138 lines)
- Namespace issues:
- none
- Using directive issues:
- src/Scanner/__Libraries/StellaOps.Scanner.Core/ProofBundleWriter.cs: using directives inside namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Core/Provenance/EnrichmentProvenanceCapture.cs: using directives inside namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Core/Provenance/IEnrichmentProvenanceCapture.cs: using directives inside namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Core/Utility/ScannerIdentifiers.cs: using directives inside namespace
- Naming issues:
- src/Scanner/__Libraries/StellaOps.Scanner.Core/ProofBundleWriter.cs: private field naming
- src/Scanner/__Libraries/StellaOps.Scanner.Core/ScanManifest.cs: private field naming
- src/Scanner/__Libraries/StellaOps.Scanner.Core/Observability/ScannerCorrelationContext.cs: private field naming
- src/Scanner/__Libraries/StellaOps.Scanner.Core/Observability/ScannerLogExtensions.cs: private field naming
- src/Scanner/__Libraries/StellaOps.Scanner.Core/Security/AuthorityTokenSource.cs: private field naming
- src/Scanner/__Libraries/StellaOps.Scanner.Core/Security/RestartOnlyPluginGuard.cs: private field naming
- src/Scanner/__Libraries/StellaOps.Scanner.Core/TrustAnchors/FileSystemPublicKeyLoader.cs: private field naming
- src/Scanner/__Libraries/StellaOps.Scanner.Core/Utility/ScannerIdentifiers.cs: private field naming
- Async issues:
- src/Scanner/__Libraries/StellaOps.Scanner.Core/ProofBundleWriter.cs: async method naming
- src/Scanner/__Libraries/StellaOps.Scanner.Core/ProofBundleWriter.cs: missing ConfigureAwait(false)
- src/Scanner/__Libraries/StellaOps.Scanner.Core/ScanManifestSigner.cs: async method naming
- src/Scanner/__Libraries/StellaOps.Scanner.Core/Replay/RecordModeAssembler.cs: blocking async usage
- src/Scanner/__Libraries/StellaOps.Scanner.Core/Secrets/Alerts/SecretAlertEmitter.cs: missing ConfigureAwait(false)
- src/Scanner/__Libraries/StellaOps.Scanner.Core/Security/AuthorityTokenSource.cs: async method naming
- Service locator matches:
- src/Scanner/__Libraries/StellaOps.Scanner.Core/Security/ServiceCollectionExtensions.cs:29 services.TryAddSingleton<IDpopReplayCache>(provider => new InMemoryDpopReplayCache(provider.GetService<TimeProvider>()));
- Assembly.LoadFrom matches:
- none
### Fix Guidance
- Align interface/field/const naming to standards.
- Move and sort using directives (outside namespace).
- Rename async methods and avoid blocking async calls.
- Replace service locator usage with constructor injection.
- Split files over 100 lines into smaller types or partials.
## File-Level Findings
- Status: FAIL
- Files scanned: 72
- Files with issues: 45
- See docs/implplan/audits/csproj-standards/file-audit.csv for full per-file status.
| File | Issues | Fix guidance |
| --- | --- | --- |
| src/Scanner/__Libraries/StellaOps.Scanner.Core/ProofBundleWriter.cs | AsyncNaming; ConfigureAwaitMissing; FileLength>100; PrivateFieldNaming; UsingInsideNamespace | Add ConfigureAwait(false) to awaited calls in library-like code.; Move using directives outside namespace.; Rename async methods to end with Async.; Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Core/ScanManifest.cs | FileLength>100; PrivateFieldNaming | Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Core/ScanManifestSigner.cs | AsyncNaming; FileLength>100 | Rename async methods to end with Async.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Core/Configuration/EpssEnrichmentOptions.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Core/Configuration/OfflineKitOptionsValidator.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Core/Configuration/PoEConfiguration.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Core/Contracts/ComponentGraph.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Core/Contracts/ComponentModels.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Core/Contracts/ScanJob.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Core/Contracts/ScannerError.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Core/Contracts/ScanProgressEvent.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Core/Entropy/EntropyReportBuilder.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Core/Epss/EpssChangeEvent.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Core/Epss/EpssEvidence.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Core/Epss/EpssPriorityBand.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Core/Epss/IEpssProvider.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Core/Models/ComponentIdentity.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Core/Models/FalsificationConditions.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Core/Models/LayerDependencyGraph.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Core/Models/SbomVersioning.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Core/Models/ZeroDayWindowTracking.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Core/Normalization/IPackageNameNormalizer.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Core/Normalization/PackageNameNormalizer.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Core/Observability/ScannerCorrelationContext.cs | PrivateFieldNaming | Rename private fields to _camelCase. |
| src/Scanner/__Libraries/StellaOps.Scanner.Core/Observability/ScannerLogExtensions.cs | FileLength>100; PrivateFieldNaming | Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Core/Provenance/EnrichmentProvenanceCapture.cs | FileLength>100; UsingInsideNamespace | Move using directives outside namespace.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Core/Provenance/IEnrichmentProvenanceCapture.cs | FileLength>100; UsingInsideNamespace | Move using directives outside namespace.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Core/Replay/RecordModeAssembler.cs | BlockingAsync; FileLength>100 | Replace .Result/.Wait/GetAwaiter().GetResult() with await.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Core/Secrets/Alerts/ISecretAlertEmitter.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Core/Secrets/Alerts/ISecretAlertRouter.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Core/Secrets/Alerts/SecretAlertEmitter.cs | ConfigureAwaitMissing; FileLength>100 | Add ConfigureAwait(false) to awaited calls in library-like code.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Core/Secrets/Alerts/SecretFindingAlertEvent.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Core/Secrets/Configuration/SecretAlertSettings.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Core/Secrets/Configuration/SecretDetectionSettings.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Core/Secrets/Configuration/SecretExceptionMatcher.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Core/Secrets/Configuration/SecretExceptionPattern.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Core/Secrets/Configuration/SecretRevelationPolicy.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Core/Secrets/Configuration/SecretRevelationService.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Core/Secrets/Masking/SecretMasker.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Core/Security/AuthorityTokenSource.cs | AsyncNaming; FileLength>100; PrivateFieldNaming | Rename async methods to end with Async.; Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Core/Security/RestartOnlyPluginGuard.cs | PrivateFieldNaming | Rename private fields to _camelCase. |
| src/Scanner/__Libraries/StellaOps.Scanner.Core/Security/ServiceCollectionExtensions.cs | ServiceLocator | Remove service locator usage; use constructor injection. |
| src/Scanner/__Libraries/StellaOps.Scanner.Core/TrustAnchors/FileSystemPublicKeyLoader.cs | FileLength>100; PrivateFieldNaming | Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Core/TrustAnchors/TrustAnchorRegistry.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Core/Utility/ScannerIdentifiers.cs | FileLength>100; PrivateFieldNaming; UsingInsideNamespace | Move using directives outside namespace.; Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
## Testing Fullness Findings
- Status: FAIL
- Expected layers (heuristic): Performance, Unit
- Detected test projects: src/__Tests/Integration/StellaOps.Integration.Determinism/StellaOps.Integration.Determinism.csproj [Integration]; src/__Tests/Integration/StellaOps.Integration.E2E/StellaOps.Integration.E2E.csproj [E2E, Integration]; src/__Tests/parity/StellaOps.Parity.Tests/StellaOps.Parity.Tests.csproj [Unit]; src/Scanner/__Tests/StellaOps.Scanner.Analyzers.Lang.Bun.Tests/StellaOps.Scanner.Analyzers.Lang.Bun.Tests.csproj [Unit]; src/Scanner/__Tests/StellaOps.Scanner.Analyzers.Lang.Deno.Tests/StellaOps.Scanner.Analyzers.Lang.Deno.Tests.csproj [Unit]; src/Scanner/__Tests/StellaOps.Scanner.Analyzers.Lang.Go.Tests/StellaOps.Scanner.Analyzers.Lang.Go.Tests.csproj [Unit]; src/Scanner/__Tests/StellaOps.Scanner.Analyzers.Lang.Java.Tests/StellaOps.Scanner.Analyzers.Lang.Java.Tests.csproj [Unit]; src/Scanner/__Tests/StellaOps.Scanner.Analyzers.Lang.Node.SmokeTests/StellaOps.Scanner.Analyzers.Lang.Node.SmokeTests.csproj [Unit]; src/Scanner/__Tests/StellaOps.Scanner.Analyzers.Lang.Node.Tests/StellaOps.Scanner.Analyzers.Lang.Node.Tests.csproj [Unit]; src/Scanner/__Tests/StellaOps.Scanner.Analyzers.Lang.Php.Tests/StellaOps.Scanner.Analyzers.Lang.Php.Tests.csproj [Unit]; src/Scanner/__Tests/StellaOps.Scanner.Analyzers.Lang.Python.Tests/StellaOps.Scanner.Analyzers.Lang.Python.Tests.csproj [Unit]; src/Scanner/__Tests/StellaOps.Scanner.Analyzers.Lang.Ruby.Tests/StellaOps.Scanner.Analyzers.Lang.Ruby.Tests.csproj [Unit]; src/Scanner/__Tests/StellaOps.Scanner.Analyzers.Lang.Tests/StellaOps.Scanner.Analyzers.Lang.Tests.csproj [Unit]; src/Scanner/__Tests/StellaOps.Scanner.ConfigDiff.Tests/StellaOps.Scanner.ConfigDiff.Tests.csproj [Unit]; src/Scanner/__Tests/StellaOps.Scanner.Core.Tests/StellaOps.Scanner.Core.Tests.csproj [Unit]; src/Scanner/__Tests/StellaOps.Scanner.Integration.Tests/StellaOps.Scanner.Integration.Tests.csproj [Integration]
- Missing layers: Performance
### 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,120 @@
# Audit - StellaOps.Scanner.CryptoAnalysis
## Project
- Path: src/Scanner/__Libraries/StellaOps.Scanner.CryptoAnalysis/StellaOps.Scanner.CryptoAnalysis.csproj
- Module: Scanner
- Kind: Library
- Audit date (UTC): 2026-01-30
- Files scanned: 21
- Files with issues: 21
- 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: 21
- 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/Scanner/__Libraries/StellaOps.Scanner.CryptoAnalysis/CryptoAnalysisAnalyzer.cs (165 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.CryptoAnalysis/Analyzers/AlgorithmStrengthAnalyzer.cs (207 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.CryptoAnalysis/Analyzers/CertificateAnalyzer.cs (123 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.CryptoAnalysis/Analyzers/CryptoAlgorithmCatalog.cs (262 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.CryptoAnalysis/Analyzers/CryptoAnalysisContext.cs (118 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.CryptoAnalysis/Analyzers/CryptoInventoryGenerator.cs (125 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.CryptoAnalysis/Analyzers/FipsComplianceChecker.cs (147 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.CryptoAnalysis/Analyzers/PostQuantumAnalyzer.cs (145 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.CryptoAnalysis/Analyzers/ProtocolAnalyzer.cs (175 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.CryptoAnalysis/Models/CryptoAnalysisModels.cs (177 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.CryptoAnalysis/Policy/CryptoPolicyLoader.cs (131 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.CryptoAnalysis/Reporting/CryptoAnalysisReportFormatter.cs (220 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.CryptoAnalysis/Reporting/CryptoInventoryExporter.cs (313 lines)
- Namespace issues:
- src/Scanner/__Libraries/StellaOps.Scanner.CryptoAnalysis/CryptoAnalysisAnalyzer.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.CryptoAnalysis/CryptoAnalysisServiceCollectionExtensions.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.CryptoAnalysis/Analyzers/AlgorithmStrengthAnalyzer.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.CryptoAnalysis/Analyzers/CertificateAnalyzer.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.CryptoAnalysis/Analyzers/CryptoAlgorithmCatalog.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.CryptoAnalysis/Analyzers/CryptoAnalysisContext.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.CryptoAnalysis/Analyzers/CryptoAnalysisResult.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.CryptoAnalysis/Analyzers/CryptoInventoryGenerator.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.CryptoAnalysis/Analyzers/FipsComplianceChecker.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.CryptoAnalysis/Analyzers/PostQuantumAnalyzer.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.CryptoAnalysis/Analyzers/ProtocolAnalyzer.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.CryptoAnalysis/Analyzers/RegionalComplianceChecker.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.CryptoAnalysis/Models/CryptoAnalysisModels.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.CryptoAnalysis/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.CryptoAnalysis/obj/Debug/net10.0/StellaOps.Scanner.CryptoAnalysis.AssemblyInfo.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.CryptoAnalysis/obj/Debug/net10.0/StellaOps.Scanner.CryptoAnalysis.GlobalUsings.g.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.CryptoAnalysis/obj/Release/net10.0/StellaOps.Scanner.CryptoAnalysis.GlobalUsings.g.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.CryptoAnalysis/Policy/CryptoPolicy.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.CryptoAnalysis/Policy/CryptoPolicyLoader.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.CryptoAnalysis/Reporting/CryptoAnalysisReportFormatter.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.CryptoAnalysis/Reporting/CryptoInventoryExporter.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: 21
- Files with issues: 21
- See docs/implplan/audits/csproj-standards/file-audit.csv for full per-file status.
| File | Issues | Fix guidance |
| --- | --- | --- |
| src/Scanner/__Libraries/StellaOps.Scanner.CryptoAnalysis/CryptoAnalysisAnalyzer.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.CryptoAnalysis/CryptoAnalysisServiceCollectionExtensions.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.CryptoAnalysis/Analyzers/AlgorithmStrengthAnalyzer.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.CryptoAnalysis/Analyzers/CertificateAnalyzer.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.CryptoAnalysis/Analyzers/CryptoAlgorithmCatalog.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.CryptoAnalysis/Analyzers/CryptoAnalysisContext.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.CryptoAnalysis/Analyzers/CryptoAnalysisResult.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.CryptoAnalysis/Analyzers/CryptoInventoryGenerator.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.CryptoAnalysis/Analyzers/FipsComplianceChecker.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.CryptoAnalysis/Analyzers/PostQuantumAnalyzer.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.CryptoAnalysis/Analyzers/ProtocolAnalyzer.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.CryptoAnalysis/Analyzers/RegionalComplianceChecker.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.CryptoAnalysis/Models/CryptoAnalysisModels.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.CryptoAnalysis/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.CryptoAnalysis/obj/Debug/net10.0/StellaOps.Scanner.CryptoAnalysis.AssemblyInfo.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.CryptoAnalysis/obj/Debug/net10.0/StellaOps.Scanner.CryptoAnalysis.GlobalUsings.g.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.CryptoAnalysis/obj/Release/net10.0/StellaOps.Scanner.CryptoAnalysis.GlobalUsings.g.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.CryptoAnalysis/Policy/CryptoPolicy.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.CryptoAnalysis/Policy/CryptoPolicyLoader.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.CryptoAnalysis/Reporting/CryptoAnalysisReportFormatter.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.CryptoAnalysis/Reporting/CryptoInventoryExporter.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): Performance, Unit
- Detected test projects: src/Scanner/__Tests/StellaOps.Scanner.CryptoAnalysis.Tests/StellaOps.Scanner.CryptoAnalysis.Tests.csproj [Unit]
- Missing layers: Performance
### 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,101 @@
# Audit - StellaOps.Scanner.CryptoAnalysis
## Project
- Path: src/Scanner/__Libraries/StellaOps.Scanner.CryptoAnalysis/StellaOps.Scanner.CryptoAnalysis.csproj
- Module: Scanner
- Kind: Library
- Audit date (UTC): 2026-01-31
- Files scanned: 17
- Files with issues: 13
- 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: 0
- Using directive violations: 3
- Naming violations (interfaces/fields/const/async): 7
- Service locator usage (BuildServiceProvider/GetService): 0
- Assembly.LoadFrom usage: 0
### Details
- 100-line files:
- src/Scanner/__Libraries/StellaOps.Scanner.CryptoAnalysis/CryptoAnalysisAnalyzer.cs (166 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.CryptoAnalysis/Analyzers/AlgorithmStrengthAnalyzer.cs (208 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.CryptoAnalysis/Analyzers/CertificateAnalyzer.cs (124 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.CryptoAnalysis/Analyzers/CryptoAlgorithmCatalog.cs (263 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.CryptoAnalysis/Analyzers/CryptoAnalysisContext.cs (119 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.CryptoAnalysis/Analyzers/CryptoInventoryGenerator.cs (126 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.CryptoAnalysis/Analyzers/FipsComplianceChecker.cs (148 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.CryptoAnalysis/Analyzers/PostQuantumAnalyzer.cs (146 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.CryptoAnalysis/Analyzers/ProtocolAnalyzer.cs (176 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.CryptoAnalysis/Models/CryptoAnalysisModels.cs (177 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.CryptoAnalysis/Policy/CryptoPolicyLoader.cs (132 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.CryptoAnalysis/Reporting/CryptoAnalysisReportFormatter.cs (221 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.CryptoAnalysis/Reporting/CryptoInventoryExporter.cs (314 lines)
- Namespace issues:
- none
- Using directive issues:
- src/Scanner/__Libraries/StellaOps.Scanner.CryptoAnalysis/Policy/CryptoPolicyLoader.cs: using directives inside namespace
- src/Scanner/__Libraries/StellaOps.Scanner.CryptoAnalysis/Reporting/CryptoAnalysisReportFormatter.cs: using directives inside namespace
- src/Scanner/__Libraries/StellaOps.Scanner.CryptoAnalysis/Reporting/CryptoInventoryExporter.cs: using directives inside namespace
- Naming issues:
- src/Scanner/__Libraries/StellaOps.Scanner.CryptoAnalysis/Analyzers/CryptoAlgorithmCatalog.cs: private field naming
- src/Scanner/__Libraries/StellaOps.Scanner.CryptoAnalysis/Analyzers/ProtocolAnalyzer.cs: private field naming
- src/Scanner/__Libraries/StellaOps.Scanner.CryptoAnalysis/Policy/CryptoPolicyLoader.cs: private field naming
- src/Scanner/__Libraries/StellaOps.Scanner.CryptoAnalysis/Reporting/CryptoAnalysisReportFormatter.cs: private field naming
- src/Scanner/__Libraries/StellaOps.Scanner.CryptoAnalysis/Reporting/CryptoInventoryExporter.cs: private field naming
- Async issues:
- src/Scanner/__Libraries/StellaOps.Scanner.CryptoAnalysis/Policy/CryptoPolicyLoader.cs: async method naming
- src/Scanner/__Libraries/StellaOps.Scanner.CryptoAnalysis/Reporting/CryptoAnalysisReportFormatter.cs: async method naming
- Service locator matches:
- none
- Assembly.LoadFrom matches:
- none
### Fix Guidance
- Align interface/field/const naming to standards.
- Move and sort using directives (outside namespace).
- Rename async methods and avoid blocking async calls.
- Split files over 100 lines into smaller types or partials.
## File-Level Findings
- Status: FAIL
- Files scanned: 17
- Files with issues: 13
- See docs/implplan/audits/csproj-standards/file-audit.csv for full per-file status.
| File | Issues | Fix guidance |
| --- | --- | --- |
| src/Scanner/__Libraries/StellaOps.Scanner.CryptoAnalysis/CryptoAnalysisAnalyzer.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.CryptoAnalysis/Analyzers/AlgorithmStrengthAnalyzer.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.CryptoAnalysis/Analyzers/CertificateAnalyzer.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.CryptoAnalysis/Analyzers/CryptoAlgorithmCatalog.cs | FileLength>100; PrivateFieldNaming | Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.CryptoAnalysis/Analyzers/CryptoAnalysisContext.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.CryptoAnalysis/Analyzers/CryptoInventoryGenerator.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.CryptoAnalysis/Analyzers/FipsComplianceChecker.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.CryptoAnalysis/Analyzers/PostQuantumAnalyzer.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.CryptoAnalysis/Analyzers/ProtocolAnalyzer.cs | FileLength>100; PrivateFieldNaming | Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.CryptoAnalysis/Models/CryptoAnalysisModels.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.CryptoAnalysis/Policy/CryptoPolicyLoader.cs | AsyncNaming; FileLength>100; PrivateFieldNaming; UsingInsideNamespace | Move using directives outside namespace.; Rename async methods to end with Async.; Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.CryptoAnalysis/Reporting/CryptoAnalysisReportFormatter.cs | AsyncNaming; FileLength>100; PrivateFieldNaming; UsingInsideNamespace | Move using directives outside namespace.; Rename async methods to end with Async.; Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.CryptoAnalysis/Reporting/CryptoInventoryExporter.cs | FileLength>100; PrivateFieldNaming; UsingInsideNamespace | Move using directives outside namespace.; Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
## Testing Fullness Findings
- Status: FAIL
- Expected layers (heuristic): Performance, Unit
- Detected test projects: src/Scanner/__Tests/StellaOps.Scanner.CryptoAnalysis.Tests/StellaOps.Scanner.CryptoAnalysis.Tests.csproj [Unit]
- Missing layers: Performance
### 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,88 @@
# Audit - StellaOps.Scanner.Delta
## Project
- Path: src/Scanner/__Libraries/StellaOps.Scanner.Delta/StellaOps.Scanner.Delta.csproj
- Module: Scanner
- 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 true
- Deterministic: inherited true
- 100-line rule violations: 5
- 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/Scanner/__Libraries/StellaOps.Scanner.Delta/DeltaLayerScanner.cs (344 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Delta/IDeltaLayerScanner.cs (271 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Delta/Evidence/DeltaEvidenceComposer.cs (353 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Delta/Evidence/DeltaScanPredicate.cs (294 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Delta/Evidence/IDeltaEvidenceComposer.cs (138 lines)
- Namespace issues:
- src/Scanner/__Libraries/StellaOps.Scanner.Delta/DeltaLayerScanner.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Delta/IDeltaLayerScanner.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Delta/Evidence/DeltaEvidenceComposer.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Delta/Evidence/DeltaScanPredicate.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Delta/Evidence/IDeltaEvidenceComposer.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Delta/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Delta/obj/Debug/net10.0/StellaOps.Scanner.Delta.AssemblyInfo.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Delta/obj/Debug/net10.0/StellaOps.Scanner.Delta.GlobalUsings.g.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Delta/obj/Release/net10.0/StellaOps.Scanner.Delta.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: 9
- Files with issues: 9
- See docs/implplan/audits/csproj-standards/file-audit.csv for full per-file status.
| File | Issues | Fix guidance |
| --- | --- | --- |
| src/Scanner/__Libraries/StellaOps.Scanner.Delta/DeltaLayerScanner.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Delta/IDeltaLayerScanner.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Delta/Evidence/DeltaEvidenceComposer.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Delta/Evidence/DeltaScanPredicate.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Delta/Evidence/IDeltaEvidenceComposer.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Delta/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Delta/obj/Debug/net10.0/StellaOps.Scanner.Delta.AssemblyInfo.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Delta/obj/Debug/net10.0/StellaOps.Scanner.Delta.GlobalUsings.g.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Delta/obj/Release/net10.0/StellaOps.Scanner.Delta.GlobalUsings.g.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
## Testing Fullness Findings
- Status: FAIL
- Expected layers (heuristic): Performance, Unit
- Detected test projects: none
- Missing layers: Performance, 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,76 @@
# Audit - StellaOps.Scanner.Delta
## Project
- Path: src/Scanner/__Libraries/StellaOps.Scanner.Delta/StellaOps.Scanner.Delta.csproj
- Module: Scanner
- Kind: Library
- Audit date (UTC): 2026-01-31
- Files scanned: 5
- Files with issues: 5
- 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: 5
- Namespace violations: 0
- Using directive violations: 0
- Naming violations (interfaces/fields/const/async): 1
- Service locator usage (BuildServiceProvider/GetService): 0
- Assembly.LoadFrom usage: 0
### Details
- 100-line files:
- src/Scanner/__Libraries/StellaOps.Scanner.Delta/DeltaLayerScanner.cs (345 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Delta/IDeltaLayerScanner.cs (271 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Delta/Evidence/DeltaEvidenceComposer.cs (354 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Delta/Evidence/DeltaScanPredicate.cs (294 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Delta/Evidence/IDeltaEvidenceComposer.cs (138 lines)
- Namespace issues:
- none
- Using directive issues:
- none
- Naming issues:
- src/Scanner/__Libraries/StellaOps.Scanner.Delta/Evidence/DeltaEvidenceComposer.cs: private field naming
- Async issues:
- none
- Service locator matches:
- none
- Assembly.LoadFrom matches:
- none
### Fix Guidance
- Align interface/field/const naming to standards.
- Split files over 100 lines into smaller types or partials.
## File-Level Findings
- Status: FAIL
- Files scanned: 5
- Files with issues: 5
- See docs/implplan/audits/csproj-standards/file-audit.csv for full per-file status.
| File | Issues | Fix guidance |
| --- | --- | --- |
| src/Scanner/__Libraries/StellaOps.Scanner.Delta/DeltaLayerScanner.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Delta/IDeltaLayerScanner.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Delta/Evidence/DeltaEvidenceComposer.cs | FileLength>100; PrivateFieldNaming | Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Delta/Evidence/DeltaScanPredicate.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Delta/Evidence/IDeltaEvidenceComposer.cs | FileLength>100 | Split file to stay <= 100 lines. |
## Testing Fullness Findings
- Status: FAIL
- Expected layers (heuristic): Performance, Unit
- Detected test projects: none
- Missing layers: Performance, 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,81 @@
# Audit - StellaOps.Scanner.Diff
## Project
- Path: src/Scanner/__Libraries/StellaOps.Scanner.Diff/StellaOps.Scanner.Diff.csproj
- Module: Scanner
- 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: 2
- 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/Scanner/__Libraries/StellaOps.Scanner.Diff/ComponentDiffer.cs (399 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Diff/ComponentDiffModels.cs (110 lines)
- Namespace issues:
- src/Scanner/__Libraries/StellaOps.Scanner.Diff/ComponentDiffer.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Diff/ComponentDiffModels.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Diff/DiffJsonSerializer.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Diff/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Diff/obj/Debug/net10.0/StellaOps.Scanner.Diff.AssemblyInfo.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Diff/obj/Debug/net10.0/StellaOps.Scanner.Diff.GlobalUsings.g.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Diff/obj/Release/net10.0/StellaOps.Scanner.Diff.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/Scanner/__Libraries/StellaOps.Scanner.Diff/ComponentDiffer.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Diff/ComponentDiffModels.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Diff/DiffJsonSerializer.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Diff/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Diff/obj/Debug/net10.0/StellaOps.Scanner.Diff.AssemblyInfo.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Diff/obj/Debug/net10.0/StellaOps.Scanner.Diff.GlobalUsings.g.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Diff/obj/Release/net10.0/StellaOps.Scanner.Diff.GlobalUsings.g.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
## Testing Fullness Findings
- Status: FAIL
- Expected layers (heuristic): Performance, Unit
- Detected test projects: src/Scanner/__Tests/StellaOps.Scanner.Diff.Tests/StellaOps.Scanner.Diff.Tests.csproj [Unit]
- Missing layers: Performance
### 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,70 @@
# Audit - StellaOps.Scanner.Diff
## Project
- Path: src/Scanner/__Libraries/StellaOps.Scanner.Diff/StellaOps.Scanner.Diff.csproj
- Module: Scanner
- Kind: Library
- Audit date (UTC): 2026-01-31
- Files scanned: 3
- Files with issues: 2
- 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: 0
- Using directive violations: 0
- Naming violations (interfaces/fields/const/async): 1
- Service locator usage (BuildServiceProvider/GetService): 0
- Assembly.LoadFrom usage: 0
### Details
- 100-line files:
- src/Scanner/__Libraries/StellaOps.Scanner.Diff/ComponentDiffer.cs (400 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Diff/ComponentDiffModels.cs (111 lines)
- Namespace issues:
- none
- Using directive issues:
- none
- Naming issues:
- src/Scanner/__Libraries/StellaOps.Scanner.Diff/ComponentDiffer.cs: private field naming
- Async issues:
- none
- Service locator matches:
- none
- Assembly.LoadFrom matches:
- none
### Fix Guidance
- Align interface/field/const naming to standards.
- Split files over 100 lines into smaller types or partials.
## File-Level Findings
- Status: FAIL
- Files scanned: 3
- Files with issues: 2
- See docs/implplan/audits/csproj-standards/file-audit.csv for full per-file status.
| File | Issues | Fix guidance |
| --- | --- | --- |
| src/Scanner/__Libraries/StellaOps.Scanner.Diff/ComponentDiffer.cs | FileLength>100; PrivateFieldNaming | Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Diff/ComponentDiffModels.cs | FileLength>100 | Split file to stay <= 100 lines. |
## Testing Fullness Findings
- Status: FAIL
- Expected layers (heuristic): Performance, Unit
- Detected test projects: src/Scanner/__Tests/StellaOps.Scanner.Diff.Tests/StellaOps.Scanner.Diff.Tests.csproj [Unit]
- Missing layers: Performance
### 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,235 @@
# Audit - StellaOps.Scanner.Emit
## Project
- Path: src/Scanner/__Libraries/StellaOps.Scanner.Emit/StellaOps.Scanner.Emit.csproj
- Module: Scanner
- Kind: Library
- Audit date (UTC): 2026-01-30
- Files scanned: 61
- Files with issues: 61
- 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: 48
- Namespace violations: 61
- 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/Scanner/__Libraries/StellaOps.Scanner.Emit/Cbom/CbomAggregationService.cs (368 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Emit/Cbom/CbomSerializer.cs (374 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Emit/Cbom/CryptoProperties.cs (468 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Emit/Cbom/ICryptoAssetExtractor.cs (197 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Emit/Composition/CompositionRecipeService.cs (334 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Emit/Composition/CycloneDxCbomWriter.cs (509 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Emit/Composition/CycloneDxComposer.cs (683 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Emit/Composition/CycloneDxLayerWriter.cs (266 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Emit/Composition/ILayerSbomWriter.cs (101 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Emit/Composition/LayerSbomComposer.cs (198 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Emit/Composition/LayerSbomRef.cs (120 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Emit/Composition/SbomCompositionRequest.cs (157 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Emit/Composition/SbomCompositionResult.cs (109 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Emit/Composition/SbomValidationPipeline.cs (605 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Emit/Composition/SemanticSbomExtensions.cs (384 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Emit/Composition/SpdxComposer.cs (446 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Emit/Composition/SpdxLayerWriter.cs (340 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Emit/Evidence/CallstackEvidenceBuilder.cs (260 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Emit/Evidence/CycloneDxEvidenceMapper.cs (218 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Emit/Evidence/EvidenceConfidenceNormalizer.cs (176 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Emit/Evidence/IdentityEvidenceBuilder.cs (204 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Emit/Evidence/LegacyEvidencePropertyWriter.cs (164 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Emit/Evidence/LicenseEvidenceBuilder.cs (442 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Emit/Evidence/OccurrenceEvidenceBuilder.cs (135 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Emit/Index/BomIndexBuilder.cs (240 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Emit/Lineage/ISbomStore.cs (102 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Emit/Lineage/RebuildProof.cs (163 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Emit/Lineage/SbomDiff.cs (281 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Emit/Lineage/SbomDiffEngine.cs (384 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Emit/Native/INativeComponentEmitter.cs (204 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Emit/Native/NativeComponentEmitter.cs (156 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Emit/Native/NativeComponentMapper.cs (206 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Emit/Native/NativePurlBuilder.cs (116 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Emit/Packaging/ScannerArtifactPackageBuilder.cs (175 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Emit/Pedigree/AncestorComponentBuilder.cs (150 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Emit/Pedigree/CachedPedigreeDataProvider.cs (216 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Emit/Pedigree/CommitInfoBuilder.cs (256 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Emit/Pedigree/CycloneDxPedigreeMapper.cs (246 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Emit/Pedigree/FeedserPedigreeDataProvider.cs (378 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Emit/Pedigree/IPedigreeDataProvider.cs (280 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Emit/Pedigree/PatchInfoBuilder.cs (245 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Emit/Pedigree/PedigreeNotesGenerator.cs (200 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Emit/Pedigree/VariantComponentBuilder.cs (238 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Emit/Spdx/Conversion/SpdxCycloneDxConverter.cs (199 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Emit/Spdx/Licensing/SpdxLicenseList.cs (407 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Emit/Spdx/Models/SpdxModels.cs (205 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Emit/Spdx/Serialization/SpdxJsonLdSerializer.cs (414 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Emit/Spdx/Serialization/SpdxTagValueSerializer.cs (116 lines)
- Namespace issues:
- src/Scanner/__Libraries/StellaOps.Scanner.Emit/Cbom/CbomAggregationService.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Emit/Cbom/CbomSerializer.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Emit/Cbom/CryptoProperties.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Emit/Cbom/ICryptoAssetExtractor.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Emit/Composition/CompositionRecipeService.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Emit/Composition/CycloneDx17Extensions.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Emit/Composition/CycloneDxCbomWriter.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Emit/Composition/CycloneDxComposer.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Emit/Composition/CycloneDxLayerWriter.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Emit/Composition/ILayerSbomWriter.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Emit/Composition/LayerSbomComposer.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Emit/Composition/LayerSbomRef.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Emit/Composition/SbomCompositionRequest.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Emit/Composition/SbomCompositionResult.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Emit/Composition/SbomPolicyFinding.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Emit/Composition/SbomValidationPipeline.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Emit/Composition/ScanAnalysisCompositionBuilder.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Emit/Composition/SemanticSbomExtensions.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Emit/Composition/SpdxComposer.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Emit/Composition/SpdxLayerWriter.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Emit/Evidence/CallstackEvidenceBuilder.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Emit/Evidence/CycloneDxEvidenceMapper.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Emit/Evidence/EvidenceConfidenceNormalizer.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Emit/Evidence/IdentityEvidenceBuilder.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Emit/Evidence/LegacyEvidencePropertyWriter.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Emit/Evidence/LicenseEvidenceBuilder.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Emit/Evidence/OccurrenceEvidenceBuilder.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Emit/Index/BomIndexBuilder.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Emit/Lineage/ISbomStore.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Emit/Lineage/RebuildProof.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Emit/Lineage/SbomDiff.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Emit/Lineage/SbomDiffEngine.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Emit/Lineage/SbomLineage.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Emit/Native/INativeComponentEmitter.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Emit/Native/NativeBinaryMetadata.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Emit/Native/NativeComponentEmitter.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Emit/Native/NativeComponentMapper.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Emit/Native/NativePurlBuilder.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Emit/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Emit/obj/Debug/net10.0/StellaOps.Scanner.Emit.AssemblyInfo.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Emit/obj/Debug/net10.0/StellaOps.Scanner.Emit.GlobalUsings.g.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Emit/obj/Release/net10.0/StellaOps.Scanner.Emit.GlobalUsings.g.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Emit/Packaging/ScannerArtifactPackageBuilder.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Emit/Pedigree/AncestorComponentBuilder.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Emit/Pedigree/CachedPedigreeDataProvider.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Emit/Pedigree/CommitInfoBuilder.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Emit/Pedigree/CycloneDxPedigreeMapper.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Emit/Pedigree/FeedserPedigreeDataProvider.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Emit/Pedigree/IPedigreeDataProvider.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Emit/Pedigree/PatchInfoBuilder.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Emit/Pedigree/PedigreeNotesGenerator.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Emit/Pedigree/VariantComponentBuilder.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Emit/Reachability/ReachabilityLattice.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Emit/Spdx/Spdx3ProfileType.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Emit/Spdx/SpdxIdBuilder.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Emit/Spdx/Conversion/SpdxCycloneDxConverter.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Emit/Spdx/Licensing/SpdxLicenseExpressions.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Emit/Spdx/Licensing/SpdxLicenseList.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Emit/Spdx/Models/SpdxModels.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Emit/Spdx/Serialization/SpdxJsonLdSerializer.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Emit/Spdx/Serialization/SpdxTagValueSerializer.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: 61
- Files with issues: 61
- See docs/implplan/audits/csproj-standards/file-audit.csv for full per-file status.
| File | Issues | Fix guidance |
| --- | --- | --- |
| src/Scanner/__Libraries/StellaOps.Scanner.Emit/Cbom/CbomAggregationService.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Emit/Cbom/CbomSerializer.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Emit/Cbom/CryptoProperties.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Emit/Cbom/ICryptoAssetExtractor.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Emit/Composition/CompositionRecipeService.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Emit/Composition/CycloneDx17Extensions.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Emit/Composition/CycloneDxCbomWriter.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Emit/Composition/CycloneDxComposer.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Emit/Composition/CycloneDxLayerWriter.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Emit/Composition/ILayerSbomWriter.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Emit/Composition/LayerSbomComposer.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Emit/Composition/LayerSbomRef.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Emit/Composition/SbomCompositionRequest.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Emit/Composition/SbomCompositionResult.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Emit/Composition/SbomPolicyFinding.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Emit/Composition/SbomValidationPipeline.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Emit/Composition/ScanAnalysisCompositionBuilder.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Emit/Composition/SemanticSbomExtensions.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Emit/Composition/SpdxComposer.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Emit/Composition/SpdxLayerWriter.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Emit/Evidence/CallstackEvidenceBuilder.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Emit/Evidence/CycloneDxEvidenceMapper.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Emit/Evidence/EvidenceConfidenceNormalizer.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Emit/Evidence/IdentityEvidenceBuilder.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Emit/Evidence/LegacyEvidencePropertyWriter.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Emit/Evidence/LicenseEvidenceBuilder.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Emit/Evidence/OccurrenceEvidenceBuilder.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Emit/Index/BomIndexBuilder.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Emit/Lineage/ISbomStore.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Emit/Lineage/RebuildProof.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Emit/Lineage/SbomDiff.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Emit/Lineage/SbomDiffEngine.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Emit/Lineage/SbomLineage.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Emit/Native/INativeComponentEmitter.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Emit/Native/NativeBinaryMetadata.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Emit/Native/NativeComponentEmitter.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Emit/Native/NativeComponentMapper.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Emit/Native/NativePurlBuilder.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Emit/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Emit/obj/Debug/net10.0/StellaOps.Scanner.Emit.AssemblyInfo.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Emit/obj/Debug/net10.0/StellaOps.Scanner.Emit.GlobalUsings.g.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Emit/obj/Release/net10.0/StellaOps.Scanner.Emit.GlobalUsings.g.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Emit/Packaging/ScannerArtifactPackageBuilder.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Emit/Pedigree/AncestorComponentBuilder.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Emit/Pedigree/CachedPedigreeDataProvider.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Emit/Pedigree/CommitInfoBuilder.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Emit/Pedigree/CycloneDxPedigreeMapper.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Emit/Pedigree/FeedserPedigreeDataProvider.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Emit/Pedigree/IPedigreeDataProvider.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Emit/Pedigree/PatchInfoBuilder.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Emit/Pedigree/PedigreeNotesGenerator.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Emit/Pedigree/VariantComponentBuilder.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Emit/Reachability/ReachabilityLattice.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Emit/Spdx/Spdx3ProfileType.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Emit/Spdx/SpdxIdBuilder.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Emit/Spdx/Conversion/SpdxCycloneDxConverter.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Emit/Spdx/Licensing/SpdxLicenseExpressions.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Emit/Spdx/Licensing/SpdxLicenseList.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Emit/Spdx/Models/SpdxModels.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Emit/Spdx/Serialization/SpdxJsonLdSerializer.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Emit/Spdx/Serialization/SpdxTagValueSerializer.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): Performance, Unit
- Detected test projects: src/__Tests/Integration/StellaOps.Integration.Determinism/StellaOps.Integration.Determinism.csproj [Integration]; src/__Tests/parity/StellaOps.Parity.Tests/StellaOps.Parity.Tests.csproj [Unit]; src/Policy/__Tests/StellaOps.Policy.Engine.Tests/StellaOps.Policy.Engine.Tests.csproj [Unit]; src/Scanner/__Tests/StellaOps.Scanner.Emit.Lineage.Tests/StellaOps.Scanner.Emit.Lineage.Tests.csproj [Unit]; src/Scanner/__Tests/StellaOps.Scanner.Emit.Tests/StellaOps.Scanner.Emit.Tests.csproj [Unit]; src/Scanner/__Tests/StellaOps.Scanner.Validation.Tests/StellaOps.Scanner.Validation.Tests.csproj [Unit]; src/Scheduler/__Tests/StellaOps.Scheduler.ImpactIndex.Tests/StellaOps.Scheduler.ImpactIndex.Tests.csproj [Unit]
- Missing layers: Performance
### 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,175 @@
# Audit - StellaOps.Scanner.Emit
## Project
- Path: src/Scanner/__Libraries/StellaOps.Scanner.Emit/StellaOps.Scanner.Emit.csproj
- Module: Scanner
- Kind: Library
- Audit date (UTC): 2026-01-31
- Files scanned: 57
- Files with issues: 49
- 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: 48
- Namespace violations: 0
- Using directive violations: 3
- Naming violations (interfaces/fields/const/async): 10
- Service locator usage (BuildServiceProvider/GetService): 0
- Assembly.LoadFrom usage: 0
### Details
- 100-line files:
- src/Scanner/__Libraries/StellaOps.Scanner.Emit/Cbom/CbomAggregationService.cs (369 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Emit/Cbom/CbomSerializer.cs (374 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Emit/Cbom/CryptoProperties.cs (468 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Emit/Cbom/ICryptoAssetExtractor.cs (198 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Emit/Composition/CompositionRecipeService.cs (335 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Emit/Composition/CycloneDxCbomWriter.cs (510 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Emit/Composition/CycloneDxComposer.cs (684 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Emit/Composition/CycloneDxLayerWriter.cs (267 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Emit/Composition/ILayerSbomWriter.cs (102 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Emit/Composition/LayerSbomComposer.cs (199 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Emit/Composition/LayerSbomRef.cs (120 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Emit/Composition/SbomCompositionRequest.cs (158 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Emit/Composition/SbomCompositionResult.cs (110 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Emit/Composition/SbomValidationPipeline.cs (606 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Emit/Composition/SemanticSbomExtensions.cs (385 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Emit/Composition/SpdxComposer.cs (447 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Emit/Composition/SpdxLayerWriter.cs (341 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Emit/Evidence/CallstackEvidenceBuilder.cs (261 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Emit/Evidence/CycloneDxEvidenceMapper.cs (219 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Emit/Evidence/EvidenceConfidenceNormalizer.cs (176 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Emit/Evidence/IdentityEvidenceBuilder.cs (205 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Emit/Evidence/LegacyEvidencePropertyWriter.cs (165 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Emit/Evidence/LicenseEvidenceBuilder.cs (443 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Emit/Evidence/OccurrenceEvidenceBuilder.cs (136 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Emit/Index/BomIndexBuilder.cs (241 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Emit/Lineage/ISbomStore.cs (102 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Emit/Lineage/RebuildProof.cs (163 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Emit/Lineage/SbomDiff.cs (281 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Emit/Lineage/SbomDiffEngine.cs (384 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Emit/Native/INativeComponentEmitter.cs (205 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Emit/Native/NativeComponentEmitter.cs (156 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Emit/Native/NativeComponentMapper.cs (206 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Emit/Native/NativePurlBuilder.cs (116 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Emit/Packaging/ScannerArtifactPackageBuilder.cs (176 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Emit/Pedigree/AncestorComponentBuilder.cs (150 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Emit/Pedigree/CachedPedigreeDataProvider.cs (216 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Emit/Pedigree/CommitInfoBuilder.cs (256 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Emit/Pedigree/CycloneDxPedigreeMapper.cs (247 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Emit/Pedigree/FeedserPedigreeDataProvider.cs (379 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Emit/Pedigree/IPedigreeDataProvider.cs (280 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Emit/Pedigree/PatchInfoBuilder.cs (245 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Emit/Pedigree/PedigreeNotesGenerator.cs (200 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Emit/Pedigree/VariantComponentBuilder.cs (238 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Emit/Spdx/Conversion/SpdxCycloneDxConverter.cs (200 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Emit/Spdx/Licensing/SpdxLicenseList.cs (408 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Emit/Spdx/Models/SpdxModels.cs (205 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Emit/Spdx/Serialization/SpdxJsonLdSerializer.cs (415 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Emit/Spdx/Serialization/SpdxTagValueSerializer.cs (117 lines)
- Namespace issues:
- none
- Using directive issues:
- src/Scanner/__Libraries/StellaOps.Scanner.Emit/Composition/CycloneDxComposer.cs: using directives inside namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Emit/Index/BomIndexBuilder.cs: using directives inside namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Emit/Spdx/Licensing/SpdxLicenseList.cs: using directives inside namespace
- Naming issues:
- src/Scanner/__Libraries/StellaOps.Scanner.Emit/Cbom/CbomSerializer.cs: private field naming
- src/Scanner/__Libraries/StellaOps.Scanner.Emit/Composition/CycloneDx17Extensions.cs: private field naming
- src/Scanner/__Libraries/StellaOps.Scanner.Emit/Composition/CycloneDxComposer.cs: private field naming
- src/Scanner/__Libraries/StellaOps.Scanner.Emit/Composition/CycloneDxLayerWriter.cs: private field naming
- src/Scanner/__Libraries/StellaOps.Scanner.Emit/Composition/SemanticSbomExtensions.cs: private field naming
- src/Scanner/__Libraries/StellaOps.Scanner.Emit/Index/BomIndexBuilder.cs: private field naming
- src/Scanner/__Libraries/StellaOps.Scanner.Emit/Spdx/Licensing/SpdxLicenseList.cs: private field naming
- src/Scanner/__Libraries/StellaOps.Scanner.Emit/Spdx/Serialization/SpdxJsonLdSerializer.cs: private field naming
- Async issues:
- src/Scanner/__Libraries/StellaOps.Scanner.Emit/Cbom/CbomAggregationService.cs: missing ConfigureAwait(false)
- src/Scanner/__Libraries/StellaOps.Scanner.Emit/Lineage/ISbomStore.cs: missing ConfigureAwait(false)
- Service locator matches:
- none
- Assembly.LoadFrom matches:
- none
### Fix Guidance
- Align interface/field/const naming to standards.
- Move and sort using directives (outside namespace).
- Rename async methods and avoid blocking async calls.
- Split files over 100 lines into smaller types or partials.
## File-Level Findings
- Status: FAIL
- Files scanned: 57
- Files with issues: 49
- See docs/implplan/audits/csproj-standards/file-audit.csv for full per-file status.
| File | Issues | Fix guidance |
| --- | --- | --- |
| src/Scanner/__Libraries/StellaOps.Scanner.Emit/Cbom/CbomAggregationService.cs | ConfigureAwaitMissing; FileLength>100 | Add ConfigureAwait(false) to awaited calls in library-like code.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Emit/Cbom/CbomSerializer.cs | FileLength>100; PrivateFieldNaming | Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Emit/Cbom/CryptoProperties.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Emit/Cbom/ICryptoAssetExtractor.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Emit/Composition/CompositionRecipeService.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Emit/Composition/CycloneDx17Extensions.cs | PrivateFieldNaming | Rename private fields to _camelCase. |
| src/Scanner/__Libraries/StellaOps.Scanner.Emit/Composition/CycloneDxCbomWriter.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Emit/Composition/CycloneDxComposer.cs | FileLength>100; PrivateFieldNaming; UsingInsideNamespace | Move using directives outside namespace.; Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Emit/Composition/CycloneDxLayerWriter.cs | FileLength>100; PrivateFieldNaming | Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Emit/Composition/ILayerSbomWriter.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Emit/Composition/LayerSbomComposer.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Emit/Composition/LayerSbomRef.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Emit/Composition/SbomCompositionRequest.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Emit/Composition/SbomCompositionResult.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Emit/Composition/SbomValidationPipeline.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Emit/Composition/SemanticSbomExtensions.cs | FileLength>100; PrivateFieldNaming | Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Emit/Composition/SpdxComposer.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Emit/Composition/SpdxLayerWriter.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Emit/Evidence/CallstackEvidenceBuilder.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Emit/Evidence/CycloneDxEvidenceMapper.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Emit/Evidence/EvidenceConfidenceNormalizer.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Emit/Evidence/IdentityEvidenceBuilder.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Emit/Evidence/LegacyEvidencePropertyWriter.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Emit/Evidence/LicenseEvidenceBuilder.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Emit/Evidence/OccurrenceEvidenceBuilder.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Emit/Index/BomIndexBuilder.cs | FileLength>100; PrivateFieldNaming; UsingInsideNamespace | Move using directives outside namespace.; Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Emit/Lineage/ISbomStore.cs | ConfigureAwaitMissing; FileLength>100 | Add ConfigureAwait(false) to awaited calls in library-like code.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Emit/Lineage/RebuildProof.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Emit/Lineage/SbomDiff.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Emit/Lineage/SbomDiffEngine.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Emit/Native/INativeComponentEmitter.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Emit/Native/NativeComponentEmitter.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Emit/Native/NativeComponentMapper.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Emit/Native/NativePurlBuilder.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Emit/Packaging/ScannerArtifactPackageBuilder.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Emit/Pedigree/AncestorComponentBuilder.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Emit/Pedigree/CachedPedigreeDataProvider.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Emit/Pedigree/CommitInfoBuilder.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Emit/Pedigree/CycloneDxPedigreeMapper.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Emit/Pedigree/FeedserPedigreeDataProvider.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Emit/Pedigree/IPedigreeDataProvider.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Emit/Pedigree/PatchInfoBuilder.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Emit/Pedigree/PedigreeNotesGenerator.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Emit/Pedigree/VariantComponentBuilder.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Emit/Spdx/Conversion/SpdxCycloneDxConverter.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Emit/Spdx/Licensing/SpdxLicenseList.cs | FileLength>100; PrivateFieldNaming; UsingInsideNamespace | Move using directives outside namespace.; Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Emit/Spdx/Models/SpdxModels.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Emit/Spdx/Serialization/SpdxJsonLdSerializer.cs | FileLength>100; PrivateFieldNaming | Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Emit/Spdx/Serialization/SpdxTagValueSerializer.cs | FileLength>100 | Split file to stay <= 100 lines. |
## Testing Fullness Findings
- Status: FAIL
- Expected layers (heuristic): Performance, Unit
- Detected test projects: src/__Tests/Integration/StellaOps.Integration.Determinism/StellaOps.Integration.Determinism.csproj [Integration]; src/__Tests/parity/StellaOps.Parity.Tests/StellaOps.Parity.Tests.csproj [Unit]; src/Policy/__Tests/StellaOps.Policy.Engine.Tests/StellaOps.Policy.Engine.Tests.csproj [Unit]; src/Scanner/__Tests/StellaOps.Scanner.Emit.Lineage.Tests/StellaOps.Scanner.Emit.Lineage.Tests.csproj [Unit]; src/Scanner/__Tests/StellaOps.Scanner.Emit.Tests/StellaOps.Scanner.Emit.Tests.csproj [Unit]; src/Scanner/__Tests/StellaOps.Scanner.Validation.Tests/StellaOps.Scanner.Validation.Tests.csproj [Unit]; src/Scheduler/__Tests/StellaOps.Scheduler.ImpactIndex.Tests/StellaOps.Scheduler.ImpactIndex.Tests.csproj [Unit]
- Missing layers: Performance
### 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,292 @@
# Audit - StellaOps.Scanner.EntryTrace
## Project
- Path: src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/StellaOps.Scanner.EntryTrace.csproj
- Module: Scanner
- Kind: Library
- Audit date (UTC): 2026-01-30
- Files scanned: 83
- Files with issues: 83
- 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: 61
- Namespace violations: 83
- 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/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/EntryTraceAnalyzer.cs (2097 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/EntryTraceImageContextFactory.cs (609 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/EntryTraceTypes.cs (199 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/ServiceCollectionExtensions.cs (115 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Baseline/BaselineAnalyzer.cs (638 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Baseline/BaselineModels.cs (541 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Baseline/BaselineServiceCollectionExtensions.cs (113 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Baseline/DefaultConfigurations.cs (631 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Binary/BinaryAnalysisResult.cs (413 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Binary/BinaryIntelligenceAnalyzer.cs (253 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Binary/CodeFingerprint.cs (300 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Binary/FingerprintCorpusBuilder.cs (362 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Binary/IFingerprintGenerator.cs (313 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Binary/IFingerprintIndex.cs (474 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Binary/ISymbolRecovery.cs (380 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Binary/SymbolInfo.cs (277 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Binary/VulnerableFunctionMatcher.cs (231 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/FileSystem/DirectoryRootFileSystem.cs (326 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/FileSystem/LayeredRootFileSystem.cs (919 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Mesh/DockerComposeParser.cs (791 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Mesh/KubernetesManifestParser.cs (642 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Mesh/MeshEntrypointAnalyzer.cs (634 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Mesh/MeshEntrypointGraph.cs (434 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Oci/OciImageConfig.cs (141 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Parsing/ShellParser.cs (486 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Parsing/ShellTokenizer.cs (201 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Risk/CompositeRiskScorer.cs (462 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Risk/IRiskScorer.cs (485 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Risk/RiskScore.cs (454 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Runtime/EntryTraceRuntimeReconciler.cs (382 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Runtime/ProcFileSystemSnapshot.cs (231 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Runtime/ProcGraphBuilder.cs (105 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Semantic/CapabilityClass.cs (138 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Semantic/DataFlowBoundary.cs (168 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Semantic/ISemanticEntrypointAnalyzer.cs (183 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Semantic/RootFileSystemExtensions.cs (131 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Semantic/SemanticConfidence.cs (141 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Semantic/SemanticEntrypoint.cs (210 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Semantic/SemanticEntrypointOrchestrator.cs (435 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Semantic/SemanticEntryTraceAnalyzer.cs (309 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Semantic/ThreatVector.cs (144 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Semantic/Adapters/DotNetSemanticAdapter.cs (470 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Semantic/Adapters/GoSemanticAdapter.cs (526 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Semantic/Adapters/JavaSemanticAdapter.cs (448 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Semantic/Adapters/NodeSemanticAdapter.cs (521 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Semantic/Adapters/PythonSemanticAdapter.cs (474 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Semantic/Analysis/CapabilityDetector.cs (429 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Semantic/Analysis/DataBoundaryMapper.cs (430 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Semantic/Analysis/ThreatVectorInferrer.cs (421 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Serialization/EntryTraceGraphSerializer.cs (310 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Serialization/EntryTraceNdjsonWriter.cs (335 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Speculative/ExecutionTree.cs (394 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Speculative/ISymbolicExecutor.cs (302 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Speculative/PathConfidenceScorer.cs (328 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Speculative/PathEnumerator.cs (302 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Speculative/ShellSymbolicExecutor.cs (594 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Speculative/SymbolicState.cs (227 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Speculative/SymbolicValue.cs (296 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Temporal/EntrypointDrift.cs (161 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Temporal/InMemoryTemporalEntrypointStore.cs (343 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Temporal/TemporalEntrypointGraph.cs (242 lines)
- Namespace issues:
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/EntrypointSpecification.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/EntryTraceAnalyzer.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/EntryTraceAnalyzerOptions.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/EntryTraceCacheEnvelope.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/EntryTraceCacheSerializer.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/EntryTraceContext.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/EntryTraceImageContextFactory.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/EntryTraceResult.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/EntryTraceTypes.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/IEntryTraceAnalyzer.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/ServiceCollectionExtensions.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Baseline/BaselineAnalyzer.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Baseline/BaselineModels.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Baseline/BaselineServiceCollectionExtensions.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Baseline/DefaultConfigurations.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Binary/BinaryAnalysisResult.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Binary/BinaryIntelligenceAnalyzer.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Binary/CodeFingerprint.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Binary/FingerprintCorpusBuilder.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Binary/IFingerprintGenerator.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Binary/IFingerprintIndex.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Binary/ISymbolRecovery.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Binary/SymbolInfo.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Binary/VulnerableFunctionMatcher.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Diagnostics/EntryTraceMetrics.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/FileSystem/DirectoryRootFileSystem.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/FileSystem/IRootFileSystem.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/FileSystem/LayeredRootFileSystem.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Mesh/DockerComposeParser.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Mesh/IManifestParser.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Mesh/KubernetesManifestParser.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Mesh/MeshEntrypointAnalyzer.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Mesh/MeshEntrypointGraph.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/obj/Debug/net10.0/StellaOps.Scanner.EntryTrace.AssemblyInfo.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/obj/Debug/net10.0/StellaOps.Scanner.EntryTrace.GlobalUsings.g.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/obj/Release/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/obj/Release/net10.0/StellaOps.Scanner.EntryTrace.AssemblyInfo.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/obj/Release/net10.0/StellaOps.Scanner.EntryTrace.GlobalUsings.g.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Oci/OciImageConfig.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Parsing/ShellNodes.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Parsing/ShellParser.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Parsing/ShellToken.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Parsing/ShellTokenizer.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Risk/CompositeRiskScorer.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Risk/IRiskScorer.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Risk/RiskScore.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Runtime/EntryTraceRuntimeReconciler.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Runtime/ProcFileSystemSnapshot.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Runtime/ProcGraph.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Runtime/ProcGraphBuilder.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Runtime/ProcProcess.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Semantic/ApplicationIntent.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Semantic/CapabilityClass.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Semantic/DataFlowBoundary.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Semantic/ISemanticEntrypointAnalyzer.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Semantic/RootFileSystemExtensions.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Semantic/SemanticConfidence.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Semantic/SemanticEntrypoint.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Semantic/SemanticEntrypointOrchestrator.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Semantic/SemanticEntryTraceAnalyzer.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Semantic/ThreatVector.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Semantic/Adapters/DotNetSemanticAdapter.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Semantic/Adapters/GoSemanticAdapter.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Semantic/Adapters/JavaSemanticAdapter.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Semantic/Adapters/NodeSemanticAdapter.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Semantic/Adapters/PythonSemanticAdapter.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Semantic/Analysis/CapabilityDetector.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Semantic/Analysis/DataBoundaryMapper.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Semantic/Analysis/ThreatVectorInferrer.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Serialization/EntryTraceGraphSerializer.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Serialization/EntryTraceNdjsonWriter.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Speculative/ExecutionTree.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Speculative/ISymbolicExecutor.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Speculative/PathConfidenceScorer.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Speculative/PathEnumerator.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Speculative/ShellSymbolicExecutor.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Speculative/SymbolicState.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Speculative/SymbolicValue.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Temporal/EntrypointDrift.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Temporal/InMemoryTemporalEntrypointStore.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Temporal/ITemporalEntrypointStore.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Temporal/TemporalEntrypointGraph.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: 83
- Files with issues: 83
- See docs/implplan/audits/csproj-standards/file-audit.csv for full per-file status.
| File | Issues | Fix guidance |
| --- | --- | --- |
| src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/EntrypointSpecification.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/EntryTraceAnalyzer.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/EntryTraceAnalyzerOptions.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/EntryTraceCacheEnvelope.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/EntryTraceCacheSerializer.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/EntryTraceContext.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/EntryTraceImageContextFactory.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/EntryTraceResult.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/EntryTraceTypes.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/IEntryTraceAnalyzer.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/ServiceCollectionExtensions.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Baseline/BaselineAnalyzer.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Baseline/BaselineModels.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Baseline/BaselineServiceCollectionExtensions.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Baseline/DefaultConfigurations.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Binary/BinaryAnalysisResult.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Binary/BinaryIntelligenceAnalyzer.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Binary/CodeFingerprint.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Binary/FingerprintCorpusBuilder.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Binary/IFingerprintGenerator.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Binary/IFingerprintIndex.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Binary/ISymbolRecovery.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Binary/SymbolInfo.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Binary/VulnerableFunctionMatcher.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Diagnostics/EntryTraceMetrics.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/FileSystem/DirectoryRootFileSystem.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/FileSystem/IRootFileSystem.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/FileSystem/LayeredRootFileSystem.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Mesh/DockerComposeParser.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Mesh/IManifestParser.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Mesh/KubernetesManifestParser.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Mesh/MeshEntrypointAnalyzer.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Mesh/MeshEntrypointGraph.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/obj/Debug/net10.0/StellaOps.Scanner.EntryTrace.AssemblyInfo.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/obj/Debug/net10.0/StellaOps.Scanner.EntryTrace.GlobalUsings.g.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/obj/Release/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/obj/Release/net10.0/StellaOps.Scanner.EntryTrace.AssemblyInfo.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/obj/Release/net10.0/StellaOps.Scanner.EntryTrace.GlobalUsings.g.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Oci/OciImageConfig.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Parsing/ShellNodes.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Parsing/ShellParser.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Parsing/ShellToken.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Parsing/ShellTokenizer.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Risk/CompositeRiskScorer.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Risk/IRiskScorer.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Risk/RiskScore.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Runtime/EntryTraceRuntimeReconciler.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Runtime/ProcFileSystemSnapshot.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Runtime/ProcGraph.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Runtime/ProcGraphBuilder.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Runtime/ProcProcess.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Semantic/ApplicationIntent.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Semantic/CapabilityClass.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Semantic/DataFlowBoundary.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Semantic/ISemanticEntrypointAnalyzer.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Semantic/RootFileSystemExtensions.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Semantic/SemanticConfidence.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Semantic/SemanticEntrypoint.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Semantic/SemanticEntrypointOrchestrator.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Semantic/SemanticEntryTraceAnalyzer.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Semantic/ThreatVector.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Semantic/Adapters/DotNetSemanticAdapter.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Semantic/Adapters/GoSemanticAdapter.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Semantic/Adapters/JavaSemanticAdapter.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Semantic/Adapters/NodeSemanticAdapter.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Semantic/Adapters/PythonSemanticAdapter.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Semantic/Analysis/CapabilityDetector.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Semantic/Analysis/DataBoundaryMapper.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Semantic/Analysis/ThreatVectorInferrer.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Serialization/EntryTraceGraphSerializer.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Serialization/EntryTraceNdjsonWriter.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Speculative/ExecutionTree.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Speculative/ISymbolicExecutor.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Speculative/PathConfidenceScorer.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Speculative/PathEnumerator.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Speculative/ShellSymbolicExecutor.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Speculative/SymbolicState.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Speculative/SymbolicValue.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Temporal/EntrypointDrift.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Temporal/InMemoryTemporalEntrypointStore.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Temporal/ITemporalEntrypointStore.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Temporal/TemporalEntrypointGraph.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): Performance, Unit
- Detected test projects: src/Scanner/__Tests/StellaOps.Scanner.EntryTrace.Tests/StellaOps.Scanner.EntryTrace.Tests.csproj [Unit]
- Missing layers: Performance
### 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,234 @@
# Audit - StellaOps.Scanner.EntryTrace
## Project
- Path: src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/StellaOps.Scanner.EntryTrace.csproj
- Module: Scanner
- Kind: Library
- Audit date (UTC): 2026-01-31
- Files scanned: 77
- Files with issues: 61
- 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: 61
- Namespace violations: 0
- Using directive violations: 11
- Naming violations (interfaces/fields/const/async): 32
- Service locator usage (BuildServiceProvider/GetService): 4
- Assembly.LoadFrom usage: 0
### Details
- 100-line files:
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/EntryTraceAnalyzer.cs (2098 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/EntryTraceImageContextFactory.cs (610 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/EntryTraceTypes.cs (199 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/ServiceCollectionExtensions.cs (115 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Baseline/BaselineAnalyzer.cs (639 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Baseline/BaselineModels.cs (541 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Baseline/BaselineServiceCollectionExtensions.cs (113 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Baseline/DefaultConfigurations.cs (631 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Binary/BinaryAnalysisResult.cs (413 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Binary/BinaryIntelligenceAnalyzer.cs (253 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Binary/CodeFingerprint.cs (300 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Binary/FingerprintCorpusBuilder.cs (362 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Binary/IFingerprintGenerator.cs (313 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Binary/IFingerprintIndex.cs (474 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Binary/ISymbolRecovery.cs (380 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Binary/SymbolInfo.cs (277 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Binary/VulnerableFunctionMatcher.cs (231 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/FileSystem/DirectoryRootFileSystem.cs (327 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/FileSystem/LayeredRootFileSystem.cs (920 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Mesh/DockerComposeParser.cs (792 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Mesh/KubernetesManifestParser.cs (643 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Mesh/MeshEntrypointAnalyzer.cs (635 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Mesh/MeshEntrypointGraph.cs (435 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Oci/OciImageConfig.cs (142 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Parsing/ShellParser.cs (486 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Parsing/ShellTokenizer.cs (201 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Risk/CompositeRiskScorer.cs (462 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Risk/IRiskScorer.cs (486 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Risk/RiskScore.cs (454 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Runtime/EntryTraceRuntimeReconciler.cs (382 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Runtime/ProcFileSystemSnapshot.cs (231 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Runtime/ProcGraphBuilder.cs (105 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Semantic/CapabilityClass.cs (138 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Semantic/DataFlowBoundary.cs (168 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Semantic/ISemanticEntrypointAnalyzer.cs (183 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Semantic/RootFileSystemExtensions.cs (131 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Semantic/SemanticConfidence.cs (141 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Semantic/SemanticEntrypoint.cs (210 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Semantic/SemanticEntrypointOrchestrator.cs (436 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Semantic/SemanticEntryTraceAnalyzer.cs (310 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Semantic/ThreatVector.cs (144 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Semantic/Adapters/DotNetSemanticAdapter.cs (470 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Semantic/Adapters/GoSemanticAdapter.cs (527 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Semantic/Adapters/JavaSemanticAdapter.cs (448 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Semantic/Adapters/NodeSemanticAdapter.cs (522 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Semantic/Adapters/PythonSemanticAdapter.cs (475 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Semantic/Analysis/CapabilityDetector.cs (429 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Semantic/Analysis/DataBoundaryMapper.cs (430 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Semantic/Analysis/ThreatVectorInferrer.cs (421 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Serialization/EntryTraceGraphSerializer.cs (310 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Serialization/EntryTraceNdjsonWriter.cs (336 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Speculative/ExecutionTree.cs (395 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Speculative/ISymbolicExecutor.cs (303 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Speculative/PathConfidenceScorer.cs (328 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Speculative/PathEnumerator.cs (302 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Speculative/ShellSymbolicExecutor.cs (595 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Speculative/SymbolicState.cs (228 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Speculative/SymbolicValue.cs (297 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Temporal/EntrypointDrift.cs (161 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Temporal/InMemoryTemporalEntrypointStore.cs (344 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Temporal/TemporalEntrypointGraph.cs (243 lines)
- Namespace issues:
- none
- Using directive issues:
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/EntryTraceAnalyzer.cs: using directives inside namespace
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/EntryTraceImageContextFactory.cs: using directives inside namespace
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/FileSystem/DirectoryRootFileSystem.cs: using directives inside namespace
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/FileSystem/LayeredRootFileSystem.cs: using directives inside namespace
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Mesh/DockerComposeParser.cs: using directives inside namespace
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Mesh/KubernetesManifestParser.cs: using directives inside namespace
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Oci/OciImageConfig.cs: using directives inside namespace
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Semantic/Adapters/GoSemanticAdapter.cs: using directives inside namespace
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Semantic/Adapters/NodeSemanticAdapter.cs: using directives inside namespace
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Semantic/Adapters/PythonSemanticAdapter.cs: using directives inside namespace
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Serialization/EntryTraceNdjsonWriter.cs: using directives inside namespace
- Naming issues:
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Oci/OciImageConfig.cs: private field naming
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Runtime/EntryTraceRuntimeReconciler.cs: private field naming
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Serialization/EntryTraceGraphSerializer.cs: private field naming
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Serialization/EntryTraceNdjsonWriter.cs: private field naming
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Speculative/ShellSymbolicExecutor.cs: private field naming
- Async issues:
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Baseline/BaselineAnalyzer.cs: async method naming
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Baseline/BaselineAnalyzer.cs: missing ConfigureAwait(false)
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Binary/BinaryIntelligenceAnalyzer.cs: missing ConfigureAwait(false)
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Binary/FingerprintCorpusBuilder.cs: missing ConfigureAwait(false)
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Binary/IFingerprintGenerator.cs: missing ConfigureAwait(false)
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Binary/IFingerprintIndex.cs: async method naming
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Binary/IFingerprintIndex.cs: missing ConfigureAwait(false)
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Binary/ISymbolRecovery.cs: missing ConfigureAwait(false)
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Binary/VulnerableFunctionMatcher.cs: missing ConfigureAwait(false)
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Mesh/DockerComposeParser.cs: missing ConfigureAwait(false)
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Mesh/KubernetesManifestParser.cs: missing ConfigureAwait(false)
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Mesh/MeshEntrypointAnalyzer.cs: missing ConfigureAwait(false)
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Risk/CompositeRiskScorer.cs: missing ConfigureAwait(false)
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Semantic/SemanticEntrypointOrchestrator.cs: missing ConfigureAwait(false)
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Semantic/SemanticEntryTraceAnalyzer.cs: missing ConfigureAwait(false)
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Semantic/Adapters/DotNetSemanticAdapter.cs: async method naming
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Semantic/Adapters/DotNetSemanticAdapter.cs: missing ConfigureAwait(false)
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Semantic/Adapters/GoSemanticAdapter.cs: async method naming
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Semantic/Adapters/GoSemanticAdapter.cs: missing ConfigureAwait(false)
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Semantic/Adapters/JavaSemanticAdapter.cs: async method naming
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Semantic/Adapters/JavaSemanticAdapter.cs: missing ConfigureAwait(false)
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Semantic/Adapters/NodeSemanticAdapter.cs: async method naming
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Semantic/Adapters/NodeSemanticAdapter.cs: missing ConfigureAwait(false)
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Semantic/Adapters/PythonSemanticAdapter.cs: missing ConfigureAwait(false)
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Speculative/PathConfidenceScorer.cs: missing ConfigureAwait(false)
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Speculative/PathEnumerator.cs: missing ConfigureAwait(false)
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Speculative/ShellSymbolicExecutor.cs: missing ConfigureAwait(false)
- Service locator matches:
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/ServiceCollectionExtensions.cs:79 var adapters = sp.GetServices<ISemanticEntrypointAnalyzer>().ToList();
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/ServiceCollectionExtensions.cs:80 var capabilityDetector = sp.GetRequiredService<CapabilityDetector>();
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/ServiceCollectionExtensions.cs:81 var threatInferrer = sp.GetRequiredService<ThreatVectorInferrer>();
- src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/ServiceCollectionExtensions.cs:82 var boundaryMapper = sp.GetRequiredService<DataBoundaryMapper>();
- Assembly.LoadFrom matches:
- none
### Fix Guidance
- Align interface/field/const naming to standards.
- Move and sort using directives (outside namespace).
- Rename async methods and avoid blocking async calls.
- Replace service locator usage with constructor injection.
- Split files over 100 lines into smaller types or partials.
## File-Level Findings
- Status: FAIL
- Files scanned: 77
- Files with issues: 61
- See docs/implplan/audits/csproj-standards/file-audit.csv for full per-file status.
| File | Issues | Fix guidance |
| --- | --- | --- |
| src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/EntryTraceAnalyzer.cs | FileLength>100; UsingInsideNamespace | Move using directives outside namespace.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/EntryTraceImageContextFactory.cs | FileLength>100; UsingInsideNamespace | Move using directives outside namespace.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/EntryTraceTypes.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/ServiceCollectionExtensions.cs | FileLength>100; ServiceLocator | Remove service locator usage; use constructor injection.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Baseline/BaselineAnalyzer.cs | AsyncNaming; ConfigureAwaitMissing; FileLength>100 | Add ConfigureAwait(false) to awaited calls in library-like code.; Rename async methods to end with Async.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Baseline/BaselineModels.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Baseline/BaselineServiceCollectionExtensions.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Baseline/DefaultConfigurations.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Binary/BinaryAnalysisResult.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Binary/BinaryIntelligenceAnalyzer.cs | ConfigureAwaitMissing; FileLength>100 | Add ConfigureAwait(false) to awaited calls in library-like code.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Binary/CodeFingerprint.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Binary/FingerprintCorpusBuilder.cs | ConfigureAwaitMissing; FileLength>100 | Add ConfigureAwait(false) to awaited calls in library-like code.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Binary/IFingerprintGenerator.cs | ConfigureAwaitMissing; FileLength>100 | Add ConfigureAwait(false) to awaited calls in library-like code.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Binary/IFingerprintIndex.cs | AsyncNaming; ConfigureAwaitMissing; FileLength>100 | Add ConfigureAwait(false) to awaited calls in library-like code.; Rename async methods to end with Async.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Binary/ISymbolRecovery.cs | ConfigureAwaitMissing; FileLength>100 | Add ConfigureAwait(false) to awaited calls in library-like code.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Binary/SymbolInfo.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Binary/VulnerableFunctionMatcher.cs | ConfigureAwaitMissing; FileLength>100 | Add ConfigureAwait(false) to awaited calls in library-like code.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/FileSystem/DirectoryRootFileSystem.cs | FileLength>100; UsingInsideNamespace | Move using directives outside namespace.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/FileSystem/LayeredRootFileSystem.cs | FileLength>100; UsingInsideNamespace | Move using directives outside namespace.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Mesh/DockerComposeParser.cs | ConfigureAwaitMissing; FileLength>100; UsingInsideNamespace | Add ConfigureAwait(false) to awaited calls in library-like code.; Move using directives outside namespace.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Mesh/KubernetesManifestParser.cs | ConfigureAwaitMissing; FileLength>100; UsingInsideNamespace | Add ConfigureAwait(false) to awaited calls in library-like code.; Move using directives outside namespace.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Mesh/MeshEntrypointAnalyzer.cs | ConfigureAwaitMissing; FileLength>100 | Add ConfigureAwait(false) to awaited calls in library-like code.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Mesh/MeshEntrypointGraph.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Oci/OciImageConfig.cs | FileLength>100; PrivateFieldNaming; UsingInsideNamespace | Move using directives outside namespace.; Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Parsing/ShellParser.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Parsing/ShellTokenizer.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Risk/CompositeRiskScorer.cs | ConfigureAwaitMissing; FileLength>100 | Add ConfigureAwait(false) to awaited calls in library-like code.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Risk/IRiskScorer.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Risk/RiskScore.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Runtime/EntryTraceRuntimeReconciler.cs | FileLength>100; PrivateFieldNaming | Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Runtime/ProcFileSystemSnapshot.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Runtime/ProcGraphBuilder.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Semantic/CapabilityClass.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Semantic/DataFlowBoundary.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Semantic/ISemanticEntrypointAnalyzer.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Semantic/RootFileSystemExtensions.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Semantic/SemanticConfidence.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Semantic/SemanticEntrypoint.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Semantic/SemanticEntrypointOrchestrator.cs | ConfigureAwaitMissing; FileLength>100 | Add ConfigureAwait(false) to awaited calls in library-like code.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Semantic/SemanticEntryTraceAnalyzer.cs | ConfigureAwaitMissing; FileLength>100 | Add ConfigureAwait(false) to awaited calls in library-like code.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Semantic/ThreatVector.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Semantic/Adapters/DotNetSemanticAdapter.cs | AsyncNaming; ConfigureAwaitMissing; FileLength>100 | Add ConfigureAwait(false) to awaited calls in library-like code.; Rename async methods to end with Async.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Semantic/Adapters/GoSemanticAdapter.cs | AsyncNaming; ConfigureAwaitMissing; FileLength>100; UsingInsideNamespace | Add ConfigureAwait(false) to awaited calls in library-like code.; Move using directives outside namespace.; Rename async methods to end with Async.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Semantic/Adapters/JavaSemanticAdapter.cs | AsyncNaming; ConfigureAwaitMissing; FileLength>100 | Add ConfigureAwait(false) to awaited calls in library-like code.; Rename async methods to end with Async.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Semantic/Adapters/NodeSemanticAdapter.cs | AsyncNaming; ConfigureAwaitMissing; FileLength>100; UsingInsideNamespace | Add ConfigureAwait(false) to awaited calls in library-like code.; Move using directives outside namespace.; Rename async methods to end with Async.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Semantic/Adapters/PythonSemanticAdapter.cs | ConfigureAwaitMissing; FileLength>100; UsingInsideNamespace | Add ConfigureAwait(false) to awaited calls in library-like code.; Move using directives outside namespace.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Semantic/Analysis/CapabilityDetector.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Semantic/Analysis/DataBoundaryMapper.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Semantic/Analysis/ThreatVectorInferrer.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Serialization/EntryTraceGraphSerializer.cs | FileLength>100; PrivateFieldNaming | Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Serialization/EntryTraceNdjsonWriter.cs | FileLength>100; PrivateFieldNaming; UsingInsideNamespace | Move using directives outside namespace.; Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Speculative/ExecutionTree.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Speculative/ISymbolicExecutor.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Speculative/PathConfidenceScorer.cs | ConfigureAwaitMissing; FileLength>100 | Add ConfigureAwait(false) to awaited calls in library-like code.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Speculative/PathEnumerator.cs | ConfigureAwaitMissing; FileLength>100 | Add ConfigureAwait(false) to awaited calls in library-like code.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Speculative/ShellSymbolicExecutor.cs | ConfigureAwaitMissing; FileLength>100; PrivateFieldNaming | Add ConfigureAwait(false) to awaited calls in library-like code.; Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Speculative/SymbolicState.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Speculative/SymbolicValue.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Temporal/EntrypointDrift.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Temporal/InMemoryTemporalEntrypointStore.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Temporal/TemporalEntrypointGraph.cs | FileLength>100 | Split file to stay <= 100 lines. |
## Testing Fullness Findings
- Status: FAIL
- Expected layers (heuristic): Performance, Unit
- Detected test projects: src/Scanner/__Tests/StellaOps.Scanner.EntryTrace.Tests/StellaOps.Scanner.EntryTrace.Tests.csproj [Unit]
- Missing layers: Performance
### 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,111 @@
# Audit - StellaOps.Scanner.Evidence
## Project
- Path: src/Scanner/__Libraries/StellaOps.Scanner.Evidence/StellaOps.Scanner.Evidence.csproj
- Module: Scanner
- Kind: Library
- Audit date (UTC): 2026-01-30
- Files scanned: 18
- Files with issues: 18
- 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: 10
- 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/Scanner/__Libraries/StellaOps.Scanner.Evidence/DeltaSigVexEmitter.cs (278 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Evidence/FuncProofBuilder.cs (477 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Evidence/FuncProofDsseService.cs (298 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Evidence/FuncProofGenerationOptions.cs (156 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Evidence/FuncProofTransparencyService.cs (450 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Evidence/SbomFuncProofLinker.cs (553 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Evidence/Models/DeltaSignatureEvidence.cs (304 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Evidence/Models/EvidenceBundle.cs (252 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Evidence/Models/FuncProof.cs (368 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Evidence/Privacy/EvidenceRedactionService.cs (228 lines)
- Namespace issues:
- src/Scanner/__Libraries/StellaOps.Scanner.Evidence/DeltaSigVexEmitter.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Evidence/FuncProofBuilder.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Evidence/FuncProofDsseService.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Evidence/FuncProofGenerationOptions.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Evidence/FuncProofTransparencyService.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Evidence/SbomFuncProofLinker.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Evidence/Models/DeltaSignatureEvidence.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Evidence/Models/EvidenceBundle.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Evidence/Models/FuncProof.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Evidence/Models/VersionComparisonEvidence.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Evidence/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Evidence/obj/Debug/net10.0/StellaOps.Scanner.Evidence.AssemblyInfo.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Evidence/obj/Debug/net10.0/StellaOps.Scanner.Evidence.GlobalUsings.g.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Evidence/obj/Release/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Evidence/obj/Release/net10.0/StellaOps.Scanner.Evidence.AssemblyInfo.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Evidence/obj/Release/net10.0/StellaOps.Scanner.Evidence.GlobalUsings.g.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Evidence/Privacy/EvidenceRedactionLevel.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Evidence/Privacy/EvidenceRedactionService.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: 18
- Files with issues: 18
- See docs/implplan/audits/csproj-standards/file-audit.csv for full per-file status.
| File | Issues | Fix guidance |
| --- | --- | --- |
| src/Scanner/__Libraries/StellaOps.Scanner.Evidence/DeltaSigVexEmitter.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Evidence/FuncProofBuilder.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Evidence/FuncProofDsseService.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Evidence/FuncProofGenerationOptions.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Evidence/FuncProofTransparencyService.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Evidence/SbomFuncProofLinker.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Evidence/Models/DeltaSignatureEvidence.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Evidence/Models/EvidenceBundle.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Evidence/Models/FuncProof.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Evidence/Models/VersionComparisonEvidence.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Evidence/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Evidence/obj/Debug/net10.0/StellaOps.Scanner.Evidence.AssemblyInfo.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Evidence/obj/Debug/net10.0/StellaOps.Scanner.Evidence.GlobalUsings.g.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Evidence/obj/Release/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Evidence/obj/Release/net10.0/StellaOps.Scanner.Evidence.AssemblyInfo.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Evidence/obj/Release/net10.0/StellaOps.Scanner.Evidence.GlobalUsings.g.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Evidence/Privacy/EvidenceRedactionLevel.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Evidence/Privacy/EvidenceRedactionService.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): Performance, Unit
- Detected test projects: src/__Tests/Integration/StellaOps.Integration.Determinism/StellaOps.Integration.Determinism.csproj [Integration]; src/Scanner/__Tests/StellaOps.Scanner.Evidence.Tests/StellaOps.Scanner.Evidence.Tests.csproj [Unit]
- Missing layers: Performance
### 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,95 @@
# Audit - StellaOps.Scanner.Evidence
## Project
- Path: src/Scanner/__Libraries/StellaOps.Scanner.Evidence/StellaOps.Scanner.Evidence.csproj
- Module: Scanner
- Kind: Library
- Audit date (UTC): 2026-01-31
- Files scanned: 12
- 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: 10
- Namespace violations: 0
- Using directive violations: 1
- Naming violations (interfaces/fields/const/async): 9
- Service locator usage (BuildServiceProvider/GetService): 0
- Assembly.LoadFrom usage: 0
### Details
- 100-line files:
- src/Scanner/__Libraries/StellaOps.Scanner.Evidence/DeltaSigVexEmitter.cs (279 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Evidence/FuncProofBuilder.cs (478 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Evidence/FuncProofDsseService.cs (299 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Evidence/FuncProofGenerationOptions.cs (156 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Evidence/FuncProofTransparencyService.cs (451 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Evidence/SbomFuncProofLinker.cs (554 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Evidence/Models/DeltaSignatureEvidence.cs (304 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Evidence/Models/EvidenceBundle.cs (252 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Evidence/Models/FuncProof.cs (368 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Evidence/Privacy/EvidenceRedactionService.cs (229 lines)
- Namespace issues:
- none
- Using directive issues:
- src/Scanner/__Libraries/StellaOps.Scanner.Evidence/FuncProofTransparencyService.cs: using directives inside namespace
- Naming issues:
- src/Scanner/__Libraries/StellaOps.Scanner.Evidence/FuncProofBuilder.cs: private field naming
- src/Scanner/__Libraries/StellaOps.Scanner.Evidence/FuncProofDsseService.cs: private field naming
- src/Scanner/__Libraries/StellaOps.Scanner.Evidence/FuncProofTransparencyService.cs: private field naming
- src/Scanner/__Libraries/StellaOps.Scanner.Evidence/SbomFuncProofLinker.cs: private field naming
- Async issues:
- src/Scanner/__Libraries/StellaOps.Scanner.Evidence/DeltaSigVexEmitter.cs: blocking async usage
- src/Scanner/__Libraries/StellaOps.Scanner.Evidence/FuncProofDsseService.cs: async method naming
- src/Scanner/__Libraries/StellaOps.Scanner.Evidence/FuncProofDsseService.cs: missing ConfigureAwait(false)
- src/Scanner/__Libraries/StellaOps.Scanner.Evidence/FuncProofTransparencyService.cs: async method naming
- src/Scanner/__Libraries/StellaOps.Scanner.Evidence/Privacy/EvidenceRedactionService.cs: blocking async usage
- Service locator matches:
- none
- Assembly.LoadFrom matches:
- none
### Fix Guidance
- Align interface/field/const naming to standards.
- Move and sort using directives (outside namespace).
- Rename async methods and avoid blocking async calls.
- Split files over 100 lines into smaller types or partials.
## File-Level Findings
- Status: FAIL
- Files scanned: 12
- Files with issues: 10
- See docs/implplan/audits/csproj-standards/file-audit.csv for full per-file status.
| File | Issues | Fix guidance |
| --- | --- | --- |
| src/Scanner/__Libraries/StellaOps.Scanner.Evidence/DeltaSigVexEmitter.cs | BlockingAsync; FileLength>100 | Replace .Result/.Wait/GetAwaiter().GetResult() with await.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Evidence/FuncProofBuilder.cs | FileLength>100; PrivateFieldNaming | Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Evidence/FuncProofDsseService.cs | AsyncNaming; ConfigureAwaitMissing; FileLength>100; PrivateFieldNaming | Add ConfigureAwait(false) to awaited calls in library-like code.; Rename async methods to end with Async.; Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Evidence/FuncProofGenerationOptions.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Evidence/FuncProofTransparencyService.cs | AsyncNaming; FileLength>100; PrivateFieldNaming; UsingInsideNamespace | Move using directives outside namespace.; Rename async methods to end with Async.; Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Evidence/SbomFuncProofLinker.cs | FileLength>100; PrivateFieldNaming | Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Evidence/Models/DeltaSignatureEvidence.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Evidence/Models/EvidenceBundle.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Evidence/Models/FuncProof.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Evidence/Privacy/EvidenceRedactionService.cs | BlockingAsync; FileLength>100 | Replace .Result/.Wait/GetAwaiter().GetResult() with await.; Split file to stay <= 100 lines. |
## Testing Fullness Findings
- Status: FAIL
- Expected layers (heuristic): Performance, Unit
- Detected test projects: src/__Tests/Integration/StellaOps.Integration.Determinism/StellaOps.Integration.Determinism.csproj [Integration]; src/Scanner/__Tests/StellaOps.Scanner.Evidence.Tests/StellaOps.Scanner.Evidence.Tests.csproj [Unit]
- Missing layers: Performance
### 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,101 @@
# Audit - StellaOps.Scanner.Explainability
## Project
- Path: src/Scanner/__Libraries/StellaOps.Scanner.Explainability/StellaOps.Scanner.Explainability.csproj
- Module: Scanner
- Kind: Library
- Audit date (UTC): 2026-01-30
- Files scanned: 14
- Files with issues: 14
- 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: 8
- Namespace violations: 14
- 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/Scanner/__Libraries/StellaOps.Scanner.Explainability/RiskReport.cs (278 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Explainability/Assumptions/Assumption.cs (109 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Explainability/Assumptions/AssumptionSet.cs (120 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Explainability/Assumptions/IAssumptionCollector.cs (124 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Explainability/Confidence/EvidenceDensityScorer.cs (227 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Explainability/Dsse/ExplainabilityPredicateSerializer.cs (233 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Explainability/Falsifiability/FalsifiabilityCriteria.cs (132 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Explainability/Falsifiability/FalsifiabilityGenerator.cs (224 lines)
- Namespace issues:
- src/Scanner/__Libraries/StellaOps.Scanner.Explainability/RiskReport.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Explainability/Assumptions/Assumption.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Explainability/Assumptions/AssumptionSet.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Explainability/Assumptions/IAssumptionCollector.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Explainability/Confidence/EvidenceDensityScorer.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Explainability/Dsse/ExplainabilityPredicateSerializer.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Explainability/Falsifiability/FalsifiabilityCriteria.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Explainability/Falsifiability/FalsifiabilityGenerator.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Explainability/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Explainability/obj/Debug/net10.0/StellaOps.Scanner.Explainability.AssemblyInfo.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Explainability/obj/Debug/net10.0/StellaOps.Scanner.Explainability.GlobalUsings.g.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Explainability/obj/Release/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Explainability/obj/Release/net10.0/StellaOps.Scanner.Explainability.AssemblyInfo.cs: missing namespace
- src/Scanner/__Libraries/StellaOps.Scanner.Explainability/obj/Release/net10.0/StellaOps.Scanner.Explainability.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: 14
- Files with issues: 14
- See docs/implplan/audits/csproj-standards/file-audit.csv for full per-file status.
| File | Issues | Fix guidance |
| --- | --- | --- |
| src/Scanner/__Libraries/StellaOps.Scanner.Explainability/RiskReport.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Explainability/Assumptions/Assumption.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Explainability/Assumptions/AssumptionSet.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Explainability/Assumptions/IAssumptionCollector.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Explainability/Confidence/EvidenceDensityScorer.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Explainability/Dsse/ExplainabilityPredicateSerializer.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Explainability/Falsifiability/FalsifiabilityCriteria.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Explainability/Falsifiability/FalsifiabilityGenerator.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Explainability/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Explainability/obj/Debug/net10.0/StellaOps.Scanner.Explainability.AssemblyInfo.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Explainability/obj/Debug/net10.0/StellaOps.Scanner.Explainability.GlobalUsings.g.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Explainability/obj/Release/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Explainability/obj/Release/net10.0/StellaOps.Scanner.Explainability.AssemblyInfo.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Scanner/__Libraries/StellaOps.Scanner.Explainability/obj/Release/net10.0/StellaOps.Scanner.Explainability.GlobalUsings.g.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
## Testing Fullness Findings
- Status: FAIL
- Expected layers (heuristic): Performance, Unit
- Detected test projects: src/Scanner/__Tests/StellaOps.Scanner.Explainability.Tests/StellaOps.Scanner.Explainability.Tests.csproj [Unit]
- Missing layers: Performance
### 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,82 @@
# Audit - StellaOps.Scanner.Explainability
## Project
- Path: src/Scanner/__Libraries/StellaOps.Scanner.Explainability/StellaOps.Scanner.Explainability.csproj
- Module: Scanner
- Kind: Library
- Audit date (UTC): 2026-01-31
- 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: explicit true
- Deterministic: inherited true
- 100-line rule violations: 8
- Namespace violations: 0
- Using directive violations: 0
- Naming violations (interfaces/fields/const/async): 1
- Service locator usage (BuildServiceProvider/GetService): 0
- Assembly.LoadFrom usage: 0
### Details
- 100-line files:
- src/Scanner/__Libraries/StellaOps.Scanner.Explainability/RiskReport.cs (279 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Explainability/Assumptions/Assumption.cs (109 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Explainability/Assumptions/AssumptionSet.cs (120 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Explainability/Assumptions/IAssumptionCollector.cs (124 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Explainability/Confidence/EvidenceDensityScorer.cs (227 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Explainability/Dsse/ExplainabilityPredicateSerializer.cs (234 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Explainability/Falsifiability/FalsifiabilityCriteria.cs (132 lines)
- src/Scanner/__Libraries/StellaOps.Scanner.Explainability/Falsifiability/FalsifiabilityGenerator.cs (225 lines)
- Namespace issues:
- none
- Using directive issues:
- none
- Naming issues:
- src/Scanner/__Libraries/StellaOps.Scanner.Explainability/Dsse/ExplainabilityPredicateSerializer.cs: private field naming
- Async issues:
- none
- Service locator matches:
- none
- Assembly.LoadFrom matches:
- none
### Fix Guidance
- Align interface/field/const naming to standards.
- 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/Scanner/__Libraries/StellaOps.Scanner.Explainability/RiskReport.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Explainability/Assumptions/Assumption.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Explainability/Assumptions/AssumptionSet.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Explainability/Assumptions/IAssumptionCollector.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Explainability/Confidence/EvidenceDensityScorer.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Explainability/Dsse/ExplainabilityPredicateSerializer.cs | FileLength>100; PrivateFieldNaming | Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Explainability/Falsifiability/FalsifiabilityCriteria.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Scanner/__Libraries/StellaOps.Scanner.Explainability/Falsifiability/FalsifiabilityGenerator.cs | FileLength>100 | Split file to stay <= 100 lines. |
## Testing Fullness Findings
- Status: FAIL
- Expected layers (heuristic): Performance, Unit
- Detected test projects: src/Scanner/__Tests/StellaOps.Scanner.Explainability.Tests/StellaOps.Scanner.Explainability.Tests.csproj [Unit]
- Missing layers: Performance
### 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.

Some files were not shown because too many files have changed in this diff Show More