120 lines
9.4 KiB
XML
120 lines
9.4 KiB
XML
# Audit - StellaOps.AirGap.Controller
|
|
|
|
## Project
|
|
- Path: ../src/AirGap/StellaOps.AirGap.Controller/StellaOps.AirGap.Controller.csproj
|
|
- Module: ..
|
|
- Kind: Library
|
|
- Audit date (UTC): 2026-01-30
|
|
- Files scanned: 26
|
|
- Files with issues: 24
|
|
- File-level report: docs/implplan/audits/csproj-standards/file-audit.csv
|
|
|
|
## Coding Standards Findings
|
|
- Status: FAIL
|
|
- Nullable: enable
|
|
- TreatWarningsAsErrors: explicit true
|
|
- Deterministic: inherited true
|
|
- 100-line rule violations: 6
|
|
- Namespace violations: 24
|
|
- Using directive violations: 0
|
|
- Naming violations (interfaces/fields/const/async): 0
|
|
- Service locator usage (BuildServiceProvider/GetService): 0
|
|
- Assembly.LoadFrom usage: 0
|
|
|
|
### Details
|
|
- 100-line files:
|
|
- ../src/AirGap/StellaOps.AirGap.Controller/Auth/HeaderScopeAuthenticationHandler.cs (106 lines)
|
|
- ../src/AirGap/StellaOps.AirGap.Controller/Endpoints/AirGapEndpoints.cs (268 lines)
|
|
- ../src/AirGap/StellaOps.AirGap.Controller/Endpoints/RequestValidation.cs (108 lines)
|
|
- ../src/AirGap/StellaOps.AirGap.Controller/Services/AirGapStartupDiagnosticsHostedService.cs (175 lines)
|
|
- ../src/AirGap/StellaOps.AirGap.Controller/Services/AirGapStateService.cs (119 lines)
|
|
- ../src/AirGap/StellaOps.AirGap.Controller/Services/AirGapTelemetry.cs (178 lines)
|
|
- Namespace issues:
|
|
- ../src/AirGap/StellaOps.AirGap.Controller/Auth/HeaderScopeAuthenticationHandler.cs: missing namespace
|
|
- ../src/AirGap/StellaOps.AirGap.Controller/DependencyInjection/AirGapControllerServiceCollectionExtensions.cs: missing namespace
|
|
- ../src/AirGap/StellaOps.AirGap.Controller/Domain/AirGapState.cs: missing namespace
|
|
- ../src/AirGap/StellaOps.AirGap.Controller/Endpoints/AirGapEndpoints.cs: missing namespace
|
|
- ../src/AirGap/StellaOps.AirGap.Controller/Endpoints/RequestValidation.cs: missing namespace
|
|
- ../src/AirGap/StellaOps.AirGap.Controller/Endpoints/Contracts/AirGapStatusResponse.cs: missing namespace
|
|
- ../src/AirGap/StellaOps.AirGap.Controller/Endpoints/Contracts/SealRequest.cs: missing namespace
|
|
- ../src/AirGap/StellaOps.AirGap.Controller/Endpoints/Contracts/VerifyRequest.cs: missing namespace
|
|
- ../src/AirGap/StellaOps.AirGap.Controller/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs: missing namespace
|
|
- ../src/AirGap/StellaOps.AirGap.Controller/obj/Debug/net10.0/StellaOps.AirGap.Controller.AssemblyInfo.cs: missing namespace
|
|
- ../src/AirGap/StellaOps.AirGap.Controller/obj/Debug/net10.0/StellaOps.AirGap.Controller.GlobalUsings.g.cs: missing namespace
|
|
- ../src/AirGap/StellaOps.AirGap.Controller/obj/Debug/net10.0/StellaOps.AirGap.Controller.MvcApplicationPartsAssemblyInfo.cs: missing namespace
|
|
- ../src/AirGap/StellaOps.AirGap.Controller/obj/Release/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs: missing namespace
|
|
- ../src/AirGap/StellaOps.AirGap.Controller/obj/Release/net10.0/StellaOps.AirGap.Controller.AssemblyInfo.cs: missing namespace
|
|
- ../src/AirGap/StellaOps.AirGap.Controller/obj/Release/net10.0/StellaOps.AirGap.Controller.GlobalUsings.g.cs: missing namespace
|
|
- ../src/AirGap/StellaOps.AirGap.Controller/obj/Release/net10.0/StellaOps.AirGap.Controller.MvcApplicationPartsAssemblyInfo.cs: missing namespace
|
|
- ../src/AirGap/StellaOps.AirGap.Controller/Options/AirGapStartupOptions.cs: missing namespace
|
|
- ../src/AirGap/StellaOps.AirGap.Controller/Options/AirGapTelemetryOptions.cs: missing namespace
|
|
- ../src/AirGap/StellaOps.AirGap.Controller/Services/AirGapStartupDiagnosticsHostedService.cs: missing namespace
|
|
- ../src/AirGap/StellaOps.AirGap.Controller/Services/AirGapStateService.cs: missing namespace
|
|
- ../src/AirGap/StellaOps.AirGap.Controller/Services/AirGapTelemetry.cs: missing namespace
|
|
- ../src/AirGap/StellaOps.AirGap.Controller/Services/ReplayVerificationService.cs: missing namespace
|
|
- ../src/AirGap/StellaOps.AirGap.Controller/Stores/IAirGapStateStore.cs: missing namespace
|
|
- ../src/AirGap/StellaOps.AirGap.Controller/Stores/InMemoryAirGapStateStore.cs: missing namespace
|
|
- Using directive issues:
|
|
- none
|
|
- Naming issues:
|
|
- none
|
|
- Async issues:
|
|
- none
|
|
- Service locator matches:
|
|
- none
|
|
- Assembly.LoadFrom matches:
|
|
- none
|
|
|
|
### Fix Guidance
|
|
- Normalize namespaces to file-scoped StellaOps.<Area>.
|
|
- Split files over 100 lines into smaller types or partials.
|
|
|
|
## File-Level Findings
|
|
- Status: FAIL
|
|
- Files scanned: 26
|
|
- Files with issues: 24
|
|
- See docs/implplan/audits/csproj-standards/file-audit.csv for full per-file status.
|
|
|
|
| File | Issues | Fix guidance |
|
|
| --- | --- | --- |
|
|
| ../src/AirGap/StellaOps.AirGap.Controller/Auth/HeaderScopeAuthenticationHandler.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
|
|
| ../src/AirGap/StellaOps.AirGap.Controller/DependencyInjection/AirGapControllerServiceCollectionExtensions.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
|
|
| ../src/AirGap/StellaOps.AirGap.Controller/Domain/AirGapState.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
|
|
| ../src/AirGap/StellaOps.AirGap.Controller/Endpoints/AirGapEndpoints.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
|
|
| ../src/AirGap/StellaOps.AirGap.Controller/Endpoints/RequestValidation.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
|
|
| ../src/AirGap/StellaOps.AirGap.Controller/Endpoints/Contracts/AirGapStatusResponse.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
|
|
| ../src/AirGap/StellaOps.AirGap.Controller/Endpoints/Contracts/SealRequest.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
|
|
| ../src/AirGap/StellaOps.AirGap.Controller/Endpoints/Contracts/VerifyRequest.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
|
|
| ../src/AirGap/StellaOps.AirGap.Controller/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
|
|
| ../src/AirGap/StellaOps.AirGap.Controller/obj/Debug/net10.0/StellaOps.AirGap.Controller.AssemblyInfo.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
|
|
| ../src/AirGap/StellaOps.AirGap.Controller/obj/Debug/net10.0/StellaOps.AirGap.Controller.GlobalUsings.g.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
|
|
| ../src/AirGap/StellaOps.AirGap.Controller/obj/Debug/net10.0/StellaOps.AirGap.Controller.MvcApplicationPartsAssemblyInfo.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
|
|
| ../src/AirGap/StellaOps.AirGap.Controller/obj/Release/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
|
|
| ../src/AirGap/StellaOps.AirGap.Controller/obj/Release/net10.0/StellaOps.AirGap.Controller.AssemblyInfo.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
|
|
| ../src/AirGap/StellaOps.AirGap.Controller/obj/Release/net10.0/StellaOps.AirGap.Controller.GlobalUsings.g.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
|
|
| ../src/AirGap/StellaOps.AirGap.Controller/obj/Release/net10.0/StellaOps.AirGap.Controller.MvcApplicationPartsAssemblyInfo.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
|
|
| ../src/AirGap/StellaOps.AirGap.Controller/Options/AirGapStartupOptions.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
|
|
| ../src/AirGap/StellaOps.AirGap.Controller/Options/AirGapTelemetryOptions.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
|
|
| ../src/AirGap/StellaOps.AirGap.Controller/Services/AirGapStartupDiagnosticsHostedService.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
|
|
| ../src/AirGap/StellaOps.AirGap.Controller/Services/AirGapStateService.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
|
|
| ../src/AirGap/StellaOps.AirGap.Controller/Services/AirGapTelemetry.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
|
|
| ../src/AirGap/StellaOps.AirGap.Controller/Services/ReplayVerificationService.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
|
|
| ../src/AirGap/StellaOps.AirGap.Controller/Stores/IAirGapStateStore.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
|
|
| ../src/AirGap/StellaOps.AirGap.Controller/Stores/InMemoryAirGapStateStore.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
|
|
|
|
## Testing Fullness Findings
|
|
- Status: FAIL
|
|
- Expected layers (heuristic): Unit
|
|
- Detected test projects: ../src/AirGap/__Tests/StellaOps.AirGap.Controller.Tests/StellaOps.AirGap.Controller.Tests.csproj [Offline]; ../src/AirGap/__Tests/StellaOps.AirGap.Persistence.Tests/StellaOps.AirGap.Persistence.Tests.csproj [Offline]
|
|
- Missing layers: Unit
|
|
|
|
### Manual checks required
|
|
- Observability contract tests for WebService/Worker.
|
|
- Intent tags for regulatory modules (Policy, Authority, Signer, Attestor, EvidenceLocker).
|
|
- Offline execution (tests must run without network access).
|
|
- Coverage matrix alignment (docs/technical/testing/TEST_COVERAGE_MATRIX.md).
|
|
|
|
### Fix Guidance
|
|
- Add or expand test projects to cover missing layers.
|
|
- Ensure tests use deterministic fixtures and offline harnesses.
|