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,87 @@
# Audit - StellaOps.VexHub.WebService
## Project
- Path: src/VexHub/StellaOps.VexHub.WebService/StellaOps.VexHub.WebService.csproj
- Module: VexHub
- 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: 3
- 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/VexHub/StellaOps.VexHub.WebService/Extensions/VexHubEndpointExtensions.cs (273 lines)
- src/VexHub/StellaOps.VexHub.WebService/Middleware/ApiKeyAuthenticationHandler.cs (136 lines)
- src/VexHub/StellaOps.VexHub.WebService/Middleware/RateLimitingMiddleware.cs (233 lines)
- Namespace issues:
- src/VexHub/StellaOps.VexHub.WebService/Extensions/VexHubEndpointExtensions.cs: missing namespace
- src/VexHub/StellaOps.VexHub.WebService/Extensions/VexHubWebServiceExtensions.cs: missing namespace
- src/VexHub/StellaOps.VexHub.WebService/Middleware/ApiKeyAuthenticationHandler.cs: missing namespace
- src/VexHub/StellaOps.VexHub.WebService/Middleware/RateLimitingMiddleware.cs: missing namespace
- src/VexHub/StellaOps.VexHub.WebService/Models/VexApiModels.cs: missing namespace
- src/VexHub/StellaOps.VexHub.WebService/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs: missing namespace
- src/VexHub/StellaOps.VexHub.WebService/obj/Debug/net10.0/StellaOps.VexHub.WebService.AssemblyInfo.cs: missing namespace
- src/VexHub/StellaOps.VexHub.WebService/obj/Debug/net10.0/StellaOps.VexHub.WebService.GlobalUsings.g.cs: missing namespace
- src/VexHub/StellaOps.VexHub.WebService/obj/Debug/net10.0/StellaOps.VexHub.WebService.MvcApplicationPartsAssemblyInfo.cs: missing namespace
- src/VexHub/StellaOps.VexHub.WebService/obj/Release/net10.0/StellaOps.VexHub.WebService.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/VexHub/StellaOps.VexHub.WebService/Extensions/VexHubEndpointExtensions.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/VexHub/StellaOps.VexHub.WebService/Extensions/VexHubWebServiceExtensions.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/VexHub/StellaOps.VexHub.WebService/Middleware/ApiKeyAuthenticationHandler.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/VexHub/StellaOps.VexHub.WebService/Middleware/RateLimitingMiddleware.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/VexHub/StellaOps.VexHub.WebService/Models/VexApiModels.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/VexHub/StellaOps.VexHub.WebService/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/VexHub/StellaOps.VexHub.WebService/obj/Debug/net10.0/StellaOps.VexHub.WebService.AssemblyInfo.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/VexHub/StellaOps.VexHub.WebService/obj/Debug/net10.0/StellaOps.VexHub.WebService.GlobalUsings.g.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/VexHub/StellaOps.VexHub.WebService/obj/Debug/net10.0/StellaOps.VexHub.WebService.MvcApplicationPartsAssemblyInfo.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/VexHub/StellaOps.VexHub.WebService/obj/Release/net10.0/StellaOps.VexHub.WebService.GlobalUsings.g.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
## Testing Fullness Findings
- Status: PASS
- Expected layers (heuristic): Unit
- Detected test projects: src/VexHub/__Tests/StellaOps.VexHub.WebService.Tests/StellaOps.VexHub.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,77 @@
# Audit - StellaOps.VexHub.WebService
## Project
- Path: src/VexHub/StellaOps.VexHub.WebService/StellaOps.VexHub.WebService.csproj
- Module: VexHub
- Kind: Service
- Audit date (UTC): 2026-01-31
- Files scanned: 6
- 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: 1
- Using directive violations: 1
- Naming violations (interfaces/fields/const/async): 3
- Service locator usage (BuildServiceProvider/GetService): 0
- Assembly.LoadFrom usage: 0
### Details
- 100-line files:
- src/VexHub/StellaOps.VexHub.WebService/Extensions/VexHubEndpointExtensions.cs (274 lines)
- src/VexHub/StellaOps.VexHub.WebService/Middleware/ApiKeyAuthenticationHandler.cs (137 lines)
- src/VexHub/StellaOps.VexHub.WebService/Middleware/RateLimitingMiddleware.cs (234 lines)
- Namespace issues:
- src/VexHub/StellaOps.VexHub.WebService/Program.cs: block-scoped namespace
- Using directive issues:
- src/VexHub/StellaOps.VexHub.WebService/Extensions/VexHubEndpointExtensions.cs: using directives inside namespace
- Naming issues:
- src/VexHub/StellaOps.VexHub.WebService/Middleware/RateLimitingMiddleware.cs: private field naming
- Async issues:
- src/VexHub/StellaOps.VexHub.WebService/Extensions/VexHubEndpointExtensions.cs: async method naming
- src/VexHub/StellaOps.VexHub.WebService/Middleware/RateLimitingMiddleware.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).
- 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: 6
- Files with issues: 4
- See docs/implplan/audits/csproj-standards/file-audit.csv for full per-file status.
| File | Issues | Fix guidance |
| --- | --- | --- |
| src/VexHub/StellaOps.VexHub.WebService/Program.cs | NamespaceNotFileScoped | Convert to file-scoped namespace. |
| src/VexHub/StellaOps.VexHub.WebService/Extensions/VexHubEndpointExtensions.cs | AsyncNaming; FileLength>100; UsingInsideNamespace | Move using directives outside namespace.; Rename async methods to end with Async.; Split file to stay <= 100 lines. |
| src/VexHub/StellaOps.VexHub.WebService/Middleware/ApiKeyAuthenticationHandler.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/VexHub/StellaOps.VexHub.WebService/Middleware/RateLimitingMiddleware.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, Security, Unit
- Detected test projects: src/VexHub/__Tests/StellaOps.VexHub.WebService.Tests/StellaOps.VexHub.WebService.Tests.csproj [Unit]
- Missing layers: E2E, Integration, 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,141 @@
# Audit - StellaOps.VexHub.Core
## Project
- Path: src/VexHub/__Libraries/StellaOps.VexHub.Core/StellaOps.VexHub.Core.csproj
- Module: VexHub
- Kind: Library
- Audit date (UTC): 2026-01-30
- Files scanned: 30
- Files with issues: 30
- 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: 16
- Namespace violations: 30
- 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/VexHub/__Libraries/StellaOps.VexHub.Core/IVexStatementRepository.cs (147 lines)
- src/VexHub/__Libraries/StellaOps.VexHub.Core/Export/VexExportService.cs (252 lines)
- src/VexHub/__Libraries/StellaOps.VexHub.Core/Ingestion/VexIngestionScheduler.cs (140 lines)
- src/VexHub/__Libraries/StellaOps.VexHub.Core/Ingestion/VexIngestionService.cs (166 lines)
- src/VexHub/__Libraries/StellaOps.VexHub.Core/Models/VexHubModels.cs (663 lines)
- src/VexHub/__Libraries/StellaOps.VexHub.Core/Models/VexHubOptions.cs (132 lines)
- src/VexHub/__Libraries/StellaOps.VexHub.Core/Pipeline/VexNormalizationPipeline.cs (341 lines)
- src/VexHub/__Libraries/StellaOps.VexHub.Core/Validation/CsafVexSchemaValidator.cs (572 lines)
- src/VexHub/__Libraries/StellaOps.VexHub.Core/Validation/CycloneDxVexSchemaValidator.cs (709 lines)
- src/VexHub/__Libraries/StellaOps.VexHub.Core/Validation/IStatementFlaggingService.cs (180 lines)
- src/VexHub/__Libraries/StellaOps.VexHub.Core/Validation/IVexSchemaValidator.cs (123 lines)
- src/VexHub/__Libraries/StellaOps.VexHub.Core/Validation/OpenVexSchemaValidator.cs (491 lines)
- src/VexHub/__Libraries/StellaOps.VexHub.Core/Validation/StatementFlaggingService.cs (273 lines)
- src/VexHub/__Libraries/StellaOps.VexHub.Core/Validation/VexSchemaValidatorFactory.cs (146 lines)
- src/VexHub/__Libraries/StellaOps.VexHub.Core/Webhooks/IWebhookService.cs (149 lines)
- src/VexHub/__Libraries/StellaOps.VexHub.Core/Webhooks/WebhookService.cs (193 lines)
- Namespace issues:
- src/VexHub/__Libraries/StellaOps.VexHub.Core/IVexConflictRepository.cs: missing namespace
- src/VexHub/__Libraries/StellaOps.VexHub.Core/IVexIngestionJobRepository.cs: missing namespace
- src/VexHub/__Libraries/StellaOps.VexHub.Core/IVexProvenanceRepository.cs: missing namespace
- src/VexHub/__Libraries/StellaOps.VexHub.Core/IVexSourceRepository.cs: missing namespace
- src/VexHub/__Libraries/StellaOps.VexHub.Core/IVexStatementRepository.cs: missing namespace
- src/VexHub/__Libraries/StellaOps.VexHub.Core/Export/IVexExportService.cs: missing namespace
- src/VexHub/__Libraries/StellaOps.VexHub.Core/Export/VexExportService.cs: missing namespace
- src/VexHub/__Libraries/StellaOps.VexHub.Core/Extensions/VexHubCoreServiceCollectionExtensions.cs: missing namespace
- src/VexHub/__Libraries/StellaOps.VexHub.Core/Ingestion/IVexIngestionService.cs: missing namespace
- src/VexHub/__Libraries/StellaOps.VexHub.Core/Ingestion/VexIngestionScheduler.cs: missing namespace
- src/VexHub/__Libraries/StellaOps.VexHub.Core/Ingestion/VexIngestionService.cs: missing namespace
- src/VexHub/__Libraries/StellaOps.VexHub.Core/Models/VexHubModels.cs: missing namespace
- src/VexHub/__Libraries/StellaOps.VexHub.Core/Models/VexHubOptions.cs: missing namespace
- src/VexHub/__Libraries/StellaOps.VexHub.Core/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs: missing namespace
- src/VexHub/__Libraries/StellaOps.VexHub.Core/obj/Debug/net10.0/StellaOps.VexHub.Core.AssemblyInfo.cs: missing namespace
- src/VexHub/__Libraries/StellaOps.VexHub.Core/obj/Debug/net10.0/StellaOps.VexHub.Core.GlobalUsings.g.cs: missing namespace
- src/VexHub/__Libraries/StellaOps.VexHub.Core/obj/Release/net10.0/StellaOps.VexHub.Core.GlobalUsings.g.cs: missing namespace
- src/VexHub/__Libraries/StellaOps.VexHub.Core/Pipeline/IVexNormalizationPipeline.cs: missing namespace
- src/VexHub/__Libraries/StellaOps.VexHub.Core/Pipeline/VexNormalizationPipeline.cs: missing namespace
- src/VexHub/__Libraries/StellaOps.VexHub.Core/Validation/CsafVexSchemaValidator.cs: missing namespace
- src/VexHub/__Libraries/StellaOps.VexHub.Core/Validation/CycloneDxVexSchemaValidator.cs: missing namespace
- src/VexHub/__Libraries/StellaOps.VexHub.Core/Validation/IStatementFlaggingService.cs: missing namespace
- src/VexHub/__Libraries/StellaOps.VexHub.Core/Validation/IVexSchemaValidator.cs: missing namespace
- src/VexHub/__Libraries/StellaOps.VexHub.Core/Validation/IVexSignatureVerifier.cs: missing namespace
- src/VexHub/__Libraries/StellaOps.VexHub.Core/Validation/OpenVexSchemaValidator.cs: missing namespace
- src/VexHub/__Libraries/StellaOps.VexHub.Core/Validation/StatementFlaggingService.cs: missing namespace
- src/VexHub/__Libraries/StellaOps.VexHub.Core/Validation/VexSchemaValidatorFactory.cs: missing namespace
- src/VexHub/__Libraries/StellaOps.VexHub.Core/Validation/VexSignatureVerifier.cs: missing namespace
- src/VexHub/__Libraries/StellaOps.VexHub.Core/Webhooks/IWebhookService.cs: missing namespace
- src/VexHub/__Libraries/StellaOps.VexHub.Core/Webhooks/WebhookService.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: 30
- Files with issues: 30
- See docs/implplan/audits/csproj-standards/file-audit.csv for full per-file status.
| File | Issues | Fix guidance |
| --- | --- | --- |
| src/VexHub/__Libraries/StellaOps.VexHub.Core/IVexConflictRepository.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/VexHub/__Libraries/StellaOps.VexHub.Core/IVexIngestionJobRepository.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/VexHub/__Libraries/StellaOps.VexHub.Core/IVexProvenanceRepository.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/VexHub/__Libraries/StellaOps.VexHub.Core/IVexSourceRepository.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/VexHub/__Libraries/StellaOps.VexHub.Core/IVexStatementRepository.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/VexHub/__Libraries/StellaOps.VexHub.Core/Export/IVexExportService.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/VexHub/__Libraries/StellaOps.VexHub.Core/Export/VexExportService.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/VexHub/__Libraries/StellaOps.VexHub.Core/Extensions/VexHubCoreServiceCollectionExtensions.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/VexHub/__Libraries/StellaOps.VexHub.Core/Ingestion/IVexIngestionService.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/VexHub/__Libraries/StellaOps.VexHub.Core/Ingestion/VexIngestionScheduler.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/VexHub/__Libraries/StellaOps.VexHub.Core/Ingestion/VexIngestionService.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/VexHub/__Libraries/StellaOps.VexHub.Core/Models/VexHubModels.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/VexHub/__Libraries/StellaOps.VexHub.Core/Models/VexHubOptions.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/VexHub/__Libraries/StellaOps.VexHub.Core/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/VexHub/__Libraries/StellaOps.VexHub.Core/obj/Debug/net10.0/StellaOps.VexHub.Core.AssemblyInfo.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/VexHub/__Libraries/StellaOps.VexHub.Core/obj/Debug/net10.0/StellaOps.VexHub.Core.GlobalUsings.g.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/VexHub/__Libraries/StellaOps.VexHub.Core/obj/Release/net10.0/StellaOps.VexHub.Core.GlobalUsings.g.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/VexHub/__Libraries/StellaOps.VexHub.Core/Pipeline/IVexNormalizationPipeline.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/VexHub/__Libraries/StellaOps.VexHub.Core/Pipeline/VexNormalizationPipeline.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/VexHub/__Libraries/StellaOps.VexHub.Core/Validation/CsafVexSchemaValidator.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/VexHub/__Libraries/StellaOps.VexHub.Core/Validation/CycloneDxVexSchemaValidator.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/VexHub/__Libraries/StellaOps.VexHub.Core/Validation/IStatementFlaggingService.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/VexHub/__Libraries/StellaOps.VexHub.Core/Validation/IVexSchemaValidator.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/VexHub/__Libraries/StellaOps.VexHub.Core/Validation/IVexSignatureVerifier.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/VexHub/__Libraries/StellaOps.VexHub.Core/Validation/OpenVexSchemaValidator.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/VexHub/__Libraries/StellaOps.VexHub.Core/Validation/StatementFlaggingService.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/VexHub/__Libraries/StellaOps.VexHub.Core/Validation/VexSchemaValidatorFactory.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/VexHub/__Libraries/StellaOps.VexHub.Core/Validation/VexSignatureVerifier.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/VexHub/__Libraries/StellaOps.VexHub.Core/Webhooks/IWebhookService.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/VexHub/__Libraries/StellaOps.VexHub.Core/Webhooks/WebhookService.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
## Testing Fullness Findings
- Status: FAIL
- Expected layers (heuristic): Unit
- Detected test projects: src/VexHub/__Tests/StellaOps.VexHub.Core.Tests/StellaOps.VexHub.Core.Tests.csproj [Unit] (no test attributes detected)
- Missing layers: Unit
### Manual checks required
- Observability contract tests for WebService/Worker.
- Intent tags for regulatory modules (Policy, Authority, Signer, Attestor, EvidenceLocker).
- Offline execution (tests must run without network access).
- Coverage matrix alignment (docs/technical/testing/TEST_COVERAGE_MATRIX.md).
### Fix Guidance
- Add or expand test projects to cover missing layers.
- Ensure tests use deterministic fixtures and offline harnesses.

View File

@@ -0,0 +1,114 @@
# Audit - StellaOps.VexHub.Core
## Project
- Path: src/VexHub/__Libraries/StellaOps.VexHub.Core/StellaOps.VexHub.Core.csproj
- Module: VexHub
- Kind: Library
- Audit date (UTC): 2026-01-31
- Files scanned: 26
- 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: 16
- Namespace violations: 0
- Using directive violations: 4
- Naming violations (interfaces/fields/const/async): 13
- Service locator usage (BuildServiceProvider/GetService): 0
- Assembly.LoadFrom usage: 0
### Details
- 100-line files:
- src/VexHub/__Libraries/StellaOps.VexHub.Core/IVexStatementRepository.cs (147 lines)
- src/VexHub/__Libraries/StellaOps.VexHub.Core/Export/VexExportService.cs (253 lines)
- src/VexHub/__Libraries/StellaOps.VexHub.Core/Ingestion/VexIngestionScheduler.cs (140 lines)
- src/VexHub/__Libraries/StellaOps.VexHub.Core/Ingestion/VexIngestionService.cs (166 lines)
- src/VexHub/__Libraries/StellaOps.VexHub.Core/Models/VexHubModels.cs (664 lines)
- src/VexHub/__Libraries/StellaOps.VexHub.Core/Models/VexHubOptions.cs (132 lines)
- src/VexHub/__Libraries/StellaOps.VexHub.Core/Pipeline/VexNormalizationPipeline.cs (342 lines)
- src/VexHub/__Libraries/StellaOps.VexHub.Core/Validation/CsafVexSchemaValidator.cs (573 lines)
- src/VexHub/__Libraries/StellaOps.VexHub.Core/Validation/CycloneDxVexSchemaValidator.cs (710 lines)
- src/VexHub/__Libraries/StellaOps.VexHub.Core/Validation/IStatementFlaggingService.cs (180 lines)
- src/VexHub/__Libraries/StellaOps.VexHub.Core/Validation/IVexSchemaValidator.cs (123 lines)
- src/VexHub/__Libraries/StellaOps.VexHub.Core/Validation/OpenVexSchemaValidator.cs (492 lines)
- src/VexHub/__Libraries/StellaOps.VexHub.Core/Validation/StatementFlaggingService.cs (273 lines)
- src/VexHub/__Libraries/StellaOps.VexHub.Core/Validation/VexSchemaValidatorFactory.cs (146 lines)
- src/VexHub/__Libraries/StellaOps.VexHub.Core/Webhooks/IWebhookService.cs (149 lines)
- src/VexHub/__Libraries/StellaOps.VexHub.Core/Webhooks/WebhookService.cs (194 lines)
- Namespace issues:
- none
- Using directive issues:
- src/VexHub/__Libraries/StellaOps.VexHub.Core/Validation/CsafVexSchemaValidator.cs: using directives inside namespace
- src/VexHub/__Libraries/StellaOps.VexHub.Core/Validation/CycloneDxVexSchemaValidator.cs: using directives inside namespace
- src/VexHub/__Libraries/StellaOps.VexHub.Core/Validation/OpenVexSchemaValidator.cs: using directives inside namespace
- src/VexHub/__Libraries/StellaOps.VexHub.Core/Webhooks/WebhookService.cs: using directives inside namespace
- Naming issues:
- src/VexHub/__Libraries/StellaOps.VexHub.Core/Export/VexExportService.cs: private field naming
- src/VexHub/__Libraries/StellaOps.VexHub.Core/Validation/CsafVexSchemaValidator.cs: private field naming
- src/VexHub/__Libraries/StellaOps.VexHub.Core/Validation/CycloneDxVexSchemaValidator.cs: private field naming
- src/VexHub/__Libraries/StellaOps.VexHub.Core/Validation/OpenVexSchemaValidator.cs: private field naming
- src/VexHub/__Libraries/StellaOps.VexHub.Core/Webhooks/WebhookService.cs: private field naming
- Async issues:
- src/VexHub/__Libraries/StellaOps.VexHub.Core/Export/VexExportService.cs: missing ConfigureAwait(false)
- src/VexHub/__Libraries/StellaOps.VexHub.Core/Ingestion/VexIngestionScheduler.cs: async method naming
- src/VexHub/__Libraries/StellaOps.VexHub.Core/Ingestion/VexIngestionScheduler.cs: missing ConfigureAwait(false)
- src/VexHub/__Libraries/StellaOps.VexHub.Core/Ingestion/VexIngestionService.cs: missing ConfigureAwait(false)
- src/VexHub/__Libraries/StellaOps.VexHub.Core/Pipeline/VexNormalizationPipeline.cs: missing ConfigureAwait(false)
- src/VexHub/__Libraries/StellaOps.VexHub.Core/Validation/StatementFlaggingService.cs: missing ConfigureAwait(false)
- src/VexHub/__Libraries/StellaOps.VexHub.Core/Validation/VexSchemaValidatorFactory.cs: missing ConfigureAwait(false)
- src/VexHub/__Libraries/StellaOps.VexHub.Core/Webhooks/WebhookService.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: 16
- See docs/implplan/audits/csproj-standards/file-audit.csv for full per-file status.
| File | Issues | Fix guidance |
| --- | --- | --- |
| src/VexHub/__Libraries/StellaOps.VexHub.Core/IVexStatementRepository.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/VexHub/__Libraries/StellaOps.VexHub.Core/Export/VexExportService.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/VexHub/__Libraries/StellaOps.VexHub.Core/Ingestion/VexIngestionScheduler.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/VexHub/__Libraries/StellaOps.VexHub.Core/Ingestion/VexIngestionService.cs | ConfigureAwaitMissing; FileLength>100 | Add ConfigureAwait(false) to awaited calls in library-like code.; Split file to stay <= 100 lines. |
| src/VexHub/__Libraries/StellaOps.VexHub.Core/Models/VexHubModels.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/VexHub/__Libraries/StellaOps.VexHub.Core/Models/VexHubOptions.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/VexHub/__Libraries/StellaOps.VexHub.Core/Pipeline/VexNormalizationPipeline.cs | ConfigureAwaitMissing; FileLength>100 | Add ConfigureAwait(false) to awaited calls in library-like code.; Split file to stay <= 100 lines. |
| src/VexHub/__Libraries/StellaOps.VexHub.Core/Validation/CsafVexSchemaValidator.cs | FileLength>100; PrivateFieldNaming; UsingInsideNamespace | Move using directives outside namespace.; Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/VexHub/__Libraries/StellaOps.VexHub.Core/Validation/CycloneDxVexSchemaValidator.cs | FileLength>100; PrivateFieldNaming; UsingInsideNamespace | Move using directives outside namespace.; Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/VexHub/__Libraries/StellaOps.VexHub.Core/Validation/IStatementFlaggingService.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/VexHub/__Libraries/StellaOps.VexHub.Core/Validation/IVexSchemaValidator.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/VexHub/__Libraries/StellaOps.VexHub.Core/Validation/OpenVexSchemaValidator.cs | FileLength>100; PrivateFieldNaming; UsingInsideNamespace | Move using directives outside namespace.; Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/VexHub/__Libraries/StellaOps.VexHub.Core/Validation/StatementFlaggingService.cs | ConfigureAwaitMissing; FileLength>100 | Add ConfigureAwait(false) to awaited calls in library-like code.; Split file to stay <= 100 lines. |
| src/VexHub/__Libraries/StellaOps.VexHub.Core/Validation/VexSchemaValidatorFactory.cs | ConfigureAwaitMissing; FileLength>100 | Add ConfigureAwait(false) to awaited calls in library-like code.; Split file to stay <= 100 lines. |
| src/VexHub/__Libraries/StellaOps.VexHub.Core/Webhooks/IWebhookService.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/VexHub/__Libraries/StellaOps.VexHub.Core/Webhooks/WebhookService.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. |
## Testing Fullness Findings
- Status: FAIL
- Expected layers (heuristic): Unit
- Detected test projects: src/VexHub/__Tests/StellaOps.VexHub.Core.Tests/StellaOps.VexHub.Core.Tests.csproj [Unit] (no test attributes detected)
- Missing layers: Unit
### Manual checks required
- Observability contract tests for WebService/Worker.
- Intent tags for regulatory modules (Policy, Authority, Signer, Attestor, EvidenceLocker).
- Offline execution (tests must run without network access).
- Coverage matrix alignment (docs/technical/testing/TEST_COVERAGE_MATRIX.md).
### Fix Guidance
- Add or expand test projects to cover missing layers.
- Ensure tests use deterministic fixtures and offline harnesses.

View File

@@ -0,0 +1,95 @@
# Audit - StellaOps.VexHub.Persistence
## Project
- Path: src/VexHub/__Libraries/StellaOps.VexHub.Persistence/StellaOps.VexHub.Persistence.csproj
- Module: VexHub
- 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: 2
- 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/VexHub/__Libraries/StellaOps.VexHub.Persistence/Postgres/Repositories/PostgresVexProvenanceRepository.cs (125 lines)
- src/VexHub/__Libraries/StellaOps.VexHub.Persistence/Postgres/Repositories/PostgresVexStatementRepository.cs (374 lines)
- Namespace issues:
- src/VexHub/__Libraries/StellaOps.VexHub.Persistence/EfCore/Context/VexHubDbContext.cs: missing namespace
- src/VexHub/__Libraries/StellaOps.VexHub.Persistence/Extensions/VexHubPersistenceExtensions.cs: missing namespace
- src/VexHub/__Libraries/StellaOps.VexHub.Persistence/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs: missing namespace
- src/VexHub/__Libraries/StellaOps.VexHub.Persistence/obj/Debug/net10.0/StellaOps.VexHub.Persistence.AssemblyInfo.cs: missing namespace
- src/VexHub/__Libraries/StellaOps.VexHub.Persistence/obj/Debug/net10.0/StellaOps.VexHub.Persistence.GlobalUsings.g.cs: missing namespace
- src/VexHub/__Libraries/StellaOps.VexHub.Persistence/obj/Release/net10.0/StellaOps.VexHub.Persistence.GlobalUsings.g.cs: missing namespace
- src/VexHub/__Libraries/StellaOps.VexHub.Persistence/Postgres/VexHubDataSource.cs: missing namespace
- src/VexHub/__Libraries/StellaOps.VexHub.Persistence/Postgres/Models/VexConflictEntity.cs: missing namespace
- src/VexHub/__Libraries/StellaOps.VexHub.Persistence/Postgres/Models/VexIngestionJobEntity.cs: missing namespace
- src/VexHub/__Libraries/StellaOps.VexHub.Persistence/Postgres/Models/VexProvenanceEntity.cs: missing namespace
- src/VexHub/__Libraries/StellaOps.VexHub.Persistence/Postgres/Models/VexSourceEntity.cs: missing namespace
- src/VexHub/__Libraries/StellaOps.VexHub.Persistence/Postgres/Models/VexStatementEntity.cs: missing namespace
- src/VexHub/__Libraries/StellaOps.VexHub.Persistence/Postgres/Repositories/PostgresVexProvenanceRepository.cs: missing namespace
- src/VexHub/__Libraries/StellaOps.VexHub.Persistence/Postgres/Repositories/PostgresVexStatementRepository.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/VexHub/__Libraries/StellaOps.VexHub.Persistence/EfCore/Context/VexHubDbContext.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/VexHub/__Libraries/StellaOps.VexHub.Persistence/Extensions/VexHubPersistenceExtensions.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/VexHub/__Libraries/StellaOps.VexHub.Persistence/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/VexHub/__Libraries/StellaOps.VexHub.Persistence/obj/Debug/net10.0/StellaOps.VexHub.Persistence.AssemblyInfo.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/VexHub/__Libraries/StellaOps.VexHub.Persistence/obj/Debug/net10.0/StellaOps.VexHub.Persistence.GlobalUsings.g.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/VexHub/__Libraries/StellaOps.VexHub.Persistence/obj/Release/net10.0/StellaOps.VexHub.Persistence.GlobalUsings.g.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/VexHub/__Libraries/StellaOps.VexHub.Persistence/Postgres/VexHubDataSource.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/VexHub/__Libraries/StellaOps.VexHub.Persistence/Postgres/Models/VexConflictEntity.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/VexHub/__Libraries/StellaOps.VexHub.Persistence/Postgres/Models/VexIngestionJobEntity.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/VexHub/__Libraries/StellaOps.VexHub.Persistence/Postgres/Models/VexProvenanceEntity.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/VexHub/__Libraries/StellaOps.VexHub.Persistence/Postgres/Models/VexSourceEntity.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/VexHub/__Libraries/StellaOps.VexHub.Persistence/Postgres/Models/VexStatementEntity.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/VexHub/__Libraries/StellaOps.VexHub.Persistence/Postgres/Repositories/PostgresVexProvenanceRepository.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/VexHub/__Libraries/StellaOps.VexHub.Persistence/Postgres/Repositories/PostgresVexStatementRepository.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
## Testing Fullness Findings
- Status: FAIL
- Expected layers (heuristic): Integration, Unit
- Detected test projects: none
- Missing layers: Integration, Unit
### Manual checks required
- Observability contract tests for WebService/Worker.
- Intent tags for regulatory modules (Policy, Authority, Signer, Attestor, EvidenceLocker).
- Offline execution (tests must run without network access).
- Coverage matrix alignment (docs/technical/testing/TEST_COVERAGE_MATRIX.md).
### Fix Guidance
- Add or expand test projects to cover missing layers.
- Ensure tests use deterministic fixtures and offline harnesses.

View File

@@ -0,0 +1,71 @@
# Audit - StellaOps.VexHub.Persistence
## Project
- Path: src/VexHub/__Libraries/StellaOps.VexHub.Persistence/StellaOps.VexHub.Persistence.csproj
- Module: VexHub
- Kind: Library
- Audit date (UTC): 2026-01-31
- Files scanned: 10
- 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/VexHub/__Libraries/StellaOps.VexHub.Persistence/Postgres/Repositories/PostgresVexProvenanceRepository.cs (126 lines)
- src/VexHub/__Libraries/StellaOps.VexHub.Persistence/Postgres/Repositories/PostgresVexStatementRepository.cs (375 lines)
- Namespace issues:
- none
- Using directive issues:
- none
- Naming issues:
- none
- Async issues:
- src/VexHub/__Libraries/StellaOps.VexHub.Persistence/Postgres/Repositories/PostgresVexProvenanceRepository.cs: missing ConfigureAwait(false)
- src/VexHub/__Libraries/StellaOps.VexHub.Persistence/Postgres/Repositories/PostgresVexStatementRepository.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: 10
- Files with issues: 2
- See docs/implplan/audits/csproj-standards/file-audit.csv for full per-file status.
| File | Issues | Fix guidance |
| --- | --- | --- |
| src/VexHub/__Libraries/StellaOps.VexHub.Persistence/Postgres/Repositories/PostgresVexProvenanceRepository.cs | ConfigureAwaitMissing; FileLength>100 | Add ConfigureAwait(false) to awaited calls in library-like code.; Split file to stay <= 100 lines. |
| src/VexHub/__Libraries/StellaOps.VexHub.Persistence/Postgres/Repositories/PostgresVexStatementRepository.cs | ConfigureAwaitMissing; FileLength>100 | Add ConfigureAwait(false) to awaited calls in library-like code.; Split file to stay <= 100 lines. |
## Testing Fullness Findings
- Status: FAIL
- Expected layers (heuristic): Integration, Unit
- Detected test projects: none
- Missing layers: Integration, Unit
### Manual checks required
- Observability contract tests for WebService/Worker.
- Intent tags for regulatory modules (Policy, Authority, Signer, Attestor, EvidenceLocker).
- Offline execution (tests must run without network access).
- Coverage matrix alignment (docs/technical/testing/TEST_COVERAGE_MATRIX.md).
### Fix Guidance
- Add or expand test projects to cover missing layers.
- Ensure tests use deterministic fixtures and offline harnesses.

View File

@@ -0,0 +1,63 @@
# Audit - StellaOps.VexHub.Core.Tests
## Project
- Path: src/VexHub/__Tests/StellaOps.VexHub.Core.Tests/StellaOps.VexHub.Core.Tests.csproj
- Module: VexHub
- Kind: Test
- Audit date (UTC): 2026-01-31
- Files scanned: 0
- Files with issues: 0
- File-level report: docs/implplan/audits/csproj-standards/file-audit.csv
## Coding Standards Findings
- Status: FAIL
- Nullable: enable
- TreatWarningsAsErrors: explicit false
- Deterministic: inherited true
- 100-line rule violations: 0
- 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:
- none
- Namespace issues:
- none
- Using directive issues:
- none
- Naming issues:
- none
- Async issues:
- none
- Service locator matches:
- none
- Assembly.LoadFrom matches:
- none
### Fix Guidance
- Remove overrides that disable TreatWarningsAsErrors.
## File-Level Findings
- Status: PASS
- Files scanned: 0
- Files with issues: 0
- See docs/implplan/audits/csproj-standards/file-audit.csv for full per-file status.
- No file-level issues.
## Testing Fullness Findings
- Status: PASS
- Expected layers (heuristic):
- Detected test projects: none
- 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,70 @@
# Audit - StellaOps.VexHub.WebService.Tests
## Project
- Path: src/VexHub/__Tests/StellaOps.VexHub.WebService.Tests/StellaOps.VexHub.WebService.Tests.csproj
- Module: VexHub
- Kind: Test
- Audit date (UTC): 2026-01-31
- Files scanned: 1
- Files with issues: 1
- File-level report: docs/implplan/audits/csproj-standards/file-audit.csv
## Coding Standards Findings
- Status: FAIL
- Nullable: enable
- TreatWarningsAsErrors: explicit false
- Deterministic: inherited true
- 100-line rule violations: 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/VexHub/__Tests/StellaOps.VexHub.WebService.Tests/Integration/VexExportCompatibilityTests.cs (548 lines)
- Namespace issues:
- none
- Using directive issues:
- src/VexHub/__Tests/StellaOps.VexHub.WebService.Tests/Integration/VexExportCompatibilityTests.cs: using directives not sorted
- Naming issues:
- none
- Async issues:
- src/VexHub/__Tests/StellaOps.VexHub.WebService.Tests/Integration/VexExportCompatibilityTests.cs: async method naming
- src/VexHub/__Tests/StellaOps.VexHub.WebService.Tests/Integration/VexExportCompatibilityTests.cs: missing ConfigureAwait(false)
- Service locator matches:
- none
- Assembly.LoadFrom matches:
- none
### Fix Guidance
- Move and sort using directives (outside namespace).
- Remove overrides that disable TreatWarningsAsErrors.
- 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: 1
- Files with issues: 1
- See docs/implplan/audits/csproj-standards/file-audit.csv for full per-file status.
| File | Issues | Fix guidance |
| --- | --- | --- |
| src/VexHub/__Tests/StellaOps.VexHub.WebService.Tests/Integration/VexExportCompatibilityTests.cs | AsyncNaming; ConfigureAwaitMissing; FileLength>100; UsingNotSorted | Add ConfigureAwait(false) to awaited calls in library-like code.; Rename async methods to end with Async.; Sort using directives alphabetically.; Split file to stay <= 100 lines. |
## Testing Fullness Findings
- Status: PASS
- Expected layers (heuristic):
- Detected test projects: none
- 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.