semi implemented and features implemented save checkpoint

This commit is contained in:
master
2026-02-08 18:00:49 +02:00
parent 04360dff63
commit 1bf6bbf395
20895 changed files with 716795 additions and 64 deletions

View File

@@ -0,0 +1,122 @@
# Audit - StellaOps.Findings.Ledger.Tests
## Project
- Path: src/Findings/StellaOps.Findings.Ledger.Tests/StellaOps.Findings.Ledger.Tests.csproj
- Module: Findings
- Kind: Library
- Audit date (UTC): 2026-01-30
- Files scanned: 23
- Files with issues: 23
- 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: 10
- 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/Findings/StellaOps.Findings.Ledger.Tests/AirgapAndOrchestratorServiceTests.cs (127 lines)
- src/Findings/StellaOps.Findings.Ledger.Tests/FindingsLedgerIntegrationTests.cs (513 lines)
- src/Findings/StellaOps.Findings.Ledger.Tests/FindingsLedgerWebApplicationFactory.cs (176 lines)
- src/Findings/StellaOps.Findings.Ledger.Tests/FindingsLedgerWebServiceContractTests.cs (303 lines)
- src/Findings/StellaOps.Findings.Ledger.Tests/LedgerReplayDeterminismTests.cs (518 lines)
- src/Findings/StellaOps.Findings.Ledger.Tests/Attestation/AttestationPointerServiceTests.cs (499 lines)
- src/Findings/StellaOps.Findings.Ledger.Tests/Incident/LedgerIncidentCoordinatorTests.cs (118 lines)
- src/Findings/StellaOps.Findings.Ledger.Tests/Observability/LedgerTelemetryTests.cs (118 lines)
- src/Findings/StellaOps.Findings.Ledger.Tests/Observability/LedgerTimelineTests.cs (126 lines)
- src/Findings/StellaOps.Findings.Ledger.Tests/Snapshot/SnapshotServiceTests.cs (433 lines)
- Namespace issues:
- src/Findings/StellaOps.Findings.Ledger.Tests/AirgapAndOrchestratorServiceTests.cs: missing namespace
- src/Findings/StellaOps.Findings.Ledger.Tests/FindingsLedgerIntegrationTests.cs: missing namespace
- src/Findings/StellaOps.Findings.Ledger.Tests/FindingsLedgerWebApplicationFactory.cs: missing namespace
- src/Findings/StellaOps.Findings.Ledger.Tests/FindingsLedgerWebServiceContractTests.cs: missing namespace
- src/Findings/StellaOps.Findings.Ledger.Tests/LedgerReplayDeterminismTests.cs: missing namespace
- src/Findings/StellaOps.Findings.Ledger.Tests/ProjectionHashingTests.cs: missing namespace
- src/Findings/StellaOps.Findings.Ledger.Tests/Attestation/AttestationPointerServiceTests.cs: missing namespace
- src/Findings/StellaOps.Findings.Ledger.Tests/Exports/AttestationQueryServiceTests.cs: missing namespace
- src/Findings/StellaOps.Findings.Ledger.Tests/Exports/ExportFiltersHashTests.cs: missing namespace
- src/Findings/StellaOps.Findings.Ledger.Tests/Exports/ExportPagingTests.cs: missing namespace
- src/Findings/StellaOps.Findings.Ledger.Tests/Incident/LedgerIncidentCoordinatorTests.cs: missing namespace
- src/Findings/StellaOps.Findings.Ledger.Tests/Infrastructure/InMemoryLedgerEventRepositoryTests.cs: missing namespace
- src/Findings/StellaOps.Findings.Ledger.Tests/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs: missing namespace
- src/Findings/StellaOps.Findings.Ledger.Tests/obj/Debug/net10.0/SelfRegisteredExtensions.cs: missing namespace
- src/Findings/StellaOps.Findings.Ledger.Tests/obj/Debug/net10.0/StellaOps.Findings.Ledger.Tests.AssemblyInfo.cs: missing namespace
- src/Findings/StellaOps.Findings.Ledger.Tests/obj/Debug/net10.0/StellaOps.Findings.Ledger.Tests.GlobalUsings.g.cs: missing namespace
- src/Findings/StellaOps.Findings.Ledger.Tests/obj/Debug/net10.0/XunitAutoGeneratedEntryPoint.cs: missing namespace
- src/Findings/StellaOps.Findings.Ledger.Tests/Observability/LedgerMetricsTests.cs: missing namespace
- src/Findings/StellaOps.Findings.Ledger.Tests/Observability/LedgerTelemetryTests.cs: missing namespace
- src/Findings/StellaOps.Findings.Ledger.Tests/Observability/LedgerTimelineTests.cs: missing namespace
- src/Findings/StellaOps.Findings.Ledger.Tests/Observability/TestLogger.cs: missing namespace
- src/Findings/StellaOps.Findings.Ledger.Tests/Services/LedgerEventWriteServiceIncidentTests.cs: missing namespace
- src/Findings/StellaOps.Findings.Ledger.Tests/Snapshot/SnapshotServiceTests.cs: missing namespace
- Using directive issues:
- none
- Naming issues:
- none
- Async issues:
- none
- Service locator matches:
- none
- Assembly.LoadFrom matches:
- none
### Fix Guidance
- Normalize namespaces to file-scoped StellaOps.<Area>.
- Remove overrides that disable TreatWarningsAsErrors.
- Split files over 100 lines into smaller types or partials.
## File-Level Findings
- Status: FAIL
- Files scanned: 23
- Files with issues: 23
- See docs/implplan/audits/csproj-standards/file-audit.csv for full per-file status.
| File | Issues | Fix guidance |
| --- | --- | --- |
| src/Findings/StellaOps.Findings.Ledger.Tests/AirgapAndOrchestratorServiceTests.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Findings/StellaOps.Findings.Ledger.Tests/FindingsLedgerIntegrationTests.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Findings/StellaOps.Findings.Ledger.Tests/FindingsLedgerWebApplicationFactory.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Findings/StellaOps.Findings.Ledger.Tests/FindingsLedgerWebServiceContractTests.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Findings/StellaOps.Findings.Ledger.Tests/LedgerReplayDeterminismTests.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Findings/StellaOps.Findings.Ledger.Tests/ProjectionHashingTests.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Findings/StellaOps.Findings.Ledger.Tests/Attestation/AttestationPointerServiceTests.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Findings/StellaOps.Findings.Ledger.Tests/Exports/AttestationQueryServiceTests.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Findings/StellaOps.Findings.Ledger.Tests/Exports/ExportFiltersHashTests.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Findings/StellaOps.Findings.Ledger.Tests/Exports/ExportPagingTests.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Findings/StellaOps.Findings.Ledger.Tests/Incident/LedgerIncidentCoordinatorTests.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Findings/StellaOps.Findings.Ledger.Tests/Infrastructure/InMemoryLedgerEventRepositoryTests.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Findings/StellaOps.Findings.Ledger.Tests/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Findings/StellaOps.Findings.Ledger.Tests/obj/Debug/net10.0/SelfRegisteredExtensions.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Findings/StellaOps.Findings.Ledger.Tests/obj/Debug/net10.0/StellaOps.Findings.Ledger.Tests.AssemblyInfo.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Findings/StellaOps.Findings.Ledger.Tests/obj/Debug/net10.0/StellaOps.Findings.Ledger.Tests.GlobalUsings.g.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Findings/StellaOps.Findings.Ledger.Tests/obj/Debug/net10.0/XunitAutoGeneratedEntryPoint.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Findings/StellaOps.Findings.Ledger.Tests/Observability/LedgerMetricsTests.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Findings/StellaOps.Findings.Ledger.Tests/Observability/LedgerTelemetryTests.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Findings/StellaOps.Findings.Ledger.Tests/Observability/LedgerTimelineTests.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Findings/StellaOps.Findings.Ledger.Tests/Observability/TestLogger.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Findings/StellaOps.Findings.Ledger.Tests/Services/LedgerEventWriteServiceIncidentTests.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Findings/StellaOps.Findings.Ledger.Tests/Snapshot/SnapshotServiceTests.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
## Testing Fullness Findings
- Status: FAIL
- Expected layers (heuristic): Unit
- Detected test projects: none
- Missing layers: Unit
### Manual checks required
- Observability contract tests for WebService/Worker.
- Intent tags for regulatory modules (Policy, Authority, Signer, Attestor, EvidenceLocker).
- Offline execution (tests must run without network access).
- Coverage matrix alignment (docs/technical/testing/TEST_COVERAGE_MATRIX.md).
### Fix Guidance
- Add or expand test projects to cover missing layers.
- Ensure tests use deterministic fixtures and offline harnesses.

View File

@@ -0,0 +1,126 @@
# Audit - StellaOps.Findings.Ledger.Tests
## Project
- Path: src/Findings/StellaOps.Findings.Ledger.Tests/StellaOps.Findings.Ledger.Tests.csproj
- Module: Findings
- Kind: Test
- Audit date (UTC): 2026-01-31
- Files scanned: 18
- Files with issues: 15
- 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: 10
- Namespace violations: 0
- Using directive violations: 19
- Naming violations (interfaces/fields/const/async): 17
- Service locator usage (BuildServiceProvider/GetService): 0
- Assembly.LoadFrom usage: 0
### Details
- 100-line files:
- src/Findings/StellaOps.Findings.Ledger.Tests/AirgapAndOrchestratorServiceTests.cs (127 lines)
- src/Findings/StellaOps.Findings.Ledger.Tests/FindingsLedgerIntegrationTests.cs (513 lines)
- src/Findings/StellaOps.Findings.Ledger.Tests/FindingsLedgerWebApplicationFactory.cs (176 lines)
- src/Findings/StellaOps.Findings.Ledger.Tests/FindingsLedgerWebServiceContractTests.cs (303 lines)
- src/Findings/StellaOps.Findings.Ledger.Tests/LedgerReplayDeterminismTests.cs (518 lines)
- src/Findings/StellaOps.Findings.Ledger.Tests/Attestation/AttestationPointerServiceTests.cs (499 lines)
- src/Findings/StellaOps.Findings.Ledger.Tests/Incident/LedgerIncidentCoordinatorTests.cs (118 lines)
- src/Findings/StellaOps.Findings.Ledger.Tests/Observability/LedgerTelemetryTests.cs (118 lines)
- src/Findings/StellaOps.Findings.Ledger.Tests/Observability/LedgerTimelineTests.cs (126 lines)
- src/Findings/StellaOps.Findings.Ledger.Tests/Snapshot/SnapshotServiceTests.cs (433 lines)
- Namespace issues:
- none
- Using directive issues:
- src/Findings/StellaOps.Findings.Ledger.Tests/AirgapAndOrchestratorServiceTests.cs: using directives not sorted
- src/Findings/StellaOps.Findings.Ledger.Tests/FindingsLedgerIntegrationTests.cs: using directives inside namespace
- src/Findings/StellaOps.Findings.Ledger.Tests/FindingsLedgerIntegrationTests.cs: using directives not sorted
- src/Findings/StellaOps.Findings.Ledger.Tests/FindingsLedgerWebApplicationFactory.cs: using directives not sorted
- src/Findings/StellaOps.Findings.Ledger.Tests/FindingsLedgerWebServiceContractTests.cs: using directives inside namespace
- src/Findings/StellaOps.Findings.Ledger.Tests/FindingsLedgerWebServiceContractTests.cs: using directives not sorted
- src/Findings/StellaOps.Findings.Ledger.Tests/LedgerReplayDeterminismTests.cs: using directives not sorted
- src/Findings/StellaOps.Findings.Ledger.Tests/ProjectionHashingTests.cs: using directives not sorted
- src/Findings/StellaOps.Findings.Ledger.Tests/Incident/LedgerIncidentCoordinatorTests.cs: using directives inside namespace
- src/Findings/StellaOps.Findings.Ledger.Tests/Infrastructure/InMemoryLedgerEventRepositoryTests.cs: using directives not sorted
- src/Findings/StellaOps.Findings.Ledger.Tests/Observability/LedgerMetricsTests.cs: using directives inside namespace
- src/Findings/StellaOps.Findings.Ledger.Tests/Observability/LedgerMetricsTests.cs: using directives not sorted
- src/Findings/StellaOps.Findings.Ledger.Tests/Observability/LedgerTelemetryTests.cs: using directives inside namespace
- src/Findings/StellaOps.Findings.Ledger.Tests/Observability/LedgerTelemetryTests.cs: using directives not sorted
- src/Findings/StellaOps.Findings.Ledger.Tests/Observability/LedgerTimelineTests.cs: using directives inside namespace
- src/Findings/StellaOps.Findings.Ledger.Tests/Observability/LedgerTimelineTests.cs: using directives not sorted
- src/Findings/StellaOps.Findings.Ledger.Tests/Observability/TestLogger.cs: using directives not sorted
- src/Findings/StellaOps.Findings.Ledger.Tests/Services/LedgerEventWriteServiceIncidentTests.cs: using directives not sorted
- src/Findings/StellaOps.Findings.Ledger.Tests/Snapshot/SnapshotServiceTests.cs: using directives inside namespace
- Naming issues:
- none
- Async issues:
- src/Findings/StellaOps.Findings.Ledger.Tests/AirgapAndOrchestratorServiceTests.cs: async method naming
- src/Findings/StellaOps.Findings.Ledger.Tests/AirgapAndOrchestratorServiceTests.cs: missing ConfigureAwait(false)
- src/Findings/StellaOps.Findings.Ledger.Tests/FindingsLedgerIntegrationTests.cs: async method naming
- src/Findings/StellaOps.Findings.Ledger.Tests/FindingsLedgerIntegrationTests.cs: missing ConfigureAwait(false)
- src/Findings/StellaOps.Findings.Ledger.Tests/FindingsLedgerWebServiceContractTests.cs: async method naming
- src/Findings/StellaOps.Findings.Ledger.Tests/FindingsLedgerWebServiceContractTests.cs: missing ConfigureAwait(false)
- src/Findings/StellaOps.Findings.Ledger.Tests/Attestation/AttestationPointerServiceTests.cs: async method naming
- src/Findings/StellaOps.Findings.Ledger.Tests/Attestation/AttestationPointerServiceTests.cs: blocking async usage
- src/Findings/StellaOps.Findings.Ledger.Tests/Attestation/AttestationPointerServiceTests.cs: missing ConfigureAwait(false)
- src/Findings/StellaOps.Findings.Ledger.Tests/Incident/LedgerIncidentCoordinatorTests.cs: async method naming
- src/Findings/StellaOps.Findings.Ledger.Tests/Incident/LedgerIncidentCoordinatorTests.cs: missing ConfigureAwait(false)
- src/Findings/StellaOps.Findings.Ledger.Tests/Infrastructure/InMemoryLedgerEventRepositoryTests.cs: async method naming
- src/Findings/StellaOps.Findings.Ledger.Tests/Infrastructure/InMemoryLedgerEventRepositoryTests.cs: missing ConfigureAwait(false)
- src/Findings/StellaOps.Findings.Ledger.Tests/Services/LedgerEventWriteServiceIncidentTests.cs: async method naming
- src/Findings/StellaOps.Findings.Ledger.Tests/Services/LedgerEventWriteServiceIncidentTests.cs: missing ConfigureAwait(false)
- src/Findings/StellaOps.Findings.Ledger.Tests/Snapshot/SnapshotServiceTests.cs: async method naming
- src/Findings/StellaOps.Findings.Ledger.Tests/Snapshot/SnapshotServiceTests.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: 18
- Files with issues: 15
- See docs/implplan/audits/csproj-standards/file-audit.csv for full per-file status.
| File | Issues | Fix guidance |
| --- | --- | --- |
| src/Findings/StellaOps.Findings.Ledger.Tests/AirgapAndOrchestratorServiceTests.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. |
| src/Findings/StellaOps.Findings.Ledger.Tests/FindingsLedgerIntegrationTests.cs | AsyncNaming; ConfigureAwaitMissing; FileLength>100; UsingInsideNamespace; UsingNotSorted | Add ConfigureAwait(false) to awaited calls in library-like code.; Move using directives outside namespace.; Rename async methods to end with Async.; Sort using directives alphabetically.; Split file to stay <= 100 lines. |
| src/Findings/StellaOps.Findings.Ledger.Tests/FindingsLedgerWebApplicationFactory.cs | FileLength>100; UsingNotSorted | Sort using directives alphabetically.; Split file to stay <= 100 lines. |
| src/Findings/StellaOps.Findings.Ledger.Tests/FindingsLedgerWebServiceContractTests.cs | AsyncNaming; ConfigureAwaitMissing; FileLength>100; UsingInsideNamespace; UsingNotSorted | Add ConfigureAwait(false) to awaited calls in library-like code.; Move using directives outside namespace.; Rename async methods to end with Async.; Sort using directives alphabetically.; Split file to stay <= 100 lines. |
| src/Findings/StellaOps.Findings.Ledger.Tests/LedgerReplayDeterminismTests.cs | FileLength>100; UsingNotSorted | Sort using directives alphabetically.; Split file to stay <= 100 lines. |
| src/Findings/StellaOps.Findings.Ledger.Tests/ProjectionHashingTests.cs | UsingNotSorted | Sort using directives alphabetically. |
| src/Findings/StellaOps.Findings.Ledger.Tests/Attestation/AttestationPointerServiceTests.cs | AsyncNaming; BlockingAsync; ConfigureAwaitMissing; FileLength>100 | Add ConfigureAwait(false) to awaited calls in library-like code.; Rename async methods to end with Async.; Replace .Result/.Wait/GetAwaiter().GetResult() with await.; Split file to stay <= 100 lines. |
| src/Findings/StellaOps.Findings.Ledger.Tests/Incident/LedgerIncidentCoordinatorTests.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/Findings/StellaOps.Findings.Ledger.Tests/Infrastructure/InMemoryLedgerEventRepositoryTests.cs | AsyncNaming; ConfigureAwaitMissing; UsingNotSorted | Add ConfigureAwait(false) to awaited calls in library-like code.; Rename async methods to end with Async.; Sort using directives alphabetically. |
| src/Findings/StellaOps.Findings.Ledger.Tests/Observability/LedgerMetricsTests.cs | UsingInsideNamespace; UsingNotSorted | Move using directives outside namespace.; Sort using directives alphabetically. |
| src/Findings/StellaOps.Findings.Ledger.Tests/Observability/LedgerTelemetryTests.cs | FileLength>100; UsingInsideNamespace; UsingNotSorted | Move using directives outside namespace.; Sort using directives alphabetically.; Split file to stay <= 100 lines. |
| src/Findings/StellaOps.Findings.Ledger.Tests/Observability/LedgerTimelineTests.cs | FileLength>100; UsingInsideNamespace; UsingNotSorted | Move using directives outside namespace.; Sort using directives alphabetically.; Split file to stay <= 100 lines. |
| src/Findings/StellaOps.Findings.Ledger.Tests/Observability/TestLogger.cs | UsingNotSorted | Sort using directives alphabetically. |
| src/Findings/StellaOps.Findings.Ledger.Tests/Services/LedgerEventWriteServiceIncidentTests.cs | AsyncNaming; ConfigureAwaitMissing; UsingNotSorted | Add ConfigureAwait(false) to awaited calls in library-like code.; Rename async methods to end with Async.; Sort using directives alphabetically. |
| src/Findings/StellaOps.Findings.Ledger.Tests/Snapshot/SnapshotServiceTests.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. |
## 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,174 @@
# Audit - StellaOps.Findings.Ledger.WebService
## Project
- Path: src/Findings/StellaOps.Findings.Ledger.WebService/StellaOps.Findings.Ledger.WebService.csproj
- Module: Findings
- Kind: Library
- Audit date (UTC): 2026-01-30
- Files scanned: 44
- Files with issues: 44
- 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: 43
- 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/Findings/StellaOps.Findings.Ledger.WebService/Program.cs (2044 lines)
- src/Findings/StellaOps.Findings.Ledger.WebService/Contracts/AlertContracts.cs (395 lines)
- src/Findings/StellaOps.Findings.Ledger.WebService/Contracts/AttestationPointerContracts.cs (345 lines)
- src/Findings/StellaOps.Findings.Ledger.WebService/Contracts/BackportContracts.cs (365 lines)
- src/Findings/StellaOps.Findings.Ledger.WebService/Contracts/EvidenceGraphContracts.cs (200 lines)
- src/Findings/StellaOps.Findings.Ledger.WebService/Contracts/ExportContracts.cs (122 lines)
- src/Findings/StellaOps.Findings.Ledger.WebService/Contracts/FindingSummary.cs (175 lines)
- src/Findings/StellaOps.Findings.Ledger.WebService/Contracts/RuntimeTracesContracts.cs (256 lines)
- src/Findings/StellaOps.Findings.Ledger.WebService/Contracts/ScoringContracts.cs (647 lines)
- src/Findings/StellaOps.Findings.Ledger.WebService/Contracts/SnapshotContracts.cs (461 lines)
- src/Findings/StellaOps.Findings.Ledger.WebService/Contracts/VexLensContracts.cs (259 lines)
- src/Findings/StellaOps.Findings.Ledger.WebService/Endpoints/RuntimeTracesEndpoints.cs (122 lines)
- src/Findings/StellaOps.Findings.Ledger.WebService/Endpoints/ScoringEndpoints.cs (239 lines)
- src/Findings/StellaOps.Findings.Ledger.WebService/Endpoints/WebhookEndpoints.cs (176 lines)
- src/Findings/StellaOps.Findings.Ledger.WebService/Services/AttestationQueryService.cs (268 lines)
- src/Findings/StellaOps.Findings.Ledger.WebService/Services/EvidenceGraphBuilder.cs (427 lines)
- src/Findings/StellaOps.Findings.Ledger.WebService/Services/ExportQueryService.cs (305 lines)
- src/Findings/StellaOps.Findings.Ledger.WebService/Services/FindingEvidenceProvider.cs (291 lines)
- src/Findings/StellaOps.Findings.Ledger.WebService/Services/FindingScoringService.cs (530 lines)
- src/Findings/StellaOps.Findings.Ledger.WebService/Services/FindingSummaryBuilder.cs (196 lines)
- src/Findings/StellaOps.Findings.Ledger.WebService/Services/ScoreHistoryStore.cs (173 lines)
- src/Findings/StellaOps.Findings.Ledger.WebService/Services/VexConsensusService.cs (556 lines)
- src/Findings/StellaOps.Findings.Ledger.WebService/Services/WebhookService.cs (313 lines)
- Namespace issues:
- src/Findings/StellaOps.Findings.Ledger.WebService/Contracts/AirgapImportContracts.cs: missing namespace
- src/Findings/StellaOps.Findings.Ledger.WebService/Contracts/AlertContracts.cs: missing namespace
- src/Findings/StellaOps.Findings.Ledger.WebService/Contracts/AttestationContracts.cs: missing namespace
- src/Findings/StellaOps.Findings.Ledger.WebService/Contracts/AttestationPointerContracts.cs: missing namespace
- src/Findings/StellaOps.Findings.Ledger.WebService/Contracts/BackportContracts.cs: missing namespace
- src/Findings/StellaOps.Findings.Ledger.WebService/Contracts/EvidenceGraphContracts.cs: missing namespace
- src/Findings/StellaOps.Findings.Ledger.WebService/Contracts/ExportContracts.cs: missing namespace
- src/Findings/StellaOps.Findings.Ledger.WebService/Contracts/FindingSummary.cs: missing namespace
- src/Findings/StellaOps.Findings.Ledger.WebService/Contracts/LedgerEventRequest.cs: missing namespace
- src/Findings/StellaOps.Findings.Ledger.WebService/Contracts/LedgerEventResponse.cs: missing namespace
- src/Findings/StellaOps.Findings.Ledger.WebService/Contracts/OrchestratorExportContracts.cs: missing namespace
- src/Findings/StellaOps.Findings.Ledger.WebService/Contracts/RuntimeTracesContracts.cs: missing namespace
- src/Findings/StellaOps.Findings.Ledger.WebService/Contracts/ScoringContracts.cs: missing namespace
- src/Findings/StellaOps.Findings.Ledger.WebService/Contracts/SnapshotContracts.cs: missing namespace
- src/Findings/StellaOps.Findings.Ledger.WebService/Contracts/StateTransitionContracts.cs: missing namespace
- src/Findings/StellaOps.Findings.Ledger.WebService/Contracts/VexLensContracts.cs: missing namespace
- src/Findings/StellaOps.Findings.Ledger.WebService/Endpoints/BackportEndpoints.cs: missing namespace
- src/Findings/StellaOps.Findings.Ledger.WebService/Endpoints/EvidenceGraphEndpoints.cs: missing namespace
- src/Findings/StellaOps.Findings.Ledger.WebService/Endpoints/FindingSummaryEndpoints.cs: missing namespace
- src/Findings/StellaOps.Findings.Ledger.WebService/Endpoints/ReachabilityMapEndpoints.cs: missing namespace
- src/Findings/StellaOps.Findings.Ledger.WebService/Endpoints/RuntimeTimelineEndpoints.cs: missing namespace
- src/Findings/StellaOps.Findings.Ledger.WebService/Endpoints/RuntimeTracesEndpoints.cs: missing namespace
- src/Findings/StellaOps.Findings.Ledger.WebService/Endpoints/ScoringEndpoints.cs: missing namespace
- src/Findings/StellaOps.Findings.Ledger.WebService/Endpoints/WebhookEndpoints.cs: missing namespace
- src/Findings/StellaOps.Findings.Ledger.WebService/Mappings/LedgerEventMapping.cs: missing namespace
- src/Findings/StellaOps.Findings.Ledger.WebService/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs: missing namespace
- src/Findings/StellaOps.Findings.Ledger.WebService/obj/Debug/net10.0/StellaOps.Findings.Ledger.WebService.AssemblyInfo.cs: missing namespace
- src/Findings/StellaOps.Findings.Ledger.WebService/obj/Debug/net10.0/StellaOps.Findings.Ledger.WebService.GlobalUsings.g.cs: missing namespace
- src/Findings/StellaOps.Findings.Ledger.WebService/obj/Debug/net10.0/StellaOps.Findings.Ledger.WebService.MvcApplicationPartsAssemblyInfo.cs: missing namespace
- src/Findings/StellaOps.Findings.Ledger.WebService/obj/Release/net10.0/StellaOps.Findings.Ledger.WebService.GlobalUsings.g.cs: missing namespace
- src/Findings/StellaOps.Findings.Ledger.WebService/Services/AttestationQueryService.cs: missing namespace
- src/Findings/StellaOps.Findings.Ledger.WebService/Services/EvidenceGraphBuilder.cs: missing namespace
- src/Findings/StellaOps.Findings.Ledger.WebService/Services/ExportQueryService.cs: missing namespace
- src/Findings/StellaOps.Findings.Ledger.WebService/Services/FindingEvidenceProvider.cs: missing namespace
- src/Findings/StellaOps.Findings.Ledger.WebService/Services/FindingScoringService.cs: missing namespace
- src/Findings/StellaOps.Findings.Ledger.WebService/Services/FindingSummaryBuilder.cs: missing namespace
- src/Findings/StellaOps.Findings.Ledger.WebService/Services/FindingSummaryService.cs: missing namespace
- src/Findings/StellaOps.Findings.Ledger.WebService/Services/NullBackportEvidenceService.cs: missing namespace
- src/Findings/StellaOps.Findings.Ledger.WebService/Services/NullRuntimeTracesService.cs: missing namespace
- src/Findings/StellaOps.Findings.Ledger.WebService/Services/ScoreHistoryStore.cs: missing namespace
- src/Findings/StellaOps.Findings.Ledger.WebService/Services/StubEndpointServices.cs: missing namespace
- src/Findings/StellaOps.Findings.Ledger.WebService/Services/VexConsensusService.cs: missing namespace
- src/Findings/StellaOps.Findings.Ledger.WebService/Services/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: 44
- Files with issues: 44
- See docs/implplan/audits/csproj-standards/file-audit.csv for full per-file status.
| File | Issues | Fix guidance |
| --- | --- | --- |
| src/Findings/StellaOps.Findings.Ledger.WebService/Program.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Findings/StellaOps.Findings.Ledger.WebService/Contracts/AirgapImportContracts.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Findings/StellaOps.Findings.Ledger.WebService/Contracts/AlertContracts.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Findings/StellaOps.Findings.Ledger.WebService/Contracts/AttestationContracts.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Findings/StellaOps.Findings.Ledger.WebService/Contracts/AttestationPointerContracts.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Findings/StellaOps.Findings.Ledger.WebService/Contracts/BackportContracts.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Findings/StellaOps.Findings.Ledger.WebService/Contracts/EvidenceGraphContracts.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Findings/StellaOps.Findings.Ledger.WebService/Contracts/ExportContracts.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Findings/StellaOps.Findings.Ledger.WebService/Contracts/FindingSummary.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Findings/StellaOps.Findings.Ledger.WebService/Contracts/LedgerEventRequest.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Findings/StellaOps.Findings.Ledger.WebService/Contracts/LedgerEventResponse.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Findings/StellaOps.Findings.Ledger.WebService/Contracts/OrchestratorExportContracts.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Findings/StellaOps.Findings.Ledger.WebService/Contracts/RuntimeTracesContracts.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Findings/StellaOps.Findings.Ledger.WebService/Contracts/ScoringContracts.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Findings/StellaOps.Findings.Ledger.WebService/Contracts/SnapshotContracts.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Findings/StellaOps.Findings.Ledger.WebService/Contracts/StateTransitionContracts.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Findings/StellaOps.Findings.Ledger.WebService/Contracts/VexLensContracts.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Findings/StellaOps.Findings.Ledger.WebService/Endpoints/BackportEndpoints.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Findings/StellaOps.Findings.Ledger.WebService/Endpoints/EvidenceGraphEndpoints.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Findings/StellaOps.Findings.Ledger.WebService/Endpoints/FindingSummaryEndpoints.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Findings/StellaOps.Findings.Ledger.WebService/Endpoints/ReachabilityMapEndpoints.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Findings/StellaOps.Findings.Ledger.WebService/Endpoints/RuntimeTimelineEndpoints.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Findings/StellaOps.Findings.Ledger.WebService/Endpoints/RuntimeTracesEndpoints.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Findings/StellaOps.Findings.Ledger.WebService/Endpoints/ScoringEndpoints.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Findings/StellaOps.Findings.Ledger.WebService/Endpoints/WebhookEndpoints.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Findings/StellaOps.Findings.Ledger.WebService/Mappings/LedgerEventMapping.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Findings/StellaOps.Findings.Ledger.WebService/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Findings/StellaOps.Findings.Ledger.WebService/obj/Debug/net10.0/StellaOps.Findings.Ledger.WebService.AssemblyInfo.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Findings/StellaOps.Findings.Ledger.WebService/obj/Debug/net10.0/StellaOps.Findings.Ledger.WebService.GlobalUsings.g.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Findings/StellaOps.Findings.Ledger.WebService/obj/Debug/net10.0/StellaOps.Findings.Ledger.WebService.MvcApplicationPartsAssemblyInfo.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Findings/StellaOps.Findings.Ledger.WebService/obj/Release/net10.0/StellaOps.Findings.Ledger.WebService.GlobalUsings.g.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Findings/StellaOps.Findings.Ledger.WebService/Services/AttestationQueryService.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Findings/StellaOps.Findings.Ledger.WebService/Services/EvidenceGraphBuilder.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Findings/StellaOps.Findings.Ledger.WebService/Services/ExportQueryService.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Findings/StellaOps.Findings.Ledger.WebService/Services/FindingEvidenceProvider.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Findings/StellaOps.Findings.Ledger.WebService/Services/FindingScoringService.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Findings/StellaOps.Findings.Ledger.WebService/Services/FindingSummaryBuilder.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Findings/StellaOps.Findings.Ledger.WebService/Services/FindingSummaryService.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Findings/StellaOps.Findings.Ledger.WebService/Services/NullBackportEvidenceService.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Findings/StellaOps.Findings.Ledger.WebService/Services/NullRuntimeTracesService.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Findings/StellaOps.Findings.Ledger.WebService/Services/ScoreHistoryStore.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Findings/StellaOps.Findings.Ledger.WebService/Services/StubEndpointServices.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Findings/StellaOps.Findings.Ledger.WebService/Services/VexConsensusService.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Findings/StellaOps.Findings.Ledger.WebService/Services/WebhookService.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
## Testing Fullness Findings
- Status: PASS
- Expected layers (heuristic): Unit
- Detected test projects: src/Findings/__Tests/StellaOps.Findings.Ledger.Tests/StellaOps.Findings.Ledger.Tests.csproj [Unit]; src/Findings/StellaOps.Findings.Ledger.Tests/StellaOps.Findings.Ledger.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,132 @@
# Audit - StellaOps.Findings.Ledger.WebService
## Project
- Path: src/Findings/StellaOps.Findings.Ledger.WebService/StellaOps.Findings.Ledger.WebService.csproj
- Module: Findings
- Kind: Service
- Audit date (UTC): 2026-01-31
- Files scanned: 39
- Files with issues: 26
- File-level report: docs/implplan/audits/csproj-standards/file-audit.csv
## Coding Standards Findings
- Status: FAIL
- Nullable: enable
- TreatWarningsAsErrors: explicit true
- Deterministic: inherited true
- 100-line rule violations: 23
- Namespace violations: 1
- Using directive violations: 1
- Naming violations (interfaces/fields/const/async): 13
- Service locator usage (BuildServiceProvider/GetService): 3
- Assembly.LoadFrom usage: 0
### Details
- 100-line files:
- src/Findings/StellaOps.Findings.Ledger.WebService/Program.cs (2045 lines)
- src/Findings/StellaOps.Findings.Ledger.WebService/Contracts/AlertContracts.cs (395 lines)
- src/Findings/StellaOps.Findings.Ledger.WebService/Contracts/AttestationPointerContracts.cs (345 lines)
- src/Findings/StellaOps.Findings.Ledger.WebService/Contracts/BackportContracts.cs (365 lines)
- src/Findings/StellaOps.Findings.Ledger.WebService/Contracts/EvidenceGraphContracts.cs (200 lines)
- src/Findings/StellaOps.Findings.Ledger.WebService/Contracts/ExportContracts.cs (122 lines)
- src/Findings/StellaOps.Findings.Ledger.WebService/Contracts/FindingSummary.cs (175 lines)
- src/Findings/StellaOps.Findings.Ledger.WebService/Contracts/RuntimeTracesContracts.cs (256 lines)
- src/Findings/StellaOps.Findings.Ledger.WebService/Contracts/ScoringContracts.cs (647 lines)
- src/Findings/StellaOps.Findings.Ledger.WebService/Contracts/SnapshotContracts.cs (462 lines)
- src/Findings/StellaOps.Findings.Ledger.WebService/Contracts/VexLensContracts.cs (259 lines)
- src/Findings/StellaOps.Findings.Ledger.WebService/Endpoints/RuntimeTracesEndpoints.cs (122 lines)
- src/Findings/StellaOps.Findings.Ledger.WebService/Endpoints/ScoringEndpoints.cs (240 lines)
- src/Findings/StellaOps.Findings.Ledger.WebService/Endpoints/WebhookEndpoints.cs (176 lines)
- src/Findings/StellaOps.Findings.Ledger.WebService/Services/AttestationQueryService.cs (269 lines)
- src/Findings/StellaOps.Findings.Ledger.WebService/Services/EvidenceGraphBuilder.cs (427 lines)
- src/Findings/StellaOps.Findings.Ledger.WebService/Services/ExportQueryService.cs (306 lines)
- src/Findings/StellaOps.Findings.Ledger.WebService/Services/FindingEvidenceProvider.cs (292 lines)
- src/Findings/StellaOps.Findings.Ledger.WebService/Services/FindingScoringService.cs (531 lines)
- src/Findings/StellaOps.Findings.Ledger.WebService/Services/FindingSummaryBuilder.cs (196 lines)
- src/Findings/StellaOps.Findings.Ledger.WebService/Services/ScoreHistoryStore.cs (174 lines)
- src/Findings/StellaOps.Findings.Ledger.WebService/Services/VexConsensusService.cs (557 lines)
- src/Findings/StellaOps.Findings.Ledger.WebService/Services/WebhookService.cs (314 lines)
- Namespace issues:
- src/Findings/StellaOps.Findings.Ledger.WebService/Program.cs: block-scoped namespace
- Using directive issues:
- src/Findings/StellaOps.Findings.Ledger.WebService/Services/WebhookService.cs: using directives inside namespace
- Naming issues:
- src/Findings/StellaOps.Findings.Ledger.WebService/Endpoints/WebhookEndpoints.cs: private field naming
- src/Findings/StellaOps.Findings.Ledger.WebService/Services/FindingScoringService.cs: private field naming
- src/Findings/StellaOps.Findings.Ledger.WebService/Services/StubEndpointServices.cs: private field naming
- src/Findings/StellaOps.Findings.Ledger.WebService/Services/WebhookService.cs: private field naming
- Async issues:
- src/Findings/StellaOps.Findings.Ledger.WebService/Endpoints/BackportEndpoints.cs: async method naming
- src/Findings/StellaOps.Findings.Ledger.WebService/Endpoints/RuntimeTracesEndpoints.cs: async method naming
- src/Findings/StellaOps.Findings.Ledger.WebService/Endpoints/ScoringEndpoints.cs: async method naming
- src/Findings/StellaOps.Findings.Ledger.WebService/Services/AttestationQueryService.cs: async method naming
- src/Findings/StellaOps.Findings.Ledger.WebService/Services/ExportQueryService.cs: async method naming
- src/Findings/StellaOps.Findings.Ledger.WebService/Services/FindingEvidenceProvider.cs: async method naming
- src/Findings/StellaOps.Findings.Ledger.WebService/Services/FindingScoringService.cs: async method naming
- src/Findings/StellaOps.Findings.Ledger.WebService/Services/FindingSummaryService.cs: async method naming
- src/Findings/StellaOps.Findings.Ledger.WebService/Services/WebhookService.cs: async method naming
- Service locator matches:
- src/Findings/StellaOps.Findings.Ledger.WebService/Program.cs:180 builder.Services.AddSingleton<ILedgerIncidentDiagnostics>(sp => sp.GetRequiredService<LedgerIncidentCoordinator>());
- src/Findings/StellaOps.Findings.Ledger.WebService/Program.cs:181 builder.Services.AddSingleton<ILedgerIncidentState>(sp => sp.GetRequiredService<LedgerIncidentCoordinator>());
- src/Findings/StellaOps.Findings.Ledger.WebService/Program.cs:193 builder.Services.AddSingleton<IPolicyEvaluationService>(sp => sp.GetRequiredService<PolicyEngineEvaluationService>());
- 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.
- Replace service locator usage with constructor injection.
- Split files over 100 lines into smaller types or partials.
## File-Level Findings
- Status: FAIL
- Files scanned: 39
- Files with issues: 26
- See docs/implplan/audits/csproj-standards/file-audit.csv for full per-file status.
| File | Issues | Fix guidance |
| --- | --- | --- |
| src/Findings/StellaOps.Findings.Ledger.WebService/Program.cs | FileLength>100; NamespaceNotFileScoped; ServiceLocator | Convert to file-scoped namespace.; Remove service locator usage; use constructor injection.; Split file to stay <= 100 lines. |
| src/Findings/StellaOps.Findings.Ledger.WebService/Contracts/AlertContracts.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Findings/StellaOps.Findings.Ledger.WebService/Contracts/AttestationPointerContracts.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Findings/StellaOps.Findings.Ledger.WebService/Contracts/BackportContracts.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Findings/StellaOps.Findings.Ledger.WebService/Contracts/EvidenceGraphContracts.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Findings/StellaOps.Findings.Ledger.WebService/Contracts/ExportContracts.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Findings/StellaOps.Findings.Ledger.WebService/Contracts/FindingSummary.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Findings/StellaOps.Findings.Ledger.WebService/Contracts/RuntimeTracesContracts.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Findings/StellaOps.Findings.Ledger.WebService/Contracts/ScoringContracts.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Findings/StellaOps.Findings.Ledger.WebService/Contracts/SnapshotContracts.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Findings/StellaOps.Findings.Ledger.WebService/Contracts/VexLensContracts.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Findings/StellaOps.Findings.Ledger.WebService/Endpoints/BackportEndpoints.cs | AsyncNaming | Rename async methods to end with Async. |
| src/Findings/StellaOps.Findings.Ledger.WebService/Endpoints/RuntimeTracesEndpoints.cs | AsyncNaming; FileLength>100 | Rename async methods to end with Async.; Split file to stay <= 100 lines. |
| src/Findings/StellaOps.Findings.Ledger.WebService/Endpoints/ScoringEndpoints.cs | AsyncNaming; FileLength>100 | Rename async methods to end with Async.; Split file to stay <= 100 lines. |
| src/Findings/StellaOps.Findings.Ledger.WebService/Endpoints/WebhookEndpoints.cs | FileLength>100; PrivateFieldNaming | Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Findings/StellaOps.Findings.Ledger.WebService/Services/AttestationQueryService.cs | AsyncNaming; FileLength>100 | Rename async methods to end with Async.; Split file to stay <= 100 lines. |
| src/Findings/StellaOps.Findings.Ledger.WebService/Services/EvidenceGraphBuilder.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Findings/StellaOps.Findings.Ledger.WebService/Services/ExportQueryService.cs | AsyncNaming; FileLength>100 | Rename async methods to end with Async.; Split file to stay <= 100 lines. |
| src/Findings/StellaOps.Findings.Ledger.WebService/Services/FindingEvidenceProvider.cs | AsyncNaming; FileLength>100 | Rename async methods to end with Async.; Split file to stay <= 100 lines. |
| src/Findings/StellaOps.Findings.Ledger.WebService/Services/FindingScoringService.cs | AsyncNaming; FileLength>100; PrivateFieldNaming | Rename async methods to end with Async.; Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Findings/StellaOps.Findings.Ledger.WebService/Services/FindingSummaryBuilder.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Findings/StellaOps.Findings.Ledger.WebService/Services/FindingSummaryService.cs | AsyncNaming | Rename async methods to end with Async. |
| src/Findings/StellaOps.Findings.Ledger.WebService/Services/ScoreHistoryStore.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Findings/StellaOps.Findings.Ledger.WebService/Services/StubEndpointServices.cs | PrivateFieldNaming | Rename private fields to _camelCase. |
| src/Findings/StellaOps.Findings.Ledger.WebService/Services/VexConsensusService.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Findings/StellaOps.Findings.Ledger.WebService/Services/WebhookService.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): E2E, Integration, Offline, Security, Unit
- Detected test projects: src/Findings/__Tests/StellaOps.Findings.Ledger.Tests/StellaOps.Findings.Ledger.Tests.csproj [Unit]; src/Findings/StellaOps.Findings.Ledger.Tests/StellaOps.Findings.Ledger.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,326 @@
# Audit - StellaOps.Findings.Ledger
## Project
- Path: src/Findings/StellaOps.Findings.Ledger/StellaOps.Findings.Ledger.csproj
- Module: Findings
- Kind: Library
- Audit date (UTC): 2026-01-30
- Files scanned: 110
- Files with issues: 109
- 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: 108
- 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/Findings/StellaOps.Findings.Ledger/Domain/DecisionModels.cs (453 lines)
- src/Findings/StellaOps.Findings.Ledger/Domain/SnapshotModels.cs (282 lines)
- src/Findings/StellaOps.Findings.Ledger/Hashing/ProjectionHashing.cs (109 lines)
- src/Findings/StellaOps.Findings.Ledger/Infrastructure/Attestation/AttestationPointerRecord.cs (228 lines)
- src/Findings/StellaOps.Findings.Ledger/Infrastructure/Merkle/LedgerMerkleAnchorWorker.cs (162 lines)
- src/Findings/StellaOps.Findings.Ledger/Infrastructure/Policy/InlinePolicyEvaluationService.cs (201 lines)
- src/Findings/StellaOps.Findings.Ledger/Infrastructure/Policy/PolicyEngineEvaluationService.cs (254 lines)
- src/Findings/StellaOps.Findings.Ledger/Infrastructure/Policy/PolicyEvaluationCache.cs (101 lines)
- src/Findings/StellaOps.Findings.Ledger/Infrastructure/Postgres/LedgerDataSource.cs (129 lines)
- src/Findings/StellaOps.Findings.Ledger/Infrastructure/Postgres/PostgresAirgapImportRepository.cs (231 lines)
- src/Findings/StellaOps.Findings.Ledger/Infrastructure/Postgres/PostgresAttestationPointerRepository.cs (669 lines)
- src/Findings/StellaOps.Findings.Ledger/Infrastructure/Postgres/PostgresFindingProjectionRepository.cs (745 lines)
- src/Findings/StellaOps.Findings.Ledger/Infrastructure/Postgres/PostgresLedgerEventRepository.cs (258 lines)
- src/Findings/StellaOps.Findings.Ledger/Infrastructure/Postgres/PostgresLedgerEventStream.cs (131 lines)
- src/Findings/StellaOps.Findings.Ledger/Infrastructure/Postgres/PostgresOrchestratorExportRepository.cs (147 lines)
- src/Findings/StellaOps.Findings.Ledger/Infrastructure/Postgres/PostgresSnapshotRepository.cs (403 lines)
- src/Findings/StellaOps.Findings.Ledger/Infrastructure/Postgres/PostgresTimeTravelRepository.cs (833 lines)
- src/Findings/StellaOps.Findings.Ledger/Infrastructure/Postgres/RlsValidationService.cs (169 lines)
- src/Findings/StellaOps.Findings.Ledger/Infrastructure/Projection/LedgerProjectionWorker.cs (206 lines)
- src/Findings/StellaOps.Findings.Ledger/Infrastructure/Snapshot/ISnapshotRepository.cs (206 lines)
- src/Findings/StellaOps.Findings.Ledger/Observability/LedgerMetrics.cs (670 lines)
- src/Findings/StellaOps.Findings.Ledger/Observability/LedgerTelemetry.cs (199 lines)
- src/Findings/StellaOps.Findings.Ledger/Observability/LedgerTimeline.cs (373 lines)
- src/Findings/StellaOps.Findings.Ledger/Observations/IObservationRepository.cs (188 lines)
- src/Findings/StellaOps.Findings.Ledger/Observations/PostgresObservationRepository.cs (343 lines)
- src/Findings/StellaOps.Findings.Ledger/Observations/SignalSnapshotBuilder.cs (390 lines)
- src/Findings/StellaOps.Findings.Ledger/Options/LedgerServiceOptions.cs (232 lines)
- src/Findings/StellaOps.Findings.Ledger/Services/AirgapImportService.cs (158 lines)
- src/Findings/StellaOps.Findings.Ledger/Services/AirgapTimelineService.cs (180 lines)
- src/Findings/StellaOps.Findings.Ledger/Services/AlertService.cs (184 lines)
- src/Findings/StellaOps.Findings.Ledger/Services/AttestationPointerService.cs (475 lines)
- src/Findings/StellaOps.Findings.Ledger/Services/DecisionService.cs (194 lines)
- src/Findings/StellaOps.Findings.Ledger/Services/EvidenceSnapshotService.cs (222 lines)
- src/Findings/StellaOps.Findings.Ledger/Services/FindingWorkflowService.cs (569 lines)
- src/Findings/StellaOps.Findings.Ledger/Services/LedgerEventWriteService.cs (307 lines)
- src/Findings/StellaOps.Findings.Ledger/Services/LedgerProjectionReducer.cs (258 lines)
- src/Findings/StellaOps.Findings.Ledger/Services/ScoredFindingsExportService.cs (239 lines)
- src/Findings/StellaOps.Findings.Ledger/Services/ScoredFindingsQueryModels.cs (129 lines)
- src/Findings/StellaOps.Findings.Ledger/Services/ScoredFindingsQueryService.cs (200 lines)
- src/Findings/StellaOps.Findings.Ledger/Services/ScoringMetricsService.cs (179 lines)
- src/Findings/StellaOps.Findings.Ledger/Services/SnapshotService.cs (440 lines)
- src/Findings/StellaOps.Findings.Ledger/Services/StalenessValidationService.cs (276 lines)
- src/Findings/StellaOps.Findings.Ledger/Services/Incident/LedgerIncidentCoordinator.cs (356 lines)
- src/Findings/StellaOps.Findings.Ledger/tools/LedgerReplayHarness/HarnessDraftParser.cs (304 lines)
- src/Findings/StellaOps.Findings.Ledger/tools/LedgerReplayHarness/Program.cs (549 lines)
- Namespace issues:
- src/Findings/StellaOps.Findings.Ledger/DeprecationHeaders.cs: missing namespace
- src/Findings/StellaOps.Findings.Ledger/Domain/DecisionModels.cs: missing namespace
- src/Findings/StellaOps.Findings.Ledger/Domain/EvidenceReference.cs: missing namespace
- src/Findings/StellaOps.Findings.Ledger/Domain/LedgerChainIdGenerator.cs: missing namespace
- src/Findings/StellaOps.Findings.Ledger/Domain/LedgerEventConstants.cs: missing namespace
- src/Findings/StellaOps.Findings.Ledger/Domain/LedgerEventModels.cs: missing namespace
- src/Findings/StellaOps.Findings.Ledger/Domain/ProjectionModels.cs: missing namespace
- src/Findings/StellaOps.Findings.Ledger/Domain/SnapshotModels.cs: missing namespace
- src/Findings/StellaOps.Findings.Ledger/Hashing/HashUtilities.cs: missing namespace
- src/Findings/StellaOps.Findings.Ledger/Hashing/LedgerCanonicalJsonSerializer.cs: missing namespace
- src/Findings/StellaOps.Findings.Ledger/Hashing/LedgerHashing.cs: missing namespace
- src/Findings/StellaOps.Findings.Ledger/Hashing/ProjectionHashing.cs: missing namespace
- src/Findings/StellaOps.Findings.Ledger/Infrastructure/IFindingProjectionRepository.cs: missing namespace
- src/Findings/StellaOps.Findings.Ledger/Infrastructure/ILedgerEventRepository.cs: missing namespace
- src/Findings/StellaOps.Findings.Ledger/Infrastructure/ILedgerEventStream.cs: missing namespace
- src/Findings/StellaOps.Findings.Ledger/Infrastructure/IMerkleAnchorScheduler.cs: missing namespace
- src/Findings/StellaOps.Findings.Ledger/Infrastructure/AirGap/AirgapImportRecord.cs: missing namespace
- src/Findings/StellaOps.Findings.Ledger/Infrastructure/AirGap/AirgapTimelineImpact.cs: missing namespace
- src/Findings/StellaOps.Findings.Ledger/Infrastructure/AirGap/EvidenceSnapshotRecord.cs: missing namespace
- src/Findings/StellaOps.Findings.Ledger/Infrastructure/AirGap/IAirgapImportRepository.cs: missing namespace
- src/Findings/StellaOps.Findings.Ledger/Infrastructure/AirGap/IEvidenceSnapshotRepository.cs: missing namespace
- src/Findings/StellaOps.Findings.Ledger/Infrastructure/AirGap/StalenessResult.cs: missing namespace
- src/Findings/StellaOps.Findings.Ledger/Infrastructure/Attestation/AttestationPointerRecord.cs: missing namespace
- src/Findings/StellaOps.Findings.Ledger/Infrastructure/Attestation/AttestationStatusCalculator.cs: missing namespace
- src/Findings/StellaOps.Findings.Ledger/Infrastructure/Attestation/IAttestationPointerRepository.cs: missing namespace
- src/Findings/StellaOps.Findings.Ledger/Infrastructure/Compatibility/IsExternalInit.cs: missing namespace
- src/Findings/StellaOps.Findings.Ledger/Infrastructure/Exports/ExportPaging.cs: missing namespace
- src/Findings/StellaOps.Findings.Ledger/Infrastructure/Exports/IOrchestratorExportRepository.cs: missing namespace
- src/Findings/StellaOps.Findings.Ledger/Infrastructure/Exports/OrchestratorExportRecord.cs: missing namespace
- src/Findings/StellaOps.Findings.Ledger/Infrastructure/InMemory/InMemoryLedgerEventRepository.cs: missing namespace
- src/Findings/StellaOps.Findings.Ledger/Infrastructure/Merkle/IMerkleAnchorRepository.cs: missing namespace
- src/Findings/StellaOps.Findings.Ledger/Infrastructure/Merkle/LedgerAnchorQueue.cs: missing namespace
- src/Findings/StellaOps.Findings.Ledger/Infrastructure/Merkle/LedgerMerkleAnchorWorker.cs: missing namespace
- src/Findings/StellaOps.Findings.Ledger/Infrastructure/Merkle/MerkleTreeBuilder.cs: missing namespace
- src/Findings/StellaOps.Findings.Ledger/Infrastructure/Merkle/NullMerkleAnchorScheduler.cs: missing namespace
- src/Findings/StellaOps.Findings.Ledger/Infrastructure/Merkle/PostgresMerkleAnchorScheduler.cs: missing namespace
- src/Findings/StellaOps.Findings.Ledger/Infrastructure/Policy/InlinePolicyEvaluationService.cs: missing namespace
- src/Findings/StellaOps.Findings.Ledger/Infrastructure/Policy/IPolicyEvaluationService.cs: missing namespace
- src/Findings/StellaOps.Findings.Ledger/Infrastructure/Policy/PolicyEngineEvaluationService.cs: missing namespace
- src/Findings/StellaOps.Findings.Ledger/Infrastructure/Policy/PolicyEvaluationCache.cs: missing namespace
- src/Findings/StellaOps.Findings.Ledger/Infrastructure/Postgres/LedgerDataSource.cs: missing namespace
- src/Findings/StellaOps.Findings.Ledger/Infrastructure/Postgres/PostgresAirgapImportRepository.cs: missing namespace
- src/Findings/StellaOps.Findings.Ledger/Infrastructure/Postgres/PostgresAttestationPointerRepository.cs: missing namespace
- src/Findings/StellaOps.Findings.Ledger/Infrastructure/Postgres/PostgresFindingProjectionRepository.cs: missing namespace
- src/Findings/StellaOps.Findings.Ledger/Infrastructure/Postgres/PostgresLedgerEventRepository.cs: missing namespace
- src/Findings/StellaOps.Findings.Ledger/Infrastructure/Postgres/PostgresLedgerEventStream.cs: missing namespace
- src/Findings/StellaOps.Findings.Ledger/Infrastructure/Postgres/PostgresMerkleAnchorRepository.cs: missing namespace
- src/Findings/StellaOps.Findings.Ledger/Infrastructure/Postgres/PostgresOrchestratorExportRepository.cs: missing namespace
- src/Findings/StellaOps.Findings.Ledger/Infrastructure/Postgres/PostgresSnapshotRepository.cs: missing namespace
- src/Findings/StellaOps.Findings.Ledger/Infrastructure/Postgres/PostgresTimeTravelRepository.cs: missing namespace
- src/Findings/StellaOps.Findings.Ledger/Infrastructure/Postgres/RlsValidationService.cs: missing namespace
- src/Findings/StellaOps.Findings.Ledger/Infrastructure/Projection/LedgerProjectionWorker.cs: missing namespace
- src/Findings/StellaOps.Findings.Ledger/Infrastructure/Snapshot/ISnapshotRepository.cs: missing namespace
- src/Findings/StellaOps.Findings.Ledger/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs: missing namespace
- src/Findings/StellaOps.Findings.Ledger/obj/Debug/net10.0/StellaOps.Findings.Ledger.AssemblyInfo.cs: missing namespace
- src/Findings/StellaOps.Findings.Ledger/obj/Debug/net10.0/StellaOps.Findings.Ledger.GlobalUsings.g.cs: missing namespace
- src/Findings/StellaOps.Findings.Ledger/obj/Release/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs: missing namespace
- src/Findings/StellaOps.Findings.Ledger/obj/Release/net10.0/StellaOps.Findings.Ledger.AssemblyInfo.cs: missing namespace
- src/Findings/StellaOps.Findings.Ledger/obj/Release/net10.0/StellaOps.Findings.Ledger.GlobalUsings.g.cs: missing namespace
- src/Findings/StellaOps.Findings.Ledger/Observability/LedgerMetrics.cs: missing namespace
- src/Findings/StellaOps.Findings.Ledger/Observability/LedgerTelemetry.cs: missing namespace
- src/Findings/StellaOps.Findings.Ledger/Observability/LedgerTimeline.cs: missing namespace
- src/Findings/StellaOps.Findings.Ledger/Observations/IObservationRepository.cs: missing namespace
- src/Findings/StellaOps.Findings.Ledger/Observations/PostgresObservationRepository.cs: missing namespace
- src/Findings/StellaOps.Findings.Ledger/Observations/SignalSnapshotBuilder.cs: missing namespace
- src/Findings/StellaOps.Findings.Ledger/OpenApi/OpenApiMetadataFactory.cs: missing namespace
- src/Findings/StellaOps.Findings.Ledger/Options/AirGapOptions.cs: missing namespace
- src/Findings/StellaOps.Findings.Ledger/Options/LedgerIncidentOptions.cs: missing namespace
- src/Findings/StellaOps.Findings.Ledger/Options/LedgerServiceOptions.cs: missing namespace
- src/Findings/StellaOps.Findings.Ledger/Services/AirgapImportService.cs: missing namespace
- src/Findings/StellaOps.Findings.Ledger/Services/AirgapTimelineService.cs: missing namespace
- src/Findings/StellaOps.Findings.Ledger/Services/AlertService.cs: missing namespace
- src/Findings/StellaOps.Findings.Ledger/Services/AttestationPointerService.cs: missing namespace
- src/Findings/StellaOps.Findings.Ledger/Services/DecisionService.cs: missing namespace
- src/Findings/StellaOps.Findings.Ledger/Services/EvidenceBundleService.cs: missing namespace
- src/Findings/StellaOps.Findings.Ledger/Services/EvidenceSnapshotService.cs: missing namespace
- src/Findings/StellaOps.Findings.Ledger/Services/FindingWorkflowService.cs: missing namespace
- src/Findings/StellaOps.Findings.Ledger/Services/IAlertService.cs: missing namespace
- src/Findings/StellaOps.Findings.Ledger/Services/IAuditService.cs: missing namespace
- src/Findings/StellaOps.Findings.Ledger/Services/IDecisionHook.cs: missing namespace
- src/Findings/StellaOps.Findings.Ledger/Services/IDecisionService.cs: missing namespace
- src/Findings/StellaOps.Findings.Ledger/Services/IDiffService.cs: missing namespace
- src/Findings/StellaOps.Findings.Ledger/Services/IEvidenceBundleService.cs: missing namespace
- src/Findings/StellaOps.Findings.Ledger/Services/IScoredFindingsQueryService.cs: missing namespace
- src/Findings/StellaOps.Findings.Ledger/Services/LedgerEventWriteService.cs: missing namespace
- src/Findings/StellaOps.Findings.Ledger/Services/LedgerProjectionReducer.cs: missing namespace
- src/Findings/StellaOps.Findings.Ledger/Services/OrchestratorExportService.cs: missing namespace
- src/Findings/StellaOps.Findings.Ledger/Services/ScoredFindingsExportService.cs: missing namespace
- src/Findings/StellaOps.Findings.Ledger/Services/ScoredFindingsQueryModels.cs: missing namespace
- src/Findings/StellaOps.Findings.Ledger/Services/ScoredFindingsQueryService.cs: missing namespace
- src/Findings/StellaOps.Findings.Ledger/Services/ScoringMetricsService.cs: missing namespace
- src/Findings/StellaOps.Findings.Ledger/Services/SnapshotService.cs: missing namespace
- src/Findings/StellaOps.Findings.Ledger/Services/StalenessValidationService.cs: missing namespace
- src/Findings/StellaOps.Findings.Ledger/Services/Attachments/AttachmentEncryptionService.cs: missing namespace
- src/Findings/StellaOps.Findings.Ledger/Services/Attachments/AttachmentUrlSigner.cs: missing namespace
- src/Findings/StellaOps.Findings.Ledger/Services/Incident/LedgerIncidentCoordinator.cs: missing namespace
- src/Findings/StellaOps.Findings.Ledger/Services/Security/ConsoleCsrfValidator.cs: missing namespace
- src/Findings/StellaOps.Findings.Ledger/tools/LedgerReplayHarness/HarnessDraftParser.cs: missing namespace
- src/Findings/StellaOps.Findings.Ledger/tools/LedgerReplayHarness/HarnessFixtureException.cs: missing namespace
- src/Findings/StellaOps.Findings.Ledger/tools/LedgerReplayHarness/HarnessFixtureReader.cs: missing namespace
- src/Findings/StellaOps.Findings.Ledger/tools/LedgerReplayHarness/HarnessMath.cs: missing namespace
- src/Findings/StellaOps.Findings.Ledger/tools/LedgerReplayHarness/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs: missing namespace
- src/Findings/StellaOps.Findings.Ledger/tools/LedgerReplayHarness/obj/Debug/net10.0/LedgerReplayHarness.AssemblyInfo.cs: missing namespace
- src/Findings/StellaOps.Findings.Ledger/tools/LedgerReplayHarness/obj/Debug/net10.0/LedgerReplayHarness.GlobalUsings.g.cs: missing namespace
- src/Findings/StellaOps.Findings.Ledger/tools/LedgerReplayHarness/obj/Release/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs: missing namespace
- src/Findings/StellaOps.Findings.Ledger/tools/LedgerReplayHarness/obj/Release/net10.0/LedgerReplayHarness.AssemblyInfo.cs: missing namespace
- src/Findings/StellaOps.Findings.Ledger/tools/LedgerReplayHarness/obj/Release/net10.0/LedgerReplayHarness.GlobalUsings.g.cs: missing namespace
- src/Findings/StellaOps.Findings.Ledger/Workflow/WorkflowMutationRequests.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: 110
- Files with issues: 109
- See docs/implplan/audits/csproj-standards/file-audit.csv for full per-file status.
| File | Issues | Fix guidance |
| --- | --- | --- |
| src/Findings/StellaOps.Findings.Ledger/DeprecationHeaders.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Findings/StellaOps.Findings.Ledger/Domain/DecisionModels.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Findings/StellaOps.Findings.Ledger/Domain/EvidenceReference.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Findings/StellaOps.Findings.Ledger/Domain/LedgerChainIdGenerator.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Findings/StellaOps.Findings.Ledger/Domain/LedgerEventConstants.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Findings/StellaOps.Findings.Ledger/Domain/LedgerEventModels.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Findings/StellaOps.Findings.Ledger/Domain/ProjectionModels.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Findings/StellaOps.Findings.Ledger/Domain/SnapshotModels.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Findings/StellaOps.Findings.Ledger/Hashing/HashUtilities.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Findings/StellaOps.Findings.Ledger/Hashing/LedgerCanonicalJsonSerializer.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Findings/StellaOps.Findings.Ledger/Hashing/LedgerHashing.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Findings/StellaOps.Findings.Ledger/Hashing/ProjectionHashing.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Findings/StellaOps.Findings.Ledger/Infrastructure/IFindingProjectionRepository.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Findings/StellaOps.Findings.Ledger/Infrastructure/ILedgerEventRepository.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Findings/StellaOps.Findings.Ledger/Infrastructure/ILedgerEventStream.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Findings/StellaOps.Findings.Ledger/Infrastructure/IMerkleAnchorScheduler.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Findings/StellaOps.Findings.Ledger/Infrastructure/AirGap/AirgapImportRecord.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Findings/StellaOps.Findings.Ledger/Infrastructure/AirGap/AirgapTimelineImpact.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Findings/StellaOps.Findings.Ledger/Infrastructure/AirGap/EvidenceSnapshotRecord.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Findings/StellaOps.Findings.Ledger/Infrastructure/AirGap/IAirgapImportRepository.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Findings/StellaOps.Findings.Ledger/Infrastructure/AirGap/IEvidenceSnapshotRepository.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Findings/StellaOps.Findings.Ledger/Infrastructure/AirGap/StalenessResult.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Findings/StellaOps.Findings.Ledger/Infrastructure/Attestation/AttestationPointerRecord.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Findings/StellaOps.Findings.Ledger/Infrastructure/Attestation/AttestationStatusCalculator.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Findings/StellaOps.Findings.Ledger/Infrastructure/Attestation/IAttestationPointerRepository.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Findings/StellaOps.Findings.Ledger/Infrastructure/Compatibility/IsExternalInit.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Findings/StellaOps.Findings.Ledger/Infrastructure/Exports/ExportPaging.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Findings/StellaOps.Findings.Ledger/Infrastructure/Exports/IOrchestratorExportRepository.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Findings/StellaOps.Findings.Ledger/Infrastructure/Exports/OrchestratorExportRecord.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Findings/StellaOps.Findings.Ledger/Infrastructure/InMemory/InMemoryLedgerEventRepository.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Findings/StellaOps.Findings.Ledger/Infrastructure/Merkle/IMerkleAnchorRepository.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Findings/StellaOps.Findings.Ledger/Infrastructure/Merkle/LedgerAnchorQueue.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Findings/StellaOps.Findings.Ledger/Infrastructure/Merkle/LedgerMerkleAnchorWorker.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Findings/StellaOps.Findings.Ledger/Infrastructure/Merkle/MerkleTreeBuilder.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Findings/StellaOps.Findings.Ledger/Infrastructure/Merkle/NullMerkleAnchorScheduler.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Findings/StellaOps.Findings.Ledger/Infrastructure/Merkle/PostgresMerkleAnchorScheduler.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Findings/StellaOps.Findings.Ledger/Infrastructure/Policy/InlinePolicyEvaluationService.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Findings/StellaOps.Findings.Ledger/Infrastructure/Policy/IPolicyEvaluationService.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Findings/StellaOps.Findings.Ledger/Infrastructure/Policy/PolicyEngineEvaluationService.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Findings/StellaOps.Findings.Ledger/Infrastructure/Policy/PolicyEvaluationCache.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Findings/StellaOps.Findings.Ledger/Infrastructure/Postgres/LedgerDataSource.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Findings/StellaOps.Findings.Ledger/Infrastructure/Postgres/PostgresAirgapImportRepository.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Findings/StellaOps.Findings.Ledger/Infrastructure/Postgres/PostgresAttestationPointerRepository.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Findings/StellaOps.Findings.Ledger/Infrastructure/Postgres/PostgresFindingProjectionRepository.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Findings/StellaOps.Findings.Ledger/Infrastructure/Postgres/PostgresLedgerEventRepository.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Findings/StellaOps.Findings.Ledger/Infrastructure/Postgres/PostgresLedgerEventStream.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Findings/StellaOps.Findings.Ledger/Infrastructure/Postgres/PostgresMerkleAnchorRepository.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Findings/StellaOps.Findings.Ledger/Infrastructure/Postgres/PostgresOrchestratorExportRepository.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Findings/StellaOps.Findings.Ledger/Infrastructure/Postgres/PostgresSnapshotRepository.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Findings/StellaOps.Findings.Ledger/Infrastructure/Postgres/PostgresTimeTravelRepository.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Findings/StellaOps.Findings.Ledger/Infrastructure/Postgres/RlsValidationService.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Findings/StellaOps.Findings.Ledger/Infrastructure/Projection/LedgerProjectionWorker.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Findings/StellaOps.Findings.Ledger/Infrastructure/Snapshot/ISnapshotRepository.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Findings/StellaOps.Findings.Ledger/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Findings/StellaOps.Findings.Ledger/obj/Debug/net10.0/StellaOps.Findings.Ledger.AssemblyInfo.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Findings/StellaOps.Findings.Ledger/obj/Debug/net10.0/StellaOps.Findings.Ledger.GlobalUsings.g.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Findings/StellaOps.Findings.Ledger/obj/Release/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Findings/StellaOps.Findings.Ledger/obj/Release/net10.0/StellaOps.Findings.Ledger.AssemblyInfo.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Findings/StellaOps.Findings.Ledger/obj/Release/net10.0/StellaOps.Findings.Ledger.GlobalUsings.g.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Findings/StellaOps.Findings.Ledger/Observability/LedgerMetrics.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Findings/StellaOps.Findings.Ledger/Observability/LedgerTelemetry.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Findings/StellaOps.Findings.Ledger/Observability/LedgerTimeline.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Findings/StellaOps.Findings.Ledger/Observations/IObservationRepository.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Findings/StellaOps.Findings.Ledger/Observations/PostgresObservationRepository.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Findings/StellaOps.Findings.Ledger/Observations/SignalSnapshotBuilder.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Findings/StellaOps.Findings.Ledger/OpenApi/OpenApiMetadataFactory.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Findings/StellaOps.Findings.Ledger/Options/AirGapOptions.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Findings/StellaOps.Findings.Ledger/Options/LedgerIncidentOptions.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Findings/StellaOps.Findings.Ledger/Options/LedgerServiceOptions.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Findings/StellaOps.Findings.Ledger/Services/AirgapImportService.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Findings/StellaOps.Findings.Ledger/Services/AirgapTimelineService.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Findings/StellaOps.Findings.Ledger/Services/AlertService.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Findings/StellaOps.Findings.Ledger/Services/AttestationPointerService.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Findings/StellaOps.Findings.Ledger/Services/DecisionService.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Findings/StellaOps.Findings.Ledger/Services/EvidenceBundleService.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Findings/StellaOps.Findings.Ledger/Services/EvidenceSnapshotService.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Findings/StellaOps.Findings.Ledger/Services/FindingWorkflowService.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Findings/StellaOps.Findings.Ledger/Services/IAlertService.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Findings/StellaOps.Findings.Ledger/Services/IAuditService.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Findings/StellaOps.Findings.Ledger/Services/IDecisionHook.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Findings/StellaOps.Findings.Ledger/Services/IDecisionService.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Findings/StellaOps.Findings.Ledger/Services/IDiffService.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Findings/StellaOps.Findings.Ledger/Services/IEvidenceBundleService.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Findings/StellaOps.Findings.Ledger/Services/IScoredFindingsQueryService.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Findings/StellaOps.Findings.Ledger/Services/LedgerEventWriteService.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Findings/StellaOps.Findings.Ledger/Services/LedgerProjectionReducer.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Findings/StellaOps.Findings.Ledger/Services/OrchestratorExportService.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Findings/StellaOps.Findings.Ledger/Services/ScoredFindingsExportService.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Findings/StellaOps.Findings.Ledger/Services/ScoredFindingsQueryModels.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Findings/StellaOps.Findings.Ledger/Services/ScoredFindingsQueryService.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Findings/StellaOps.Findings.Ledger/Services/ScoringMetricsService.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Findings/StellaOps.Findings.Ledger/Services/SnapshotService.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Findings/StellaOps.Findings.Ledger/Services/StalenessValidationService.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Findings/StellaOps.Findings.Ledger/Services/Attachments/AttachmentEncryptionService.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Findings/StellaOps.Findings.Ledger/Services/Attachments/AttachmentUrlSigner.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Findings/StellaOps.Findings.Ledger/Services/Incident/LedgerIncidentCoordinator.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Findings/StellaOps.Findings.Ledger/Services/Security/ConsoleCsrfValidator.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Findings/StellaOps.Findings.Ledger/tools/LedgerReplayHarness/HarnessDraftParser.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Findings/StellaOps.Findings.Ledger/tools/LedgerReplayHarness/HarnessFixtureException.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Findings/StellaOps.Findings.Ledger/tools/LedgerReplayHarness/HarnessFixtureReader.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Findings/StellaOps.Findings.Ledger/tools/LedgerReplayHarness/HarnessMath.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Findings/StellaOps.Findings.Ledger/tools/LedgerReplayHarness/Program.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Findings/StellaOps.Findings.Ledger/tools/LedgerReplayHarness/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Findings/StellaOps.Findings.Ledger/tools/LedgerReplayHarness/obj/Debug/net10.0/LedgerReplayHarness.AssemblyInfo.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Findings/StellaOps.Findings.Ledger/tools/LedgerReplayHarness/obj/Debug/net10.0/LedgerReplayHarness.GlobalUsings.g.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Findings/StellaOps.Findings.Ledger/tools/LedgerReplayHarness/obj/Release/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Findings/StellaOps.Findings.Ledger/tools/LedgerReplayHarness/obj/Release/net10.0/LedgerReplayHarness.AssemblyInfo.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Findings/StellaOps.Findings.Ledger/tools/LedgerReplayHarness/obj/Release/net10.0/LedgerReplayHarness.GlobalUsings.g.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Findings/StellaOps.Findings.Ledger/Workflow/WorkflowMutationRequests.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
## Testing Fullness Findings
- Status: PASS
- Expected layers (heuristic): Unit
- Detected test projects: src/Findings/__Tests/StellaOps.Findings.Ledger.Tests/StellaOps.Findings.Ledger.Tests.csproj [Unit]; src/Findings/StellaOps.Findings.Ledger.Tests/StellaOps.Findings.Ledger.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,218 @@
# Audit - StellaOps.Findings.Ledger
## Project
- Path: src/Findings/StellaOps.Findings.Ledger/StellaOps.Findings.Ledger.csproj
- Module: Findings
- Kind: Library
- Audit date (UTC): 2026-01-31
- Files scanned: 98
- 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: 45
- Namespace violations: 5
- Using directive violations: 7
- Naming violations (interfaces/fields/const/async): 36
- Service locator usage (BuildServiceProvider/GetService): 6
- Assembly.LoadFrom usage: 0
### Details
- 100-line files:
- src/Findings/StellaOps.Findings.Ledger/Domain/DecisionModels.cs (453 lines)
- src/Findings/StellaOps.Findings.Ledger/Domain/SnapshotModels.cs (282 lines)
- src/Findings/StellaOps.Findings.Ledger/Hashing/ProjectionHashing.cs (110 lines)
- src/Findings/StellaOps.Findings.Ledger/Infrastructure/Attestation/AttestationPointerRecord.cs (228 lines)
- src/Findings/StellaOps.Findings.Ledger/Infrastructure/Merkle/LedgerMerkleAnchorWorker.cs (163 lines)
- src/Findings/StellaOps.Findings.Ledger/Infrastructure/Policy/InlinePolicyEvaluationService.cs (202 lines)
- src/Findings/StellaOps.Findings.Ledger/Infrastructure/Policy/PolicyEngineEvaluationService.cs (255 lines)
- src/Findings/StellaOps.Findings.Ledger/Infrastructure/Policy/PolicyEvaluationCache.cs (102 lines)
- src/Findings/StellaOps.Findings.Ledger/Infrastructure/Postgres/LedgerDataSource.cs (130 lines)
- src/Findings/StellaOps.Findings.Ledger/Infrastructure/Postgres/PostgresAirgapImportRepository.cs (232 lines)
- src/Findings/StellaOps.Findings.Ledger/Infrastructure/Postgres/PostgresAttestationPointerRepository.cs (670 lines)
- src/Findings/StellaOps.Findings.Ledger/Infrastructure/Postgres/PostgresFindingProjectionRepository.cs (746 lines)
- src/Findings/StellaOps.Findings.Ledger/Infrastructure/Postgres/PostgresLedgerEventRepository.cs (259 lines)
- src/Findings/StellaOps.Findings.Ledger/Infrastructure/Postgres/PostgresLedgerEventStream.cs (132 lines)
- src/Findings/StellaOps.Findings.Ledger/Infrastructure/Postgres/PostgresOrchestratorExportRepository.cs (147 lines)
- src/Findings/StellaOps.Findings.Ledger/Infrastructure/Postgres/PostgresSnapshotRepository.cs (404 lines)
- src/Findings/StellaOps.Findings.Ledger/Infrastructure/Postgres/PostgresTimeTravelRepository.cs (834 lines)
- src/Findings/StellaOps.Findings.Ledger/Infrastructure/Postgres/RlsValidationService.cs (169 lines)
- src/Findings/StellaOps.Findings.Ledger/Infrastructure/Projection/LedgerProjectionWorker.cs (207 lines)
- src/Findings/StellaOps.Findings.Ledger/Infrastructure/Snapshot/ISnapshotRepository.cs (207 lines)
- src/Findings/StellaOps.Findings.Ledger/Observability/LedgerMetrics.cs (670 lines)
- src/Findings/StellaOps.Findings.Ledger/Observability/LedgerTelemetry.cs (200 lines)
- src/Findings/StellaOps.Findings.Ledger/Observability/LedgerTimeline.cs (374 lines)
- src/Findings/StellaOps.Findings.Ledger/Observations/IObservationRepository.cs (188 lines)
- src/Findings/StellaOps.Findings.Ledger/Observations/PostgresObservationRepository.cs (344 lines)
- src/Findings/StellaOps.Findings.Ledger/Observations/SignalSnapshotBuilder.cs (390 lines)
- src/Findings/StellaOps.Findings.Ledger/Options/LedgerServiceOptions.cs (232 lines)
- src/Findings/StellaOps.Findings.Ledger/Services/AirgapImportService.cs (159 lines)
- src/Findings/StellaOps.Findings.Ledger/Services/AirgapTimelineService.cs (181 lines)
- src/Findings/StellaOps.Findings.Ledger/Services/AlertService.cs (184 lines)
- src/Findings/StellaOps.Findings.Ledger/Services/AttestationPointerService.cs (476 lines)
- src/Findings/StellaOps.Findings.Ledger/Services/DecisionService.cs (195 lines)
- src/Findings/StellaOps.Findings.Ledger/Services/EvidenceSnapshotService.cs (223 lines)
- src/Findings/StellaOps.Findings.Ledger/Services/FindingWorkflowService.cs (570 lines)
- src/Findings/StellaOps.Findings.Ledger/Services/LedgerEventWriteService.cs (308 lines)
- src/Findings/StellaOps.Findings.Ledger/Services/LedgerProjectionReducer.cs (259 lines)
- src/Findings/StellaOps.Findings.Ledger/Services/ScoredFindingsExportService.cs (240 lines)
- src/Findings/StellaOps.Findings.Ledger/Services/ScoredFindingsQueryModels.cs (129 lines)
- src/Findings/StellaOps.Findings.Ledger/Services/ScoredFindingsQueryService.cs (200 lines)
- src/Findings/StellaOps.Findings.Ledger/Services/ScoringMetricsService.cs (179 lines)
- src/Findings/StellaOps.Findings.Ledger/Services/SnapshotService.cs (441 lines)
- src/Findings/StellaOps.Findings.Ledger/Services/StalenessValidationService.cs (276 lines)
- src/Findings/StellaOps.Findings.Ledger/Services/Incident/LedgerIncidentCoordinator.cs (357 lines)
- src/Findings/StellaOps.Findings.Ledger/tools/LedgerReplayHarness/HarnessDraftParser.cs (306 lines)
- src/Findings/StellaOps.Findings.Ledger/tools/LedgerReplayHarness/Program.cs (549 lines)
- Namespace issues:
- src/Findings/StellaOps.Findings.Ledger/Infrastructure/Compatibility/IsExternalInit.cs: namespace not StellaOps.*
- src/Findings/StellaOps.Findings.Ledger/tools/LedgerReplayHarness/HarnessDraftParser.cs: namespace not StellaOps.*
- src/Findings/StellaOps.Findings.Ledger/tools/LedgerReplayHarness/HarnessFixtureException.cs: namespace not StellaOps.*
- src/Findings/StellaOps.Findings.Ledger/tools/LedgerReplayHarness/HarnessFixtureReader.cs: namespace not StellaOps.*
- src/Findings/StellaOps.Findings.Ledger/tools/LedgerReplayHarness/HarnessMath.cs: namespace not StellaOps.*
- Using directive issues:
- src/Findings/StellaOps.Findings.Ledger/Infrastructure/Exports/ExportPaging.cs: using directives inside namespace
- src/Findings/StellaOps.Findings.Ledger/Infrastructure/Policy/PolicyEngineEvaluationService.cs: using directives inside namespace
- src/Findings/StellaOps.Findings.Ledger/Infrastructure/Projection/LedgerProjectionWorker.cs: using directives inside namespace
- src/Findings/StellaOps.Findings.Ledger/Services/LedgerEventWriteService.cs: using directives inside namespace
- src/Findings/StellaOps.Findings.Ledger/Services/Attachments/AttachmentEncryptionService.cs: using directives inside namespace
- src/Findings/StellaOps.Findings.Ledger/tools/LedgerReplayHarness/HarnessFixtureReader.cs: using directives inside namespace
- src/Findings/StellaOps.Findings.Ledger/tools/LedgerReplayHarness/Program.cs: using directives not sorted
- Naming issues:
- src/Findings/StellaOps.Findings.Ledger/Hashing/LedgerCanonicalJsonSerializer.cs: private field naming
- src/Findings/StellaOps.Findings.Ledger/Infrastructure/Exports/ExportPaging.cs: private field naming
- src/Findings/StellaOps.Findings.Ledger/Infrastructure/Policy/PolicyEngineEvaluationService.cs: private field naming
- src/Findings/StellaOps.Findings.Ledger/Infrastructure/Postgres/PostgresAttestationPointerRepository.cs: private field naming
- src/Findings/StellaOps.Findings.Ledger/Infrastructure/Postgres/RlsValidationService.cs: private field naming
- src/Findings/StellaOps.Findings.Ledger/Observability/LedgerMetrics.cs: private field naming
- src/Findings/StellaOps.Findings.Ledger/Observability/LedgerTelemetry.cs: private field naming
- src/Findings/StellaOps.Findings.Ledger/Observability/LedgerTimeline.cs: private field naming
- src/Findings/StellaOps.Findings.Ledger/Observations/PostgresObservationRepository.cs: private field naming
- src/Findings/StellaOps.Findings.Ledger/Options/LedgerServiceOptions.cs: private field naming
- src/Findings/StellaOps.Findings.Ledger/Services/DecisionService.cs: private field naming
- src/Findings/StellaOps.Findings.Ledger/Services/FindingWorkflowService.cs: private field naming
- src/Findings/StellaOps.Findings.Ledger/Services/ScoredFindingsExportService.cs: private field naming
- src/Findings/StellaOps.Findings.Ledger/Services/Attachments/AttachmentEncryptionService.cs: private field naming
- src/Findings/StellaOps.Findings.Ledger/Services/Attachments/AttachmentUrlSigner.cs: private field naming
- src/Findings/StellaOps.Findings.Ledger/Services/Security/ConsoleCsrfValidator.cs: private field naming
- Async issues:
- src/Findings/StellaOps.Findings.Ledger/Infrastructure/Merkle/LedgerMerkleAnchorWorker.cs: async method naming
- src/Findings/StellaOps.Findings.Ledger/Infrastructure/Postgres/LedgerDataSource.cs: async method naming
- src/Findings/StellaOps.Findings.Ledger/Infrastructure/Postgres/PostgresAirgapImportRepository.cs: async method naming
- src/Findings/StellaOps.Findings.Ledger/Infrastructure/Postgres/PostgresAttestationPointerRepository.cs: async method naming
- src/Findings/StellaOps.Findings.Ledger/Infrastructure/Postgres/PostgresFindingProjectionRepository.cs: async method naming
- src/Findings/StellaOps.Findings.Ledger/Infrastructure/Postgres/PostgresLedgerEventRepository.cs: async method naming
- src/Findings/StellaOps.Findings.Ledger/Infrastructure/Postgres/PostgresOrchestratorExportRepository.cs: async method naming
- src/Findings/StellaOps.Findings.Ledger/Infrastructure/Postgres/PostgresSnapshotRepository.cs: missing ConfigureAwait(false)
- src/Findings/StellaOps.Findings.Ledger/Infrastructure/Postgres/PostgresTimeTravelRepository.cs: missing ConfigureAwait(false)
- src/Findings/StellaOps.Findings.Ledger/Infrastructure/Postgres/RlsValidationService.cs: async method naming
- src/Findings/StellaOps.Findings.Ledger/Infrastructure/Projection/LedgerProjectionWorker.cs: async method naming
- src/Findings/StellaOps.Findings.Ledger/Observations/PostgresObservationRepository.cs: missing ConfigureAwait(false)
- src/Findings/StellaOps.Findings.Ledger/Observations/SignalSnapshotBuilder.cs: async method naming
- src/Findings/StellaOps.Findings.Ledger/Observations/SignalSnapshotBuilder.cs: missing ConfigureAwait(false)
- src/Findings/StellaOps.Findings.Ledger/Services/AirgapImportService.cs: async method naming
- src/Findings/StellaOps.Findings.Ledger/Services/FindingWorkflowService.cs: async method naming
- src/Findings/StellaOps.Findings.Ledger/Services/LedgerEventWriteService.cs: async method naming
- src/Findings/StellaOps.Findings.Ledger/Services/OrchestratorExportService.cs: async method naming
- src/Findings/StellaOps.Findings.Ledger/Services/SnapshotService.cs: async method naming
- src/Findings/StellaOps.Findings.Ledger/Services/SnapshotService.cs: missing ConfigureAwait(false)
- Service locator matches:
- src/Findings/StellaOps.Findings.Ledger/tools/LedgerReplayHarness/Program.cs:95 var writeService = scope.ServiceProvider.GetRequiredService<ILedgerEventWriteService>();
- src/Findings/StellaOps.Findings.Ledger/tools/LedgerReplayHarness/Program.cs:96 var projectionWorker = scope.ServiceProvider.GetRequiredService<LedgerProjectionWorker>();
- src/Findings/StellaOps.Findings.Ledger/tools/LedgerReplayHarness/Program.cs:97 var anchorWorker = scope.ServiceProvider.GetRequiredService<LedgerMerkleAnchorWorker>();
- src/Findings/StellaOps.Findings.Ledger/tools/LedgerReplayHarness/Program.cs:98 var logger = scope.ServiceProvider.GetRequiredService<ILoggerFactory>().CreateLogger("Harness");
- src/Findings/StellaOps.Findings.Ledger/tools/LedgerReplayHarness/Program.cs:99 var timeProvider = scope.ServiceProvider.GetRequiredService<TimeProvider>();
- src/Findings/StellaOps.Findings.Ledger/tools/LedgerReplayHarness/Program.cs:289 var dataSource = services.GetRequiredService<LedgerDataSource>();
- 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.
- Replace service locator usage with constructor injection.
- Split files over 100 lines into smaller types or partials.
## File-Level Findings
- Status: FAIL
- Files scanned: 98
- Files with issues: 55
- See docs/implplan/audits/csproj-standards/file-audit.csv for full per-file status.
| File | Issues | Fix guidance |
| --- | --- | --- |
| src/Findings/StellaOps.Findings.Ledger/Domain/DecisionModels.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Findings/StellaOps.Findings.Ledger/Domain/SnapshotModels.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Findings/StellaOps.Findings.Ledger/Hashing/LedgerCanonicalJsonSerializer.cs | PrivateFieldNaming | Rename private fields to _camelCase. |
| src/Findings/StellaOps.Findings.Ledger/Hashing/ProjectionHashing.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Findings/StellaOps.Findings.Ledger/Infrastructure/Attestation/AttestationPointerRecord.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Findings/StellaOps.Findings.Ledger/Infrastructure/Compatibility/IsExternalInit.cs | NamespaceNotStellaOps | Update namespace to StellaOps.<Area>. |
| src/Findings/StellaOps.Findings.Ledger/Infrastructure/Exports/ExportPaging.cs | PrivateFieldNaming; UsingInsideNamespace | Move using directives outside namespace.; Rename private fields to _camelCase. |
| src/Findings/StellaOps.Findings.Ledger/Infrastructure/Merkle/LedgerMerkleAnchorWorker.cs | AsyncNaming; FileLength>100 | Rename async methods to end with Async.; Split file to stay <= 100 lines. |
| src/Findings/StellaOps.Findings.Ledger/Infrastructure/Policy/InlinePolicyEvaluationService.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Findings/StellaOps.Findings.Ledger/Infrastructure/Policy/PolicyEngineEvaluationService.cs | FileLength>100; PrivateFieldNaming; UsingInsideNamespace | Move using directives outside namespace.; Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Findings/StellaOps.Findings.Ledger/Infrastructure/Policy/PolicyEvaluationCache.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Findings/StellaOps.Findings.Ledger/Infrastructure/Postgres/LedgerDataSource.cs | AsyncNaming; FileLength>100 | Rename async methods to end with Async.; Split file to stay <= 100 lines. |
| src/Findings/StellaOps.Findings.Ledger/Infrastructure/Postgres/PostgresAirgapImportRepository.cs | AsyncNaming; FileLength>100 | Rename async methods to end with Async.; Split file to stay <= 100 lines. |
| src/Findings/StellaOps.Findings.Ledger/Infrastructure/Postgres/PostgresAttestationPointerRepository.cs | AsyncNaming; FileLength>100; PrivateFieldNaming | Rename async methods to end with Async.; Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Findings/StellaOps.Findings.Ledger/Infrastructure/Postgres/PostgresFindingProjectionRepository.cs | AsyncNaming; FileLength>100 | Rename async methods to end with Async.; Split file to stay <= 100 lines. |
| src/Findings/StellaOps.Findings.Ledger/Infrastructure/Postgres/PostgresLedgerEventRepository.cs | AsyncNaming; FileLength>100 | Rename async methods to end with Async.; Split file to stay <= 100 lines. |
| src/Findings/StellaOps.Findings.Ledger/Infrastructure/Postgres/PostgresLedgerEventStream.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Findings/StellaOps.Findings.Ledger/Infrastructure/Postgres/PostgresOrchestratorExportRepository.cs | AsyncNaming; FileLength>100 | Rename async methods to end with Async.; Split file to stay <= 100 lines. |
| src/Findings/StellaOps.Findings.Ledger/Infrastructure/Postgres/PostgresSnapshotRepository.cs | ConfigureAwaitMissing; FileLength>100 | Add ConfigureAwait(false) to awaited calls in library-like code.; Split file to stay <= 100 lines. |
| src/Findings/StellaOps.Findings.Ledger/Infrastructure/Postgres/PostgresTimeTravelRepository.cs | ConfigureAwaitMissing; FileLength>100 | Add ConfigureAwait(false) to awaited calls in library-like code.; Split file to stay <= 100 lines. |
| src/Findings/StellaOps.Findings.Ledger/Infrastructure/Postgres/RlsValidationService.cs | AsyncNaming; FileLength>100; PrivateFieldNaming | Rename async methods to end with Async.; Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Findings/StellaOps.Findings.Ledger/Infrastructure/Projection/LedgerProjectionWorker.cs | AsyncNaming; FileLength>100; UsingInsideNamespace | Move using directives outside namespace.; Rename async methods to end with Async.; Split file to stay <= 100 lines. |
| src/Findings/StellaOps.Findings.Ledger/Infrastructure/Snapshot/ISnapshotRepository.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Findings/StellaOps.Findings.Ledger/Observability/LedgerMetrics.cs | FileLength>100; PrivateFieldNaming | Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Findings/StellaOps.Findings.Ledger/Observability/LedgerTelemetry.cs | FileLength>100; PrivateFieldNaming | Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Findings/StellaOps.Findings.Ledger/Observability/LedgerTimeline.cs | FileLength>100; PrivateFieldNaming | Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Findings/StellaOps.Findings.Ledger/Observations/IObservationRepository.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Findings/StellaOps.Findings.Ledger/Observations/PostgresObservationRepository.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/Findings/StellaOps.Findings.Ledger/Observations/SignalSnapshotBuilder.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/Findings/StellaOps.Findings.Ledger/Options/LedgerServiceOptions.cs | FileLength>100; PrivateFieldNaming | Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Findings/StellaOps.Findings.Ledger/Services/AirgapImportService.cs | AsyncNaming; FileLength>100 | Rename async methods to end with Async.; Split file to stay <= 100 lines. |
| src/Findings/StellaOps.Findings.Ledger/Services/AirgapTimelineService.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Findings/StellaOps.Findings.Ledger/Services/AlertService.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Findings/StellaOps.Findings.Ledger/Services/AttestationPointerService.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Findings/StellaOps.Findings.Ledger/Services/DecisionService.cs | FileLength>100; PrivateFieldNaming | Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Findings/StellaOps.Findings.Ledger/Services/EvidenceSnapshotService.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Findings/StellaOps.Findings.Ledger/Services/FindingWorkflowService.cs | AsyncNaming; FileLength>100; PrivateFieldNaming | Rename async methods to end with Async.; Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Findings/StellaOps.Findings.Ledger/Services/LedgerEventWriteService.cs | AsyncNaming; FileLength>100; UsingInsideNamespace | Move using directives outside namespace.; Rename async methods to end with Async.; Split file to stay <= 100 lines. |
| src/Findings/StellaOps.Findings.Ledger/Services/LedgerProjectionReducer.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Findings/StellaOps.Findings.Ledger/Services/OrchestratorExportService.cs | AsyncNaming | Rename async methods to end with Async. |
| src/Findings/StellaOps.Findings.Ledger/Services/ScoredFindingsExportService.cs | FileLength>100; PrivateFieldNaming | Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Findings/StellaOps.Findings.Ledger/Services/ScoredFindingsQueryModels.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Findings/StellaOps.Findings.Ledger/Services/ScoredFindingsQueryService.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Findings/StellaOps.Findings.Ledger/Services/ScoringMetricsService.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Findings/StellaOps.Findings.Ledger/Services/SnapshotService.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/Findings/StellaOps.Findings.Ledger/Services/StalenessValidationService.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Findings/StellaOps.Findings.Ledger/Services/Attachments/AttachmentEncryptionService.cs | PrivateFieldNaming; UsingInsideNamespace | Move using directives outside namespace.; Rename private fields to _camelCase. |
| src/Findings/StellaOps.Findings.Ledger/Services/Attachments/AttachmentUrlSigner.cs | PrivateFieldNaming | Rename private fields to _camelCase. |
| src/Findings/StellaOps.Findings.Ledger/Services/Incident/LedgerIncidentCoordinator.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Findings/StellaOps.Findings.Ledger/Services/Security/ConsoleCsrfValidator.cs | PrivateFieldNaming | Rename private fields to _camelCase. |
| src/Findings/StellaOps.Findings.Ledger/tools/LedgerReplayHarness/HarnessDraftParser.cs | FileLength>100; NamespaceNotStellaOps | Split file to stay <= 100 lines.; Update namespace to StellaOps.<Area>. |
| src/Findings/StellaOps.Findings.Ledger/tools/LedgerReplayHarness/HarnessFixtureException.cs | NamespaceNotStellaOps | Update namespace to StellaOps.<Area>. |
| src/Findings/StellaOps.Findings.Ledger/tools/LedgerReplayHarness/HarnessFixtureReader.cs | NamespaceNotStellaOps; UsingInsideNamespace | Move using directives outside namespace.; Update namespace to StellaOps.<Area>. |
| src/Findings/StellaOps.Findings.Ledger/tools/LedgerReplayHarness/HarnessMath.cs | NamespaceNotStellaOps | Update namespace to StellaOps.<Area>. |
| src/Findings/StellaOps.Findings.Ledger/tools/LedgerReplayHarness/Program.cs | FileLength>100; ServiceLocator; UsingNotSorted | Remove service locator usage; use constructor injection.; Sort using directives alphabetically.; Split file to stay <= 100 lines. |
## Testing Fullness Findings
- Status: PASS
- Expected layers (heuristic): Unit
- Detected test projects: src/Findings/__Tests/StellaOps.Findings.Ledger.Tests/StellaOps.Findings.Ledger.Tests.csproj [Unit]; src/Findings/StellaOps.Findings.Ledger.Tests/StellaOps.Findings.Ledger.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,87 @@
# Audit - LedgerReplayHarness
## Project
- Path: src/Findings/StellaOps.Findings.Ledger/tools/LedgerReplayHarness/LedgerReplayHarness.csproj
- Module: Findings
- Kind: Tool
- 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: 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/Findings/StellaOps.Findings.Ledger/tools/LedgerReplayHarness/HarnessDraftParser.cs (304 lines)
- src/Findings/StellaOps.Findings.Ledger/tools/LedgerReplayHarness/Program.cs (549 lines)
- Namespace issues:
- src/Findings/StellaOps.Findings.Ledger/tools/LedgerReplayHarness/HarnessDraftParser.cs: missing namespace
- src/Findings/StellaOps.Findings.Ledger/tools/LedgerReplayHarness/HarnessFixtureException.cs: missing namespace
- src/Findings/StellaOps.Findings.Ledger/tools/LedgerReplayHarness/HarnessFixtureReader.cs: missing namespace
- src/Findings/StellaOps.Findings.Ledger/tools/LedgerReplayHarness/HarnessMath.cs: missing namespace
- src/Findings/StellaOps.Findings.Ledger/tools/LedgerReplayHarness/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs: missing namespace
- src/Findings/StellaOps.Findings.Ledger/tools/LedgerReplayHarness/obj/Debug/net10.0/LedgerReplayHarness.AssemblyInfo.cs: missing namespace
- src/Findings/StellaOps.Findings.Ledger/tools/LedgerReplayHarness/obj/Debug/net10.0/LedgerReplayHarness.GlobalUsings.g.cs: missing namespace
- src/Findings/StellaOps.Findings.Ledger/tools/LedgerReplayHarness/obj/Release/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs: missing namespace
- src/Findings/StellaOps.Findings.Ledger/tools/LedgerReplayHarness/obj/Release/net10.0/LedgerReplayHarness.AssemblyInfo.cs: missing namespace
- src/Findings/StellaOps.Findings.Ledger/tools/LedgerReplayHarness/obj/Release/net10.0/LedgerReplayHarness.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/Findings/StellaOps.Findings.Ledger/tools/LedgerReplayHarness/HarnessDraftParser.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Findings/StellaOps.Findings.Ledger/tools/LedgerReplayHarness/HarnessFixtureException.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Findings/StellaOps.Findings.Ledger/tools/LedgerReplayHarness/HarnessFixtureReader.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Findings/StellaOps.Findings.Ledger/tools/LedgerReplayHarness/HarnessMath.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Findings/StellaOps.Findings.Ledger/tools/LedgerReplayHarness/Program.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Findings/StellaOps.Findings.Ledger/tools/LedgerReplayHarness/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Findings/StellaOps.Findings.Ledger/tools/LedgerReplayHarness/obj/Debug/net10.0/LedgerReplayHarness.AssemblyInfo.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Findings/StellaOps.Findings.Ledger/tools/LedgerReplayHarness/obj/Debug/net10.0/LedgerReplayHarness.GlobalUsings.g.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Findings/StellaOps.Findings.Ledger/tools/LedgerReplayHarness/obj/Release/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Findings/StellaOps.Findings.Ledger/tools/LedgerReplayHarness/obj/Release/net10.0/LedgerReplayHarness.AssemblyInfo.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Findings/StellaOps.Findings.Ledger/tools/LedgerReplayHarness/obj/Release/net10.0/LedgerReplayHarness.GlobalUsings.g.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
## Testing Fullness Findings
- Status: PASS
- Expected layers (heuristic): Unit
- Detected test projects: src/Findings/__Tests/StellaOps.Findings.Ledger.ReplayHarness.Tests/StellaOps.Findings.Ledger.ReplayHarness.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,83 @@
# Audit - LedgerReplayHarness
## Project
- Path: src/Findings/StellaOps.Findings.Ledger/tools/LedgerReplayHarness/LedgerReplayHarness.csproj
- Module: Findings
- Kind: Tool
- 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: 2
- Namespace violations: 4
- Using directive violations: 2
- Naming violations (interfaces/fields/const/async): 0
- Service locator usage (BuildServiceProvider/GetService): 6
- Assembly.LoadFrom usage: 0
### Details
- 100-line files:
- src/Findings/StellaOps.Findings.Ledger/tools/LedgerReplayHarness/HarnessDraftParser.cs (306 lines)
- src/Findings/StellaOps.Findings.Ledger/tools/LedgerReplayHarness/Program.cs (549 lines)
- Namespace issues:
- src/Findings/StellaOps.Findings.Ledger/tools/LedgerReplayHarness/HarnessDraftParser.cs: namespace not StellaOps.*
- src/Findings/StellaOps.Findings.Ledger/tools/LedgerReplayHarness/HarnessFixtureException.cs: namespace not StellaOps.*
- src/Findings/StellaOps.Findings.Ledger/tools/LedgerReplayHarness/HarnessFixtureReader.cs: namespace not StellaOps.*
- src/Findings/StellaOps.Findings.Ledger/tools/LedgerReplayHarness/HarnessMath.cs: namespace not StellaOps.*
- Using directive issues:
- src/Findings/StellaOps.Findings.Ledger/tools/LedgerReplayHarness/HarnessFixtureReader.cs: using directives inside namespace
- src/Findings/StellaOps.Findings.Ledger/tools/LedgerReplayHarness/Program.cs: using directives not sorted
- Naming issues:
- none
- Async issues:
- none
- Service locator matches:
- src/Findings/StellaOps.Findings.Ledger/tools/LedgerReplayHarness/Program.cs:95 var writeService = scope.ServiceProvider.GetRequiredService<ILedgerEventWriteService>();
- src/Findings/StellaOps.Findings.Ledger/tools/LedgerReplayHarness/Program.cs:96 var projectionWorker = scope.ServiceProvider.GetRequiredService<LedgerProjectionWorker>();
- src/Findings/StellaOps.Findings.Ledger/tools/LedgerReplayHarness/Program.cs:97 var anchorWorker = scope.ServiceProvider.GetRequiredService<LedgerMerkleAnchorWorker>();
- src/Findings/StellaOps.Findings.Ledger/tools/LedgerReplayHarness/Program.cs:98 var logger = scope.ServiceProvider.GetRequiredService<ILoggerFactory>().CreateLogger("Harness");
- src/Findings/StellaOps.Findings.Ledger/tools/LedgerReplayHarness/Program.cs:99 var timeProvider = scope.ServiceProvider.GetRequiredService<TimeProvider>();
- src/Findings/StellaOps.Findings.Ledger/tools/LedgerReplayHarness/Program.cs:289 var dataSource = services.GetRequiredService<LedgerDataSource>();
- Assembly.LoadFrom matches:
- none
### Fix Guidance
- Move and sort using directives (outside namespace).
- 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: 5
- Files with issues: 5
- See docs/implplan/audits/csproj-standards/file-audit.csv for full per-file status.
| File | Issues | Fix guidance |
| --- | --- | --- |
| src/Findings/StellaOps.Findings.Ledger/tools/LedgerReplayHarness/HarnessDraftParser.cs | FileLength>100; NamespaceNotStellaOps | Split file to stay <= 100 lines.; Update namespace to StellaOps.<Area>. |
| src/Findings/StellaOps.Findings.Ledger/tools/LedgerReplayHarness/HarnessFixtureException.cs | NamespaceNotStellaOps | Update namespace to StellaOps.<Area>. |
| src/Findings/StellaOps.Findings.Ledger/tools/LedgerReplayHarness/HarnessFixtureReader.cs | NamespaceNotStellaOps; UsingInsideNamespace | Move using directives outside namespace.; Update namespace to StellaOps.<Area>. |
| src/Findings/StellaOps.Findings.Ledger/tools/LedgerReplayHarness/HarnessMath.cs | NamespaceNotStellaOps | Update namespace to StellaOps.<Area>. |
| src/Findings/StellaOps.Findings.Ledger/tools/LedgerReplayHarness/Program.cs | FileLength>100; ServiceLocator; UsingNotSorted | Remove service locator usage; use constructor injection.; Sort using directives alphabetically.; Split file to stay <= 100 lines. |
## Testing Fullness Findings
- Status: PASS
- Expected layers (heuristic): Unit
- Detected test projects: src/Findings/__Tests/StellaOps.Findings.Ledger.ReplayHarness.Tests/StellaOps.Findings.Ledger.ReplayHarness.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,74 @@
# Audit - StellaOps.Findings.Ledger.ReplayHarness.Tests
## Project
- Path: src/Findings/__Tests/StellaOps.Findings.Ledger.ReplayHarness.Tests/StellaOps.Findings.Ledger.ReplayHarness.Tests.csproj
- Module: Findings
- Kind: Test
- 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: inherited false
- Deterministic: inherited true
- 100-line rule violations: 0
- Namespace violations: 2
- Using directive violations: 3
- Naming violations (interfaces/fields/const/async): 2
- Service locator usage (BuildServiceProvider/GetService): 0
- Assembly.LoadFrom usage: 0
### Details
- 100-line files:
- none
- Namespace issues:
- src/Findings/__Tests/StellaOps.Findings.Ledger.ReplayHarness.Tests/HarnessFixtureReaderTests.cs: namespace not StellaOps.*
- src/Findings/__Tests/StellaOps.Findings.Ledger.ReplayHarness.Tests/HarnessMathTests.cs: namespace not StellaOps.*
- Using directive issues:
- src/Findings/__Tests/StellaOps.Findings.Ledger.ReplayHarness.Tests/HarnessFixtureReaderTests.cs: using directives not sorted
- src/Findings/__Tests/StellaOps.Findings.Ledger.ReplayHarness.Tests/HarnessMathTests.cs: using directives inside namespace
- src/Findings/__Tests/StellaOps.Findings.Ledger.ReplayHarness.Tests/HarnessMathTests.cs: using directives not sorted
- Naming issues:
- none
- Async issues:
- src/Findings/__Tests/StellaOps.Findings.Ledger.ReplayHarness.Tests/HarnessFixtureReaderTests.cs: async method naming
- src/Findings/__Tests/StellaOps.Findings.Ledger.ReplayHarness.Tests/HarnessFixtureReaderTests.cs: missing ConfigureAwait(false)
- Service locator matches:
- none
- Assembly.LoadFrom matches:
- none
### Fix Guidance
- Move and sort using directives (outside namespace).
- Normalize namespaces to file-scoped StellaOps.<Area>.
- Remove overrides that disable TreatWarningsAsErrors.
- Rename async methods and avoid blocking async calls.
## 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/Findings/__Tests/StellaOps.Findings.Ledger.ReplayHarness.Tests/HarnessFixtureReaderTests.cs | AsyncNaming; ConfigureAwaitMissing; NamespaceNotStellaOps; UsingNotSorted | Add ConfigureAwait(false) to awaited calls in library-like code.; Rename async methods to end with Async.; Sort using directives alphabetically.; Update namespace to StellaOps.<Area>. |
| src/Findings/__Tests/StellaOps.Findings.Ledger.ReplayHarness.Tests/HarnessMathTests.cs | NamespaceNotStellaOps; UsingInsideNamespace; UsingNotSorted | Move using directives outside namespace.; Sort using directives alphabetically.; Update namespace to StellaOps.<Area>. |
## 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,157 @@
# Audit - StellaOps.Findings.Ledger.Tests
## Project
- Path: src/Findings/__Tests/StellaOps.Findings.Ledger.Tests/StellaOps.Findings.Ledger.Tests.csproj
- Module: Findings
- Kind: Test
- Audit date (UTC): 2026-01-31
- Files scanned: 24
- Files with issues: 22
- File-level report: docs/implplan/audits/csproj-standards/file-audit.csv
## Coding Standards Findings
- Status: FAIL
- Nullable: enable
- TreatWarningsAsErrors: inherited false
- Deterministic: inherited true
- 100-line rule violations: 18
- Namespace violations: 1
- Using directive violations: 21
- Naming violations (interfaces/fields/const/async): 30
- Service locator usage (BuildServiceProvider/GetService): 0
- Assembly.LoadFrom usage: 0
### Details
- 100-line files:
- src/Findings/__Tests/StellaOps.Findings.Ledger.Tests/FindingWorkflowServiceTests.cs (187 lines)
- src/Findings/__Tests/StellaOps.Findings.Ledger.Tests/InlinePolicyEvaluationServiceTests.cs (178 lines)
- src/Findings/__Tests/StellaOps.Findings.Ledger.Tests/LedgerEventWriteServiceTests.cs (212 lines)
- src/Findings/__Tests/StellaOps.Findings.Ledger.Tests/LedgerMetricsTests.cs (234 lines)
- src/Findings/__Tests/StellaOps.Findings.Ledger.Tests/LedgerProjectionReducerTests.cs (237 lines)
- src/Findings/__Tests/StellaOps.Findings.Ledger.Tests/PolicyEngineEvaluationServiceTests.cs (192 lines)
- src/Findings/__Tests/StellaOps.Findings.Ledger.Tests/ScoredFindingsQueryServiceTests.cs (119 lines)
- src/Findings/__Tests/StellaOps.Findings.Ledger.Tests/Integration/EvidenceDecisionApiIntegrationTests.cs (182 lines)
- src/Findings/__Tests/StellaOps.Findings.Ledger.Tests/Integration/FindingsLedgerWebApplicationFactory.cs (176 lines)
- src/Findings/__Tests/StellaOps.Findings.Ledger.Tests/Integration/ScoringAuthorizationTests.cs (256 lines)
- src/Findings/__Tests/StellaOps.Findings.Ledger.Tests/Integration/ScoringEndpointsIntegrationTests.cs (471 lines)
- src/Findings/__Tests/StellaOps.Findings.Ledger.Tests/Integration/ScoringObservabilityTests.cs (278 lines)
- src/Findings/__Tests/StellaOps.Findings.Ledger.Tests/Integration/WebhookEndpointsIntegrationTests.cs (282 lines)
- src/Findings/__Tests/StellaOps.Findings.Ledger.Tests/Observations/SignalSnapshotBuilderTests.cs (258 lines)
- src/Findings/__Tests/StellaOps.Findings.Ledger.Tests/Schema/OpenApiSchemaTests.cs (232 lines)
- src/Findings/__Tests/StellaOps.Findings.Ledger.Tests/Services/EvidenceGraphBuilderTests.cs (318 lines)
- src/Findings/__Tests/StellaOps.Findings.Ledger.Tests/Services/FindingScoringServiceTests.cs (353 lines)
- src/Findings/__Tests/StellaOps.Findings.Ledger.Tests/Services/FindingSummaryBuilderTests.cs (177 lines)
- Namespace issues:
- src/Findings/__Tests/StellaOps.Findings.Ledger.Tests/HarnessRunner.cs: namespace not StellaOps.*
- Using directive issues:
- src/Findings/__Tests/StellaOps.Findings.Ledger.Tests/FindingWorkflowServiceTests.cs: using directives not sorted
- src/Findings/__Tests/StellaOps.Findings.Ledger.Tests/HarnessRunnerTests.cs: using directives inside namespace
- src/Findings/__Tests/StellaOps.Findings.Ledger.Tests/HarnessRunnerTests.cs: using directives not sorted
- src/Findings/__Tests/StellaOps.Findings.Ledger.Tests/InlinePolicyEvaluationServiceTests.cs: using directives not sorted
- src/Findings/__Tests/StellaOps.Findings.Ledger.Tests/LedgerEventWriteServiceTests.cs: using directives not sorted
- src/Findings/__Tests/StellaOps.Findings.Ledger.Tests/LedgerMetricsTests.cs: using directives inside namespace
- src/Findings/__Tests/StellaOps.Findings.Ledger.Tests/LedgerMetricsTests.cs: using directives not sorted
- src/Findings/__Tests/StellaOps.Findings.Ledger.Tests/LedgerProjectionReducerTests.cs: using directives not sorted
- src/Findings/__Tests/StellaOps.Findings.Ledger.Tests/OpenApiMetadataFactoryTests.cs: using directives not sorted
- src/Findings/__Tests/StellaOps.Findings.Ledger.Tests/OpenApiSdkSurfaceTests.cs: using directives not sorted
- src/Findings/__Tests/StellaOps.Findings.Ledger.Tests/PolicyEngineEvaluationServiceTests.cs: using directives inside namespace
- src/Findings/__Tests/StellaOps.Findings.Ledger.Tests/PolicyEngineEvaluationServiceTests.cs: using directives not sorted
- src/Findings/__Tests/StellaOps.Findings.Ledger.Tests/ScoredFindingsQueryServiceTests.cs: using directives not sorted
- src/Findings/__Tests/StellaOps.Findings.Ledger.Tests/Integration/EvidenceDecisionApiIntegrationTests.cs: using directives not sorted
- src/Findings/__Tests/StellaOps.Findings.Ledger.Tests/Integration/FindingsLedgerWebApplicationFactory.cs: using directives not sorted
- src/Findings/__Tests/StellaOps.Findings.Ledger.Tests/Integration/ScoringAuthorizationTests.cs: using directives not sorted
- src/Findings/__Tests/StellaOps.Findings.Ledger.Tests/Integration/ScoringEndpointsIntegrationTests.cs: using directives not sorted
- src/Findings/__Tests/StellaOps.Findings.Ledger.Tests/Integration/ScoringObservabilityTests.cs: using directives not sorted
- src/Findings/__Tests/StellaOps.Findings.Ledger.Tests/Integration/WebhookEndpointsIntegrationTests.cs: using directives not sorted
- src/Findings/__Tests/StellaOps.Findings.Ledger.Tests/Schema/OpenApiSchemaTests.cs: using directives not sorted
- src/Findings/__Tests/StellaOps.Findings.Ledger.Tests/Services/FindingScoringServiceTests.cs: using directives not sorted
- Naming issues:
- src/Findings/__Tests/StellaOps.Findings.Ledger.Tests/PolicyEngineEvaluationServiceTests.cs: private field naming
- src/Findings/__Tests/StellaOps.Findings.Ledger.Tests/Schema/OpenApiSchemaTests.cs: private field naming
- Async issues:
- src/Findings/__Tests/StellaOps.Findings.Ledger.Tests/FindingWorkflowServiceTests.cs: async method naming
- src/Findings/__Tests/StellaOps.Findings.Ledger.Tests/FindingWorkflowServiceTests.cs: missing ConfigureAwait(false)
- src/Findings/__Tests/StellaOps.Findings.Ledger.Tests/HarnessRunnerTests.cs: async method naming
- src/Findings/__Tests/StellaOps.Findings.Ledger.Tests/HarnessRunnerTests.cs: missing ConfigureAwait(false)
- src/Findings/__Tests/StellaOps.Findings.Ledger.Tests/InlinePolicyEvaluationServiceTests.cs: async method naming
- src/Findings/__Tests/StellaOps.Findings.Ledger.Tests/InlinePolicyEvaluationServiceTests.cs: missing ConfigureAwait(false)
- src/Findings/__Tests/StellaOps.Findings.Ledger.Tests/LedgerEventWriteServiceTests.cs: async method naming
- src/Findings/__Tests/StellaOps.Findings.Ledger.Tests/LedgerEventWriteServiceTests.cs: missing ConfigureAwait(false)
- src/Findings/__Tests/StellaOps.Findings.Ledger.Tests/PolicyEngineEvaluationServiceTests.cs: async method naming
- src/Findings/__Tests/StellaOps.Findings.Ledger.Tests/PolicyEngineEvaluationServiceTests.cs: missing ConfigureAwait(false)
- src/Findings/__Tests/StellaOps.Findings.Ledger.Tests/ScoredFindingsQueryServiceTests.cs: async method naming
- src/Findings/__Tests/StellaOps.Findings.Ledger.Tests/ScoredFindingsQueryServiceTests.cs: missing ConfigureAwait(false)
- src/Findings/__Tests/StellaOps.Findings.Ledger.Tests/Integration/EvidenceDecisionApiIntegrationTests.cs: async method naming
- src/Findings/__Tests/StellaOps.Findings.Ledger.Tests/Integration/EvidenceDecisionApiIntegrationTests.cs: missing ConfigureAwait(false)
- src/Findings/__Tests/StellaOps.Findings.Ledger.Tests/Integration/ScoringAuthorizationTests.cs: async method naming
- src/Findings/__Tests/StellaOps.Findings.Ledger.Tests/Integration/ScoringAuthorizationTests.cs: missing ConfigureAwait(false)
- src/Findings/__Tests/StellaOps.Findings.Ledger.Tests/Integration/ScoringEndpointsIntegrationTests.cs: async method naming
- src/Findings/__Tests/StellaOps.Findings.Ledger.Tests/Integration/ScoringEndpointsIntegrationTests.cs: missing ConfigureAwait(false)
- src/Findings/__Tests/StellaOps.Findings.Ledger.Tests/Integration/ScoringObservabilityTests.cs: async method naming
- src/Findings/__Tests/StellaOps.Findings.Ledger.Tests/Integration/ScoringObservabilityTests.cs: missing ConfigureAwait(false)
- src/Findings/__Tests/StellaOps.Findings.Ledger.Tests/Integration/WebhookEndpointsIntegrationTests.cs: async method naming
- src/Findings/__Tests/StellaOps.Findings.Ledger.Tests/Integration/WebhookEndpointsIntegrationTests.cs: missing ConfigureAwait(false)
- src/Findings/__Tests/StellaOps.Findings.Ledger.Tests/Observations/SignalSnapshotBuilderTests.cs: async method naming
- src/Findings/__Tests/StellaOps.Findings.Ledger.Tests/Observations/SignalSnapshotBuilderTests.cs: missing ConfigureAwait(false)
- src/Findings/__Tests/StellaOps.Findings.Ledger.Tests/Services/EvidenceGraphBuilderTests.cs: async method naming
- src/Findings/__Tests/StellaOps.Findings.Ledger.Tests/Services/EvidenceGraphBuilderTests.cs: missing ConfigureAwait(false)
- src/Findings/__Tests/StellaOps.Findings.Ledger.Tests/Services/FindingScoringServiceTests.cs: async method naming
- src/Findings/__Tests/StellaOps.Findings.Ledger.Tests/Services/FindingScoringServiceTests.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>.
- 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: 24
- Files with issues: 22
- See docs/implplan/audits/csproj-standards/file-audit.csv for full per-file status.
| File | Issues | Fix guidance |
| --- | --- | --- |
| src/Findings/__Tests/StellaOps.Findings.Ledger.Tests/FindingWorkflowServiceTests.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. |
| src/Findings/__Tests/StellaOps.Findings.Ledger.Tests/HarnessRunner.cs | NamespaceNotStellaOps | Update namespace to StellaOps.<Area>. |
| src/Findings/__Tests/StellaOps.Findings.Ledger.Tests/HarnessRunnerTests.cs | AsyncNaming; ConfigureAwaitMissing; UsingInsideNamespace; UsingNotSorted | Add ConfigureAwait(false) to awaited calls in library-like code.; Move using directives outside namespace.; Rename async methods to end with Async.; Sort using directives alphabetically. |
| src/Findings/__Tests/StellaOps.Findings.Ledger.Tests/InlinePolicyEvaluationServiceTests.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. |
| src/Findings/__Tests/StellaOps.Findings.Ledger.Tests/LedgerEventWriteServiceTests.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. |
| src/Findings/__Tests/StellaOps.Findings.Ledger.Tests/LedgerMetricsTests.cs | FileLength>100; UsingInsideNamespace; UsingNotSorted | Move using directives outside namespace.; Sort using directives alphabetically.; Split file to stay <= 100 lines. |
| src/Findings/__Tests/StellaOps.Findings.Ledger.Tests/LedgerProjectionReducerTests.cs | FileLength>100; UsingNotSorted | Sort using directives alphabetically.; Split file to stay <= 100 lines. |
| src/Findings/__Tests/StellaOps.Findings.Ledger.Tests/OpenApiMetadataFactoryTests.cs | UsingNotSorted | Sort using directives alphabetically. |
| src/Findings/__Tests/StellaOps.Findings.Ledger.Tests/OpenApiSdkSurfaceTests.cs | UsingNotSorted | Sort using directives alphabetically. |
| src/Findings/__Tests/StellaOps.Findings.Ledger.Tests/PolicyEngineEvaluationServiceTests.cs | AsyncNaming; ConfigureAwaitMissing; FileLength>100; PrivateFieldNaming; UsingInsideNamespace; UsingNotSorted | 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.; Sort using directives alphabetically.; Split file to stay <= 100 lines. |
| src/Findings/__Tests/StellaOps.Findings.Ledger.Tests/ScoredFindingsQueryServiceTests.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. |
| src/Findings/__Tests/StellaOps.Findings.Ledger.Tests/Integration/EvidenceDecisionApiIntegrationTests.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. |
| src/Findings/__Tests/StellaOps.Findings.Ledger.Tests/Integration/FindingsLedgerWebApplicationFactory.cs | FileLength>100; UsingNotSorted | Sort using directives alphabetically.; Split file to stay <= 100 lines. |
| src/Findings/__Tests/StellaOps.Findings.Ledger.Tests/Integration/ScoringAuthorizationTests.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. |
| src/Findings/__Tests/StellaOps.Findings.Ledger.Tests/Integration/ScoringEndpointsIntegrationTests.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. |
| src/Findings/__Tests/StellaOps.Findings.Ledger.Tests/Integration/ScoringObservabilityTests.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. |
| src/Findings/__Tests/StellaOps.Findings.Ledger.Tests/Integration/WebhookEndpointsIntegrationTests.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. |
| src/Findings/__Tests/StellaOps.Findings.Ledger.Tests/Observations/SignalSnapshotBuilderTests.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/Findings/__Tests/StellaOps.Findings.Ledger.Tests/Schema/OpenApiSchemaTests.cs | FileLength>100; PrivateFieldNaming; UsingNotSorted | Rename private fields to _camelCase.; Sort using directives alphabetically.; Split file to stay <= 100 lines. |
| src/Findings/__Tests/StellaOps.Findings.Ledger.Tests/Services/EvidenceGraphBuilderTests.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/Findings/__Tests/StellaOps.Findings.Ledger.Tests/Services/FindingScoringServiceTests.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. |
| src/Findings/__Tests/StellaOps.Findings.Ledger.Tests/Services/FindingSummaryBuilderTests.cs | FileLength>100 | 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.

View File

@@ -0,0 +1,76 @@
# Audit - StellaOps.Findings.Tools.LedgerReplayHarness.Tests
## Project
- Path: src/Findings/__Tests/StellaOps.Findings.Tools.LedgerReplayHarness.Tests/StellaOps.Findings.Tools.LedgerReplayHarness.Tests.csproj
- Module: Findings
- Kind: Test
- 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: inherited false
- Deterministic: inherited true
- 100-line rule violations: 0
- Namespace violations: 2
- Using directive violations: 3
- Naming violations (interfaces/fields/const/async): 4
- Service locator usage (BuildServiceProvider/GetService): 0
- Assembly.LoadFrom usage: 0
### Details
- 100-line files:
- none
- Namespace issues:
- src/Findings/__Tests/StellaOps.Findings.Tools.LedgerReplayHarness.Tests/HarnessFixtureReaderTests.cs: namespace not StellaOps.*
- src/Findings/__Tests/StellaOps.Findings.Tools.LedgerReplayHarness.Tests/HarnessRunnerTests.cs: namespace not StellaOps.*
- Using directive issues:
- src/Findings/__Tests/StellaOps.Findings.Tools.LedgerReplayHarness.Tests/HarnessFixtureReaderTests.cs: using directives not sorted
- src/Findings/__Tests/StellaOps.Findings.Tools.LedgerReplayHarness.Tests/HarnessRunnerTests.cs: using directives inside namespace
- src/Findings/__Tests/StellaOps.Findings.Tools.LedgerReplayHarness.Tests/HarnessRunnerTests.cs: using directives not sorted
- Naming issues:
- none
- Async issues:
- src/Findings/__Tests/StellaOps.Findings.Tools.LedgerReplayHarness.Tests/HarnessFixtureReaderTests.cs: async method naming
- src/Findings/__Tests/StellaOps.Findings.Tools.LedgerReplayHarness.Tests/HarnessFixtureReaderTests.cs: missing ConfigureAwait(false)
- src/Findings/__Tests/StellaOps.Findings.Tools.LedgerReplayHarness.Tests/HarnessRunnerTests.cs: async method naming
- src/Findings/__Tests/StellaOps.Findings.Tools.LedgerReplayHarness.Tests/HarnessRunnerTests.cs: missing ConfigureAwait(false)
- Service locator matches:
- none
- Assembly.LoadFrom matches:
- none
### Fix Guidance
- Move and sort using directives (outside namespace).
- Normalize namespaces to file-scoped StellaOps.<Area>.
- Remove overrides that disable TreatWarningsAsErrors.
- Rename async methods and avoid blocking async calls.
## 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/Findings/__Tests/StellaOps.Findings.Tools.LedgerReplayHarness.Tests/HarnessFixtureReaderTests.cs | AsyncNaming; ConfigureAwaitMissing; NamespaceNotStellaOps; UsingNotSorted | Add ConfigureAwait(false) to awaited calls in library-like code.; Rename async methods to end with Async.; Sort using directives alphabetically.; Update namespace to StellaOps.<Area>. |
| src/Findings/__Tests/StellaOps.Findings.Tools.LedgerReplayHarness.Tests/HarnessRunnerTests.cs | AsyncNaming; ConfigureAwaitMissing; NamespaceNotStellaOps; UsingInsideNamespace; UsingNotSorted | Add ConfigureAwait(false) to awaited calls in library-like code.; Move using directives outside namespace.; Rename async methods to end with Async.; Sort using directives alphabetically.; Update namespace to StellaOps.<Area>. |
## 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,90 @@
# Audit - LedgerReplayHarness
## Project
- Path: src/Findings/tools/LedgerReplayHarness/LedgerReplayHarness.csproj
- Module: Findings
- Kind: Tool
- 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: 2
- 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/Findings/tools/LedgerReplayHarness/HarnessFixtureReader.cs (223 lines)
- src/Findings/tools/LedgerReplayHarness/HarnessRunner.cs (133 lines)
- Namespace issues:
- src/Findings/tools/LedgerReplayHarness/HarnessFixtureEntry.cs: missing namespace
- src/Findings/tools/LedgerReplayHarness/HarnessFixtureException.cs: missing namespace
- src/Findings/tools/LedgerReplayHarness/HarnessFixtureReader.cs: missing namespace
- src/Findings/tools/LedgerReplayHarness/HarnessRunner.cs: missing namespace
- src/Findings/tools/LedgerReplayHarness/HarnessStats.cs: missing namespace
- src/Findings/tools/LedgerReplayHarness/ILedgerClient.cs: missing namespace
- src/Findings/tools/LedgerReplayHarness/InMemoryLedgerClient.cs: missing namespace
- src/Findings/tools/LedgerReplayHarness/MerkleCalculator.cs: missing namespace
- src/Findings/tools/LedgerReplayHarness/TaskThrottler.cs: missing namespace
- src/Findings/tools/LedgerReplayHarness/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs: missing namespace
- src/Findings/tools/LedgerReplayHarness/obj/Debug/net10.0/LedgerReplayHarness.AssemblyInfo.cs: missing namespace
- src/Findings/tools/LedgerReplayHarness/obj/Debug/net10.0/LedgerReplayHarness.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/Findings/tools/LedgerReplayHarness/HarnessFixtureEntry.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Findings/tools/LedgerReplayHarness/HarnessFixtureException.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Findings/tools/LedgerReplayHarness/HarnessFixtureReader.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Findings/tools/LedgerReplayHarness/HarnessRunner.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Findings/tools/LedgerReplayHarness/HarnessStats.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Findings/tools/LedgerReplayHarness/ILedgerClient.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Findings/tools/LedgerReplayHarness/InMemoryLedgerClient.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Findings/tools/LedgerReplayHarness/MerkleCalculator.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Findings/tools/LedgerReplayHarness/TaskThrottler.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Findings/tools/LedgerReplayHarness/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Findings/tools/LedgerReplayHarness/obj/Debug/net10.0/LedgerReplayHarness.AssemblyInfo.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Findings/tools/LedgerReplayHarness/obj/Debug/net10.0/LedgerReplayHarness.GlobalUsings.g.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
## Testing Fullness Findings
- Status: PASS
- Expected layers (heuristic): Unit
- Detected test projects: src/Findings/__Tests/StellaOps.Findings.Tools.LedgerReplayHarness.Tests/StellaOps.Findings.Tools.LedgerReplayHarness.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,90 @@
# Audit - LedgerReplayHarness
## Project
- Path: src/Findings/tools/LedgerReplayHarness/LedgerReplayHarness.csproj
- Module: Findings
- Kind: Tool
- Audit date (UTC): 2026-01-31
- Files scanned: 10
- Files with issues: 10
- File-level report: docs/implplan/audits/csproj-standards/file-audit.csv
## Coding Standards Findings
- Status: FAIL
- Nullable: enable
- TreatWarningsAsErrors: explicit true
- Deterministic: inherited true
- 100-line rule violations: 2
- Namespace violations: 9
- Using directive violations: 2
- Naming violations (interfaces/fields/const/async): 3
- Service locator usage (BuildServiceProvider/GetService): 0
- Assembly.LoadFrom usage: 0
### Details
- 100-line files:
- src/Findings/tools/LedgerReplayHarness/HarnessFixtureReader.cs (224 lines)
- src/Findings/tools/LedgerReplayHarness/HarnessRunner.cs (133 lines)
- Namespace issues:
- src/Findings/tools/LedgerReplayHarness/HarnessFixtureEntry.cs: namespace not StellaOps.*
- src/Findings/tools/LedgerReplayHarness/HarnessFixtureException.cs: namespace not StellaOps.*
- src/Findings/tools/LedgerReplayHarness/HarnessFixtureReader.cs: namespace not StellaOps.*
- src/Findings/tools/LedgerReplayHarness/HarnessRunner.cs: namespace not StellaOps.*
- src/Findings/tools/LedgerReplayHarness/HarnessStats.cs: namespace not StellaOps.*
- src/Findings/tools/LedgerReplayHarness/ILedgerClient.cs: namespace not StellaOps.*
- src/Findings/tools/LedgerReplayHarness/InMemoryLedgerClient.cs: namespace not StellaOps.*
- src/Findings/tools/LedgerReplayHarness/MerkleCalculator.cs: namespace not StellaOps.*
- src/Findings/tools/LedgerReplayHarness/TaskThrottler.cs: namespace not StellaOps.*
- Using directive issues:
- src/Findings/tools/LedgerReplayHarness/HarnessFixtureReader.cs: using directives inside namespace
- src/Findings/tools/LedgerReplayHarness/MerkleCalculator.cs: using directives inside namespace
- Naming issues:
- none
- Async issues:
- src/Findings/tools/LedgerReplayHarness/HarnessRunner.cs: async method naming
- src/Findings/tools/LedgerReplayHarness/Program.cs: missing ConfigureAwait(false)
- src/Findings/tools/LedgerReplayHarness/TaskThrottler.cs: async method naming
- Service locator matches:
- none
- Assembly.LoadFrom matches:
- none
### Fix Guidance
- 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: 10
- Files with issues: 10
- See docs/implplan/audits/csproj-standards/file-audit.csv for full per-file status.
| File | Issues | Fix guidance |
| --- | --- | --- |
| src/Findings/tools/LedgerReplayHarness/HarnessFixtureEntry.cs | NamespaceNotStellaOps | Update namespace to StellaOps.<Area>. |
| src/Findings/tools/LedgerReplayHarness/HarnessFixtureException.cs | NamespaceNotStellaOps | Update namespace to StellaOps.<Area>. |
| src/Findings/tools/LedgerReplayHarness/HarnessFixtureReader.cs | FileLength>100; NamespaceNotStellaOps; UsingInsideNamespace | Move using directives outside namespace.; Split file to stay <= 100 lines.; Update namespace to StellaOps.<Area>. |
| src/Findings/tools/LedgerReplayHarness/HarnessRunner.cs | AsyncNaming; FileLength>100; NamespaceNotStellaOps | Rename async methods to end with Async.; Split file to stay <= 100 lines.; Update namespace to StellaOps.<Area>. |
| src/Findings/tools/LedgerReplayHarness/HarnessStats.cs | NamespaceNotStellaOps | Update namespace to StellaOps.<Area>. |
| src/Findings/tools/LedgerReplayHarness/ILedgerClient.cs | NamespaceNotStellaOps | Update namespace to StellaOps.<Area>. |
| src/Findings/tools/LedgerReplayHarness/InMemoryLedgerClient.cs | NamespaceNotStellaOps | Update namespace to StellaOps.<Area>. |
| src/Findings/tools/LedgerReplayHarness/MerkleCalculator.cs | NamespaceNotStellaOps; UsingInsideNamespace | Move using directives outside namespace.; Update namespace to StellaOps.<Area>. |
| src/Findings/tools/LedgerReplayHarness/Program.cs | ConfigureAwaitMissing | Add ConfigureAwait(false) to awaited calls in library-like code. |
| src/Findings/tools/LedgerReplayHarness/TaskThrottler.cs | AsyncNaming; NamespaceNotStellaOps | Rename async methods to end with Async.; Update namespace to StellaOps.<Area>. |
## Testing Fullness Findings
- Status: PASS
- Expected layers (heuristic): Unit
- Detected test projects: src/Findings/__Tests/StellaOps.Findings.Tools.LedgerReplayHarness.Tests/StellaOps.Findings.Tools.LedgerReplayHarness.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.