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,118 @@
# Audit - StellaOps.Notify.WebService
## Project
- Path: src/Notify/StellaOps.Notify.WebService/StellaOps.Notify.WebService.csproj
- Module: Notify
- Kind: Library
- Audit date (UTC): 2026-01-30
- Files scanned: 25
- Files with issues: 25
- File-level report: docs/implplan/audits/csproj-standards/file-audit.csv
## Coding Standards Findings
- Status: FAIL
- Nullable: enable
- TreatWarningsAsErrors: explicit true
- Deterministic: inherited true
- 100-line rule violations: 5
- Namespace violations: 24
- Using directive violations: 0
- Naming violations (interfaces/fields/const/async): 0
- Service locator usage (BuildServiceProvider/GetService): 0
- Assembly.LoadFrom usage: 0
### Details
- 100-line files:
- src/Notify/StellaOps.Notify.WebService/Program.cs (1484 lines)
- src/Notify/StellaOps.Notify.WebService/Options/NotifyWebServiceOptions.cs (151 lines)
- src/Notify/StellaOps.Notify.WebService/Options/NotifyWebServiceOptionsValidator.cs (122 lines)
- src/Notify/StellaOps.Notify.WebService/Services/NotifyChannelHealthService.cs (183 lines)
- src/Notify/StellaOps.Notify.WebService/Services/NotifyChannelTestService.cs (314 lines)
- Namespace issues:
- src/Notify/StellaOps.Notify.WebService/Program.Partial.cs: missing namespace
- src/Notify/StellaOps.Notify.WebService/Contracts/ChannelHealthResponse.cs: missing namespace
- src/Notify/StellaOps.Notify.WebService/Contracts/ChannelTestSendRequest.cs: missing namespace
- src/Notify/StellaOps.Notify.WebService/Contracts/ChannelTestSendResponse.cs: missing namespace
- src/Notify/StellaOps.Notify.WebService/Contracts/DigestRequests.cs: missing namespace
- src/Notify/StellaOps.Notify.WebService/Contracts/LockRequests.cs: missing namespace
- src/Notify/StellaOps.Notify.WebService/Diagnostics/ServiceStatus.cs: missing namespace
- src/Notify/StellaOps.Notify.WebService/Extensions/ConfigurationExtensions.cs: missing namespace
- src/Notify/StellaOps.Notify.WebService/Hosting/NotifyPluginHostFactory.cs: missing namespace
- src/Notify/StellaOps.Notify.WebService/Internal/JsonHttpResult.cs: missing namespace
- src/Notify/StellaOps.Notify.WebService/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs: missing namespace
- src/Notify/StellaOps.Notify.WebService/obj/Debug/net10.0/StellaOps.Notify.WebService.AssemblyInfo.cs: missing namespace
- src/Notify/StellaOps.Notify.WebService/obj/Debug/net10.0/StellaOps.Notify.WebService.GlobalUsings.g.cs: missing namespace
- src/Notify/StellaOps.Notify.WebService/obj/Release/net10.0/StellaOps.Notify.WebService.GlobalUsings.g.cs: missing namespace
- src/Notify/StellaOps.Notify.WebService/Options/NotifyWebServiceOptions.cs: missing namespace
- src/Notify/StellaOps.Notify.WebService/Options/NotifyWebServiceOptionsPostConfigure.cs: missing namespace
- src/Notify/StellaOps.Notify.WebService/Options/NotifyWebServiceOptionsValidator.cs: missing namespace
- src/Notify/StellaOps.Notify.WebService/Plugins/NotifyPluginRegistry.cs: missing namespace
- src/Notify/StellaOps.Notify.WebService/Security/AllowAllAuthenticationHandler.cs: missing namespace
- src/Notify/StellaOps.Notify.WebService/Security/NotifyPolicies.cs: missing namespace
- src/Notify/StellaOps.Notify.WebService/Security/NotifyRateLimitPolicies.cs: missing namespace
- src/Notify/StellaOps.Notify.WebService/Services/NotifyChannelHealthService.cs: missing namespace
- src/Notify/StellaOps.Notify.WebService/Services/NotifyChannelTestService.cs: missing namespace
- src/Notify/StellaOps.Notify.WebService/Services/NotifySchemaMigrationService.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: 25
- Files with issues: 25
- See docs/implplan/audits/csproj-standards/file-audit.csv for full per-file status.
| File | Issues | Fix guidance |
| --- | --- | --- |
| src/Notify/StellaOps.Notify.WebService/Program.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Notify/StellaOps.Notify.WebService/Program.Partial.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Notify/StellaOps.Notify.WebService/Contracts/ChannelHealthResponse.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Notify/StellaOps.Notify.WebService/Contracts/ChannelTestSendRequest.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Notify/StellaOps.Notify.WebService/Contracts/ChannelTestSendResponse.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Notify/StellaOps.Notify.WebService/Contracts/DigestRequests.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Notify/StellaOps.Notify.WebService/Contracts/LockRequests.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Notify/StellaOps.Notify.WebService/Diagnostics/ServiceStatus.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Notify/StellaOps.Notify.WebService/Extensions/ConfigurationExtensions.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Notify/StellaOps.Notify.WebService/Hosting/NotifyPluginHostFactory.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Notify/StellaOps.Notify.WebService/Internal/JsonHttpResult.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Notify/StellaOps.Notify.WebService/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Notify/StellaOps.Notify.WebService/obj/Debug/net10.0/StellaOps.Notify.WebService.AssemblyInfo.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Notify/StellaOps.Notify.WebService/obj/Debug/net10.0/StellaOps.Notify.WebService.GlobalUsings.g.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Notify/StellaOps.Notify.WebService/obj/Release/net10.0/StellaOps.Notify.WebService.GlobalUsings.g.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Notify/StellaOps.Notify.WebService/Options/NotifyWebServiceOptions.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Notify/StellaOps.Notify.WebService/Options/NotifyWebServiceOptionsPostConfigure.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Notify/StellaOps.Notify.WebService/Options/NotifyWebServiceOptionsValidator.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Notify/StellaOps.Notify.WebService/Plugins/NotifyPluginRegistry.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Notify/StellaOps.Notify.WebService/Security/AllowAllAuthenticationHandler.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Notify/StellaOps.Notify.WebService/Security/NotifyPolicies.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Notify/StellaOps.Notify.WebService/Security/NotifyRateLimitPolicies.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Notify/StellaOps.Notify.WebService/Services/NotifyChannelHealthService.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Notify/StellaOps.Notify.WebService/Services/NotifyChannelTestService.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Notify/StellaOps.Notify.WebService/Services/NotifySchemaMigrationService.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
## Testing Fullness Findings
- Status: PASS
- Expected layers (heuristic): Unit
- Detected test projects: src/Notify/__Tests/StellaOps.Notify.WebService.Tests/StellaOps.Notify.WebService.Tests.csproj [Unit]
- Missing layers: none
### Manual checks required
- Observability contract tests for WebService/Worker.
- Intent tags for regulatory modules (Policy, Authority, Signer, Attestor, EvidenceLocker).
- Offline execution (tests must run without network access).
- Coverage matrix alignment (docs/technical/testing/TEST_COVERAGE_MATRIX.md).
### Fix Guidance
- None.

View File

@@ -0,0 +1,86 @@
# Audit - StellaOps.Notify.WebService
## Project
- Path: src/Notify/StellaOps.Notify.WebService/StellaOps.Notify.WebService.csproj
- Module: Notify
- Kind: Service
- Audit date (UTC): 2026-01-31
- Files scanned: 21
- Files with issues: 8
- File-level report: docs/implplan/audits/csproj-standards/file-audit.csv
## Coding Standards Findings
- Status: FAIL
- Nullable: enable
- TreatWarningsAsErrors: explicit true
- Deterministic: inherited true
- 100-line rule violations: 5
- Namespace violations: 1
- Using directive violations: 1
- Naming violations (interfaces/fields/const/async): 1
- Service locator usage (BuildServiceProvider/GetService): 5
- Assembly.LoadFrom usage: 0
### Details
- 100-line files:
- src/Notify/StellaOps.Notify.WebService/Program.cs (1504 lines)
- src/Notify/StellaOps.Notify.WebService/Options/NotifyWebServiceOptions.cs (151 lines)
- src/Notify/StellaOps.Notify.WebService/Options/NotifyWebServiceOptionsValidator.cs (122 lines)
- src/Notify/StellaOps.Notify.WebService/Services/NotifyChannelHealthService.cs (184 lines)
- src/Notify/StellaOps.Notify.WebService/Services/NotifyChannelTestService.cs (315 lines)
- Namespace issues:
- src/Notify/StellaOps.Notify.WebService/Program.Partial.cs: missing namespace
- Using directive issues:
- src/Notify/StellaOps.Notify.WebService/Extensions/ConfigurationExtensions.cs: using directives inside namespace
- Naming issues:
- none
- Async issues:
- src/Notify/StellaOps.Notify.WebService/Internal/JsonHttpResult.cs: async method naming
- Service locator matches:
- src/Notify/StellaOps.Notify.WebService/Program.cs:116 var readyStatus = app.Services.GetRequiredService<ServiceStatus>();
- src/Notify/StellaOps.Notify.WebService/Program.cs:118 var resolvedOptions = app.Services.GetRequiredService<IOptions<NotifyWebServiceOptions>>().Value;
- src/Notify/StellaOps.Notify.WebService/Program.cs:276 var opts = httpContext.RequestServices.GetRequiredService<IOptions<NotifyWebServiceOptions>>().Value;
- src/Notify/StellaOps.Notify.WebService/Program.cs:321 var registry = scope.ServiceProvider.GetRequiredService<INotifyPluginRegistry>();
- src/Notify/StellaOps.Notify.WebService/Program.cs:386 var options = app.Services.GetRequiredService<IOptions<NotifyWebServiceOptions>>().Value;
- 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.
- Replace service locator usage with constructor injection.
- Split files over 100 lines into smaller types or partials.
## File-Level Findings
- Status: FAIL
- Files scanned: 21
- Files with issues: 8
- See docs/implplan/audits/csproj-standards/file-audit.csv for full per-file status.
| File | Issues | Fix guidance |
| --- | --- | --- |
| src/Notify/StellaOps.Notify.WebService/Program.cs | FileLength>100; ServiceLocator | Remove service locator usage; use constructor injection.; Split file to stay <= 100 lines. |
| src/Notify/StellaOps.Notify.WebService/Program.Partial.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Notify/StellaOps.Notify.WebService/Extensions/ConfigurationExtensions.cs | UsingInsideNamespace | Move using directives outside namespace. |
| src/Notify/StellaOps.Notify.WebService/Internal/JsonHttpResult.cs | AsyncNaming | Rename async methods to end with Async. |
| src/Notify/StellaOps.Notify.WebService/Options/NotifyWebServiceOptions.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Notify/StellaOps.Notify.WebService/Options/NotifyWebServiceOptionsValidator.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Notify/StellaOps.Notify.WebService/Services/NotifyChannelHealthService.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Notify/StellaOps.Notify.WebService/Services/NotifyChannelTestService.cs | FileLength>100 | Split file to stay <= 100 lines. |
## Testing Fullness Findings
- Status: FAIL
- Expected layers (heuristic): E2E, Integration, Offline, Security, Unit
- Detected test projects: src/Notify/__Tests/StellaOps.Notify.WebService.Tests/StellaOps.Notify.WebService.Tests.csproj [Unit]
- Missing layers: E2E, Integration, Offline, Security
### Manual checks required
- Observability contract tests for WebService/Worker.
- Intent tags for regulatory modules (Policy, Authority, Signer, Attestor, EvidenceLocker).
- Offline execution (tests must run without network access).
- Coverage matrix alignment (docs/technical/testing/TEST_COVERAGE_MATRIX.md).
### Fix Guidance
- Add or expand test projects to cover missing layers.
- Ensure tests use deterministic fixtures and offline harnesses.

View File

@@ -0,0 +1,87 @@
# Audit - StellaOps.Notify.Worker
## Project
- Path: src/Notify/StellaOps.Notify.Worker/StellaOps.Notify.Worker.csproj
- Module: Notify
- Kind: Library
- Audit date (UTC): 2026-01-30
- Files scanned: 13
- Files with issues: 11
- File-level report: docs/implplan/audits/csproj-standards/file-audit.csv
## Coding Standards Findings
- Status: FAIL
- Nullable: enable
- TreatWarningsAsErrors: explicit true
- Deterministic: inherited true
- 100-line rule violations: 1
- Namespace violations: 11
- Using directive violations: 0
- Naming violations (interfaces/fields/const/async): 0
- Service locator usage (BuildServiceProvider/GetService): 0
- Assembly.LoadFrom usage: 0
### Details
- 100-line files:
- src/Notify/StellaOps.Notify.Worker/Processing/NotifyEventLeaseProcessor.cs (147 lines)
- Namespace issues:
- src/Notify/StellaOps.Notify.Worker/NotifyWorkerOptions.cs: missing namespace
- src/Notify/StellaOps.Notify.Worker/Handlers/INotifyEventHandler.cs: missing namespace
- src/Notify/StellaOps.Notify.Worker/Handlers/NoOpNotifyEventHandler.cs: missing namespace
- src/Notify/StellaOps.Notify.Worker/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs: missing namespace
- src/Notify/StellaOps.Notify.Worker/obj/Debug/net10.0/StellaOps.Notify.Worker.AssemblyInfo.cs: missing namespace
- src/Notify/StellaOps.Notify.Worker/obj/Debug/net10.0/StellaOps.Notify.Worker.GlobalUsings.g.cs: missing namespace
- src/Notify/StellaOps.Notify.Worker/obj/Release/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs: missing namespace
- src/Notify/StellaOps.Notify.Worker/obj/Release/net10.0/StellaOps.Notify.Worker.AssemblyInfo.cs: missing namespace
- src/Notify/StellaOps.Notify.Worker/obj/Release/net10.0/StellaOps.Notify.Worker.GlobalUsings.g.cs: missing namespace
- src/Notify/StellaOps.Notify.Worker/Processing/NotifyEventLeaseProcessor.cs: missing namespace
- src/Notify/StellaOps.Notify.Worker/Processing/NotifyEventLeaseWorker.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: 11
- See docs/implplan/audits/csproj-standards/file-audit.csv for full per-file status.
| File | Issues | Fix guidance |
| --- | --- | --- |
| src/Notify/StellaOps.Notify.Worker/NotifyWorkerOptions.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Notify/StellaOps.Notify.Worker/Handlers/INotifyEventHandler.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Notify/StellaOps.Notify.Worker/Handlers/NoOpNotifyEventHandler.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Notify/StellaOps.Notify.Worker/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Notify/StellaOps.Notify.Worker/obj/Debug/net10.0/StellaOps.Notify.Worker.AssemblyInfo.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Notify/StellaOps.Notify.Worker/obj/Debug/net10.0/StellaOps.Notify.Worker.GlobalUsings.g.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Notify/StellaOps.Notify.Worker/obj/Release/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Notify/StellaOps.Notify.Worker/obj/Release/net10.0/StellaOps.Notify.Worker.AssemblyInfo.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Notify/StellaOps.Notify.Worker/obj/Release/net10.0/StellaOps.Notify.Worker.GlobalUsings.g.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Notify/StellaOps.Notify.Worker/Processing/NotifyEventLeaseProcessor.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Notify/StellaOps.Notify.Worker/Processing/NotifyEventLeaseWorker.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
## Testing Fullness Findings
- Status: PASS
- Expected layers (heuristic): Unit
- Detected test projects: src/Notify/__Tests/StellaOps.Notify.Worker.Tests/StellaOps.Notify.Worker.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,72 @@
# Audit - StellaOps.Notify.Worker
## Project
- Path: src/Notify/StellaOps.Notify.Worker/StellaOps.Notify.Worker.csproj
- Module: Notify
- Kind: Service
- Audit date (UTC): 2026-01-31
- Files scanned: 7
- Files with issues: 2
- File-level report: docs/implplan/audits/csproj-standards/file-audit.csv
## Coding Standards Findings
- Status: FAIL
- Nullable: enable
- TreatWarningsAsErrors: explicit true
- Deterministic: inherited true
- 100-line rule violations: 1
- Namespace violations: 0
- Using directive violations: 1
- Naming violations (interfaces/fields/const/async): 3
- Service locator usage (BuildServiceProvider/GetService): 0
- Assembly.LoadFrom usage: 0
### Details
- 100-line files:
- src/Notify/StellaOps.Notify.Worker/Processing/NotifyEventLeaseProcessor.cs (148 lines)
- Namespace issues:
- none
- Using directive issues:
- src/Notify/StellaOps.Notify.Worker/Processing/NotifyEventLeaseProcessor.cs: using directives inside namespace
- Naming issues:
- src/Notify/StellaOps.Notify.Worker/Processing/NotifyEventLeaseProcessor.cs: private field naming
- Async issues:
- src/Notify/StellaOps.Notify.Worker/Processing/NotifyEventLeaseProcessor.cs: async method naming
- src/Notify/StellaOps.Notify.Worker/Processing/NotifyEventLeaseWorker.cs: async method naming
- Service locator matches:
- none
- Assembly.LoadFrom matches:
- none
### Fix Guidance
- Align interface/field/const naming to standards.
- Move and sort using directives (outside namespace).
- Rename async methods and avoid blocking async calls.
- Split files over 100 lines into smaller types or partials.
## File-Level Findings
- Status: FAIL
- Files scanned: 7
- Files with issues: 2
- See docs/implplan/audits/csproj-standards/file-audit.csv for full per-file status.
| File | Issues | Fix guidance |
| --- | --- | --- |
| src/Notify/StellaOps.Notify.Worker/Processing/NotifyEventLeaseProcessor.cs | AsyncNaming; FileLength>100; PrivateFieldNaming; UsingInsideNamespace | Move using directives outside namespace.; Rename async methods to end with Async.; Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Notify/StellaOps.Notify.Worker/Processing/NotifyEventLeaseWorker.cs | AsyncNaming | Rename async methods to end with Async. |
## Testing Fullness Findings
- Status: FAIL
- Expected layers (heuristic): E2E, Integration, Offline, Security, Unit
- Detected test projects: src/Notify/__Tests/StellaOps.Notify.Worker.Tests/StellaOps.Notify.Worker.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,82 @@
# Audit - StellaOps.Notify.Connectors.Email
## Project
- Path: src/Notify/__Libraries/StellaOps.Notify.Connectors.Email/StellaOps.Notify.Connectors.Email.csproj
- Module: Notify
- Kind: Library
- Audit date (UTC): 2026-01-30
- Files scanned: 10
- Files with issues: 9
- File-level report: docs/implplan/audits/csproj-standards/file-audit.csv
## Coding Standards Findings
- Status: FAIL
- Nullable: enable
- TreatWarningsAsErrors: explicit true
- Deterministic: inherited true
- 100-line rule violations: 0
- Namespace violations: 9
- Using directive violations: 0
- Naming violations (interfaces/fields/const/async): 0
- Service locator usage (BuildServiceProvider/GetService): 0
- Assembly.LoadFrom usage: 0
### Details
- 100-line files:
- none
- Namespace issues:
- src/Notify/__Libraries/StellaOps.Notify.Connectors.Email/EmailChannelHealthProvider.cs: missing namespace
- src/Notify/__Libraries/StellaOps.Notify.Connectors.Email/EmailChannelTestProvider.cs: missing namespace
- src/Notify/__Libraries/StellaOps.Notify.Connectors.Email/EmailMetadataBuilder.cs: missing namespace
- src/Notify/__Libraries/StellaOps.Notify.Connectors.Email/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs: missing namespace
- src/Notify/__Libraries/StellaOps.Notify.Connectors.Email/obj/Debug/net10.0/StellaOps.Notify.Connectors.Email.AssemblyInfo.cs: missing namespace
- src/Notify/__Libraries/StellaOps.Notify.Connectors.Email/obj/Debug/net10.0/StellaOps.Notify.Connectors.Email.GlobalUsings.g.cs: missing namespace
- src/Notify/__Libraries/StellaOps.Notify.Connectors.Email/obj/Release/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs: missing namespace
- src/Notify/__Libraries/StellaOps.Notify.Connectors.Email/obj/Release/net10.0/StellaOps.Notify.Connectors.Email.AssemblyInfo.cs: missing namespace
- src/Notify/__Libraries/StellaOps.Notify.Connectors.Email/obj/Release/net10.0/StellaOps.Notify.Connectors.Email.GlobalUsings.g.cs: missing namespace
- Using directive issues:
- none
- Naming issues:
- none
- Async issues:
- none
- Service locator matches:
- none
- Assembly.LoadFrom matches:
- none
### Fix Guidance
- Normalize namespaces to file-scoped StellaOps.<Area>.
## File-Level Findings
- Status: FAIL
- Files scanned: 10
- Files with issues: 9
- See docs/implplan/audits/csproj-standards/file-audit.csv for full per-file status.
| File | Issues | Fix guidance |
| --- | --- | --- |
| src/Notify/__Libraries/StellaOps.Notify.Connectors.Email/EmailChannelHealthProvider.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Notify/__Libraries/StellaOps.Notify.Connectors.Email/EmailChannelTestProvider.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Notify/__Libraries/StellaOps.Notify.Connectors.Email/EmailMetadataBuilder.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Notify/__Libraries/StellaOps.Notify.Connectors.Email/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Notify/__Libraries/StellaOps.Notify.Connectors.Email/obj/Debug/net10.0/StellaOps.Notify.Connectors.Email.AssemblyInfo.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Notify/__Libraries/StellaOps.Notify.Connectors.Email/obj/Debug/net10.0/StellaOps.Notify.Connectors.Email.GlobalUsings.g.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Notify/__Libraries/StellaOps.Notify.Connectors.Email/obj/Release/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Notify/__Libraries/StellaOps.Notify.Connectors.Email/obj/Release/net10.0/StellaOps.Notify.Connectors.Email.AssemblyInfo.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Notify/__Libraries/StellaOps.Notify.Connectors.Email/obj/Release/net10.0/StellaOps.Notify.Connectors.Email.GlobalUsings.g.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
## Testing Fullness Findings
- Status: PASS
- Expected layers (heuristic): Unit
- Detected test projects: src/Notify/__Tests/StellaOps.Notify.Connectors.Email.Tests/StellaOps.Notify.Connectors.Email.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,63 @@
# Audit - StellaOps.Notify.Connectors.Email
## Project
- Path: src/Notify/__Libraries/StellaOps.Notify.Connectors.Email/StellaOps.Notify.Connectors.Email.csproj
- Module: Notify
- Kind: Plugin
- Audit date (UTC): 2026-01-31
- Files scanned: 4
- Files with issues: 0
- File-level report: docs/implplan/audits/csproj-standards/file-audit.csv
## Coding Standards Findings
- Status: PASS
- Nullable: enable
- TreatWarningsAsErrors: explicit true
- Deterministic: inherited true
- 100-line rule violations: 0
- Namespace violations: 0
- Using directive violations: 0
- Naming violations (interfaces/fields/const/async): 0
- Service locator usage (BuildServiceProvider/GetService): 0
- Assembly.LoadFrom usage: 0
### Details
- 100-line files:
- none
- Namespace issues:
- none
- Using directive issues:
- none
- Naming issues:
- none
- Async issues:
- none
- Service locator matches:
- none
- Assembly.LoadFrom matches:
- none
### Fix Guidance
- None.
## File-Level Findings
- Status: PASS
- Files scanned: 4
- Files with issues: 0
- See docs/implplan/audits/csproj-standards/file-audit.csv for full per-file status.
- No file-level issues.
## Testing Fullness Findings
- Status: PASS
- Expected layers (heuristic): Unit
- Detected test projects: src/Notify/__Tests/StellaOps.Notify.Connectors.Email.Tests/StellaOps.Notify.Connectors.Email.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 - StellaOps.Notify.Connectors.Shared
## Project
- Path: src/Notify/__Libraries/StellaOps.Notify.Connectors.Shared/StellaOps.Notify.Connectors.Shared.csproj
- Module: Notify
- Kind: Library
- Audit date (UTC): 2026-01-30
- Files scanned: 10
- Files with issues: 9
- File-level report: docs/implplan/audits/csproj-standards/file-audit.csv
## Coding Standards Findings
- Status: FAIL
- Nullable: enable
- TreatWarningsAsErrors: explicit true
- Deterministic: inherited true
- 100-line rule violations: 1
- Namespace violations: 9
- Using directive violations: 0
- Naming violations (interfaces/fields/const/async): 0
- Service locator usage (BuildServiceProvider/GetService): 0
- Assembly.LoadFrom usage: 0
### Details
- 100-line files:
- src/Notify/__Libraries/StellaOps.Notify.Connectors.Shared/ConnectorMetadataBuilder.cs (148 lines)
- Namespace issues:
- src/Notify/__Libraries/StellaOps.Notify.Connectors.Shared/ConnectorHashing.cs: missing namespace
- src/Notify/__Libraries/StellaOps.Notify.Connectors.Shared/ConnectorMetadataBuilder.cs: missing namespace
- src/Notify/__Libraries/StellaOps.Notify.Connectors.Shared/ConnectorValueRedactor.cs: missing namespace
- src/Notify/__Libraries/StellaOps.Notify.Connectors.Shared/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs: missing namespace
- src/Notify/__Libraries/StellaOps.Notify.Connectors.Shared/obj/Debug/net10.0/StellaOps.Notify.Connectors.Shared.AssemblyInfo.cs: missing namespace
- src/Notify/__Libraries/StellaOps.Notify.Connectors.Shared/obj/Debug/net10.0/StellaOps.Notify.Connectors.Shared.GlobalUsings.g.cs: missing namespace
- src/Notify/__Libraries/StellaOps.Notify.Connectors.Shared/obj/Release/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs: missing namespace
- src/Notify/__Libraries/StellaOps.Notify.Connectors.Shared/obj/Release/net10.0/StellaOps.Notify.Connectors.Shared.AssemblyInfo.cs: missing namespace
- src/Notify/__Libraries/StellaOps.Notify.Connectors.Shared/obj/Release/net10.0/StellaOps.Notify.Connectors.Shared.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: 10
- Files with issues: 9
- See docs/implplan/audits/csproj-standards/file-audit.csv for full per-file status.
| File | Issues | Fix guidance |
| --- | --- | --- |
| src/Notify/__Libraries/StellaOps.Notify.Connectors.Shared/ConnectorHashing.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Notify/__Libraries/StellaOps.Notify.Connectors.Shared/ConnectorMetadataBuilder.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Notify/__Libraries/StellaOps.Notify.Connectors.Shared/ConnectorValueRedactor.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Notify/__Libraries/StellaOps.Notify.Connectors.Shared/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Notify/__Libraries/StellaOps.Notify.Connectors.Shared/obj/Debug/net10.0/StellaOps.Notify.Connectors.Shared.AssemblyInfo.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Notify/__Libraries/StellaOps.Notify.Connectors.Shared/obj/Debug/net10.0/StellaOps.Notify.Connectors.Shared.GlobalUsings.g.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Notify/__Libraries/StellaOps.Notify.Connectors.Shared/obj/Release/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Notify/__Libraries/StellaOps.Notify.Connectors.Shared/obj/Release/net10.0/StellaOps.Notify.Connectors.Shared.AssemblyInfo.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Notify/__Libraries/StellaOps.Notify.Connectors.Shared/obj/Release/net10.0/StellaOps.Notify.Connectors.Shared.GlobalUsings.g.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
## Testing Fullness Findings
- Status: PASS
- Expected layers (heuristic): Unit
- Detected test projects: src/Notify/__Tests/StellaOps.Notify.Connectors.Shared.Tests/StellaOps.Notify.Connectors.Shared.Tests.csproj [Unit]; src/Notify/__Tests/StellaOps.Notify.Connectors.Webhook.Tests/StellaOps.Notify.Connectors.Webhook.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,68 @@
# Audit - StellaOps.Notify.Connectors.Shared
## Project
- Path: src/Notify/__Libraries/StellaOps.Notify.Connectors.Shared/StellaOps.Notify.Connectors.Shared.csproj
- Module: Notify
- Kind: Plugin
- Audit date (UTC): 2026-01-31
- Files scanned: 4
- Files with issues: 2
- File-level report: docs/implplan/audits/csproj-standards/file-audit.csv
## Coding Standards Findings
- Status: FAIL
- Nullable: enable
- TreatWarningsAsErrors: explicit true
- Deterministic: inherited true
- 100-line rule violations: 1
- Namespace violations: 0
- Using directive violations: 0
- Naming violations (interfaces/fields/const/async): 1
- Service locator usage (BuildServiceProvider/GetService): 0
- Assembly.LoadFrom usage: 0
### Details
- 100-line files:
- src/Notify/__Libraries/StellaOps.Notify.Connectors.Shared/ConnectorMetadataBuilder.cs (148 lines)
- Namespace issues:
- none
- Using directive issues:
- none
- Naming issues:
- src/Notify/__Libraries/StellaOps.Notify.Connectors.Shared/ConnectorValueRedactor.cs: private field naming
- Async issues:
- none
- Service locator matches:
- none
- Assembly.LoadFrom matches:
- none
### Fix Guidance
- Align interface/field/const naming to standards.
- Split files over 100 lines into smaller types or partials.
## File-Level Findings
- Status: FAIL
- Files scanned: 4
- Files with issues: 2
- See docs/implplan/audits/csproj-standards/file-audit.csv for full per-file status.
| File | Issues | Fix guidance |
| --- | --- | --- |
| src/Notify/__Libraries/StellaOps.Notify.Connectors.Shared/ConnectorMetadataBuilder.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Notify/__Libraries/StellaOps.Notify.Connectors.Shared/ConnectorValueRedactor.cs | PrivateFieldNaming | Rename private fields to _camelCase. |
## Testing Fullness Findings
- Status: PASS
- Expected layers (heuristic): Unit
- Detected test projects: src/Notify/__Tests/StellaOps.Notify.Connectors.Shared.Tests/StellaOps.Notify.Connectors.Shared.Tests.csproj [Unit]; src/Notify/__Tests/StellaOps.Notify.Connectors.Webhook.Tests/StellaOps.Notify.Connectors.Webhook.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,82 @@
# Audit - StellaOps.Notify.Connectors.Slack
## Project
- Path: src/Notify/__Libraries/StellaOps.Notify.Connectors.Slack/StellaOps.Notify.Connectors.Slack.csproj
- Module: Notify
- Kind: Library
- Audit date (UTC): 2026-01-30
- Files scanned: 10
- Files with issues: 9
- File-level report: docs/implplan/audits/csproj-standards/file-audit.csv
## Coding Standards Findings
- Status: FAIL
- Nullable: enable
- TreatWarningsAsErrors: explicit true
- Deterministic: inherited true
- 100-line rule violations: 0
- Namespace violations: 9
- Using directive violations: 0
- Naming violations (interfaces/fields/const/async): 0
- Service locator usage (BuildServiceProvider/GetService): 0
- Assembly.LoadFrom usage: 0
### Details
- 100-line files:
- none
- Namespace issues:
- src/Notify/__Libraries/StellaOps.Notify.Connectors.Slack/SlackChannelHealthProvider.cs: missing namespace
- src/Notify/__Libraries/StellaOps.Notify.Connectors.Slack/SlackChannelTestProvider.cs: missing namespace
- src/Notify/__Libraries/StellaOps.Notify.Connectors.Slack/SlackMetadataBuilder.cs: missing namespace
- src/Notify/__Libraries/StellaOps.Notify.Connectors.Slack/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs: missing namespace
- src/Notify/__Libraries/StellaOps.Notify.Connectors.Slack/obj/Debug/net10.0/StellaOps.Notify.Connectors.Slack.AssemblyInfo.cs: missing namespace
- src/Notify/__Libraries/StellaOps.Notify.Connectors.Slack/obj/Debug/net10.0/StellaOps.Notify.Connectors.Slack.GlobalUsings.g.cs: missing namespace
- src/Notify/__Libraries/StellaOps.Notify.Connectors.Slack/obj/Release/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs: missing namespace
- src/Notify/__Libraries/StellaOps.Notify.Connectors.Slack/obj/Release/net10.0/StellaOps.Notify.Connectors.Slack.AssemblyInfo.cs: missing namespace
- src/Notify/__Libraries/StellaOps.Notify.Connectors.Slack/obj/Release/net10.0/StellaOps.Notify.Connectors.Slack.GlobalUsings.g.cs: missing namespace
- Using directive issues:
- none
- Naming issues:
- none
- Async issues:
- none
- Service locator matches:
- none
- Assembly.LoadFrom matches:
- none
### Fix Guidance
- Normalize namespaces to file-scoped StellaOps.<Area>.
## File-Level Findings
- Status: FAIL
- Files scanned: 10
- Files with issues: 9
- See docs/implplan/audits/csproj-standards/file-audit.csv for full per-file status.
| File | Issues | Fix guidance |
| --- | --- | --- |
| src/Notify/__Libraries/StellaOps.Notify.Connectors.Slack/SlackChannelHealthProvider.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Notify/__Libraries/StellaOps.Notify.Connectors.Slack/SlackChannelTestProvider.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Notify/__Libraries/StellaOps.Notify.Connectors.Slack/SlackMetadataBuilder.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Notify/__Libraries/StellaOps.Notify.Connectors.Slack/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Notify/__Libraries/StellaOps.Notify.Connectors.Slack/obj/Debug/net10.0/StellaOps.Notify.Connectors.Slack.AssemblyInfo.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Notify/__Libraries/StellaOps.Notify.Connectors.Slack/obj/Debug/net10.0/StellaOps.Notify.Connectors.Slack.GlobalUsings.g.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Notify/__Libraries/StellaOps.Notify.Connectors.Slack/obj/Release/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Notify/__Libraries/StellaOps.Notify.Connectors.Slack/obj/Release/net10.0/StellaOps.Notify.Connectors.Slack.AssemblyInfo.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Notify/__Libraries/StellaOps.Notify.Connectors.Slack/obj/Release/net10.0/StellaOps.Notify.Connectors.Slack.GlobalUsings.g.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
## Testing Fullness Findings
- Status: PASS
- Expected layers (heuristic): Unit
- Detected test projects: src/Notify/__Tests/StellaOps.Notify.Connectors.Slack.Tests/StellaOps.Notify.Connectors.Slack.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,68 @@
# Audit - StellaOps.Notify.Connectors.Slack
## Project
- Path: src/Notify/__Libraries/StellaOps.Notify.Connectors.Slack/StellaOps.Notify.Connectors.Slack.csproj
- Module: Notify
- Kind: Plugin
- Audit date (UTC): 2026-01-31
- Files scanned: 4
- Files with issues: 2
- File-level report: docs/implplan/audits/csproj-standards/file-audit.csv
## Coding Standards Findings
- Status: FAIL
- Nullable: enable
- TreatWarningsAsErrors: explicit true
- Deterministic: inherited true
- 100-line rule violations: 0
- Namespace violations: 0
- Using directive violations: 0
- Naming violations (interfaces/fields/const/async): 2
- Service locator usage (BuildServiceProvider/GetService): 0
- Assembly.LoadFrom usage: 0
### Details
- 100-line files:
- none
- Namespace issues:
- none
- Using directive issues:
- none
- Naming issues:
- src/Notify/__Libraries/StellaOps.Notify.Connectors.Slack/SlackChannelTestProvider.cs: private field naming
- src/Notify/__Libraries/StellaOps.Notify.Connectors.Slack/SlackMetadataBuilder.cs: private field naming
- Async issues:
- none
- Service locator matches:
- none
- Assembly.LoadFrom matches:
- none
### Fix Guidance
- Align interface/field/const naming to standards.
## File-Level Findings
- Status: FAIL
- Files scanned: 4
- Files with issues: 2
- See docs/implplan/audits/csproj-standards/file-audit.csv for full per-file status.
| File | Issues | Fix guidance |
| --- | --- | --- |
| src/Notify/__Libraries/StellaOps.Notify.Connectors.Slack/SlackChannelTestProvider.cs | PrivateFieldNaming | Rename private fields to _camelCase. |
| src/Notify/__Libraries/StellaOps.Notify.Connectors.Slack/SlackMetadataBuilder.cs | PrivateFieldNaming | Rename private fields to _camelCase. |
## Testing Fullness Findings
- Status: PASS
- Expected layers (heuristic): Unit
- Detected test projects: src/Notify/__Tests/StellaOps.Notify.Connectors.Slack.Tests/StellaOps.Notify.Connectors.Slack.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 - StellaOps.Notify.Connectors.Teams
## Project
- Path: src/Notify/__Libraries/StellaOps.Notify.Connectors.Teams/StellaOps.Notify.Connectors.Teams.csproj
- Module: Notify
- Kind: Library
- Audit date (UTC): 2026-01-30
- Files scanned: 10
- Files with issues: 9
- File-level report: docs/implplan/audits/csproj-standards/file-audit.csv
## Coding Standards Findings
- Status: FAIL
- Nullable: enable
- TreatWarningsAsErrors: explicit true
- Deterministic: inherited true
- 100-line rule violations: 1
- Namespace violations: 9
- Using directive violations: 0
- Naming violations (interfaces/fields/const/async): 0
- Service locator usage (BuildServiceProvider/GetService): 0
- Assembly.LoadFrom usage: 0
### Details
- 100-line files:
- src/Notify/__Libraries/StellaOps.Notify.Connectors.Teams/TeamsChannelTestProvider.cs (125 lines)
- Namespace issues:
- src/Notify/__Libraries/StellaOps.Notify.Connectors.Teams/TeamsChannelHealthProvider.cs: missing namespace
- src/Notify/__Libraries/StellaOps.Notify.Connectors.Teams/TeamsChannelTestProvider.cs: missing namespace
- src/Notify/__Libraries/StellaOps.Notify.Connectors.Teams/TeamsMetadataBuilder.cs: missing namespace
- src/Notify/__Libraries/StellaOps.Notify.Connectors.Teams/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs: missing namespace
- src/Notify/__Libraries/StellaOps.Notify.Connectors.Teams/obj/Debug/net10.0/StellaOps.Notify.Connectors.Teams.AssemblyInfo.cs: missing namespace
- src/Notify/__Libraries/StellaOps.Notify.Connectors.Teams/obj/Debug/net10.0/StellaOps.Notify.Connectors.Teams.GlobalUsings.g.cs: missing namespace
- src/Notify/__Libraries/StellaOps.Notify.Connectors.Teams/obj/Release/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs: missing namespace
- src/Notify/__Libraries/StellaOps.Notify.Connectors.Teams/obj/Release/net10.0/StellaOps.Notify.Connectors.Teams.AssemblyInfo.cs: missing namespace
- src/Notify/__Libraries/StellaOps.Notify.Connectors.Teams/obj/Release/net10.0/StellaOps.Notify.Connectors.Teams.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: 10
- Files with issues: 9
- See docs/implplan/audits/csproj-standards/file-audit.csv for full per-file status.
| File | Issues | Fix guidance |
| --- | --- | --- |
| src/Notify/__Libraries/StellaOps.Notify.Connectors.Teams/TeamsChannelHealthProvider.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Notify/__Libraries/StellaOps.Notify.Connectors.Teams/TeamsChannelTestProvider.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Notify/__Libraries/StellaOps.Notify.Connectors.Teams/TeamsMetadataBuilder.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Notify/__Libraries/StellaOps.Notify.Connectors.Teams/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Notify/__Libraries/StellaOps.Notify.Connectors.Teams/obj/Debug/net10.0/StellaOps.Notify.Connectors.Teams.AssemblyInfo.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Notify/__Libraries/StellaOps.Notify.Connectors.Teams/obj/Debug/net10.0/StellaOps.Notify.Connectors.Teams.GlobalUsings.g.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Notify/__Libraries/StellaOps.Notify.Connectors.Teams/obj/Release/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Notify/__Libraries/StellaOps.Notify.Connectors.Teams/obj/Release/net10.0/StellaOps.Notify.Connectors.Teams.AssemblyInfo.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Notify/__Libraries/StellaOps.Notify.Connectors.Teams/obj/Release/net10.0/StellaOps.Notify.Connectors.Teams.GlobalUsings.g.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
## Testing Fullness Findings
- Status: PASS
- Expected layers (heuristic): Unit
- Detected test projects: src/Notify/__Tests/StellaOps.Notify.Connectors.Teams.Tests/StellaOps.Notify.Connectors.Teams.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,67 @@
# Audit - StellaOps.Notify.Connectors.Teams
## Project
- Path: src/Notify/__Libraries/StellaOps.Notify.Connectors.Teams/StellaOps.Notify.Connectors.Teams.csproj
- Module: Notify
- Kind: Plugin
- Audit date (UTC): 2026-01-31
- Files scanned: 4
- Files with issues: 1
- File-level report: docs/implplan/audits/csproj-standards/file-audit.csv
## Coding Standards Findings
- Status: FAIL
- Nullable: enable
- TreatWarningsAsErrors: explicit true
- Deterministic: inherited true
- 100-line rule violations: 1
- Namespace violations: 0
- Using directive violations: 0
- Naming violations (interfaces/fields/const/async): 1
- Service locator usage (BuildServiceProvider/GetService): 0
- Assembly.LoadFrom usage: 0
### Details
- 100-line files:
- src/Notify/__Libraries/StellaOps.Notify.Connectors.Teams/TeamsChannelTestProvider.cs (126 lines)
- Namespace issues:
- none
- Using directive issues:
- none
- Naming issues:
- src/Notify/__Libraries/StellaOps.Notify.Connectors.Teams/TeamsChannelTestProvider.cs: private field naming
- Async issues:
- none
- Service locator matches:
- none
- Assembly.LoadFrom matches:
- none
### Fix Guidance
- Align interface/field/const naming to standards.
- Split files over 100 lines into smaller types or partials.
## File-Level Findings
- Status: FAIL
- Files scanned: 4
- Files with issues: 1
- See docs/implplan/audits/csproj-standards/file-audit.csv for full per-file status.
| File | Issues | Fix guidance |
| --- | --- | --- |
| src/Notify/__Libraries/StellaOps.Notify.Connectors.Teams/TeamsChannelTestProvider.cs | FileLength>100; PrivateFieldNaming | Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
## Testing Fullness Findings
- Status: PASS
- Expected layers (heuristic): Unit
- Detected test projects: src/Notify/__Tests/StellaOps.Notify.Connectors.Teams.Tests/StellaOps.Notify.Connectors.Teams.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,82 @@
# Audit - StellaOps.Notify.Connectors.Webhook
## Project
- Path: src/Notify/__Libraries/StellaOps.Notify.Connectors.Webhook/StellaOps.Notify.Connectors.Webhook.csproj
- Module: Notify
- Kind: Library
- Audit date (UTC): 2026-01-30
- Files scanned: 10
- Files with issues: 9
- File-level report: docs/implplan/audits/csproj-standards/file-audit.csv
## Coding Standards Findings
- Status: FAIL
- Nullable: enable
- TreatWarningsAsErrors: explicit true
- Deterministic: inherited true
- 100-line rule violations: 0
- Namespace violations: 9
- Using directive violations: 0
- Naming violations (interfaces/fields/const/async): 0
- Service locator usage (BuildServiceProvider/GetService): 0
- Assembly.LoadFrom usage: 0
### Details
- 100-line files:
- none
- Namespace issues:
- src/Notify/__Libraries/StellaOps.Notify.Connectors.Webhook/WebhookChannelHealthProvider.cs: missing namespace
- src/Notify/__Libraries/StellaOps.Notify.Connectors.Webhook/WebhookChannelTestProvider.cs: missing namespace
- src/Notify/__Libraries/StellaOps.Notify.Connectors.Webhook/WebhookMetadataBuilder.cs: missing namespace
- src/Notify/__Libraries/StellaOps.Notify.Connectors.Webhook/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs: missing namespace
- src/Notify/__Libraries/StellaOps.Notify.Connectors.Webhook/obj/Debug/net10.0/StellaOps.Notify.Connectors.Webhook.AssemblyInfo.cs: missing namespace
- src/Notify/__Libraries/StellaOps.Notify.Connectors.Webhook/obj/Debug/net10.0/StellaOps.Notify.Connectors.Webhook.GlobalUsings.g.cs: missing namespace
- src/Notify/__Libraries/StellaOps.Notify.Connectors.Webhook/obj/Release/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs: missing namespace
- src/Notify/__Libraries/StellaOps.Notify.Connectors.Webhook/obj/Release/net10.0/StellaOps.Notify.Connectors.Webhook.AssemblyInfo.cs: missing namespace
- src/Notify/__Libraries/StellaOps.Notify.Connectors.Webhook/obj/Release/net10.0/StellaOps.Notify.Connectors.Webhook.GlobalUsings.g.cs: missing namespace
- Using directive issues:
- none
- Naming issues:
- none
- Async issues:
- none
- Service locator matches:
- none
- Assembly.LoadFrom matches:
- none
### Fix Guidance
- Normalize namespaces to file-scoped StellaOps.<Area>.
## File-Level Findings
- Status: FAIL
- Files scanned: 10
- Files with issues: 9
- See docs/implplan/audits/csproj-standards/file-audit.csv for full per-file status.
| File | Issues | Fix guidance |
| --- | --- | --- |
| src/Notify/__Libraries/StellaOps.Notify.Connectors.Webhook/WebhookChannelHealthProvider.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Notify/__Libraries/StellaOps.Notify.Connectors.Webhook/WebhookChannelTestProvider.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Notify/__Libraries/StellaOps.Notify.Connectors.Webhook/WebhookMetadataBuilder.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Notify/__Libraries/StellaOps.Notify.Connectors.Webhook/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Notify/__Libraries/StellaOps.Notify.Connectors.Webhook/obj/Debug/net10.0/StellaOps.Notify.Connectors.Webhook.AssemblyInfo.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Notify/__Libraries/StellaOps.Notify.Connectors.Webhook/obj/Debug/net10.0/StellaOps.Notify.Connectors.Webhook.GlobalUsings.g.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Notify/__Libraries/StellaOps.Notify.Connectors.Webhook/obj/Release/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Notify/__Libraries/StellaOps.Notify.Connectors.Webhook/obj/Release/net10.0/StellaOps.Notify.Connectors.Webhook.AssemblyInfo.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Notify/__Libraries/StellaOps.Notify.Connectors.Webhook/obj/Release/net10.0/StellaOps.Notify.Connectors.Webhook.GlobalUsings.g.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
## Testing Fullness Findings
- Status: PASS
- Expected layers (heuristic): Unit
- Detected test projects: src/Notify/__Tests/StellaOps.Notify.Connectors.Webhook.Tests/StellaOps.Notify.Connectors.Webhook.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,66 @@
# Audit - StellaOps.Notify.Connectors.Webhook
## Project
- Path: src/Notify/__Libraries/StellaOps.Notify.Connectors.Webhook/StellaOps.Notify.Connectors.Webhook.csproj
- Module: Notify
- Kind: Plugin
- Audit date (UTC): 2026-01-31
- Files scanned: 4
- Files with issues: 1
- File-level report: docs/implplan/audits/csproj-standards/file-audit.csv
## Coding Standards Findings
- Status: FAIL
- Nullable: enable
- TreatWarningsAsErrors: explicit true
- Deterministic: inherited true
- 100-line rule violations: 0
- Namespace violations: 0
- Using directive violations: 0
- Naming violations (interfaces/fields/const/async): 1
- Service locator usage (BuildServiceProvider/GetService): 0
- Assembly.LoadFrom usage: 0
### Details
- 100-line files:
- none
- Namespace issues:
- none
- Using directive issues:
- none
- Naming issues:
- src/Notify/__Libraries/StellaOps.Notify.Connectors.Webhook/WebhookChannelTestProvider.cs: private field naming
- Async issues:
- none
- Service locator matches:
- none
- Assembly.LoadFrom matches:
- none
### Fix Guidance
- Align interface/field/const naming to standards.
## File-Level Findings
- Status: FAIL
- Files scanned: 4
- Files with issues: 1
- See docs/implplan/audits/csproj-standards/file-audit.csv for full per-file status.
| File | Issues | Fix guidance |
| --- | --- | --- |
| src/Notify/__Libraries/StellaOps.Notify.Connectors.Webhook/WebhookChannelTestProvider.cs | PrivateFieldNaming | Rename private fields to _camelCase. |
## Testing Fullness Findings
- Status: PASS
- Expected layers (heuristic): Unit
- Detected test projects: src/Notify/__Tests/StellaOps.Notify.Connectors.Webhook.Tests/StellaOps.Notify.Connectors.Webhook.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,96 @@
# Audit - StellaOps.Notify.Engine
## Project
- Path: src/Notify/__Libraries/StellaOps.Notify.Engine/StellaOps.Notify.Engine.csproj
- Module: Notify
- Kind: Library
- Audit date (UTC): 2026-01-30
- Files scanned: 14
- Files with issues: 14
- File-level report: docs/implplan/audits/csproj-standards/file-audit.csv
## Coding Standards Findings
- Status: FAIL
- Nullable: enable
- TreatWarningsAsErrors: explicit true
- Deterministic: inherited true
- 100-line rule violations: 4
- Namespace violations: 14
- Using directive violations: 0
- Naming violations (interfaces/fields/const/async): 0
- Service locator usage (BuildServiceProvider/GetService): 0
- Assembly.LoadFrom usage: 0
### Details
- 100-line files:
- src/Notify/__Libraries/StellaOps.Notify.Engine/Formatters/SlackSecretAlertFormatter.cs (341 lines)
- src/Notify/__Libraries/StellaOps.Notify.Engine/Formatters/TeamsSecretAlertFormatter.cs (320 lines)
- src/Notify/__Libraries/StellaOps.Notify.Engine/Templates/BudgetAlertTemplates.cs (532 lines)
- src/Notify/__Libraries/StellaOps.Notify.Engine/Templates/SecretFindingAlertTemplates.cs (446 lines)
- Namespace issues:
- src/Notify/__Libraries/StellaOps.Notify.Engine/ChannelHealthContracts.cs: missing namespace
- src/Notify/__Libraries/StellaOps.Notify.Engine/ChannelTestPreviewContracts.cs: missing namespace
- src/Notify/__Libraries/StellaOps.Notify.Engine/INotifyRuleEvaluator.cs: missing namespace
- src/Notify/__Libraries/StellaOps.Notify.Engine/NotifyRuleEvaluationOutcome.cs: missing namespace
- src/Notify/__Libraries/StellaOps.Notify.Engine/Formatters/SlackSecretAlertFormatter.cs: missing namespace
- src/Notify/__Libraries/StellaOps.Notify.Engine/Formatters/TeamsSecretAlertFormatter.cs: missing namespace
- src/Notify/__Libraries/StellaOps.Notify.Engine/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs: missing namespace
- src/Notify/__Libraries/StellaOps.Notify.Engine/obj/Debug/net10.0/StellaOps.Notify.Engine.AssemblyInfo.cs: missing namespace
- src/Notify/__Libraries/StellaOps.Notify.Engine/obj/Debug/net10.0/StellaOps.Notify.Engine.GlobalUsings.g.cs: missing namespace
- src/Notify/__Libraries/StellaOps.Notify.Engine/obj/Release/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs: missing namespace
- src/Notify/__Libraries/StellaOps.Notify.Engine/obj/Release/net10.0/StellaOps.Notify.Engine.AssemblyInfo.cs: missing namespace
- src/Notify/__Libraries/StellaOps.Notify.Engine/obj/Release/net10.0/StellaOps.Notify.Engine.GlobalUsings.g.cs: missing namespace
- src/Notify/__Libraries/StellaOps.Notify.Engine/Templates/BudgetAlertTemplates.cs: missing namespace
- src/Notify/__Libraries/StellaOps.Notify.Engine/Templates/SecretFindingAlertTemplates.cs: missing namespace
- Using directive issues:
- none
- Naming issues:
- none
- Async issues:
- none
- Service locator matches:
- none
- Assembly.LoadFrom matches:
- none
### Fix Guidance
- Normalize namespaces to file-scoped StellaOps.<Area>.
- Split files over 100 lines into smaller types or partials.
## File-Level Findings
- Status: FAIL
- Files scanned: 14
- Files with issues: 14
- See docs/implplan/audits/csproj-standards/file-audit.csv for full per-file status.
| File | Issues | Fix guidance |
| --- | --- | --- |
| src/Notify/__Libraries/StellaOps.Notify.Engine/ChannelHealthContracts.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Notify/__Libraries/StellaOps.Notify.Engine/ChannelTestPreviewContracts.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Notify/__Libraries/StellaOps.Notify.Engine/INotifyRuleEvaluator.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Notify/__Libraries/StellaOps.Notify.Engine/NotifyRuleEvaluationOutcome.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Notify/__Libraries/StellaOps.Notify.Engine/Formatters/SlackSecretAlertFormatter.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Notify/__Libraries/StellaOps.Notify.Engine/Formatters/TeamsSecretAlertFormatter.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Notify/__Libraries/StellaOps.Notify.Engine/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Notify/__Libraries/StellaOps.Notify.Engine/obj/Debug/net10.0/StellaOps.Notify.Engine.AssemblyInfo.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Notify/__Libraries/StellaOps.Notify.Engine/obj/Debug/net10.0/StellaOps.Notify.Engine.GlobalUsings.g.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Notify/__Libraries/StellaOps.Notify.Engine/obj/Release/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Notify/__Libraries/StellaOps.Notify.Engine/obj/Release/net10.0/StellaOps.Notify.Engine.AssemblyInfo.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Notify/__Libraries/StellaOps.Notify.Engine/obj/Release/net10.0/StellaOps.Notify.Engine.GlobalUsings.g.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Notify/__Libraries/StellaOps.Notify.Engine/Templates/BudgetAlertTemplates.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Notify/__Libraries/StellaOps.Notify.Engine/Templates/SecretFindingAlertTemplates.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/Notify/__Tests/StellaOps.Notify.Connectors.Email.Tests/StellaOps.Notify.Connectors.Email.Tests.csproj [Unit]; src/Notify/__Tests/StellaOps.Notify.Connectors.Slack.Tests/StellaOps.Notify.Connectors.Slack.Tests.csproj [Unit]; src/Notify/__Tests/StellaOps.Notify.Connectors.Teams.Tests/StellaOps.Notify.Connectors.Teams.Tests.csproj [Unit]; src/Notify/__Tests/StellaOps.Notify.Connectors.Webhook.Tests/StellaOps.Notify.Connectors.Webhook.Tests.csproj [Unit]; src/Notify/__Tests/StellaOps.Notify.Engine.Tests/StellaOps.Notify.Engine.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.Notify.Engine
## Project
- Path: src/Notify/__Libraries/StellaOps.Notify.Engine/StellaOps.Notify.Engine.csproj
- Module: Notify
- Kind: Library
- Audit date (UTC): 2026-01-31
- Files scanned: 8
- Files with issues: 4
- File-level report: docs/implplan/audits/csproj-standards/file-audit.csv
## Coding Standards Findings
- Status: FAIL
- Nullable: enable
- TreatWarningsAsErrors: explicit true
- Deterministic: inherited true
- 100-line rule violations: 4
- Namespace violations: 0
- Using directive violations: 0
- Naming violations (interfaces/fields/const/async): 2
- Service locator usage (BuildServiceProvider/GetService): 0
- Assembly.LoadFrom usage: 0
### Details
- 100-line files:
- src/Notify/__Libraries/StellaOps.Notify.Engine/Formatters/SlackSecretAlertFormatter.cs (341 lines)
- src/Notify/__Libraries/StellaOps.Notify.Engine/Formatters/TeamsSecretAlertFormatter.cs (320 lines)
- src/Notify/__Libraries/StellaOps.Notify.Engine/Templates/BudgetAlertTemplates.cs (533 lines)
- src/Notify/__Libraries/StellaOps.Notify.Engine/Templates/SecretFindingAlertTemplates.cs (447 lines)
- Namespace issues:
- none
- Using directive issues:
- none
- Naming issues:
- src/Notify/__Libraries/StellaOps.Notify.Engine/Formatters/SlackSecretAlertFormatter.cs: private field naming
- src/Notify/__Libraries/StellaOps.Notify.Engine/Formatters/TeamsSecretAlertFormatter.cs: private field naming
- Async issues:
- none
- Service locator matches:
- none
- Assembly.LoadFrom matches:
- none
### Fix Guidance
- Align interface/field/const naming to standards.
- Split files over 100 lines into smaller types or partials.
## File-Level Findings
- Status: FAIL
- Files scanned: 8
- Files with issues: 4
- See docs/implplan/audits/csproj-standards/file-audit.csv for full per-file status.
| File | Issues | Fix guidance |
| --- | --- | --- |
| src/Notify/__Libraries/StellaOps.Notify.Engine/Formatters/SlackSecretAlertFormatter.cs | FileLength>100; PrivateFieldNaming | Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Notify/__Libraries/StellaOps.Notify.Engine/Formatters/TeamsSecretAlertFormatter.cs | FileLength>100; PrivateFieldNaming | Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Notify/__Libraries/StellaOps.Notify.Engine/Templates/BudgetAlertTemplates.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Notify/__Libraries/StellaOps.Notify.Engine/Templates/SecretFindingAlertTemplates.cs | FileLength>100 | Split file to stay <= 100 lines. |
## Testing Fullness Findings
- Status: PASS
- Expected layers (heuristic): Unit
- Detected test projects: src/Notify/__Tests/StellaOps.Notify.Connectors.Email.Tests/StellaOps.Notify.Connectors.Email.Tests.csproj [Unit]; src/Notify/__Tests/StellaOps.Notify.Connectors.Slack.Tests/StellaOps.Notify.Connectors.Slack.Tests.csproj [Unit]; src/Notify/__Tests/StellaOps.Notify.Connectors.Teams.Tests/StellaOps.Notify.Connectors.Teams.Tests.csproj [Unit]; src/Notify/__Tests/StellaOps.Notify.Connectors.Webhook.Tests/StellaOps.Notify.Connectors.Webhook.Tests.csproj [Unit]; src/Notify/__Tests/StellaOps.Notify.Engine.Tests/StellaOps.Notify.Engine.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,121 @@
# Audit - StellaOps.Notify.Models
## Project
- Path: src/Notify/__Libraries/StellaOps.Notify.Models/StellaOps.Notify.Models.csproj
- Module: Notify
- 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 true
- Deterministic: inherited true
- 100-line rule violations: 11
- 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/Notify/__Libraries/StellaOps.Notify.Models/NotifyCanonicalJsonSerializer.cs (638 lines)
- src/Notify/__Libraries/StellaOps.Notify.Models/NotifyChannel.cs (236 lines)
- src/Notify/__Libraries/StellaOps.Notify.Models/NotifyDelivery.cs (253 lines)
- src/Notify/__Libraries/StellaOps.Notify.Models/NotifyEscalation.cs (479 lines)
- src/Notify/__Libraries/StellaOps.Notify.Models/NotifyEvent.cs (169 lines)
- src/Notify/__Libraries/StellaOps.Notify.Models/NotifyLocalizationBundle.cs (234 lines)
- src/Notify/__Libraries/StellaOps.Notify.Models/NotifyOnCallSchedule.cs (495 lines)
- src/Notify/__Libraries/StellaOps.Notify.Models/NotifyQuietHours.cs (402 lines)
- src/Notify/__Libraries/StellaOps.Notify.Models/NotifyRule.cs (389 lines)
- src/Notify/__Libraries/StellaOps.Notify.Models/NotifyTemplate.cs (131 lines)
- src/Notify/__Libraries/StellaOps.Notify.Models/NotifyThrottleConfig.cs (158 lines)
- Namespace issues:
- src/Notify/__Libraries/StellaOps.Notify.Models/Iso8601DurationConverter.cs: missing namespace
- src/Notify/__Libraries/StellaOps.Notify.Models/NotifyCanonicalJsonSerializer.cs: missing namespace
- src/Notify/__Libraries/StellaOps.Notify.Models/NotifyChannel.cs: missing namespace
- src/Notify/__Libraries/StellaOps.Notify.Models/NotifyDelivery.cs: missing namespace
- src/Notify/__Libraries/StellaOps.Notify.Models/NotifyEnums.cs: missing namespace
- src/Notify/__Libraries/StellaOps.Notify.Models/NotifyEscalation.cs: missing namespace
- src/Notify/__Libraries/StellaOps.Notify.Models/NotifyEvent.cs: missing namespace
- src/Notify/__Libraries/StellaOps.Notify.Models/NotifyEventKinds.cs: missing namespace
- src/Notify/__Libraries/StellaOps.Notify.Models/NotifyLocalizationBundle.cs: missing namespace
- src/Notify/__Libraries/StellaOps.Notify.Models/NotifyOnCallSchedule.cs: missing namespace
- src/Notify/__Libraries/StellaOps.Notify.Models/NotifyQuietHours.cs: missing namespace
- src/Notify/__Libraries/StellaOps.Notify.Models/NotifyRule.cs: missing namespace
- src/Notify/__Libraries/StellaOps.Notify.Models/NotifySchemaMigration.cs: missing namespace
- src/Notify/__Libraries/StellaOps.Notify.Models/NotifySchemaVersions.cs: missing namespace
- src/Notify/__Libraries/StellaOps.Notify.Models/NotifyTemplate.cs: missing namespace
- src/Notify/__Libraries/StellaOps.Notify.Models/NotifyThrottleConfig.cs: missing namespace
- src/Notify/__Libraries/StellaOps.Notify.Models/NotifyValidation.cs: missing namespace
- src/Notify/__Libraries/StellaOps.Notify.Models/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs: missing namespace
- src/Notify/__Libraries/StellaOps.Notify.Models/obj/Debug/net10.0/StellaOps.Notify.Models.AssemblyInfo.cs: missing namespace
- src/Notify/__Libraries/StellaOps.Notify.Models/obj/Debug/net10.0/StellaOps.Notify.Models.GlobalUsings.g.cs: missing namespace
- src/Notify/__Libraries/StellaOps.Notify.Models/obj/Release/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs: missing namespace
- src/Notify/__Libraries/StellaOps.Notify.Models/obj/Release/net10.0/StellaOps.Notify.Models.AssemblyInfo.cs: missing namespace
- src/Notify/__Libraries/StellaOps.Notify.Models/obj/Release/net10.0/StellaOps.Notify.Models.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: 23
- Files with issues: 23
- See docs/implplan/audits/csproj-standards/file-audit.csv for full per-file status.
| File | Issues | Fix guidance |
| --- | --- | --- |
| src/Notify/__Libraries/StellaOps.Notify.Models/Iso8601DurationConverter.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Notify/__Libraries/StellaOps.Notify.Models/NotifyCanonicalJsonSerializer.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Notify/__Libraries/StellaOps.Notify.Models/NotifyChannel.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Notify/__Libraries/StellaOps.Notify.Models/NotifyDelivery.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Notify/__Libraries/StellaOps.Notify.Models/NotifyEnums.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Notify/__Libraries/StellaOps.Notify.Models/NotifyEscalation.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Notify/__Libraries/StellaOps.Notify.Models/NotifyEvent.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Notify/__Libraries/StellaOps.Notify.Models/NotifyEventKinds.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Notify/__Libraries/StellaOps.Notify.Models/NotifyLocalizationBundle.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Notify/__Libraries/StellaOps.Notify.Models/NotifyOnCallSchedule.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Notify/__Libraries/StellaOps.Notify.Models/NotifyQuietHours.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Notify/__Libraries/StellaOps.Notify.Models/NotifyRule.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Notify/__Libraries/StellaOps.Notify.Models/NotifySchemaMigration.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Notify/__Libraries/StellaOps.Notify.Models/NotifySchemaVersions.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Notify/__Libraries/StellaOps.Notify.Models/NotifyTemplate.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Notify/__Libraries/StellaOps.Notify.Models/NotifyThrottleConfig.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Notify/__Libraries/StellaOps.Notify.Models/NotifyValidation.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Notify/__Libraries/StellaOps.Notify.Models/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Notify/__Libraries/StellaOps.Notify.Models/obj/Debug/net10.0/StellaOps.Notify.Models.AssemblyInfo.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Notify/__Libraries/StellaOps.Notify.Models/obj/Debug/net10.0/StellaOps.Notify.Models.GlobalUsings.g.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Notify/__Libraries/StellaOps.Notify.Models/obj/Release/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Notify/__Libraries/StellaOps.Notify.Models/obj/Release/net10.0/StellaOps.Notify.Models.AssemblyInfo.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Notify/__Libraries/StellaOps.Notify.Models/obj/Release/net10.0/StellaOps.Notify.Models.GlobalUsings.g.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
## Testing Fullness Findings
- Status: PASS
- Expected layers (heuristic): Unit
- Detected test projects: src/Notify/__Tests/StellaOps.Notify.Connectors.Email.Tests/StellaOps.Notify.Connectors.Email.Tests.csproj [Unit]; src/Notify/__Tests/StellaOps.Notify.Connectors.Slack.Tests/StellaOps.Notify.Connectors.Slack.Tests.csproj [Unit]; src/Notify/__Tests/StellaOps.Notify.Connectors.Teams.Tests/StellaOps.Notify.Connectors.Teams.Tests.csproj [Unit]; src/Notify/__Tests/StellaOps.Notify.Connectors.Webhook.Tests/StellaOps.Notify.Connectors.Webhook.Tests.csproj [Unit]; src/Notify/__Tests/StellaOps.Notify.Core.Tests/StellaOps.Notify.Core.Tests.csproj [Unit]; src/Notify/__Tests/StellaOps.Notify.Engine.Tests/StellaOps.Notify.Engine.Tests.csproj [Unit]; src/Notify/__Tests/StellaOps.Notify.Models.Tests/StellaOps.Notify.Models.Tests.csproj [Unit]; src/Notify/__Tests/StellaOps.Notify.Queue.Tests/StellaOps.Notify.Queue.Tests.csproj [Unit]; src/Notify/__Tests/StellaOps.Notify.WebService.Tests/StellaOps.Notify.WebService.Tests.csproj [Unit]; src/Notify/__Tests/StellaOps.Notify.Worker.Tests/StellaOps.Notify.Worker.Tests.csproj [Unit]; src/Scheduler/__Tests/StellaOps.Scheduler.Models.Tests/StellaOps.Scheduler.Models.Tests.csproj [Unit]; src/Scheduler/__Tests/StellaOps.Scheduler.Worker.Tests/StellaOps.Scheduler.Worker.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 - StellaOps.Notify.Models
## Project
- Path: src/Notify/__Libraries/StellaOps.Notify.Models/StellaOps.Notify.Models.csproj
- Module: Notify
- Kind: Library
- Audit date (UTC): 2026-01-31
- Files scanned: 17
- Files with issues: 11
- File-level report: docs/implplan/audits/csproj-standards/file-audit.csv
## Coding Standards Findings
- Status: FAIL
- Nullable: enable
- TreatWarningsAsErrors: explicit true
- Deterministic: inherited true
- 100-line rule violations: 11
- Namespace violations: 0
- Using directive violations: 0
- Naming violations (interfaces/fields/const/async): 1
- Service locator usage (BuildServiceProvider/GetService): 0
- Assembly.LoadFrom usage: 0
### Details
- 100-line files:
- src/Notify/__Libraries/StellaOps.Notify.Models/NotifyCanonicalJsonSerializer.cs (639 lines)
- src/Notify/__Libraries/StellaOps.Notify.Models/NotifyChannel.cs (236 lines)
- src/Notify/__Libraries/StellaOps.Notify.Models/NotifyDelivery.cs (253 lines)
- src/Notify/__Libraries/StellaOps.Notify.Models/NotifyEscalation.cs (479 lines)
- src/Notify/__Libraries/StellaOps.Notify.Models/NotifyEvent.cs (169 lines)
- src/Notify/__Libraries/StellaOps.Notify.Models/NotifyLocalizationBundle.cs (234 lines)
- src/Notify/__Libraries/StellaOps.Notify.Models/NotifyOnCallSchedule.cs (495 lines)
- src/Notify/__Libraries/StellaOps.Notify.Models/NotifyQuietHours.cs (402 lines)
- src/Notify/__Libraries/StellaOps.Notify.Models/NotifyRule.cs (389 lines)
- src/Notify/__Libraries/StellaOps.Notify.Models/NotifyTemplate.cs (131 lines)
- src/Notify/__Libraries/StellaOps.Notify.Models/NotifyThrottleConfig.cs (158 lines)
- Namespace issues:
- none
- Using directive issues:
- none
- Naming issues:
- src/Notify/__Libraries/StellaOps.Notify.Models/NotifyCanonicalJsonSerializer.cs: private field naming
- Async issues:
- none
- Service locator matches:
- none
- Assembly.LoadFrom matches:
- none
### Fix Guidance
- Align interface/field/const naming to standards.
- Split files over 100 lines into smaller types or partials.
## File-Level Findings
- Status: FAIL
- Files scanned: 17
- Files with issues: 11
- See docs/implplan/audits/csproj-standards/file-audit.csv for full per-file status.
| File | Issues | Fix guidance |
| --- | --- | --- |
| src/Notify/__Libraries/StellaOps.Notify.Models/NotifyCanonicalJsonSerializer.cs | FileLength>100; PrivateFieldNaming | Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Notify/__Libraries/StellaOps.Notify.Models/NotifyChannel.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Notify/__Libraries/StellaOps.Notify.Models/NotifyDelivery.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Notify/__Libraries/StellaOps.Notify.Models/NotifyEscalation.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Notify/__Libraries/StellaOps.Notify.Models/NotifyEvent.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Notify/__Libraries/StellaOps.Notify.Models/NotifyLocalizationBundle.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Notify/__Libraries/StellaOps.Notify.Models/NotifyOnCallSchedule.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Notify/__Libraries/StellaOps.Notify.Models/NotifyQuietHours.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Notify/__Libraries/StellaOps.Notify.Models/NotifyRule.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Notify/__Libraries/StellaOps.Notify.Models/NotifyTemplate.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Notify/__Libraries/StellaOps.Notify.Models/NotifyThrottleConfig.cs | FileLength>100 | Split file to stay <= 100 lines. |
## Testing Fullness Findings
- Status: PASS
- Expected layers (heuristic): Unit
- Detected test projects: src/Notify/__Tests/StellaOps.Notify.Connectors.Email.Tests/StellaOps.Notify.Connectors.Email.Tests.csproj [Unit]; src/Notify/__Tests/StellaOps.Notify.Connectors.Slack.Tests/StellaOps.Notify.Connectors.Slack.Tests.csproj [Unit]; src/Notify/__Tests/StellaOps.Notify.Connectors.Teams.Tests/StellaOps.Notify.Connectors.Teams.Tests.csproj [Unit]; src/Notify/__Tests/StellaOps.Notify.Connectors.Webhook.Tests/StellaOps.Notify.Connectors.Webhook.Tests.csproj [Unit]; src/Notify/__Tests/StellaOps.Notify.Core.Tests/StellaOps.Notify.Core.Tests.csproj [Unit]; src/Notify/__Tests/StellaOps.Notify.Engine.Tests/StellaOps.Notify.Engine.Tests.csproj [Unit]; src/Notify/__Tests/StellaOps.Notify.Models.Tests/StellaOps.Notify.Models.Tests.csproj [Unit]; src/Notify/__Tests/StellaOps.Notify.Queue.Tests/StellaOps.Notify.Queue.Tests.csproj [Unit]; src/Notify/__Tests/StellaOps.Notify.WebService.Tests/StellaOps.Notify.WebService.Tests.csproj [Unit]; src/Notify/__Tests/StellaOps.Notify.Worker.Tests/StellaOps.Notify.Worker.Tests.csproj [Unit]; src/Scheduler/__Tests/StellaOps.Scheduler.Models.Tests/StellaOps.Scheduler.Models.Tests.csproj [Unit]; src/Scheduler/__Tests/StellaOps.Scheduler.Worker.Tests/StellaOps.Scheduler.Worker.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,206 @@
# Audit - StellaOps.Notify.Persistence
## Project
- Path: src/Notify/__Libraries/StellaOps.Notify.Persistence/StellaOps.Notify.Persistence.csproj
- Module: Notify
- Kind: Library
- Audit date (UTC): 2026-01-30
- Files scanned: 60
- Files with issues: 60
- File-level report: docs/implplan/audits/csproj-standards/file-audit.csv
## Coding Standards Findings
- Status: FAIL
- Nullable: enable
- TreatWarningsAsErrors: explicit true
- Deterministic: inherited true
- 100-line rule violations: 21
- Namespace violations: 60
- 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/Notify/__Libraries/StellaOps.Notify.Persistence/Extensions/NotifyPersistenceExtensions.cs (111 lines)
- src/Notify/__Libraries/StellaOps.Notify.Persistence/InMemory/Documents/NotifyDocuments.cs (271 lines)
- src/Notify/__Libraries/StellaOps.Notify.Persistence/InMemory/Repositories/InMemoryRepositories.cs (517 lines)
- src/Notify/__Libraries/StellaOps.Notify.Persistence/InMemory/Repositories/INotifyRepositories.cs (150 lines)
- src/Notify/__Libraries/StellaOps.Notify.Persistence/Postgres/Models/DeliveryEntity.cs (139 lines)
- src/Notify/__Libraries/StellaOps.Notify.Persistence/Postgres/Repositories/ChannelRepository.cs (265 lines)
- src/Notify/__Libraries/StellaOps.Notify.Persistence/Postgres/Repositories/DeliveryRepository.cs (531 lines)
- src/Notify/__Libraries/StellaOps.Notify.Persistence/Postgres/Repositories/DigestRepository.cs (160 lines)
- src/Notify/__Libraries/StellaOps.Notify.Persistence/Postgres/Repositories/EscalationRepository.cs (253 lines)
- src/Notify/__Libraries/StellaOps.Notify.Persistence/Postgres/Repositories/IDeliveryRepository.cs (110 lines)
- src/Notify/__Libraries/StellaOps.Notify.Persistence/Postgres/Repositories/InboxRepository.cs (140 lines)
- src/Notify/__Libraries/StellaOps.Notify.Persistence/Postgres/Repositories/IncidentRepository.cs (168 lines)
- src/Notify/__Libraries/StellaOps.Notify.Persistence/Postgres/Repositories/LocalizationBundleRepository.cs (217 lines)
- src/Notify/__Libraries/StellaOps.Notify.Persistence/Postgres/Repositories/MaintenanceWindowRepository.cs (124 lines)
- src/Notify/__Libraries/StellaOps.Notify.Persistence/Postgres/Repositories/NotifyAuditRepository.cs (101 lines)
- src/Notify/__Libraries/StellaOps.Notify.Persistence/Postgres/Repositories/OnCallScheduleRepository.cs (117 lines)
- src/Notify/__Libraries/StellaOps.Notify.Persistence/Postgres/Repositories/OperatorOverrideRepository.cs (161 lines)
- src/Notify/__Libraries/StellaOps.Notify.Persistence/Postgres/Repositories/QuietHoursRepository.cs (117 lines)
- src/Notify/__Libraries/StellaOps.Notify.Persistence/Postgres/Repositories/RuleRepository.cs (140 lines)
- src/Notify/__Libraries/StellaOps.Notify.Persistence/Postgres/Repositories/TemplateRepository.cs (137 lines)
- src/Notify/__Libraries/StellaOps.Notify.Persistence/Postgres/Repositories/ThrottleConfigRepository.cs (199 lines)
- Namespace issues:
- src/Notify/__Libraries/StellaOps.Notify.Persistence/EfCore/Context/NotifyDbContext.cs: missing namespace
- src/Notify/__Libraries/StellaOps.Notify.Persistence/Extensions/NotifyPersistenceExtensions.cs: missing namespace
- src/Notify/__Libraries/StellaOps.Notify.Persistence/InMemory/Documents/NotifyDocuments.cs: missing namespace
- src/Notify/__Libraries/StellaOps.Notify.Persistence/InMemory/Repositories/InMemoryRepositories.cs: missing namespace
- src/Notify/__Libraries/StellaOps.Notify.Persistence/InMemory/Repositories/INotifyRepositories.cs: missing namespace
- src/Notify/__Libraries/StellaOps.Notify.Persistence/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs: missing namespace
- src/Notify/__Libraries/StellaOps.Notify.Persistence/obj/Debug/net10.0/StellaOps.Notify.Persistence.AssemblyInfo.cs: missing namespace
- src/Notify/__Libraries/StellaOps.Notify.Persistence/obj/Debug/net10.0/StellaOps.Notify.Persistence.GlobalUsings.g.cs: missing namespace
- src/Notify/__Libraries/StellaOps.Notify.Persistence/obj/Release/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs: missing namespace
- src/Notify/__Libraries/StellaOps.Notify.Persistence/obj/Release/net10.0/StellaOps.Notify.Persistence.AssemblyInfo.cs: missing namespace
- src/Notify/__Libraries/StellaOps.Notify.Persistence/obj/Release/net10.0/StellaOps.Notify.Persistence.GlobalUsings.g.cs: missing namespace
- src/Notify/__Libraries/StellaOps.Notify.Persistence/Postgres/NotifyDataSource.cs: missing namespace
- src/Notify/__Libraries/StellaOps.Notify.Persistence/Postgres/Models/ChannelEntity.cs: missing namespace
- src/Notify/__Libraries/StellaOps.Notify.Persistence/Postgres/Models/DeliveryEntity.cs: missing namespace
- src/Notify/__Libraries/StellaOps.Notify.Persistence/Postgres/Models/DigestEntity.cs: missing namespace
- src/Notify/__Libraries/StellaOps.Notify.Persistence/Postgres/Models/EscalationEntity.cs: missing namespace
- src/Notify/__Libraries/StellaOps.Notify.Persistence/Postgres/Models/InboxEntity.cs: missing namespace
- src/Notify/__Libraries/StellaOps.Notify.Persistence/Postgres/Models/IncidentEntity.cs: missing namespace
- src/Notify/__Libraries/StellaOps.Notify.Persistence/Postgres/Models/LocalizationBundleEntity.cs: missing namespace
- src/Notify/__Libraries/StellaOps.Notify.Persistence/Postgres/Models/LockEntity.cs: missing namespace
- src/Notify/__Libraries/StellaOps.Notify.Persistence/Postgres/Models/MaintenanceWindowEntity.cs: missing namespace
- src/Notify/__Libraries/StellaOps.Notify.Persistence/Postgres/Models/NotifyAuditEntity.cs: missing namespace
- src/Notify/__Libraries/StellaOps.Notify.Persistence/Postgres/Models/OnCallScheduleEntity.cs: missing namespace
- src/Notify/__Libraries/StellaOps.Notify.Persistence/Postgres/Models/OperatorOverrideEntity.cs: missing namespace
- src/Notify/__Libraries/StellaOps.Notify.Persistence/Postgres/Models/QuietHoursEntity.cs: missing namespace
- src/Notify/__Libraries/StellaOps.Notify.Persistence/Postgres/Models/RuleEntity.cs: missing namespace
- src/Notify/__Libraries/StellaOps.Notify.Persistence/Postgres/Models/TemplateEntity.cs: missing namespace
- src/Notify/__Libraries/StellaOps.Notify.Persistence/Postgres/Models/ThrottleConfigEntity.cs: missing namespace
- src/Notify/__Libraries/StellaOps.Notify.Persistence/Postgres/Repositories/ChannelRepository.cs: missing namespace
- src/Notify/__Libraries/StellaOps.Notify.Persistence/Postgres/Repositories/DeliveryRepository.cs: missing namespace
- src/Notify/__Libraries/StellaOps.Notify.Persistence/Postgres/Repositories/DigestRepository.cs: missing namespace
- src/Notify/__Libraries/StellaOps.Notify.Persistence/Postgres/Repositories/EscalationRepository.cs: missing namespace
- src/Notify/__Libraries/StellaOps.Notify.Persistence/Postgres/Repositories/IChannelRepository.cs: missing namespace
- src/Notify/__Libraries/StellaOps.Notify.Persistence/Postgres/Repositories/IDeliveryRepository.cs: missing namespace
- src/Notify/__Libraries/StellaOps.Notify.Persistence/Postgres/Repositories/IDigestRepository.cs: missing namespace
- src/Notify/__Libraries/StellaOps.Notify.Persistence/Postgres/Repositories/IEscalationRepository.cs: missing namespace
- src/Notify/__Libraries/StellaOps.Notify.Persistence/Postgres/Repositories/IInboxRepository.cs: missing namespace
- src/Notify/__Libraries/StellaOps.Notify.Persistence/Postgres/Repositories/IIncidentRepository.cs: missing namespace
- src/Notify/__Libraries/StellaOps.Notify.Persistence/Postgres/Repositories/ILocalizationBundleRepository.cs: missing namespace
- src/Notify/__Libraries/StellaOps.Notify.Persistence/Postgres/Repositories/ILockRepository.cs: missing namespace
- src/Notify/__Libraries/StellaOps.Notify.Persistence/Postgres/Repositories/IMaintenanceWindowRepository.cs: missing namespace
- src/Notify/__Libraries/StellaOps.Notify.Persistence/Postgres/Repositories/InboxRepository.cs: missing namespace
- src/Notify/__Libraries/StellaOps.Notify.Persistence/Postgres/Repositories/IncidentRepository.cs: missing namespace
- src/Notify/__Libraries/StellaOps.Notify.Persistence/Postgres/Repositories/INotifyAuditRepository.cs: missing namespace
- src/Notify/__Libraries/StellaOps.Notify.Persistence/Postgres/Repositories/IOnCallScheduleRepository.cs: missing namespace
- src/Notify/__Libraries/StellaOps.Notify.Persistence/Postgres/Repositories/IOperatorOverrideRepository.cs: missing namespace
- src/Notify/__Libraries/StellaOps.Notify.Persistence/Postgres/Repositories/IQuietHoursRepository.cs: missing namespace
- src/Notify/__Libraries/StellaOps.Notify.Persistence/Postgres/Repositories/IRuleRepository.cs: missing namespace
- src/Notify/__Libraries/StellaOps.Notify.Persistence/Postgres/Repositories/ITemplateRepository.cs: missing namespace
- src/Notify/__Libraries/StellaOps.Notify.Persistence/Postgres/Repositories/IThrottleConfigRepository.cs: missing namespace
- src/Notify/__Libraries/StellaOps.Notify.Persistence/Postgres/Repositories/LocalizationBundleRepository.cs: missing namespace
- src/Notify/__Libraries/StellaOps.Notify.Persistence/Postgres/Repositories/LockRepository.cs: missing namespace
- src/Notify/__Libraries/StellaOps.Notify.Persistence/Postgres/Repositories/MaintenanceWindowRepository.cs: missing namespace
- src/Notify/__Libraries/StellaOps.Notify.Persistence/Postgres/Repositories/NotifyAuditRepository.cs: missing namespace
- src/Notify/__Libraries/StellaOps.Notify.Persistence/Postgres/Repositories/OnCallScheduleRepository.cs: missing namespace
- src/Notify/__Libraries/StellaOps.Notify.Persistence/Postgres/Repositories/OperatorOverrideRepository.cs: missing namespace
- src/Notify/__Libraries/StellaOps.Notify.Persistence/Postgres/Repositories/QuietHoursRepository.cs: missing namespace
- src/Notify/__Libraries/StellaOps.Notify.Persistence/Postgres/Repositories/RuleRepository.cs: missing namespace
- src/Notify/__Libraries/StellaOps.Notify.Persistence/Postgres/Repositories/TemplateRepository.cs: missing namespace
- src/Notify/__Libraries/StellaOps.Notify.Persistence/Postgres/Repositories/ThrottleConfigRepository.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: 60
- Files with issues: 60
- See docs/implplan/audits/csproj-standards/file-audit.csv for full per-file status.
| File | Issues | Fix guidance |
| --- | --- | --- |
| src/Notify/__Libraries/StellaOps.Notify.Persistence/EfCore/Context/NotifyDbContext.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Notify/__Libraries/StellaOps.Notify.Persistence/Extensions/NotifyPersistenceExtensions.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Notify/__Libraries/StellaOps.Notify.Persistence/InMemory/Documents/NotifyDocuments.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Notify/__Libraries/StellaOps.Notify.Persistence/InMemory/Repositories/InMemoryRepositories.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Notify/__Libraries/StellaOps.Notify.Persistence/InMemory/Repositories/INotifyRepositories.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Notify/__Libraries/StellaOps.Notify.Persistence/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Notify/__Libraries/StellaOps.Notify.Persistence/obj/Debug/net10.0/StellaOps.Notify.Persistence.AssemblyInfo.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Notify/__Libraries/StellaOps.Notify.Persistence/obj/Debug/net10.0/StellaOps.Notify.Persistence.GlobalUsings.g.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Notify/__Libraries/StellaOps.Notify.Persistence/obj/Release/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Notify/__Libraries/StellaOps.Notify.Persistence/obj/Release/net10.0/StellaOps.Notify.Persistence.AssemblyInfo.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Notify/__Libraries/StellaOps.Notify.Persistence/obj/Release/net10.0/StellaOps.Notify.Persistence.GlobalUsings.g.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Notify/__Libraries/StellaOps.Notify.Persistence/Postgres/NotifyDataSource.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Notify/__Libraries/StellaOps.Notify.Persistence/Postgres/Models/ChannelEntity.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Notify/__Libraries/StellaOps.Notify.Persistence/Postgres/Models/DeliveryEntity.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Notify/__Libraries/StellaOps.Notify.Persistence/Postgres/Models/DigestEntity.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Notify/__Libraries/StellaOps.Notify.Persistence/Postgres/Models/EscalationEntity.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Notify/__Libraries/StellaOps.Notify.Persistence/Postgres/Models/InboxEntity.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Notify/__Libraries/StellaOps.Notify.Persistence/Postgres/Models/IncidentEntity.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Notify/__Libraries/StellaOps.Notify.Persistence/Postgres/Models/LocalizationBundleEntity.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Notify/__Libraries/StellaOps.Notify.Persistence/Postgres/Models/LockEntity.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Notify/__Libraries/StellaOps.Notify.Persistence/Postgres/Models/MaintenanceWindowEntity.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Notify/__Libraries/StellaOps.Notify.Persistence/Postgres/Models/NotifyAuditEntity.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Notify/__Libraries/StellaOps.Notify.Persistence/Postgres/Models/OnCallScheduleEntity.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Notify/__Libraries/StellaOps.Notify.Persistence/Postgres/Models/OperatorOverrideEntity.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Notify/__Libraries/StellaOps.Notify.Persistence/Postgres/Models/QuietHoursEntity.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Notify/__Libraries/StellaOps.Notify.Persistence/Postgres/Models/RuleEntity.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Notify/__Libraries/StellaOps.Notify.Persistence/Postgres/Models/TemplateEntity.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Notify/__Libraries/StellaOps.Notify.Persistence/Postgres/Models/ThrottleConfigEntity.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Notify/__Libraries/StellaOps.Notify.Persistence/Postgres/Repositories/ChannelRepository.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Notify/__Libraries/StellaOps.Notify.Persistence/Postgres/Repositories/DeliveryRepository.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Notify/__Libraries/StellaOps.Notify.Persistence/Postgres/Repositories/DigestRepository.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Notify/__Libraries/StellaOps.Notify.Persistence/Postgres/Repositories/EscalationRepository.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Notify/__Libraries/StellaOps.Notify.Persistence/Postgres/Repositories/IChannelRepository.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Notify/__Libraries/StellaOps.Notify.Persistence/Postgres/Repositories/IDeliveryRepository.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Notify/__Libraries/StellaOps.Notify.Persistence/Postgres/Repositories/IDigestRepository.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Notify/__Libraries/StellaOps.Notify.Persistence/Postgres/Repositories/IEscalationRepository.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Notify/__Libraries/StellaOps.Notify.Persistence/Postgres/Repositories/IInboxRepository.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Notify/__Libraries/StellaOps.Notify.Persistence/Postgres/Repositories/IIncidentRepository.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Notify/__Libraries/StellaOps.Notify.Persistence/Postgres/Repositories/ILocalizationBundleRepository.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Notify/__Libraries/StellaOps.Notify.Persistence/Postgres/Repositories/ILockRepository.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Notify/__Libraries/StellaOps.Notify.Persistence/Postgres/Repositories/IMaintenanceWindowRepository.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Notify/__Libraries/StellaOps.Notify.Persistence/Postgres/Repositories/InboxRepository.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Notify/__Libraries/StellaOps.Notify.Persistence/Postgres/Repositories/IncidentRepository.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Notify/__Libraries/StellaOps.Notify.Persistence/Postgres/Repositories/INotifyAuditRepository.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Notify/__Libraries/StellaOps.Notify.Persistence/Postgres/Repositories/IOnCallScheduleRepository.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Notify/__Libraries/StellaOps.Notify.Persistence/Postgres/Repositories/IOperatorOverrideRepository.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Notify/__Libraries/StellaOps.Notify.Persistence/Postgres/Repositories/IQuietHoursRepository.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Notify/__Libraries/StellaOps.Notify.Persistence/Postgres/Repositories/IRuleRepository.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Notify/__Libraries/StellaOps.Notify.Persistence/Postgres/Repositories/ITemplateRepository.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Notify/__Libraries/StellaOps.Notify.Persistence/Postgres/Repositories/IThrottleConfigRepository.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Notify/__Libraries/StellaOps.Notify.Persistence/Postgres/Repositories/LocalizationBundleRepository.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Notify/__Libraries/StellaOps.Notify.Persistence/Postgres/Repositories/LockRepository.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Notify/__Libraries/StellaOps.Notify.Persistence/Postgres/Repositories/MaintenanceWindowRepository.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Notify/__Libraries/StellaOps.Notify.Persistence/Postgres/Repositories/NotifyAuditRepository.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Notify/__Libraries/StellaOps.Notify.Persistence/Postgres/Repositories/OnCallScheduleRepository.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Notify/__Libraries/StellaOps.Notify.Persistence/Postgres/Repositories/OperatorOverrideRepository.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Notify/__Libraries/StellaOps.Notify.Persistence/Postgres/Repositories/QuietHoursRepository.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Notify/__Libraries/StellaOps.Notify.Persistence/Postgres/Repositories/RuleRepository.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Notify/__Libraries/StellaOps.Notify.Persistence/Postgres/Repositories/TemplateRepository.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Notify/__Libraries/StellaOps.Notify.Persistence/Postgres/Repositories/ThrottleConfigRepository.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
## Testing Fullness Findings
- Status: FAIL
- Expected layers (heuristic): Integration, Unit
- Detected test projects: src/Notify/__Tests/StellaOps.Notify.Persistence.Tests/StellaOps.Notify.Persistence.Tests.csproj [Unit]
- Missing layers: Integration
### 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,124 @@
# Audit - StellaOps.Notify.Persistence
## Project
- Path: src/Notify/__Libraries/StellaOps.Notify.Persistence/StellaOps.Notify.Persistence.csproj
- Module: Notify
- Kind: Library
- Audit date (UTC): 2026-01-31
- Files scanned: 54
- Files with issues: 22
- File-level report: docs/implplan/audits/csproj-standards/file-audit.csv
## Coding Standards Findings
- Status: FAIL
- Nullable: enable
- TreatWarningsAsErrors: explicit true
- Deterministic: inherited true
- 100-line rule violations: 21
- Namespace violations: 0
- Using directive violations: 0
- Naming violations (interfaces/fields/const/async): 16
- Service locator usage (BuildServiceProvider/GetService): 0
- Assembly.LoadFrom usage: 0
### Details
- 100-line files:
- src/Notify/__Libraries/StellaOps.Notify.Persistence/Extensions/NotifyPersistenceExtensions.cs (111 lines)
- src/Notify/__Libraries/StellaOps.Notify.Persistence/InMemory/Documents/NotifyDocuments.cs (271 lines)
- src/Notify/__Libraries/StellaOps.Notify.Persistence/InMemory/Repositories/InMemoryRepositories.cs (518 lines)
- src/Notify/__Libraries/StellaOps.Notify.Persistence/InMemory/Repositories/INotifyRepositories.cs (150 lines)
- src/Notify/__Libraries/StellaOps.Notify.Persistence/Postgres/Models/DeliveryEntity.cs (139 lines)
- src/Notify/__Libraries/StellaOps.Notify.Persistence/Postgres/Repositories/ChannelRepository.cs (265 lines)
- src/Notify/__Libraries/StellaOps.Notify.Persistence/Postgres/Repositories/DeliveryRepository.cs (532 lines)
- src/Notify/__Libraries/StellaOps.Notify.Persistence/Postgres/Repositories/DigestRepository.cs (160 lines)
- src/Notify/__Libraries/StellaOps.Notify.Persistence/Postgres/Repositories/EscalationRepository.cs (253 lines)
- src/Notify/__Libraries/StellaOps.Notify.Persistence/Postgres/Repositories/IDeliveryRepository.cs (110 lines)
- src/Notify/__Libraries/StellaOps.Notify.Persistence/Postgres/Repositories/InboxRepository.cs (140 lines)
- src/Notify/__Libraries/StellaOps.Notify.Persistence/Postgres/Repositories/IncidentRepository.cs (168 lines)
- src/Notify/__Libraries/StellaOps.Notify.Persistence/Postgres/Repositories/LocalizationBundleRepository.cs (217 lines)
- src/Notify/__Libraries/StellaOps.Notify.Persistence/Postgres/Repositories/MaintenanceWindowRepository.cs (124 lines)
- src/Notify/__Libraries/StellaOps.Notify.Persistence/Postgres/Repositories/NotifyAuditRepository.cs (101 lines)
- src/Notify/__Libraries/StellaOps.Notify.Persistence/Postgres/Repositories/OnCallScheduleRepository.cs (117 lines)
- src/Notify/__Libraries/StellaOps.Notify.Persistence/Postgres/Repositories/OperatorOverrideRepository.cs (161 lines)
- src/Notify/__Libraries/StellaOps.Notify.Persistence/Postgres/Repositories/QuietHoursRepository.cs (117 lines)
- src/Notify/__Libraries/StellaOps.Notify.Persistence/Postgres/Repositories/RuleRepository.cs (140 lines)
- src/Notify/__Libraries/StellaOps.Notify.Persistence/Postgres/Repositories/TemplateRepository.cs (137 lines)
- src/Notify/__Libraries/StellaOps.Notify.Persistence/Postgres/Repositories/ThrottleConfigRepository.cs (199 lines)
- Namespace issues:
- none
- Using directive issues:
- none
- Naming issues:
- none
- Async issues:
- src/Notify/__Libraries/StellaOps.Notify.Persistence/Postgres/Repositories/ChannelRepository.cs: async method naming
- src/Notify/__Libraries/StellaOps.Notify.Persistence/Postgres/Repositories/DeliveryRepository.cs: async method naming
- src/Notify/__Libraries/StellaOps.Notify.Persistence/Postgres/Repositories/DigestRepository.cs: async method naming
- src/Notify/__Libraries/StellaOps.Notify.Persistence/Postgres/Repositories/EscalationRepository.cs: async method naming
- src/Notify/__Libraries/StellaOps.Notify.Persistence/Postgres/Repositories/InboxRepository.cs: async method naming
- src/Notify/__Libraries/StellaOps.Notify.Persistence/Postgres/Repositories/IncidentRepository.cs: async method naming
- src/Notify/__Libraries/StellaOps.Notify.Persistence/Postgres/Repositories/LocalizationBundleRepository.cs: async method naming
- src/Notify/__Libraries/StellaOps.Notify.Persistence/Postgres/Repositories/LockRepository.cs: async method naming
- src/Notify/__Libraries/StellaOps.Notify.Persistence/Postgres/Repositories/MaintenanceWindowRepository.cs: async method naming
- src/Notify/__Libraries/StellaOps.Notify.Persistence/Postgres/Repositories/NotifyAuditRepository.cs: async method naming
- src/Notify/__Libraries/StellaOps.Notify.Persistence/Postgres/Repositories/OnCallScheduleRepository.cs: async method naming
- src/Notify/__Libraries/StellaOps.Notify.Persistence/Postgres/Repositories/OperatorOverrideRepository.cs: async method naming
- src/Notify/__Libraries/StellaOps.Notify.Persistence/Postgres/Repositories/QuietHoursRepository.cs: async method naming
- src/Notify/__Libraries/StellaOps.Notify.Persistence/Postgres/Repositories/RuleRepository.cs: async method naming
- src/Notify/__Libraries/StellaOps.Notify.Persistence/Postgres/Repositories/TemplateRepository.cs: async method naming
- src/Notify/__Libraries/StellaOps.Notify.Persistence/Postgres/Repositories/ThrottleConfigRepository.cs: async method naming
- Service locator matches:
- none
- Assembly.LoadFrom matches:
- none
### Fix Guidance
- Rename async methods and avoid blocking async calls.
- Split files over 100 lines into smaller types or partials.
## File-Level Findings
- Status: FAIL
- Files scanned: 54
- Files with issues: 22
- See docs/implplan/audits/csproj-standards/file-audit.csv for full per-file status.
| File | Issues | Fix guidance |
| --- | --- | --- |
| src/Notify/__Libraries/StellaOps.Notify.Persistence/Extensions/NotifyPersistenceExtensions.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Notify/__Libraries/StellaOps.Notify.Persistence/InMemory/Documents/NotifyDocuments.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Notify/__Libraries/StellaOps.Notify.Persistence/InMemory/Repositories/InMemoryRepositories.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Notify/__Libraries/StellaOps.Notify.Persistence/InMemory/Repositories/INotifyRepositories.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Notify/__Libraries/StellaOps.Notify.Persistence/Postgres/Models/DeliveryEntity.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Notify/__Libraries/StellaOps.Notify.Persistence/Postgres/Repositories/ChannelRepository.cs | AsyncNaming; FileLength>100 | Rename async methods to end with Async.; Split file to stay <= 100 lines. |
| src/Notify/__Libraries/StellaOps.Notify.Persistence/Postgres/Repositories/DeliveryRepository.cs | AsyncNaming; FileLength>100 | Rename async methods to end with Async.; Split file to stay <= 100 lines. |
| src/Notify/__Libraries/StellaOps.Notify.Persistence/Postgres/Repositories/DigestRepository.cs | AsyncNaming; FileLength>100 | Rename async methods to end with Async.; Split file to stay <= 100 lines. |
| src/Notify/__Libraries/StellaOps.Notify.Persistence/Postgres/Repositories/EscalationRepository.cs | AsyncNaming; FileLength>100 | Rename async methods to end with Async.; Split file to stay <= 100 lines. |
| src/Notify/__Libraries/StellaOps.Notify.Persistence/Postgres/Repositories/IDeliveryRepository.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Notify/__Libraries/StellaOps.Notify.Persistence/Postgres/Repositories/InboxRepository.cs | AsyncNaming; FileLength>100 | Rename async methods to end with Async.; Split file to stay <= 100 lines. |
| src/Notify/__Libraries/StellaOps.Notify.Persistence/Postgres/Repositories/IncidentRepository.cs | AsyncNaming; FileLength>100 | Rename async methods to end with Async.; Split file to stay <= 100 lines. |
| src/Notify/__Libraries/StellaOps.Notify.Persistence/Postgres/Repositories/LocalizationBundleRepository.cs | AsyncNaming; FileLength>100 | Rename async methods to end with Async.; Split file to stay <= 100 lines. |
| src/Notify/__Libraries/StellaOps.Notify.Persistence/Postgres/Repositories/LockRepository.cs | AsyncNaming | Rename async methods to end with Async. |
| src/Notify/__Libraries/StellaOps.Notify.Persistence/Postgres/Repositories/MaintenanceWindowRepository.cs | AsyncNaming; FileLength>100 | Rename async methods to end with Async.; Split file to stay <= 100 lines. |
| src/Notify/__Libraries/StellaOps.Notify.Persistence/Postgres/Repositories/NotifyAuditRepository.cs | AsyncNaming; FileLength>100 | Rename async methods to end with Async.; Split file to stay <= 100 lines. |
| src/Notify/__Libraries/StellaOps.Notify.Persistence/Postgres/Repositories/OnCallScheduleRepository.cs | AsyncNaming; FileLength>100 | Rename async methods to end with Async.; Split file to stay <= 100 lines. |
| src/Notify/__Libraries/StellaOps.Notify.Persistence/Postgres/Repositories/OperatorOverrideRepository.cs | AsyncNaming; FileLength>100 | Rename async methods to end with Async.; Split file to stay <= 100 lines. |
| src/Notify/__Libraries/StellaOps.Notify.Persistence/Postgres/Repositories/QuietHoursRepository.cs | AsyncNaming; FileLength>100 | Rename async methods to end with Async.; Split file to stay <= 100 lines. |
| src/Notify/__Libraries/StellaOps.Notify.Persistence/Postgres/Repositories/RuleRepository.cs | AsyncNaming; FileLength>100 | Rename async methods to end with Async.; Split file to stay <= 100 lines. |
| src/Notify/__Libraries/StellaOps.Notify.Persistence/Postgres/Repositories/TemplateRepository.cs | AsyncNaming; FileLength>100 | Rename async methods to end with Async.; Split file to stay <= 100 lines. |
| src/Notify/__Libraries/StellaOps.Notify.Persistence/Postgres/Repositories/ThrottleConfigRepository.cs | AsyncNaming; FileLength>100 | Rename async methods to end with Async.; Split file to stay <= 100 lines. |
## Testing Fullness Findings
- Status: FAIL
- Expected layers (heuristic): Integration, Unit
- Detected test projects: src/Notify/__Tests/StellaOps.Notify.Persistence.Tests/StellaOps.Notify.Persistence.Tests.csproj [Unit]
- Missing layers: Integration
### 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,118 @@
# Audit - StellaOps.Notify.Queue
## Project
- Path: src/Notify/__Libraries/StellaOps.Notify.Queue/StellaOps.Notify.Queue.csproj
- Module: Notify
- Kind: Library
- Audit date (UTC): 2026-01-30
- Files scanned: 24
- Files with issues: 23
- File-level report: docs/implplan/audits/csproj-standards/file-audit.csv
## Coding Standards Findings
- Status: FAIL
- Nullable: enable
- TreatWarningsAsErrors: explicit true
- Deterministic: inherited true
- 100-line rule violations: 7
- 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/Notify/__Libraries/StellaOps.Notify.Queue/NotifyEventQueueOptions.cs (178 lines)
- src/Notify/__Libraries/StellaOps.Notify.Queue/NotifyQueueContracts.cs (232 lines)
- src/Notify/__Libraries/StellaOps.Notify.Queue/NotifyQueueServiceCollectionExtensions.cs (147 lines)
- src/Notify/__Libraries/StellaOps.Notify.Queue/Nats/NatsNotifyDeliveryQueue.cs (752 lines)
- src/Notify/__Libraries/StellaOps.Notify.Queue/Nats/NatsNotifyEventQueue.cs (753 lines)
- src/Notify/__Libraries/StellaOps.Notify.Queue/Redis/RedisNotifyDeliveryQueue.cs (789 lines)
- src/Notify/__Libraries/StellaOps.Notify.Queue/Redis/RedisNotifyEventQueue.cs (656 lines)
- Namespace issues:
- src/Notify/__Libraries/StellaOps.Notify.Queue/NotifyDeliveryQueueHealthCheck.cs: missing namespace
- src/Notify/__Libraries/StellaOps.Notify.Queue/NotifyDeliveryQueueOptions.cs: missing namespace
- src/Notify/__Libraries/StellaOps.Notify.Queue/NotifyEventQueueOptions.cs: missing namespace
- src/Notify/__Libraries/StellaOps.Notify.Queue/NotifyQueueContracts.cs: missing namespace
- src/Notify/__Libraries/StellaOps.Notify.Queue/NotifyQueueFields.cs: missing namespace
- src/Notify/__Libraries/StellaOps.Notify.Queue/NotifyQueueHealthCheck.cs: missing namespace
- src/Notify/__Libraries/StellaOps.Notify.Queue/NotifyQueueMetrics.cs: missing namespace
- src/Notify/__Libraries/StellaOps.Notify.Queue/NotifyQueueServiceCollectionExtensions.cs: missing namespace
- src/Notify/__Libraries/StellaOps.Notify.Queue/NotifyQueueTransportKind.cs: missing namespace
- src/Notify/__Libraries/StellaOps.Notify.Queue/Nats/NatsNotifyDeliveryLease.cs: missing namespace
- src/Notify/__Libraries/StellaOps.Notify.Queue/Nats/NatsNotifyDeliveryQueue.cs: missing namespace
- src/Notify/__Libraries/StellaOps.Notify.Queue/Nats/NatsNotifyEventLease.cs: missing namespace
- src/Notify/__Libraries/StellaOps.Notify.Queue/Nats/NatsNotifyEventQueue.cs: missing namespace
- src/Notify/__Libraries/StellaOps.Notify.Queue/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs: missing namespace
- src/Notify/__Libraries/StellaOps.Notify.Queue/obj/Debug/net10.0/StellaOps.Notify.Queue.AssemblyInfo.cs: missing namespace
- src/Notify/__Libraries/StellaOps.Notify.Queue/obj/Debug/net10.0/StellaOps.Notify.Queue.GlobalUsings.g.cs: missing namespace
- src/Notify/__Libraries/StellaOps.Notify.Queue/obj/Release/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs: missing namespace
- src/Notify/__Libraries/StellaOps.Notify.Queue/obj/Release/net10.0/StellaOps.Notify.Queue.AssemblyInfo.cs: missing namespace
- src/Notify/__Libraries/StellaOps.Notify.Queue/obj/Release/net10.0/StellaOps.Notify.Queue.GlobalUsings.g.cs: missing namespace
- src/Notify/__Libraries/StellaOps.Notify.Queue/Redis/RedisNotifyDeliveryLease.cs: missing namespace
- src/Notify/__Libraries/StellaOps.Notify.Queue/Redis/RedisNotifyDeliveryQueue.cs: missing namespace
- src/Notify/__Libraries/StellaOps.Notify.Queue/Redis/RedisNotifyEventLease.cs: missing namespace
- src/Notify/__Libraries/StellaOps.Notify.Queue/Redis/RedisNotifyEventQueue.cs: missing namespace
- Using directive issues:
- none
- Naming issues:
- none
- Async issues:
- none
- Service locator matches:
- none
- Assembly.LoadFrom matches:
- none
### Fix Guidance
- Normalize namespaces to file-scoped StellaOps.<Area>.
- Split files over 100 lines into smaller types or partials.
## File-Level Findings
- Status: FAIL
- Files scanned: 24
- Files with issues: 23
- See docs/implplan/audits/csproj-standards/file-audit.csv for full per-file status.
| File | Issues | Fix guidance |
| --- | --- | --- |
| src/Notify/__Libraries/StellaOps.Notify.Queue/NotifyDeliveryQueueHealthCheck.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Notify/__Libraries/StellaOps.Notify.Queue/NotifyDeliveryQueueOptions.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Notify/__Libraries/StellaOps.Notify.Queue/NotifyEventQueueOptions.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Notify/__Libraries/StellaOps.Notify.Queue/NotifyQueueContracts.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Notify/__Libraries/StellaOps.Notify.Queue/NotifyQueueFields.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Notify/__Libraries/StellaOps.Notify.Queue/NotifyQueueHealthCheck.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Notify/__Libraries/StellaOps.Notify.Queue/NotifyQueueMetrics.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Notify/__Libraries/StellaOps.Notify.Queue/NotifyQueueServiceCollectionExtensions.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Notify/__Libraries/StellaOps.Notify.Queue/NotifyQueueTransportKind.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Notify/__Libraries/StellaOps.Notify.Queue/Nats/NatsNotifyDeliveryLease.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Notify/__Libraries/StellaOps.Notify.Queue/Nats/NatsNotifyDeliveryQueue.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Notify/__Libraries/StellaOps.Notify.Queue/Nats/NatsNotifyEventLease.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Notify/__Libraries/StellaOps.Notify.Queue/Nats/NatsNotifyEventQueue.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Notify/__Libraries/StellaOps.Notify.Queue/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Notify/__Libraries/StellaOps.Notify.Queue/obj/Debug/net10.0/StellaOps.Notify.Queue.AssemblyInfo.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Notify/__Libraries/StellaOps.Notify.Queue/obj/Debug/net10.0/StellaOps.Notify.Queue.GlobalUsings.g.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Notify/__Libraries/StellaOps.Notify.Queue/obj/Release/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Notify/__Libraries/StellaOps.Notify.Queue/obj/Release/net10.0/StellaOps.Notify.Queue.AssemblyInfo.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Notify/__Libraries/StellaOps.Notify.Queue/obj/Release/net10.0/StellaOps.Notify.Queue.GlobalUsings.g.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Notify/__Libraries/StellaOps.Notify.Queue/Redis/RedisNotifyDeliveryLease.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Notify/__Libraries/StellaOps.Notify.Queue/Redis/RedisNotifyDeliveryQueue.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Notify/__Libraries/StellaOps.Notify.Queue/Redis/RedisNotifyEventLease.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Notify/__Libraries/StellaOps.Notify.Queue/Redis/RedisNotifyEventQueue.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
## Testing Fullness Findings
- Status: FAIL
- Expected layers (heuristic): Integration, Unit
- Detected test projects: src/Notifier/StellaOps.Notifier/StellaOps.Notifier.Tests/StellaOps.Notifier.Tests.csproj [Unit]; src/Notify/__Tests/StellaOps.Notify.Queue.Tests/StellaOps.Notify.Queue.Tests.csproj [Unit]; src/Notify/__Tests/StellaOps.Notify.Worker.Tests/StellaOps.Notify.Worker.Tests.csproj [Unit]; src/Scheduler/__Tests/StellaOps.Scheduler.Worker.Tests/StellaOps.Scheduler.Worker.Tests.csproj [Unit]
- Missing layers: Integration
### Manual checks required
- Observability contract tests for WebService/Worker.
- Intent tags for regulatory modules (Policy, Authority, Signer, Attestor, EvidenceLocker).
- Offline execution (tests must run without network access).
- Coverage matrix alignment (docs/technical/testing/TEST_COVERAGE_MATRIX.md).
### Fix Guidance
- Add or expand test projects to cover missing layers.
- Ensure tests use deterministic fixtures and offline harnesses.

View File

@@ -0,0 +1,96 @@
# Audit - StellaOps.Notify.Queue
## Project
- Path: src/Notify/__Libraries/StellaOps.Notify.Queue/StellaOps.Notify.Queue.csproj
- Module: Notify
- Kind: Library
- Audit date (UTC): 2026-01-31
- Files scanned: 18
- Files with issues: 8
- File-level report: docs/implplan/audits/csproj-standards/file-audit.csv
## Coding Standards Findings
- Status: FAIL
- Nullable: enable
- TreatWarningsAsErrors: explicit true
- Deterministic: inherited true
- 100-line rule violations: 7
- Namespace violations: 0
- Using directive violations: 2
- Naming violations (interfaces/fields/const/async): 7
- Service locator usage (BuildServiceProvider/GetService): 7
- Assembly.LoadFrom usage: 0
### Details
- 100-line files:
- src/Notify/__Libraries/StellaOps.Notify.Queue/NotifyEventQueueOptions.cs (178 lines)
- src/Notify/__Libraries/StellaOps.Notify.Queue/NotifyQueueContracts.cs (233 lines)
- src/Notify/__Libraries/StellaOps.Notify.Queue/NotifyQueueServiceCollectionExtensions.cs (148 lines)
- src/Notify/__Libraries/StellaOps.Notify.Queue/Nats/NatsNotifyDeliveryQueue.cs (753 lines)
- src/Notify/__Libraries/StellaOps.Notify.Queue/Nats/NatsNotifyEventQueue.cs (754 lines)
- src/Notify/__Libraries/StellaOps.Notify.Queue/Redis/RedisNotifyDeliveryQueue.cs (790 lines)
- src/Notify/__Libraries/StellaOps.Notify.Queue/Redis/RedisNotifyEventQueue.cs (657 lines)
- Namespace issues:
- none
- Using directive issues:
- src/Notify/__Libraries/StellaOps.Notify.Queue/Redis/RedisNotifyDeliveryQueue.cs: using directives inside namespace
- src/Notify/__Libraries/StellaOps.Notify.Queue/Redis/RedisNotifyEventQueue.cs: using directives inside namespace
- Naming issues:
- src/Notify/__Libraries/StellaOps.Notify.Queue/NotifyQueueMetrics.cs: private field naming
- src/Notify/__Libraries/StellaOps.Notify.Queue/Nats/NatsNotifyDeliveryQueue.cs: private field naming
- src/Notify/__Libraries/StellaOps.Notify.Queue/Nats/NatsNotifyEventQueue.cs: private field naming
- Async issues:
- src/Notify/__Libraries/StellaOps.Notify.Queue/Nats/NatsNotifyDeliveryQueue.cs: async method naming
- src/Notify/__Libraries/StellaOps.Notify.Queue/Nats/NatsNotifyEventQueue.cs: async method naming
- src/Notify/__Libraries/StellaOps.Notify.Queue/Redis/RedisNotifyDeliveryQueue.cs: async method naming
- src/Notify/__Libraries/StellaOps.Notify.Queue/Redis/RedisNotifyEventQueue.cs: async method naming
- Service locator matches:
- src/Notify/__Libraries/StellaOps.Notify.Queue/NotifyQueueServiceCollectionExtensions.cs:31 var loggerFactory = sp.GetRequiredService<ILoggerFactory>();
- src/Notify/__Libraries/StellaOps.Notify.Queue/NotifyQueueServiceCollectionExtensions.cs:32 var timeProvider = sp.GetService<TimeProvider>() ?? TimeProvider.System;
- src/Notify/__Libraries/StellaOps.Notify.Queue/NotifyQueueServiceCollectionExtensions.cs:33 var opts = sp.GetRequiredService<NotifyEventQueueOptions>();
- src/Notify/__Libraries/StellaOps.Notify.Queue/NotifyQueueServiceCollectionExtensions.cs:71 var loggerFactory = sp.GetRequiredService<ILoggerFactory>();
- src/Notify/__Libraries/StellaOps.Notify.Queue/NotifyQueueServiceCollectionExtensions.cs:72 var timeProvider = sp.GetService<TimeProvider>() ?? TimeProvider.System;
- src/Notify/__Libraries/StellaOps.Notify.Queue/NotifyQueueServiceCollectionExtensions.cs:73 var opts = sp.GetRequiredService<NotifyDeliveryQueueOptions>();
- src/Notify/__Libraries/StellaOps.Notify.Queue/NotifyQueueServiceCollectionExtensions.cs:74 var eventOpts = sp.GetService<NotifyEventQueueOptions>();
- Assembly.LoadFrom matches:
- none
### Fix Guidance
- Align interface/field/const naming to standards.
- Move and sort using directives (outside namespace).
- Rename async methods and avoid blocking async calls.
- Replace service locator usage with constructor injection.
- Split files over 100 lines into smaller types or partials.
## File-Level Findings
- Status: FAIL
- Files scanned: 18
- Files with issues: 8
- See docs/implplan/audits/csproj-standards/file-audit.csv for full per-file status.
| File | Issues | Fix guidance |
| --- | --- | --- |
| src/Notify/__Libraries/StellaOps.Notify.Queue/NotifyEventQueueOptions.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Notify/__Libraries/StellaOps.Notify.Queue/NotifyQueueContracts.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Notify/__Libraries/StellaOps.Notify.Queue/NotifyQueueMetrics.cs | PrivateFieldNaming | Rename private fields to _camelCase. |
| src/Notify/__Libraries/StellaOps.Notify.Queue/NotifyQueueServiceCollectionExtensions.cs | FileLength>100; ServiceLocator | Remove service locator usage; use constructor injection.; Split file to stay <= 100 lines. |
| src/Notify/__Libraries/StellaOps.Notify.Queue/Nats/NatsNotifyDeliveryQueue.cs | AsyncNaming; FileLength>100; PrivateFieldNaming | Rename async methods to end with Async.; Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Notify/__Libraries/StellaOps.Notify.Queue/Nats/NatsNotifyEventQueue.cs | AsyncNaming; FileLength>100; PrivateFieldNaming | Rename async methods to end with Async.; Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/Notify/__Libraries/StellaOps.Notify.Queue/Redis/RedisNotifyDeliveryQueue.cs | AsyncNaming; FileLength>100; UsingInsideNamespace | Move using directives outside namespace.; Rename async methods to end with Async.; Split file to stay <= 100 lines. |
| src/Notify/__Libraries/StellaOps.Notify.Queue/Redis/RedisNotifyEventQueue.cs | AsyncNaming; FileLength>100; UsingInsideNamespace | Move using directives outside namespace.; Rename async methods to end with Async.; Split file to stay <= 100 lines. |
## Testing Fullness Findings
- Status: FAIL
- Expected layers (heuristic): Integration, Unit
- Detected test projects: src/Notifier/StellaOps.Notifier/StellaOps.Notifier.Tests/StellaOps.Notifier.Tests.csproj [Unit]; src/Notify/__Tests/StellaOps.Notify.Queue.Tests/StellaOps.Notify.Queue.Tests.csproj [Unit]; src/Notify/__Tests/StellaOps.Notify.Worker.Tests/StellaOps.Notify.Worker.Tests.csproj [Unit]; src/Scheduler/__Tests/StellaOps.Scheduler.Worker.Tests/StellaOps.Scheduler.Worker.Tests.csproj [Unit]
- Missing layers: Integration
### Manual checks required
- Observability contract tests for WebService/Worker.
- Intent tags for regulatory modules (Policy, Authority, Signer, Attestor, EvidenceLocker).
- Offline execution (tests must run without network access).
- Coverage matrix alignment (docs/technical/testing/TEST_COVERAGE_MATRIX.md).
### Fix Guidance
- Add or expand test projects to cover missing layers.
- Ensure tests use deterministic fixtures and offline harnesses.

View File

@@ -0,0 +1,90 @@
# Audit - StellaOps.Notify.Storage.InMemory
## Project
- Path: src/Notify/__Libraries/StellaOps.Notify.Storage.InMemory/StellaOps.Notify.Storage.InMemory.csproj
- Module: Notify
- Kind: Library
- Audit date (UTC): 2026-01-30
- Files scanned: 11
- Files with issues: 11
- File-level report: docs/implplan/audits/csproj-standards/file-audit.csv
## Coding Standards Findings
- Status: FAIL
- Nullable: enable
- TreatWarningsAsErrors: explicit true
- Deterministic: inherited true
- 100-line rule violations: 3
- Namespace violations: 11
- Using directive violations: 0
- Naming violations (interfaces/fields/const/async): 0
- Service locator usage (BuildServiceProvider/GetService): 0
- Assembly.LoadFrom usage: 0
### Details
- 100-line files:
- src/Notify/__Libraries/StellaOps.Notify.Storage.InMemory/Documents/NotifyDocuments.cs (271 lines)
- src/Notify/__Libraries/StellaOps.Notify.Storage.InMemory/Repositories/InMemoryRepositories.cs (589 lines)
- src/Notify/__Libraries/StellaOps.Notify.Storage.InMemory/Repositories/INotifyRepositories.cs (150 lines)
- Namespace issues:
- src/Notify/__Libraries/StellaOps.Notify.Storage.InMemory/ServiceCollectionExtensions.cs: missing namespace
- src/Notify/__Libraries/StellaOps.Notify.Storage.InMemory/StorageInitializationHostedService.cs: missing namespace
- src/Notify/__Libraries/StellaOps.Notify.Storage.InMemory/Documents/NotifyDocuments.cs: missing namespace
- src/Notify/__Libraries/StellaOps.Notify.Storage.InMemory/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs: missing namespace
- src/Notify/__Libraries/StellaOps.Notify.Storage.InMemory/obj/Debug/net10.0/StellaOps.Notify.Storage.InMemory.AssemblyInfo.cs: missing namespace
- src/Notify/__Libraries/StellaOps.Notify.Storage.InMemory/obj/Debug/net10.0/StellaOps.Notify.Storage.InMemory.GlobalUsings.g.cs: missing namespace
- src/Notify/__Libraries/StellaOps.Notify.Storage.InMemory/obj/Release/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs: missing namespace
- src/Notify/__Libraries/StellaOps.Notify.Storage.InMemory/obj/Release/net10.0/StellaOps.Notify.Storage.InMemory.AssemblyInfo.cs: missing namespace
- src/Notify/__Libraries/StellaOps.Notify.Storage.InMemory/obj/Release/net10.0/StellaOps.Notify.Storage.InMemory.GlobalUsings.g.cs: missing namespace
- src/Notify/__Libraries/StellaOps.Notify.Storage.InMemory/Repositories/InMemoryRepositories.cs: missing namespace
- src/Notify/__Libraries/StellaOps.Notify.Storage.InMemory/Repositories/INotifyRepositories.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/Notify/__Libraries/StellaOps.Notify.Storage.InMemory/ServiceCollectionExtensions.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Notify/__Libraries/StellaOps.Notify.Storage.InMemory/StorageInitializationHostedService.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Notify/__Libraries/StellaOps.Notify.Storage.InMemory/Documents/NotifyDocuments.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Notify/__Libraries/StellaOps.Notify.Storage.InMemory/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Notify/__Libraries/StellaOps.Notify.Storage.InMemory/obj/Debug/net10.0/StellaOps.Notify.Storage.InMemory.AssemblyInfo.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Notify/__Libraries/StellaOps.Notify.Storage.InMemory/obj/Debug/net10.0/StellaOps.Notify.Storage.InMemory.GlobalUsings.g.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Notify/__Libraries/StellaOps.Notify.Storage.InMemory/obj/Release/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Notify/__Libraries/StellaOps.Notify.Storage.InMemory/obj/Release/net10.0/StellaOps.Notify.Storage.InMemory.AssemblyInfo.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Notify/__Libraries/StellaOps.Notify.Storage.InMemory/obj/Release/net10.0/StellaOps.Notify.Storage.InMemory.GlobalUsings.g.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/Notify/__Libraries/StellaOps.Notify.Storage.InMemory/Repositories/InMemoryRepositories.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/Notify/__Libraries/StellaOps.Notify.Storage.InMemory/Repositories/INotifyRepositories.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
## Testing Fullness Findings
- Status: FAIL
- Expected layers (heuristic): Integration, Unit
- Detected test projects: src/Notify/__Tests/StellaOps.Notify.Storage.InMemory.Tests/StellaOps.Notify.Storage.InMemory.Tests.csproj [Unit]
- Missing layers: Integration
### Manual checks required
- Observability contract tests for WebService/Worker.
- Intent tags for regulatory modules (Policy, Authority, Signer, Attestor, EvidenceLocker).
- Offline execution (tests must run without network access).
- Coverage matrix alignment (docs/technical/testing/TEST_COVERAGE_MATRIX.md).
### Fix Guidance
- Add or expand test projects to cover missing layers.
- Ensure tests use deterministic fixtures and offline harnesses.

View File

@@ -0,0 +1,71 @@
# Audit - StellaOps.Notify.Storage.InMemory
## Project
- Path: src/Notify/__Libraries/StellaOps.Notify.Storage.InMemory/StellaOps.Notify.Storage.InMemory.csproj
- Module: Notify
- Kind: Library
- Audit date (UTC): 2026-01-31
- Files scanned: 5
- Files with issues: 3
- File-level report: docs/implplan/audits/csproj-standards/file-audit.csv
## Coding Standards Findings
- Status: FAIL
- Nullable: enable
- TreatWarningsAsErrors: explicit true
- Deterministic: inherited true
- 100-line rule violations: 3
- Namespace violations: 0
- Using directive violations: 0
- Naming violations (interfaces/fields/const/async): 0
- Service locator usage (BuildServiceProvider/GetService): 0
- Assembly.LoadFrom usage: 0
### Details
- 100-line files:
- src/Notify/__Libraries/StellaOps.Notify.Storage.InMemory/Documents/NotifyDocuments.cs (271 lines)
- src/Notify/__Libraries/StellaOps.Notify.Storage.InMemory/Repositories/InMemoryRepositories.cs (590 lines)
- src/Notify/__Libraries/StellaOps.Notify.Storage.InMemory/Repositories/INotifyRepositories.cs (150 lines)
- Namespace issues:
- none
- Using directive issues:
- none
- Naming issues:
- none
- Async issues:
- none
- Service locator matches:
- none
- Assembly.LoadFrom matches:
- none
### Fix Guidance
- Split files over 100 lines into smaller types or partials.
## File-Level Findings
- Status: FAIL
- Files scanned: 5
- Files with issues: 3
- See docs/implplan/audits/csproj-standards/file-audit.csv for full per-file status.
| File | Issues | Fix guidance |
| --- | --- | --- |
| src/Notify/__Libraries/StellaOps.Notify.Storage.InMemory/Documents/NotifyDocuments.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Notify/__Libraries/StellaOps.Notify.Storage.InMemory/Repositories/InMemoryRepositories.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/Notify/__Libraries/StellaOps.Notify.Storage.InMemory/Repositories/INotifyRepositories.cs | FileLength>100 | Split file to stay <= 100 lines. |
## Testing Fullness Findings
- Status: FAIL
- Expected layers (heuristic): Integration, Unit
- Detected test projects: src/Notify/__Tests/StellaOps.Notify.Storage.InMemory.Tests/StellaOps.Notify.Storage.InMemory.Tests.csproj [Unit]
- Missing layers: Integration
### Manual checks required
- Observability contract tests for WebService/Worker.
- Intent tags for regulatory modules (Policy, Authority, Signer, Attestor, EvidenceLocker).
- Offline execution (tests must run without network access).
- Coverage matrix alignment (docs/technical/testing/TEST_COVERAGE_MATRIX.md).
### Fix Guidance
- Add or expand test projects to cover missing layers.
- Ensure tests use deterministic fixtures and offline harnesses.

View File

@@ -0,0 +1,82 @@
# Audit - StellaOps.Notify.Connectors.Email.Tests
## Project
- Path: src/Notify/__Tests/StellaOps.Notify.Connectors.Email.Tests/StellaOps.Notify.Connectors.Email.Tests.csproj
- Module: Notify
- Kind: Test
- Audit date (UTC): 2026-01-31
- Files scanned: 3
- Files with issues: 3
- 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: 3
- Namespace violations: 0
- Using directive violations: 3
- Naming violations (interfaces/fields/const/async): 8
- Service locator usage (BuildServiceProvider/GetService): 0
- Assembly.LoadFrom usage: 0
### Details
- 100-line files:
- src/Notify/__Tests/StellaOps.Notify.Connectors.Email.Tests/EmailChannelHealthProviderTests.cs (105 lines)
- src/Notify/__Tests/StellaOps.Notify.Connectors.Email.Tests/ErrorHandling/EmailConnectorErrorTests.cs (718 lines)
- src/Notify/__Tests/StellaOps.Notify.Connectors.Email.Tests/Snapshot/EmailConnectorSnapshotTests.cs (699 lines)
- Namespace issues:
- none
- Using directive issues:
- src/Notify/__Tests/StellaOps.Notify.Connectors.Email.Tests/EmailChannelHealthProviderTests.cs: using directives not sorted
- src/Notify/__Tests/StellaOps.Notify.Connectors.Email.Tests/ErrorHandling/EmailConnectorErrorTests.cs: using directives not sorted
- src/Notify/__Tests/StellaOps.Notify.Connectors.Email.Tests/Snapshot/EmailConnectorSnapshotTests.cs: using directives not sorted
- Naming issues:
- src/Notify/__Tests/StellaOps.Notify.Connectors.Email.Tests/EmailChannelHealthProviderTests.cs: private field naming
- src/Notify/__Tests/StellaOps.Notify.Connectors.Email.Tests/Snapshot/EmailConnectorSnapshotTests.cs: private field naming
- Async issues:
- src/Notify/__Tests/StellaOps.Notify.Connectors.Email.Tests/EmailChannelHealthProviderTests.cs: async method naming
- src/Notify/__Tests/StellaOps.Notify.Connectors.Email.Tests/EmailChannelHealthProviderTests.cs: missing ConfigureAwait(false)
- src/Notify/__Tests/StellaOps.Notify.Connectors.Email.Tests/ErrorHandling/EmailConnectorErrorTests.cs: async method naming
- src/Notify/__Tests/StellaOps.Notify.Connectors.Email.Tests/ErrorHandling/EmailConnectorErrorTests.cs: missing ConfigureAwait(false)
- src/Notify/__Tests/StellaOps.Notify.Connectors.Email.Tests/Snapshot/EmailConnectorSnapshotTests.cs: async method naming
- src/Notify/__Tests/StellaOps.Notify.Connectors.Email.Tests/Snapshot/EmailConnectorSnapshotTests.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).
- 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: 3
- Files with issues: 3
- See docs/implplan/audits/csproj-standards/file-audit.csv for full per-file status.
| File | Issues | Fix guidance |
| --- | --- | --- |
| src/Notify/__Tests/StellaOps.Notify.Connectors.Email.Tests/EmailChannelHealthProviderTests.cs | AsyncNaming; ConfigureAwaitMissing; FileLength>100; PrivateFieldNaming; UsingNotSorted | Add ConfigureAwait(false) to awaited calls in library-like code.; Rename async methods to end with Async.; Rename private fields to _camelCase.; Sort using directives alphabetically.; Split file to stay <= 100 lines. |
| src/Notify/__Tests/StellaOps.Notify.Connectors.Email.Tests/ErrorHandling/EmailConnectorErrorTests.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/Notify/__Tests/StellaOps.Notify.Connectors.Email.Tests/Snapshot/EmailConnectorSnapshotTests.cs | AsyncNaming; ConfigureAwaitMissing; FileLength>100; PrivateFieldNaming; UsingNotSorted | Add ConfigureAwait(false) to awaited calls in library-like code.; Rename async methods to end with Async.; Rename private fields to _camelCase.; Sort using directives alphabetically.; Split file to stay <= 100 lines. |
## Testing Fullness Findings
- Status: PASS
- Expected layers (heuristic):
- Detected test projects: none
- Missing layers: none
### Manual checks required
- Observability contract tests for WebService/Worker.
- Intent tags for regulatory modules (Policy, Authority, Signer, Attestor, EvidenceLocker).
- Offline execution (tests must run without network access).
- Coverage matrix alignment (docs/technical/testing/TEST_COVERAGE_MATRIX.md).
### Fix Guidance
- None.

View File

@@ -0,0 +1,66 @@
# Audit - StellaOps.Notify.Connectors.Shared.Tests
## Project
- Path: src/Notify/__Tests/StellaOps.Notify.Connectors.Shared.Tests/StellaOps.Notify.Connectors.Shared.Tests.csproj
- Module: Notify
- Kind: Test
- Audit date (UTC): 2026-01-31
- Files scanned: 1
- Files with issues: 1
- File-level report: docs/implplan/audits/csproj-standards/file-audit.csv
## Coding Standards Findings
- Status: FAIL
- Nullable: enable
- TreatWarningsAsErrors: explicit true
- Deterministic: inherited true
- 100-line rule violations: 1
- Namespace violations: 0
- Using directive violations: 0
- Naming violations (interfaces/fields/const/async): 0
- Service locator usage (BuildServiceProvider/GetService): 0
- Assembly.LoadFrom usage: 0
### Details
- 100-line files:
- src/Notify/__Tests/StellaOps.Notify.Connectors.Shared.Tests/ConnectorValueRedactorTests.cs (139 lines)
- Namespace issues:
- none
- Using directive issues:
- none
- Naming issues:
- none
- Async issues:
- none
- Service locator matches:
- none
- Assembly.LoadFrom matches:
- none
### Fix Guidance
- Split files over 100 lines into smaller types or partials.
## File-Level Findings
- Status: FAIL
- Files scanned: 1
- Files with issues: 1
- See docs/implplan/audits/csproj-standards/file-audit.csv for full per-file status.
| File | Issues | Fix guidance |
| --- | --- | --- |
| src/Notify/__Tests/StellaOps.Notify.Connectors.Shared.Tests/ConnectorValueRedactorTests.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,89 @@
# Audit - StellaOps.Notify.Connectors.Slack.Tests
## Project
- Path: src/Notify/__Tests/StellaOps.Notify.Connectors.Slack.Tests/StellaOps.Notify.Connectors.Slack.Tests.csproj
- Module: Notify
- Kind: Test
- Audit date (UTC): 2026-01-31
- Files scanned: 4
- Files with issues: 4
- 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: 4
- Namespace violations: 0
- Using directive violations: 5
- Naming violations (interfaces/fields/const/async): 11
- Service locator usage (BuildServiceProvider/GetService): 0
- Assembly.LoadFrom usage: 0
### Details
- 100-line files:
- src/Notify/__Tests/StellaOps.Notify.Connectors.Slack.Tests/SlackChannelHealthProviderTests.cs (101 lines)
- src/Notify/__Tests/StellaOps.Notify.Connectors.Slack.Tests/SlackChannelTestProviderTests.cs (120 lines)
- src/Notify/__Tests/StellaOps.Notify.Connectors.Slack.Tests/ErrorHandling/SlackConnectorErrorTests.cs (661 lines)
- src/Notify/__Tests/StellaOps.Notify.Connectors.Slack.Tests/Snapshot/SlackConnectorSnapshotTests.cs (764 lines)
- Namespace issues:
- none
- Using directive issues:
- src/Notify/__Tests/StellaOps.Notify.Connectors.Slack.Tests/SlackChannelHealthProviderTests.cs: using directives not sorted
- src/Notify/__Tests/StellaOps.Notify.Connectors.Slack.Tests/SlackChannelTestProviderTests.cs: using directives inside namespace
- src/Notify/__Tests/StellaOps.Notify.Connectors.Slack.Tests/SlackChannelTestProviderTests.cs: using directives not sorted
- src/Notify/__Tests/StellaOps.Notify.Connectors.Slack.Tests/ErrorHandling/SlackConnectorErrorTests.cs: using directives not sorted
- src/Notify/__Tests/StellaOps.Notify.Connectors.Slack.Tests/Snapshot/SlackConnectorSnapshotTests.cs: using directives not sorted
- Naming issues:
- src/Notify/__Tests/StellaOps.Notify.Connectors.Slack.Tests/SlackChannelHealthProviderTests.cs: private field naming
- src/Notify/__Tests/StellaOps.Notify.Connectors.Slack.Tests/SlackChannelTestProviderTests.cs: private field naming
- src/Notify/__Tests/StellaOps.Notify.Connectors.Slack.Tests/Snapshot/SlackConnectorSnapshotTests.cs: private field naming
- Async issues:
- src/Notify/__Tests/StellaOps.Notify.Connectors.Slack.Tests/SlackChannelHealthProviderTests.cs: async method naming
- src/Notify/__Tests/StellaOps.Notify.Connectors.Slack.Tests/SlackChannelHealthProviderTests.cs: missing ConfigureAwait(false)
- src/Notify/__Tests/StellaOps.Notify.Connectors.Slack.Tests/SlackChannelTestProviderTests.cs: async method naming
- src/Notify/__Tests/StellaOps.Notify.Connectors.Slack.Tests/SlackChannelTestProviderTests.cs: missing ConfigureAwait(false)
- src/Notify/__Tests/StellaOps.Notify.Connectors.Slack.Tests/ErrorHandling/SlackConnectorErrorTests.cs: async method naming
- src/Notify/__Tests/StellaOps.Notify.Connectors.Slack.Tests/ErrorHandling/SlackConnectorErrorTests.cs: missing ConfigureAwait(false)
- src/Notify/__Tests/StellaOps.Notify.Connectors.Slack.Tests/Snapshot/SlackConnectorSnapshotTests.cs: async method naming
- src/Notify/__Tests/StellaOps.Notify.Connectors.Slack.Tests/Snapshot/SlackConnectorSnapshotTests.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).
- 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: 4
- Files with issues: 4
- See docs/implplan/audits/csproj-standards/file-audit.csv for full per-file status.
| File | Issues | Fix guidance |
| --- | --- | --- |
| src/Notify/__Tests/StellaOps.Notify.Connectors.Slack.Tests/SlackChannelHealthProviderTests.cs | AsyncNaming; ConfigureAwaitMissing; FileLength>100; PrivateFieldNaming; UsingNotSorted | Add ConfigureAwait(false) to awaited calls in library-like code.; Rename async methods to end with Async.; Rename private fields to _camelCase.; Sort using directives alphabetically.; Split file to stay <= 100 lines. |
| src/Notify/__Tests/StellaOps.Notify.Connectors.Slack.Tests/SlackChannelTestProviderTests.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/Notify/__Tests/StellaOps.Notify.Connectors.Slack.Tests/ErrorHandling/SlackConnectorErrorTests.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/Notify/__Tests/StellaOps.Notify.Connectors.Slack.Tests/Snapshot/SlackConnectorSnapshotTests.cs | AsyncNaming; ConfigureAwaitMissing; FileLength>100; PrivateFieldNaming; UsingNotSorted | Add ConfigureAwait(false) to awaited calls in library-like code.; Rename async methods to end with Async.; Rename private fields to _camelCase.; Sort using directives alphabetically.; Split file to stay <= 100 lines. |
## Testing Fullness Findings
- Status: PASS
- Expected layers (heuristic):
- Detected test projects: none
- Missing layers: none
### Manual checks required
- Observability contract tests for WebService/Worker.
- Intent tags for regulatory modules (Policy, Authority, Signer, Attestor, EvidenceLocker).
- Offline execution (tests must run without network access).
- Coverage matrix alignment (docs/technical/testing/TEST_COVERAGE_MATRIX.md).
### Fix Guidance
- None.

View File

@@ -0,0 +1,88 @@
# Audit - StellaOps.Notify.Connectors.Teams.Tests
## Project
- Path: src/Notify/__Tests/StellaOps.Notify.Connectors.Teams.Tests/StellaOps.Notify.Connectors.Teams.Tests.csproj
- Module: Notify
- Kind: Test
- Audit date (UTC): 2026-01-31
- Files scanned: 4
- Files with issues: 4
- 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: 4
- Namespace violations: 0
- Using directive violations: 5
- Naming violations (interfaces/fields/const/async): 10
- Service locator usage (BuildServiceProvider/GetService): 0
- Assembly.LoadFrom usage: 0
### Details
- 100-line files:
- src/Notify/__Tests/StellaOps.Notify.Connectors.Teams.Tests/TeamsChannelHealthProviderTests.cs (103 lines)
- src/Notify/__Tests/StellaOps.Notify.Connectors.Teams.Tests/TeamsChannelTestProviderTests.cs (140 lines)
- src/Notify/__Tests/StellaOps.Notify.Connectors.Teams.Tests/ErrorHandling/TeamsConnectorErrorTests.cs (695 lines)
- src/Notify/__Tests/StellaOps.Notify.Connectors.Teams.Tests/Snapshot/TeamsConnectorSnapshotTests.cs (688 lines)
- Namespace issues:
- none
- Using directive issues:
- src/Notify/__Tests/StellaOps.Notify.Connectors.Teams.Tests/TeamsChannelHealthProviderTests.cs: using directives not sorted
- src/Notify/__Tests/StellaOps.Notify.Connectors.Teams.Tests/TeamsChannelTestProviderTests.cs: using directives inside namespace
- src/Notify/__Tests/StellaOps.Notify.Connectors.Teams.Tests/TeamsChannelTestProviderTests.cs: using directives not sorted
- src/Notify/__Tests/StellaOps.Notify.Connectors.Teams.Tests/ErrorHandling/TeamsConnectorErrorTests.cs: using directives not sorted
- src/Notify/__Tests/StellaOps.Notify.Connectors.Teams.Tests/Snapshot/TeamsConnectorSnapshotTests.cs: using directives not sorted
- Naming issues:
- src/Notify/__Tests/StellaOps.Notify.Connectors.Teams.Tests/TeamsChannelHealthProviderTests.cs: private field naming
- src/Notify/__Tests/StellaOps.Notify.Connectors.Teams.Tests/Snapshot/TeamsConnectorSnapshotTests.cs: private field naming
- Async issues:
- src/Notify/__Tests/StellaOps.Notify.Connectors.Teams.Tests/TeamsChannelHealthProviderTests.cs: async method naming
- src/Notify/__Tests/StellaOps.Notify.Connectors.Teams.Tests/TeamsChannelHealthProviderTests.cs: missing ConfigureAwait(false)
- src/Notify/__Tests/StellaOps.Notify.Connectors.Teams.Tests/TeamsChannelTestProviderTests.cs: async method naming
- src/Notify/__Tests/StellaOps.Notify.Connectors.Teams.Tests/TeamsChannelTestProviderTests.cs: missing ConfigureAwait(false)
- src/Notify/__Tests/StellaOps.Notify.Connectors.Teams.Tests/ErrorHandling/TeamsConnectorErrorTests.cs: async method naming
- src/Notify/__Tests/StellaOps.Notify.Connectors.Teams.Tests/ErrorHandling/TeamsConnectorErrorTests.cs: missing ConfigureAwait(false)
- src/Notify/__Tests/StellaOps.Notify.Connectors.Teams.Tests/Snapshot/TeamsConnectorSnapshotTests.cs: async method naming
- src/Notify/__Tests/StellaOps.Notify.Connectors.Teams.Tests/Snapshot/TeamsConnectorSnapshotTests.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).
- 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: 4
- Files with issues: 4
- See docs/implplan/audits/csproj-standards/file-audit.csv for full per-file status.
| File | Issues | Fix guidance |
| --- | --- | --- |
| src/Notify/__Tests/StellaOps.Notify.Connectors.Teams.Tests/TeamsChannelHealthProviderTests.cs | AsyncNaming; ConfigureAwaitMissing; FileLength>100; PrivateFieldNaming; UsingNotSorted | Add ConfigureAwait(false) to awaited calls in library-like code.; Rename async methods to end with Async.; Rename private fields to _camelCase.; Sort using directives alphabetically.; Split file to stay <= 100 lines. |
| src/Notify/__Tests/StellaOps.Notify.Connectors.Teams.Tests/TeamsChannelTestProviderTests.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/Notify/__Tests/StellaOps.Notify.Connectors.Teams.Tests/ErrorHandling/TeamsConnectorErrorTests.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/Notify/__Tests/StellaOps.Notify.Connectors.Teams.Tests/Snapshot/TeamsConnectorSnapshotTests.cs | AsyncNaming; ConfigureAwaitMissing; FileLength>100; PrivateFieldNaming; UsingNotSorted | Add ConfigureAwait(false) to awaited calls in library-like code.; Rename async methods to end with Async.; Rename private fields to _camelCase.; Sort using directives alphabetically.; Split file to stay <= 100 lines. |
## Testing Fullness Findings
- Status: PASS
- Expected layers (heuristic):
- Detected test projects: none
- Missing layers: none
### Manual checks required
- Observability contract tests for WebService/Worker.
- Intent tags for regulatory modules (Policy, Authority, Signer, Attestor, EvidenceLocker).
- Offline execution (tests must run without network access).
- Coverage matrix alignment (docs/technical/testing/TEST_COVERAGE_MATRIX.md).
### Fix Guidance
- None.

View File

@@ -0,0 +1,84 @@
# Audit - StellaOps.Notify.Connectors.Webhook.Tests
## Project
- Path: src/Notify/__Tests/StellaOps.Notify.Connectors.Webhook.Tests/StellaOps.Notify.Connectors.Webhook.Tests.csproj
- Module: Notify
- Kind: Test
- Audit date (UTC): 2026-01-31
- Files scanned: 3
- Files with issues: 3
- 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: 3
- Namespace violations: 0
- Using directive violations: 6
- Naming violations (interfaces/fields/const/async): 7
- Service locator usage (BuildServiceProvider/GetService): 0
- Assembly.LoadFrom usage: 0
### Details
- 100-line files:
- src/Notify/__Tests/StellaOps.Notify.Connectors.Webhook.Tests/ErrorHandling/WebhookConnectorErrorHandlingTests.cs (545 lines)
- src/Notify/__Tests/StellaOps.Notify.Connectors.Webhook.Tests/ErrorHandling/WebhookConnectorErrorTests.cs (882 lines)
- src/Notify/__Tests/StellaOps.Notify.Connectors.Webhook.Tests/Snapshot/WebhookConnectorSnapshotTests.cs (581 lines)
- Namespace issues:
- none
- Using directive issues:
- src/Notify/__Tests/StellaOps.Notify.Connectors.Webhook.Tests/ErrorHandling/WebhookConnectorErrorHandlingTests.cs: using directives inside namespace
- src/Notify/__Tests/StellaOps.Notify.Connectors.Webhook.Tests/ErrorHandling/WebhookConnectorErrorHandlingTests.cs: using directives not sorted
- src/Notify/__Tests/StellaOps.Notify.Connectors.Webhook.Tests/ErrorHandling/WebhookConnectorErrorTests.cs: using directives inside namespace
- src/Notify/__Tests/StellaOps.Notify.Connectors.Webhook.Tests/ErrorHandling/WebhookConnectorErrorTests.cs: using directives not sorted
- src/Notify/__Tests/StellaOps.Notify.Connectors.Webhook.Tests/Snapshot/WebhookConnectorSnapshotTests.cs: using directives inside namespace
- src/Notify/__Tests/StellaOps.Notify.Connectors.Webhook.Tests/Snapshot/WebhookConnectorSnapshotTests.cs: using directives not sorted
- Naming issues:
- src/Notify/__Tests/StellaOps.Notify.Connectors.Webhook.Tests/Snapshot/WebhookConnectorSnapshotTests.cs: private field naming
- Async issues:
- src/Notify/__Tests/StellaOps.Notify.Connectors.Webhook.Tests/ErrorHandling/WebhookConnectorErrorHandlingTests.cs: async method naming
- src/Notify/__Tests/StellaOps.Notify.Connectors.Webhook.Tests/ErrorHandling/WebhookConnectorErrorHandlingTests.cs: missing ConfigureAwait(false)
- src/Notify/__Tests/StellaOps.Notify.Connectors.Webhook.Tests/ErrorHandling/WebhookConnectorErrorTests.cs: async method naming
- src/Notify/__Tests/StellaOps.Notify.Connectors.Webhook.Tests/ErrorHandling/WebhookConnectorErrorTests.cs: missing ConfigureAwait(false)
- src/Notify/__Tests/StellaOps.Notify.Connectors.Webhook.Tests/Snapshot/WebhookConnectorSnapshotTests.cs: async method naming
- src/Notify/__Tests/StellaOps.Notify.Connectors.Webhook.Tests/Snapshot/WebhookConnectorSnapshotTests.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).
- 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: 3
- Files with issues: 3
- See docs/implplan/audits/csproj-standards/file-audit.csv for full per-file status.
| File | Issues | Fix guidance |
| --- | --- | --- |
| src/Notify/__Tests/StellaOps.Notify.Connectors.Webhook.Tests/ErrorHandling/WebhookConnectorErrorHandlingTests.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/Notify/__Tests/StellaOps.Notify.Connectors.Webhook.Tests/ErrorHandling/WebhookConnectorErrorTests.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/Notify/__Tests/StellaOps.Notify.Connectors.Webhook.Tests/Snapshot/WebhookConnectorSnapshotTests.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. |
## 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,74 @@
# Audit - StellaOps.Notify.Core.Tests
## Project
- Path: src/Notify/__Tests/StellaOps.Notify.Core.Tests/StellaOps.Notify.Core.Tests.csproj
- Module: Notify
- 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: 2
- Namespace violations: 0
- 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/Notify/__Tests/StellaOps.Notify.Core.Tests/RateLimiting/NotificationRateLimitingTests.cs (853 lines)
- src/Notify/__Tests/StellaOps.Notify.Core.Tests/Templating/NotificationTemplatingTests.cs (1533 lines)
- Namespace issues:
- none
- Using directive issues:
- src/Notify/__Tests/StellaOps.Notify.Core.Tests/RateLimiting/NotificationRateLimitingTests.cs: using directives not sorted
- src/Notify/__Tests/StellaOps.Notify.Core.Tests/Templating/NotificationTemplatingTests.cs: using directives not sorted
- Naming issues:
- none
- Async issues:
- src/Notify/__Tests/StellaOps.Notify.Core.Tests/RateLimiting/NotificationRateLimitingTests.cs: async method naming
- src/Notify/__Tests/StellaOps.Notify.Core.Tests/RateLimiting/NotificationRateLimitingTests.cs: blocking async usage
- src/Notify/__Tests/StellaOps.Notify.Core.Tests/RateLimiting/NotificationRateLimitingTests.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: 2
- Files with issues: 2
- See docs/implplan/audits/csproj-standards/file-audit.csv for full per-file status.
| File | Issues | Fix guidance |
| --- | --- | --- |
| src/Notify/__Tests/StellaOps.Notify.Core.Tests/RateLimiting/NotificationRateLimitingTests.cs | AsyncNaming; BlockingAsync; ConfigureAwaitMissing; FileLength>100; UsingNotSorted | Add ConfigureAwait(false) to awaited calls in library-like code.; Rename async methods to end with Async.; Replace .Result/.Wait/GetAwaiter().GetResult() with await.; Sort using directives alphabetically.; Split file to stay <= 100 lines. |
| src/Notify/__Tests/StellaOps.Notify.Core.Tests/Templating/NotificationTemplatingTests.cs | FileLength>100; UsingNotSorted | Sort using directives alphabetically.; Split file to stay <= 100 lines. |
## Testing Fullness Findings
- Status: PASS
- Expected layers (heuristic):
- Detected test projects: none
- Missing layers: none
### Manual checks required
- Observability contract tests for WebService/Worker.
- Intent tags for regulatory modules (Policy, Authority, Signer, Attestor, EvidenceLocker).
- Offline execution (tests must run without network access).
- Coverage matrix alignment (docs/technical/testing/TEST_COVERAGE_MATRIX.md).
### Fix Guidance
- None.

View File

@@ -0,0 +1,75 @@
# Audit - StellaOps.Notify.Engine.Tests
## Project
- Path: src/Notify/__Tests/StellaOps.Notify.Engine.Tests/StellaOps.Notify.Engine.Tests.csproj
- Module: Notify
- 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: 2
- Namespace violations: 0
- Using directive violations: 2
- Naming violations (interfaces/fields/const/async): 4
- Service locator usage (BuildServiceProvider/GetService): 0
- Assembly.LoadFrom usage: 0
### Details
- 100-line files:
- src/Notify/__Tests/StellaOps.Notify.Engine.Tests/RateLimiting/NotifyRateLimitingTests.cs (534 lines)
- src/Notify/__Tests/StellaOps.Notify.Engine.Tests/Templating/NotifyTemplatingTests.cs (494 lines)
- Namespace issues:
- none
- Using directive issues:
- src/Notify/__Tests/StellaOps.Notify.Engine.Tests/RateLimiting/NotifyRateLimitingTests.cs: using directives not sorted
- src/Notify/__Tests/StellaOps.Notify.Engine.Tests/Templating/NotifyTemplatingTests.cs: using directives not sorted
- Naming issues:
- src/Notify/__Tests/StellaOps.Notify.Engine.Tests/RateLimiting/NotifyRateLimitingTests.cs: private field naming
- src/Notify/__Tests/StellaOps.Notify.Engine.Tests/Templating/NotifyTemplatingTests.cs: private field naming
- Async issues:
- src/Notify/__Tests/StellaOps.Notify.Engine.Tests/RateLimiting/NotifyRateLimitingTests.cs: async method naming
- src/Notify/__Tests/StellaOps.Notify.Engine.Tests/RateLimiting/NotifyRateLimitingTests.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).
- 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: 2
- Files with issues: 2
- See docs/implplan/audits/csproj-standards/file-audit.csv for full per-file status.
| File | Issues | Fix guidance |
| --- | --- | --- |
| src/Notify/__Tests/StellaOps.Notify.Engine.Tests/RateLimiting/NotifyRateLimitingTests.cs | AsyncNaming; ConfigureAwaitMissing; FileLength>100; PrivateFieldNaming; UsingNotSorted | Add ConfigureAwait(false) to awaited calls in library-like code.; Rename async methods to end with Async.; Rename private fields to _camelCase.; Sort using directives alphabetically.; Split file to stay <= 100 lines. |
| src/Notify/__Tests/StellaOps.Notify.Engine.Tests/Templating/NotifyTemplatingTests.cs | FileLength>100; PrivateFieldNaming; UsingNotSorted | Rename private fields to _camelCase.; Sort using directives alphabetically.; Split file to stay <= 100 lines. |
## Testing Fullness Findings
- Status: PASS
- Expected layers (heuristic):
- Detected test projects: none
- Missing layers: none
### Manual checks required
- Observability contract tests for WebService/Worker.
- Intent tags for regulatory modules (Policy, Authority, Signer, Attestor, EvidenceLocker).
- Offline execution (tests must run without network access).
- Coverage matrix alignment (docs/technical/testing/TEST_COVERAGE_MATRIX.md).
### Fix Guidance
- None.

View File

@@ -0,0 +1,83 @@
# Audit - StellaOps.Notify.Models.Tests
## Project
- Path: src/Notify/__Tests/StellaOps.Notify.Models.Tests/StellaOps.Notify.Models.Tests.csproj
- Module: Notify
- Kind: Test
- Audit date (UTC): 2026-01-31
- Files scanned: 7
- Files with issues: 7
- File-level report: docs/implplan/audits/csproj-standards/file-audit.csv
## Coding Standards Findings
- Status: FAIL
- Nullable: enable
- TreatWarningsAsErrors: inherited false
- Deterministic: inherited true
- 100-line rule violations: 1
- Namespace violations: 0
- Using directive violations: 7
- Naming violations (interfaces/fields/const/async): 3
- Service locator usage (BuildServiceProvider/GetService): 0
- Assembly.LoadFrom usage: 0
### Details
- 100-line files:
- src/Notify/__Tests/StellaOps.Notify.Models.Tests/NotifySchemaMigrationTests.cs (107 lines)
- Namespace issues:
- none
- Using directive issues:
- src/Notify/__Tests/StellaOps.Notify.Models.Tests/DocSampleTests.cs: using directives not sorted
- src/Notify/__Tests/StellaOps.Notify.Models.Tests/NotifyCanonicalJsonSerializerTests.cs: using directives not sorted
- src/Notify/__Tests/StellaOps.Notify.Models.Tests/NotifyDeliveryTests.cs: using directives not sorted
- src/Notify/__Tests/StellaOps.Notify.Models.Tests/NotifyRuleTests.cs: using directives not sorted
- src/Notify/__Tests/StellaOps.Notify.Models.Tests/NotifySchemaMigrationTests.cs: using directives not sorted
- src/Notify/__Tests/StellaOps.Notify.Models.Tests/PlatformEventSamplesTests.cs: using directives not sorted
- src/Notify/__Tests/StellaOps.Notify.Models.Tests/PlatformEventSchemaValidationTests.cs: using directives not sorted
- Naming issues:
- src/Notify/__Tests/StellaOps.Notify.Models.Tests/PlatformEventSamplesTests.cs: private field naming
- Async issues:
- src/Notify/__Tests/StellaOps.Notify.Models.Tests/PlatformEventSchemaValidationTests.cs: async method naming
- src/Notify/__Tests/StellaOps.Notify.Models.Tests/PlatformEventSchemaValidationTests.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).
- 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: 7
- Files with issues: 7
- See docs/implplan/audits/csproj-standards/file-audit.csv for full per-file status.
| File | Issues | Fix guidance |
| --- | --- | --- |
| src/Notify/__Tests/StellaOps.Notify.Models.Tests/DocSampleTests.cs | UsingNotSorted | Sort using directives alphabetically. |
| src/Notify/__Tests/StellaOps.Notify.Models.Tests/NotifyCanonicalJsonSerializerTests.cs | UsingNotSorted | Sort using directives alphabetically. |
| src/Notify/__Tests/StellaOps.Notify.Models.Tests/NotifyDeliveryTests.cs | UsingNotSorted | Sort using directives alphabetically. |
| src/Notify/__Tests/StellaOps.Notify.Models.Tests/NotifyRuleTests.cs | UsingNotSorted | Sort using directives alphabetically. |
| src/Notify/__Tests/StellaOps.Notify.Models.Tests/NotifySchemaMigrationTests.cs | FileLength>100; UsingNotSorted | Sort using directives alphabetically.; Split file to stay <= 100 lines. |
| src/Notify/__Tests/StellaOps.Notify.Models.Tests/PlatformEventSamplesTests.cs | PrivateFieldNaming; UsingNotSorted | Rename private fields to _camelCase.; Sort using directives alphabetically. |
| src/Notify/__Tests/StellaOps.Notify.Models.Tests/PlatformEventSchemaValidationTests.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. |
## 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,133 @@
# Audit - StellaOps.Notify.Persistence.Tests
## Project
- Path: src/Notify/__Tests/StellaOps.Notify.Persistence.Tests/StellaOps.Notify.Persistence.Tests.csproj
- Module: Notify
- Kind: Test
- Audit date (UTC): 2026-01-31
- Files scanned: 14
- Files with issues: 14
- File-level report: docs/implplan/audits/csproj-standards/file-audit.csv
## Coding Standards Findings
- Status: FAIL
- Nullable: enable
- TreatWarningsAsErrors: inherited false
- Deterministic: inherited true
- 100-line rule violations: 13
- Namespace violations: 0
- Using directive violations: 13
- Naming violations (interfaces/fields/const/async): 28
- Service locator usage (BuildServiceProvider/GetService): 0
- Assembly.LoadFrom usage: 0
### Details
- 100-line files:
- src/Notify/__Tests/StellaOps.Notify.Persistence.Tests/ChannelRepositoryTests.cs (219 lines)
- src/Notify/__Tests/StellaOps.Notify.Persistence.Tests/DeliveryIdempotencyTests.cs (312 lines)
- src/Notify/__Tests/StellaOps.Notify.Persistence.Tests/DeliveryRepositoryTests.cs (255 lines)
- src/Notify/__Tests/StellaOps.Notify.Persistence.Tests/DigestAggregationTests.cs (563 lines)
- src/Notify/__Tests/StellaOps.Notify.Persistence.Tests/DigestRepositoryTests.cs (231 lines)
- src/Notify/__Tests/StellaOps.Notify.Persistence.Tests/EscalationHandlingTests.cs (491 lines)
- src/Notify/__Tests/StellaOps.Notify.Persistence.Tests/InboxRepositoryTests.cs (228 lines)
- src/Notify/__Tests/StellaOps.Notify.Persistence.Tests/NotificationDeliveryFlowTests.cs (420 lines)
- src/Notify/__Tests/StellaOps.Notify.Persistence.Tests/NotifyAuditRepositoryTests.cs (188 lines)
- src/Notify/__Tests/StellaOps.Notify.Persistence.Tests/NotifyMigrationTests.cs (323 lines)
- src/Notify/__Tests/StellaOps.Notify.Persistence.Tests/RetryStatePersistenceTests.cs (311 lines)
- src/Notify/__Tests/StellaOps.Notify.Persistence.Tests/RuleRepositoryTests.cs (211 lines)
- src/Notify/__Tests/StellaOps.Notify.Persistence.Tests/TemplateRepositoryTests.cs (203 lines)
- Namespace issues:
- none
- Using directive issues:
- src/Notify/__Tests/StellaOps.Notify.Persistence.Tests/ChannelRepositoryTests.cs: using directives not sorted
- src/Notify/__Tests/StellaOps.Notify.Persistence.Tests/DeliveryRepositoryTests.cs: using directives not sorted
- src/Notify/__Tests/StellaOps.Notify.Persistence.Tests/DigestAggregationTests.cs: using directives not sorted
- src/Notify/__Tests/StellaOps.Notify.Persistence.Tests/DigestRepositoryTests.cs: using directives not sorted
- src/Notify/__Tests/StellaOps.Notify.Persistence.Tests/EscalationHandlingTests.cs: using directives not sorted
- src/Notify/__Tests/StellaOps.Notify.Persistence.Tests/InboxRepositoryTests.cs: using directives not sorted
- src/Notify/__Tests/StellaOps.Notify.Persistence.Tests/NotificationDeliveryFlowTests.cs: using directives not sorted
- src/Notify/__Tests/StellaOps.Notify.Persistence.Tests/NotifyAuditRepositoryTests.cs: using directives not sorted
- src/Notify/__Tests/StellaOps.Notify.Persistence.Tests/NotifyMigrationTests.cs: using directives inside namespace
- src/Notify/__Tests/StellaOps.Notify.Persistence.Tests/NotifyMigrationTests.cs: using directives not sorted
- src/Notify/__Tests/StellaOps.Notify.Persistence.Tests/NotifyPostgresFixture.cs: using directives not sorted
- src/Notify/__Tests/StellaOps.Notify.Persistence.Tests/RuleRepositoryTests.cs: using directives not sorted
- src/Notify/__Tests/StellaOps.Notify.Persistence.Tests/TemplateRepositoryTests.cs: using directives not sorted
- Naming issues:
- src/Notify/__Tests/StellaOps.Notify.Persistence.Tests/NotifyPostgresFixture.cs: private field naming
- Async issues:
- src/Notify/__Tests/StellaOps.Notify.Persistence.Tests/ChannelRepositoryTests.cs: async method naming
- src/Notify/__Tests/StellaOps.Notify.Persistence.Tests/ChannelRepositoryTests.cs: missing ConfigureAwait(false)
- src/Notify/__Tests/StellaOps.Notify.Persistence.Tests/DeliveryIdempotencyTests.cs: async method naming
- src/Notify/__Tests/StellaOps.Notify.Persistence.Tests/DeliveryIdempotencyTests.cs: missing ConfigureAwait(false)
- src/Notify/__Tests/StellaOps.Notify.Persistence.Tests/DeliveryRepositoryTests.cs: async method naming
- src/Notify/__Tests/StellaOps.Notify.Persistence.Tests/DeliveryRepositoryTests.cs: missing ConfigureAwait(false)
- src/Notify/__Tests/StellaOps.Notify.Persistence.Tests/DigestAggregationTests.cs: async method naming
- src/Notify/__Tests/StellaOps.Notify.Persistence.Tests/DigestAggregationTests.cs: missing ConfigureAwait(false)
- src/Notify/__Tests/StellaOps.Notify.Persistence.Tests/DigestRepositoryTests.cs: async method naming
- src/Notify/__Tests/StellaOps.Notify.Persistence.Tests/DigestRepositoryTests.cs: missing ConfigureAwait(false)
- src/Notify/__Tests/StellaOps.Notify.Persistence.Tests/EscalationHandlingTests.cs: async method naming
- src/Notify/__Tests/StellaOps.Notify.Persistence.Tests/EscalationHandlingTests.cs: missing ConfigureAwait(false)
- src/Notify/__Tests/StellaOps.Notify.Persistence.Tests/InboxRepositoryTests.cs: async method naming
- src/Notify/__Tests/StellaOps.Notify.Persistence.Tests/InboxRepositoryTests.cs: missing ConfigureAwait(false)
- src/Notify/__Tests/StellaOps.Notify.Persistence.Tests/NotificationDeliveryFlowTests.cs: async method naming
- src/Notify/__Tests/StellaOps.Notify.Persistence.Tests/NotificationDeliveryFlowTests.cs: missing ConfigureAwait(false)
- src/Notify/__Tests/StellaOps.Notify.Persistence.Tests/NotifyAuditRepositoryTests.cs: async method naming
- src/Notify/__Tests/StellaOps.Notify.Persistence.Tests/NotifyAuditRepositoryTests.cs: missing ConfigureAwait(false)
- src/Notify/__Tests/StellaOps.Notify.Persistence.Tests/NotifyMigrationTests.cs: async method naming
- src/Notify/__Tests/StellaOps.Notify.Persistence.Tests/NotifyMigrationTests.cs: missing ConfigureAwait(false)
- src/Notify/__Tests/StellaOps.Notify.Persistence.Tests/NotifyPostgresFixture.cs: missing ConfigureAwait(false)
- src/Notify/__Tests/StellaOps.Notify.Persistence.Tests/RetryStatePersistenceTests.cs: async method naming
- src/Notify/__Tests/StellaOps.Notify.Persistence.Tests/RetryStatePersistenceTests.cs: missing ConfigureAwait(false)
- src/Notify/__Tests/StellaOps.Notify.Persistence.Tests/RuleRepositoryTests.cs: async method naming
- src/Notify/__Tests/StellaOps.Notify.Persistence.Tests/RuleRepositoryTests.cs: missing ConfigureAwait(false)
- src/Notify/__Tests/StellaOps.Notify.Persistence.Tests/TemplateRepositoryTests.cs: async method naming
- src/Notify/__Tests/StellaOps.Notify.Persistence.Tests/TemplateRepositoryTests.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).
- 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: 14
- Files with issues: 14
- See docs/implplan/audits/csproj-standards/file-audit.csv for full per-file status.
| File | Issues | Fix guidance |
| --- | --- | --- |
| src/Notify/__Tests/StellaOps.Notify.Persistence.Tests/ChannelRepositoryTests.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/Notify/__Tests/StellaOps.Notify.Persistence.Tests/DeliveryIdempotencyTests.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/Notify/__Tests/StellaOps.Notify.Persistence.Tests/DeliveryRepositoryTests.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/Notify/__Tests/StellaOps.Notify.Persistence.Tests/DigestAggregationTests.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/Notify/__Tests/StellaOps.Notify.Persistence.Tests/DigestRepositoryTests.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/Notify/__Tests/StellaOps.Notify.Persistence.Tests/EscalationHandlingTests.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/Notify/__Tests/StellaOps.Notify.Persistence.Tests/InboxRepositoryTests.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/Notify/__Tests/StellaOps.Notify.Persistence.Tests/NotificationDeliveryFlowTests.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/Notify/__Tests/StellaOps.Notify.Persistence.Tests/NotifyAuditRepositoryTests.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/Notify/__Tests/StellaOps.Notify.Persistence.Tests/NotifyMigrationTests.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/Notify/__Tests/StellaOps.Notify.Persistence.Tests/NotifyPostgresFixture.cs | ConfigureAwaitMissing; PrivateFieldNaming; UsingNotSorted | Add ConfigureAwait(false) to awaited calls in library-like code.; Rename private fields to _camelCase.; Sort using directives alphabetically. |
| src/Notify/__Tests/StellaOps.Notify.Persistence.Tests/RetryStatePersistenceTests.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/Notify/__Tests/StellaOps.Notify.Persistence.Tests/RuleRepositoryTests.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/Notify/__Tests/StellaOps.Notify.Persistence.Tests/TemplateRepositoryTests.cs | AsyncNaming; ConfigureAwaitMissing; FileLength>100; UsingNotSorted | Add ConfigureAwait(false) to awaited calls in library-like code.; Rename async methods to end with Async.; Sort using directives alphabetically.; Split file to stay <= 100 lines. |
## Testing Fullness Findings
- Status: PASS
- Expected layers (heuristic):
- Detected test projects: none
- Missing layers: none
### Manual checks required
- Observability contract tests for WebService/Worker.
- Intent tags for regulatory modules (Policy, Authority, Signer, Attestor, EvidenceLocker).
- Offline execution (tests must run without network access).
- Coverage matrix alignment (docs/technical/testing/TEST_COVERAGE_MATRIX.md).
### Fix Guidance
- None.

View File

@@ -0,0 +1,83 @@
# Audit - StellaOps.Notify.Queue.Tests
## Project
- Path: src/Notify/__Tests/StellaOps.Notify.Queue.Tests/StellaOps.Notify.Queue.Tests.csproj
- Module: Notify
- Kind: Test
- Audit date (UTC): 2026-01-31
- Files scanned: 4
- Files with issues: 4
- 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: 4
- Namespace violations: 0
- Using directive violations: 4
- Naming violations (interfaces/fields/const/async): 6
- Service locator usage (BuildServiceProvider/GetService): 0
- Assembly.LoadFrom usage: 0
### Details
- 100-line files:
- src/Notify/__Tests/StellaOps.Notify.Queue.Tests/NatsNotifyDeliveryQueueTests.cs (240 lines)
- src/Notify/__Tests/StellaOps.Notify.Queue.Tests/NatsNotifyEventQueueTests.cs (263 lines)
- src/Notify/__Tests/StellaOps.Notify.Queue.Tests/RedisNotifyDeliveryQueueTests.cs (209 lines)
- src/Notify/__Tests/StellaOps.Notify.Queue.Tests/RedisNotifyEventQueueTests.cs (233 lines)
- Namespace issues:
- none
- Using directive issues:
- src/Notify/__Tests/StellaOps.Notify.Queue.Tests/NatsNotifyDeliveryQueueTests.cs: using directives not sorted
- src/Notify/__Tests/StellaOps.Notify.Queue.Tests/NatsNotifyEventQueueTests.cs: using directives not sorted
- src/Notify/__Tests/StellaOps.Notify.Queue.Tests/RedisNotifyDeliveryQueueTests.cs: using directives not sorted
- src/Notify/__Tests/StellaOps.Notify.Queue.Tests/RedisNotifyEventQueueTests.cs: using directives not sorted
- Naming issues:
- none
- Async issues:
- src/Notify/__Tests/StellaOps.Notify.Queue.Tests/NatsNotifyDeliveryQueueTests.cs: async method naming
- src/Notify/__Tests/StellaOps.Notify.Queue.Tests/NatsNotifyDeliveryQueueTests.cs: missing ConfigureAwait(false)
- src/Notify/__Tests/StellaOps.Notify.Queue.Tests/NatsNotifyEventQueueTests.cs: async method naming
- src/Notify/__Tests/StellaOps.Notify.Queue.Tests/NatsNotifyEventQueueTests.cs: missing ConfigureAwait(false)
- src/Notify/__Tests/StellaOps.Notify.Queue.Tests/RedisNotifyDeliveryQueueTests.cs: async method naming
- src/Notify/__Tests/StellaOps.Notify.Queue.Tests/RedisNotifyEventQueueTests.cs: async method naming
- 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: 4
- Files with issues: 4
- See docs/implplan/audits/csproj-standards/file-audit.csv for full per-file status.
| File | Issues | Fix guidance |
| --- | --- | --- |
| src/Notify/__Tests/StellaOps.Notify.Queue.Tests/NatsNotifyDeliveryQueueTests.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/Notify/__Tests/StellaOps.Notify.Queue.Tests/NatsNotifyEventQueueTests.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/Notify/__Tests/StellaOps.Notify.Queue.Tests/RedisNotifyDeliveryQueueTests.cs | AsyncNaming; FileLength>100; UsingNotSorted | Rename async methods to end with Async.; Sort using directives alphabetically.; Split file to stay <= 100 lines. |
| src/Notify/__Tests/StellaOps.Notify.Queue.Tests/RedisNotifyEventQueueTests.cs | AsyncNaming; FileLength>100; UsingNotSorted | Rename async methods to end with Async.; Sort using directives alphabetically.; Split file to stay <= 100 lines. |
## Testing Fullness Findings
- Status: PASS
- Expected layers (heuristic):
- Detected test projects: none
- Missing layers: none
### Manual checks required
- Observability contract tests for WebService/Worker.
- Intent tags for regulatory modules (Policy, Authority, Signer, Attestor, EvidenceLocker).
- Offline execution (tests must run without network access).
- Coverage matrix alignment (docs/technical/testing/TEST_COVERAGE_MATRIX.md).
### Fix Guidance
- None.

View File

@@ -0,0 +1,68 @@
# Audit - StellaOps.Notify.Storage.InMemory.Tests
## Project
- Path: src/Notify/__Tests/StellaOps.Notify.Storage.InMemory.Tests/StellaOps.Notify.Storage.InMemory.Tests.csproj
- Module: Notify
- Kind: Test
- Audit date (UTC): 2026-01-31
- Files scanned: 1
- Files with issues: 1
- File-level report: docs/implplan/audits/csproj-standards/file-audit.csv
## Coding Standards Findings
- Status: FAIL
- Nullable: enable
- TreatWarningsAsErrors: explicit true
- Deterministic: inherited true
- 100-line rule violations: 1
- Namespace violations: 0
- Using directive violations: 0
- Naming violations (interfaces/fields/const/async): 2
- Service locator usage (BuildServiceProvider/GetService): 0
- Assembly.LoadFrom usage: 0
### Details
- 100-line files:
- src/Notify/__Tests/StellaOps.Notify.Storage.InMemory.Tests/InMemoryRepositoriesTests.cs (274 lines)
- Namespace issues:
- none
- Using directive issues:
- none
- Naming issues:
- none
- Async issues:
- src/Notify/__Tests/StellaOps.Notify.Storage.InMemory.Tests/InMemoryRepositoriesTests.cs: async method naming
- src/Notify/__Tests/StellaOps.Notify.Storage.InMemory.Tests/InMemoryRepositoriesTests.cs: missing ConfigureAwait(false)
- Service locator matches:
- none
- Assembly.LoadFrom matches:
- none
### Fix Guidance
- Rename async methods and avoid blocking async calls.
- Split files over 100 lines into smaller types or partials.
## File-Level Findings
- Status: FAIL
- Files scanned: 1
- Files with issues: 1
- See docs/implplan/audits/csproj-standards/file-audit.csv for full per-file status.
| File | Issues | Fix guidance |
| --- | --- | --- |
| src/Notify/__Tests/StellaOps.Notify.Storage.InMemory.Tests/InMemoryRepositoriesTests.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. |
## 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,97 @@
# Audit - StellaOps.Notify.WebService.Tests
## Project
- Path: src/Notify/__Tests/StellaOps.Notify.WebService.Tests/StellaOps.Notify.WebService.Tests.csproj
- Module: Notify
- Kind: Test
- Audit date (UTC): 2026-01-31
- Files scanned: 7
- Files with issues: 7
- File-level report: docs/implplan/audits/csproj-standards/file-audit.csv
## Coding Standards Findings
- Status: FAIL
- Nullable: enable
- TreatWarningsAsErrors: inherited false
- Deterministic: inherited true
- 100-line rule violations: 7
- Namespace violations: 0
- Using directive violations: 8
- Naming violations (interfaces/fields/const/async): 10
- Service locator usage (BuildServiceProvider/GetService): 0
- Assembly.LoadFrom usage: 0
### Details
- 100-line files:
- src/Notify/__Tests/StellaOps.Notify.WebService.Tests/CrudEndpointsTests.cs (448 lines)
- src/Notify/__Tests/StellaOps.Notify.WebService.Tests/InMemoryRepositories.cs (262 lines)
- src/Notify/__Tests/StellaOps.Notify.WebService.Tests/NormalizeEndpointsTests.cs (105 lines)
- src/Notify/__Tests/StellaOps.Notify.WebService.Tests/NotifyTestServiceOverrides.cs (219 lines)
- src/Notify/__Tests/StellaOps.Notify.WebService.Tests/W1/NotifyWebServiceAuthTests.cs (571 lines)
- src/Notify/__Tests/StellaOps.Notify.WebService.Tests/W1/NotifyWebServiceContractTests.cs (523 lines)
- src/Notify/__Tests/StellaOps.Notify.WebService.Tests/W1/NotifyWebServiceOTelTests.cs (530 lines)
- Namespace issues:
- none
- Using directive issues:
- src/Notify/__Tests/StellaOps.Notify.WebService.Tests/CrudEndpointsTests.cs: using directives inside namespace
- src/Notify/__Tests/StellaOps.Notify.WebService.Tests/CrudEndpointsTests.cs: using directives not sorted
- src/Notify/__Tests/StellaOps.Notify.WebService.Tests/InMemoryRepositories.cs: using directives not sorted
- src/Notify/__Tests/StellaOps.Notify.WebService.Tests/NormalizeEndpointsTests.cs: using directives not sorted
- src/Notify/__Tests/StellaOps.Notify.WebService.Tests/NotifyTestServiceOverrides.cs: using directives not sorted
- src/Notify/__Tests/StellaOps.Notify.WebService.Tests/W1/NotifyWebServiceAuthTests.cs: using directives not sorted
- src/Notify/__Tests/StellaOps.Notify.WebService.Tests/W1/NotifyWebServiceContractTests.cs: using directives not sorted
- src/Notify/__Tests/StellaOps.Notify.WebService.Tests/W1/NotifyWebServiceOTelTests.cs: using directives not sorted
- Naming issues:
- none
- Async issues:
- src/Notify/__Tests/StellaOps.Notify.WebService.Tests/CrudEndpointsTests.cs: async method naming
- src/Notify/__Tests/StellaOps.Notify.WebService.Tests/CrudEndpointsTests.cs: missing ConfigureAwait(false)
- src/Notify/__Tests/StellaOps.Notify.WebService.Tests/NormalizeEndpointsTests.cs: async method naming
- src/Notify/__Tests/StellaOps.Notify.WebService.Tests/NormalizeEndpointsTests.cs: missing ConfigureAwait(false)
- src/Notify/__Tests/StellaOps.Notify.WebService.Tests/W1/NotifyWebServiceAuthTests.cs: async method naming
- src/Notify/__Tests/StellaOps.Notify.WebService.Tests/W1/NotifyWebServiceAuthTests.cs: missing ConfigureAwait(false)
- src/Notify/__Tests/StellaOps.Notify.WebService.Tests/W1/NotifyWebServiceContractTests.cs: async method naming
- src/Notify/__Tests/StellaOps.Notify.WebService.Tests/W1/NotifyWebServiceContractTests.cs: missing ConfigureAwait(false)
- src/Notify/__Tests/StellaOps.Notify.WebService.Tests/W1/NotifyWebServiceOTelTests.cs: async method naming
- src/Notify/__Tests/StellaOps.Notify.WebService.Tests/W1/NotifyWebServiceOTelTests.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: 7
- Files with issues: 7
- See docs/implplan/audits/csproj-standards/file-audit.csv for full per-file status.
| File | Issues | Fix guidance |
| --- | --- | --- |
| src/Notify/__Tests/StellaOps.Notify.WebService.Tests/CrudEndpointsTests.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/Notify/__Tests/StellaOps.Notify.WebService.Tests/InMemoryRepositories.cs | FileLength>100; UsingNotSorted | Sort using directives alphabetically.; Split file to stay <= 100 lines. |
| src/Notify/__Tests/StellaOps.Notify.WebService.Tests/NormalizeEndpointsTests.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/Notify/__Tests/StellaOps.Notify.WebService.Tests/NotifyTestServiceOverrides.cs | FileLength>100; UsingNotSorted | Sort using directives alphabetically.; Split file to stay <= 100 lines. |
| src/Notify/__Tests/StellaOps.Notify.WebService.Tests/W1/NotifyWebServiceAuthTests.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/Notify/__Tests/StellaOps.Notify.WebService.Tests/W1/NotifyWebServiceContractTests.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/Notify/__Tests/StellaOps.Notify.WebService.Tests/W1/NotifyWebServiceOTelTests.cs | AsyncNaming; ConfigureAwaitMissing; FileLength>100; UsingNotSorted | Add ConfigureAwait(false) to awaited calls in library-like code.; Rename async methods to end with Async.; Sort using directives alphabetically.; Split file to stay <= 100 lines. |
## Testing Fullness Findings
- Status: PASS
- Expected layers (heuristic):
- Detected test projects: none
- Missing layers: none
### Manual checks required
- Observability contract tests for WebService/Worker.
- Intent tags for regulatory modules (Policy, Authority, Signer, Attestor, EvidenceLocker).
- Offline execution (tests must run without network access).
- Coverage matrix alignment (docs/technical/testing/TEST_COVERAGE_MATRIX.md).
### Fix Guidance
- None.

View File

@@ -0,0 +1,97 @@
# Audit - StellaOps.Notify.Worker.Tests
## Project
- Path: src/Notify/__Tests/StellaOps.Notify.Worker.Tests/StellaOps.Notify.Worker.Tests.csproj
- Module: Notify
- Kind: Test
- 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: inherited false
- Deterministic: inherited true
- 100-line rule violations: 5
- Namespace violations: 0
- Using directive violations: 7
- Naming violations (interfaces/fields/const/async): 15
- Service locator usage (BuildServiceProvider/GetService): 0
- Assembly.LoadFrom usage: 0
### Details
- 100-line files:
- src/Notify/__Tests/StellaOps.Notify.Worker.Tests/NotifyEventLeaseProcessorTests.cs (171 lines)
- src/Notify/__Tests/StellaOps.Notify.Worker.Tests/WK1/NotifyWorkerEndToEndTests.cs (484 lines)
- src/Notify/__Tests/StellaOps.Notify.Worker.Tests/WK1/NotifyWorkerOTelCorrelationTests.cs (578 lines)
- src/Notify/__Tests/StellaOps.Notify.Worker.Tests/WK1/NotifyWorkerRateLimitTests.cs (633 lines)
- src/Notify/__Tests/StellaOps.Notify.Worker.Tests/WK1/NotifyWorkerRetryTests.cs (678 lines)
- Namespace issues:
- none
- Using directive issues:
- src/Notify/__Tests/StellaOps.Notify.Worker.Tests/NotifyEventLeaseProcessorTests.cs: using directives not sorted
- src/Notify/__Tests/StellaOps.Notify.Worker.Tests/WK1/NotifyWorkerEndToEndTests.cs: using directives inside namespace
- src/Notify/__Tests/StellaOps.Notify.Worker.Tests/WK1/NotifyWorkerEndToEndTests.cs: using directives not sorted
- src/Notify/__Tests/StellaOps.Notify.Worker.Tests/WK1/NotifyWorkerOTelCorrelationTests.cs: using directives inside namespace
- src/Notify/__Tests/StellaOps.Notify.Worker.Tests/WK1/NotifyWorkerOTelCorrelationTests.cs: using directives not sorted
- src/Notify/__Tests/StellaOps.Notify.Worker.Tests/WK1/NotifyWorkerRateLimitTests.cs: using directives not sorted
- src/Notify/__Tests/StellaOps.Notify.Worker.Tests/WK1/NotifyWorkerRetryTests.cs: using directives not sorted
- Naming issues:
- src/Notify/__Tests/StellaOps.Notify.Worker.Tests/WK1/NotifyWorkerEndToEndTests.cs: private field naming
- src/Notify/__Tests/StellaOps.Notify.Worker.Tests/WK1/NotifyWorkerOTelCorrelationTests.cs: private field naming
- src/Notify/__Tests/StellaOps.Notify.Worker.Tests/WK1/NotifyWorkerRateLimitTests.cs: private field naming
- src/Notify/__Tests/StellaOps.Notify.Worker.Tests/WK1/NotifyWorkerRetryTests.cs: private field naming
- Async issues:
- src/Notify/__Tests/StellaOps.Notify.Worker.Tests/NotifyEventLeaseProcessorTests.cs: async method naming
- src/Notify/__Tests/StellaOps.Notify.Worker.Tests/NotifyEventLeaseProcessorTests.cs: missing ConfigureAwait(false)
- src/Notify/__Tests/StellaOps.Notify.Worker.Tests/WK1/NotifyWorkerEndToEndTests.cs: async method naming
- src/Notify/__Tests/StellaOps.Notify.Worker.Tests/WK1/NotifyWorkerEndToEndTests.cs: missing ConfigureAwait(false)
- src/Notify/__Tests/StellaOps.Notify.Worker.Tests/WK1/NotifyWorkerOTelCorrelationTests.cs: async method naming
- src/Notify/__Tests/StellaOps.Notify.Worker.Tests/WK1/NotifyWorkerOTelCorrelationTests.cs: missing ConfigureAwait(false)
- src/Notify/__Tests/StellaOps.Notify.Worker.Tests/WK1/NotifyWorkerRateLimitTests.cs: async method naming
- src/Notify/__Tests/StellaOps.Notify.Worker.Tests/WK1/NotifyWorkerRateLimitTests.cs: blocking async usage
- src/Notify/__Tests/StellaOps.Notify.Worker.Tests/WK1/NotifyWorkerRateLimitTests.cs: missing ConfigureAwait(false)
- src/Notify/__Tests/StellaOps.Notify.Worker.Tests/WK1/NotifyWorkerRetryTests.cs: async method naming
- src/Notify/__Tests/StellaOps.Notify.Worker.Tests/WK1/NotifyWorkerRetryTests.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).
- 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: 5
- Files with issues: 5
- See docs/implplan/audits/csproj-standards/file-audit.csv for full per-file status.
| File | Issues | Fix guidance |
| --- | --- | --- |
| src/Notify/__Tests/StellaOps.Notify.Worker.Tests/NotifyEventLeaseProcessorTests.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/Notify/__Tests/StellaOps.Notify.Worker.Tests/WK1/NotifyWorkerEndToEndTests.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/Notify/__Tests/StellaOps.Notify.Worker.Tests/WK1/NotifyWorkerOTelCorrelationTests.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/Notify/__Tests/StellaOps.Notify.Worker.Tests/WK1/NotifyWorkerRateLimitTests.cs | AsyncNaming; BlockingAsync; ConfigureAwaitMissing; FileLength>100; PrivateFieldNaming; UsingNotSorted | Add ConfigureAwait(false) to awaited calls in library-like code.; Rename async methods to end with Async.; Rename private fields to _camelCase.; Replace .Result/.Wait/GetAwaiter().GetResult() with await.; Sort using directives alphabetically.; Split file to stay <= 100 lines. |
| src/Notify/__Tests/StellaOps.Notify.Worker.Tests/WK1/NotifyWorkerRetryTests.cs | AsyncNaming; ConfigureAwaitMissing; FileLength>100; PrivateFieldNaming; UsingNotSorted | Add ConfigureAwait(false) to awaited calls in library-like code.; Rename async methods to end with Async.; Rename private fields to _camelCase.; Sort using directives alphabetically.; Split file to stay <= 100 lines. |
## Testing Fullness Findings
- Status: PASS
- Expected layers (heuristic):
- Detected test projects: none
- Missing layers: none
### Manual checks required
- Observability contract tests for WebService/Worker.
- Intent tags for regulatory modules (Policy, Authority, Signer, Attestor, EvidenceLocker).
- Offline execution (tests must run without network access).
- Coverage matrix alignment (docs/technical/testing/TEST_COVERAGE_MATRIX.md).
### Fix Guidance
- None.