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,83 @@
# Audit - StellaOps.Notifier.WebService
## Project
- Path: `src/Notifier/StellaOps.Notifier/StellaOps.Notifier.WebService/StellaOps.Notifier.WebService.csproj`
- Module: `Notifier`
- Kind: `WebService`
- SDK: `Microsoft.NET.Sdk.Web`
- TargetFramework: `net10.0`
- Audit date (UTC): 2026-01-30
## Coding Standards Findings
- Status: FAIL
- Nullable: enable
- TreatWarningsAsErrors: explicit true
- Deterministic: inherited true
- 100-line rule violations: 32
- Service locator usage (BuildServiceProvider/GetService): 9
- Analyzer enforcement: missing repo-wide (see summary).
### Details
- 100-line files:
- `src/Notifier/StellaOps.Notifier/StellaOps.Notifier.WebService/Program.cs` (3218 lines)
- `src/Notifier/StellaOps.Notifier/StellaOps.Notifier.WebService/Endpoints/EscalationEndpoints.cs` (797 lines)
- `src/Notifier/StellaOps.Notifier/StellaOps.Notifier.WebService/Endpoints/NotifyApiEndpoints.cs` (719 lines)
- `src/Notifier/StellaOps.Notifier/StellaOps.Notifier.WebService/Endpoints/ObservabilityEndpoints.cs` (544 lines)
- `src/Notifier/StellaOps.Notifier/StellaOps.Notifier.WebService/Endpoints/TemplateEndpoints.cs` (418 lines)
- `src/Notifier/StellaOps.Notifier/StellaOps.Notifier.WebService/Endpoints/RuleEndpoints.cs` (406 lines)
- `src/Notifier/StellaOps.Notifier/StellaOps.Notifier.WebService/Endpoints/SimulationEndpoints.cs` (382 lines)
- `src/Notifier/StellaOps.Notifier/StellaOps.Notifier.WebService/Endpoints/QuietHoursEndpoints.cs` (352 lines)
- `src/Notifier/StellaOps.Notifier/StellaOps.Notifier.WebService/Services/AdvancedTemplateRenderer.cs` (348 lines)
- `src/Notifier/StellaOps.Notifier/StellaOps.Notifier.WebService/Endpoints/SecurityEndpoints.cs` (333 lines)
- `src/Notifier/StellaOps.Notifier/StellaOps.Notifier.WebService/Endpoints/IncidentLiveFeed.cs` (316 lines)
- `src/Notifier/StellaOps.Notifier/StellaOps.Notifier.WebService/Endpoints/IncidentEndpoints.cs` (315 lines)
- `src/Notifier/StellaOps.Notifier/StellaOps.Notifier.WebService/Endpoints/OperatorOverrideEndpoints.cs` (313 lines)
- `src/Notifier/StellaOps.Notifier/StellaOps.Notifier.WebService/Endpoints/LocalizationEndpoints.cs` (306 lines)
- `src/Notifier/StellaOps.Notifier/StellaOps.Notifier.WebService/Contracts/SecurityContracts.cs` (305 lines)
- `src/Notifier/StellaOps.Notifier/StellaOps.Notifier.WebService/Services/NotifyTemplateService.cs` (273 lines)
- `src/Notifier/StellaOps.Notifier/StellaOps.Notifier.WebService/Setup/RiskTemplateSeeder.cs` (258 lines)
- `src/Notifier/StellaOps.Notifier/StellaOps.Notifier.WebService/Setup/AttestationTemplateSeeder.cs` (256 lines)
- `src/Notifier/StellaOps.Notifier/StellaOps.Notifier.WebService/Setup/PackApprovalTemplateSeeder.cs` (230 lines)
- `src/Notifier/StellaOps.Notifier/StellaOps.Notifier.WebService/Endpoints/ThrottleEndpoints.cs` (228 lines)
- `src/Notifier/StellaOps.Notifier/StellaOps.Notifier.WebService/Services/DefaultLocalizationResolver.cs` (201 lines)
- `src/Notifier/StellaOps.Notifier/StellaOps.Notifier.WebService/Endpoints/FallbackEndpoints.cs` (194 lines)
- `src/Notifier/StellaOps.Notifier/StellaOps.Notifier.WebService/Storage/Compat/OnCallScheduleCompat.cs` (166 lines)
- `src/Notifier/StellaOps.Notifier/StellaOps.Notifier.WebService/Contracts/TemplateContracts.cs` (149 lines)
- `src/Notifier/StellaOps.Notifier/StellaOps.Notifier.WebService/Contracts/EscalationContracts.cs` (149 lines)
- `src/Notifier/StellaOps.Notifier/StellaOps.Notifier.WebService/Contracts/RetentionContracts.cs` (143 lines)
- `src/Notifier/StellaOps.Notifier/StellaOps.Notifier.WebService/Contracts/DeadLetterContracts.cs` (137 lines)
- `src/Notifier/StellaOps.Notifier/StellaOps.Notifier.WebService/Contracts/RuleContracts.cs` (128 lines)
- `src/Notifier/StellaOps.Notifier/StellaOps.Notifier.WebService/Endpoints/StormBreakerEndpoints.cs` (121 lines)
- `src/Notifier/StellaOps.Notifier/StellaOps.Notifier.WebService/Contracts/IncidentContracts.cs` (121 lines)
- `src/Notifier/StellaOps.Notifier/StellaOps.Notifier.WebService/Contracts/DeliveryContracts.cs` (109 lines)
- `src/Notifier/StellaOps.Notifier/StellaOps.Notifier.WebService/Services/INotifyTemplateService.cs` (102 lines)
- Service locator matches:
- `src/Notifier/StellaOps.Notifier/StellaOps.Notifier.WebService/Setup/AttestationTemplateSeeder.cs`:32 var templateRepo = scope.ServiceProvider.GetService<INotifyTemplateRepository>();
- `src/Notifier/StellaOps.Notifier/StellaOps.Notifier.WebService/Setup/AttestationTemplateSeeder.cs`:33 var channelRepo = scope.ServiceProvider.GetService<INotifyChannelRepository>();
- `src/Notifier/StellaOps.Notifier/StellaOps.Notifier.WebService/Setup/AttestationTemplateSeeder.cs`:34 var ruleRepo = scope.ServiceProvider.GetService<INotifyRuleRepository>();
- `src/Notifier/StellaOps.Notifier/StellaOps.Notifier.WebService/Setup/RiskTemplateSeeder.cs`:32 var templateRepo = scope.ServiceProvider.GetService<INotifyTemplateRepository>();
- `src/Notifier/StellaOps.Notifier/StellaOps.Notifier.WebService/Setup/RiskTemplateSeeder.cs`:33 var channelRepo = scope.ServiceProvider.GetService<INotifyChannelRepository>();
- `src/Notifier/StellaOps.Notifier/StellaOps.Notifier.WebService/Setup/RiskTemplateSeeder.cs`:34 var ruleRepo = scope.ServiceProvider.GetService<INotifyRuleRepository>();
- `src/Notifier/StellaOps.Notifier/StellaOps.Notifier.WebService/Setup/PackApprovalTemplateSeeder.cs`:32 var templateRepo = scope.ServiceProvider.GetService<INotifyTemplateRepository>();
- `src/Notifier/StellaOps.Notifier/StellaOps.Notifier.WebService/Setup/PackApprovalTemplateSeeder.cs`:33 var channelRepo = scope.ServiceProvider.GetService<INotifyChannelRepository>();
- `src/Notifier/StellaOps.Notifier/StellaOps.Notifier.WebService/Setup/PackApprovalTemplateSeeder.cs`:34 var ruleRepo = scope.ServiceProvider.GetService<INotifyRuleRepository>();
### Fix Guidance
- Split files over 100 lines into smaller types or partials.
- Replace service locator usage with constructor injection.
## Testing Fullness Findings
- Status: FAIL
- Expected layers: Unit, Integration, Security, Offline
- Detected test projects: none
- Missing layers: Unit, Integration, Security, Offline
### Manual checks required
- Observability contract tests for WebService/Worker.
- Offline execution (tests must run without network access).
### Fix Guidance
- Add a unit test project named `<Project>.Tests` (or document exception).
- Add integration tests for cross-component flows.
- Add security tests for authn/authz or input validation.
- Add offline/airgap coverage with fixtures only.

View File

@@ -0,0 +1,134 @@
# Audit - StellaOps.Notifier.Worker
## Project
- Path: `src/Notifier/StellaOps.Notifier/StellaOps.Notifier.Worker/StellaOps.Notifier.Worker.csproj`
- Module: `Notifier`
- Kind: `WebService`
- SDK: `Microsoft.NET.Sdk.Web`
- TargetFramework: `net10.0`
- Audit date (UTC): 2026-01-30
## Coding Standards Findings
- Status: FAIL
- Nullable: enable
- TreatWarningsAsErrors: explicit true
- Deterministic: inherited true
- 100-line rule violations: 87
- Service locator usage (BuildServiceProvider/GetService): 5
- Analyzer enforcement: missing repo-wide (see summary).
### Details
- 100-line files:
- `src/Notifier/StellaOps.Notifier/StellaOps.Notifier.Worker/Observability/IChaosTestRunner.cs` (1121 lines)
- `src/Notifier/StellaOps.Notifier/StellaOps.Notifier.Worker/Security/ITenantIsolationValidator.cs` (1121 lines)
- `src/Notifier/StellaOps.Notifier/StellaOps.Notifier.Worker/Security/IHtmlSanitizer.cs` (886 lines)
- `src/Notifier/StellaOps.Notifier/StellaOps.Notifier.Worker/Localization/ILocalizationService.cs` (806 lines)
- `src/Notifier/StellaOps.Notifier/StellaOps.Notifier.Worker/Observability/INotifierMetrics.cs` (802 lines)
- `src/Notifier/StellaOps.Notifier/StellaOps.Notifier.Worker/Security/IWebhookSecurityService.cs` (797 lines)
- `src/Notifier/StellaOps.Notifier/StellaOps.Notifier.Worker/Storage/InMemoryNotifyRepositories.cs` (762 lines)
- `src/Notifier/StellaOps.Notifier/StellaOps.Notifier.Worker/StormBreaker/IStormBreaker.cs` (651 lines)
- `src/Notifier/StellaOps.Notifier/StellaOps.Notifier.Worker/Escalation/InboxChannelAdapters.cs` (647 lines)
- `src/Notifier/StellaOps.Notifier/StellaOps.Notifier.Worker/Simulation/DefaultNotifySimulationEngine.cs` (626 lines)
- `src/Notifier/StellaOps.Notifier/StellaOps.Notifier.Worker/Escalation/EscalationEngine.cs` (623 lines)
- `src/Notifier/StellaOps.Notifier/StellaOps.Notifier.Worker/Fallback/IFallbackHandler.cs` (614 lines)
- `src/Notifier/StellaOps.Notifier/StellaOps.Notifier.Worker/Channels/OpsGenieChannelAdapter.cs` (576 lines)
- `src/Notifier/StellaOps.Notifier/StellaOps.Notifier.Worker/Templates/EnhancedTemplateRenderer.cs` (571 lines)
- `src/Notifier/StellaOps.Notifier/StellaOps.Notifier.Worker/Security/ISigningService.cs` (569 lines)
- `src/Notifier/StellaOps.Notifier/StellaOps.Notifier.Worker/Simulation/SimulationEngine.cs` (536 lines)
- `src/Notifier/StellaOps.Notifier/StellaOps.Notifier.Worker/Channels/PagerDutyChannelAdapter.cs` (532 lines)
- `src/Notifier/StellaOps.Notifier/StellaOps.Notifier.Worker/Digest/DigestScheduleRunner.cs` (493 lines)
- `src/Notifier/StellaOps.Notifier/StellaOps.Notifier.Worker/Escalation/ExternalIntegrationAdapters.cs` (491 lines)
- `src/Notifier/StellaOps.Notifier/StellaOps.Notifier.Worker/Channels/InAppChannelAdapter.cs` (484 lines)
- `src/Notifier/StellaOps.Notifier/StellaOps.Notifier.Worker/Tenancy/ITenantChannelResolver.cs` (482 lines)
- `src/Notifier/StellaOps.Notifier/StellaOps.Notifier.Worker/Observability/IChaosEngine.cs` (473 lines)
- `src/Notifier/StellaOps.Notifier/StellaOps.Notifier.Worker/Digest/DigestGenerator.cs` (473 lines)
- `src/Notifier/StellaOps.Notifier/StellaOps.Notifier.Worker/Correlation/QuietHoursCalendarService.cs` (456 lines)
- `src/Notifier/StellaOps.Notifier/StellaOps.Notifier.Worker/Tenancy/ITenantRlsEnforcer.cs` (456 lines)
- `src/Notifier/StellaOps.Notifier/StellaOps.Notifier.Worker/Escalation/OnCallScheduleService.cs` (433 lines)
- `src/Notifier/StellaOps.Notifier/StellaOps.Notifier.Worker/Channels/ChatWebhookChannelAdapter.cs` (410 lines)
- `src/Notifier/StellaOps.Notifier/StellaOps.Notifier.Worker/Observability/INotifierTracing.cs` (395 lines)
- `src/Notifier/StellaOps.Notifier/StellaOps.Notifier.Worker/Templates/NotifyTemplateService.cs` (386 lines)
- `src/Notifier/StellaOps.Notifier/StellaOps.Notifier.Worker/Correlation/QuietHourCalendarService.cs` (384 lines)
- `src/Notifier/StellaOps.Notifier/StellaOps.Notifier.Worker/Correlation/OperatorOverrideService.cs` (383 lines)
- `src/Notifier/StellaOps.Notifier/StellaOps.Notifier.Worker/Channels/EmailChannelAdapter.cs` (382 lines)
- `src/Notifier/StellaOps.Notifier/StellaOps.Notifier.Worker/Simulation/ISimulationEngine.cs` (375 lines)
- `src/Notifier/StellaOps.Notifier/StellaOps.Notifier.Worker/Correlation/CorrelationEngine.cs` (368 lines)
- `src/Notifier/StellaOps.Notifier/StellaOps.Notifier.Worker/Escalation/IOnCallScheduleService.cs` (359 lines)
- `src/Notifier/StellaOps.Notifier/StellaOps.Notifier.Worker/Channels/WebhookChannelAdapter.cs` (357 lines)
- `src/Notifier/StellaOps.Notifier/StellaOps.Notifier.Worker/Digest/DigestScheduler.cs` (354 lines)
- `src/Notifier/StellaOps.Notifier/StellaOps.Notifier.Worker/Observability/IDeadLetterHandler.cs` (351 lines)
- `src/Notifier/StellaOps.Notifier/StellaOps.Notifier.Worker/Escalation/IEscalationEngine.cs` (345 lines)
- `src/Notifier/StellaOps.Notifier/StellaOps.Notifier.Worker/Correlation/QuietHoursEvaluator.cs` (344 lines)
- `src/Notifier/StellaOps.Notifier/StellaOps.Notifier.Worker/Digest/IDigestGenerator.cs` (339 lines)
- `src/Notifier/StellaOps.Notifier/StellaOps.Notifier.Worker/Processing/NotifierEventProcessor.cs` (334 lines)
- `src/Notifier/StellaOps.Notifier/StellaOps.Notifier.Worker/Correlation/ThrottleConfigService.cs` (326 lines)
- `src/Notifier/StellaOps.Notifier/StellaOps.Notifier.Worker/Correlation/IncidentManager.cs` (320 lines)
- `src/Notifier/StellaOps.Notifier/StellaOps.Notifier.Worker/Tenancy/ITenantNotificationEnricher.cs` (301 lines)
- `src/Notifier/StellaOps.Notifier/StellaOps.Notifier.Worker/Processing/DefaultNotifyRuleEvaluator.cs` (300 lines)
- `src/Notifier/StellaOps.Notifier/StellaOps.Notifier.Worker/Retention/DefaultRetentionPolicyService.cs` (299 lines)
- `src/Notifier/StellaOps.Notifier/StellaOps.Notifier.Worker/Processing/NotifierDispatchWorker.cs` (296 lines)
- `src/Notifier/StellaOps.Notifier/StellaOps.Notifier.Worker/Dispatch/DeliveryDispatchWorker.cs` (295 lines)
- `src/Notifier/StellaOps.Notifier/StellaOps.Notifier.Worker/DeadLetter/InMemoryDeadLetterService.cs` (294 lines)
- `src/Notifier/StellaOps.Notifier/StellaOps.Notifier.Worker/Escalation/AckBridge.cs` (287 lines)
- `src/Notifier/StellaOps.Notifier/StellaOps.Notifier.Worker/Security/HmacAckTokenService.cs` (283 lines)
- `src/Notifier/StellaOps.Notifier/StellaOps.Notifier.Worker/Correlation/IQuietHourCalendar.cs` (275 lines)
- `src/Notifier/StellaOps.Notifier/StellaOps.Notifier.Worker/Tenancy/ITenantContext.cs` (272 lines)
- `src/Notifier/StellaOps.Notifier/StellaOps.Notifier.Worker/Tenancy/TenantMiddleware.cs` (261 lines)
- `src/Notifier/StellaOps.Notifier/StellaOps.Notifier.Worker/Correlation/IOperatorOverrideService.cs` (259 lines)
- `src/Notifier/StellaOps.Notifier/StellaOps.Notifier.Worker/Escalation/IEscalationPolicyService.cs` (249 lines)
- `src/Notifier/StellaOps.Notifier/StellaOps.Notifier.Worker/Correlation/ICorrelationKeyBuilder.cs` (245 lines)
- `src/Notifier/StellaOps.Notifier/StellaOps.Notifier.Worker/Observability/ObservabilityServiceExtensions.cs` (243 lines)
- `src/Notifier/StellaOps.Notifier/StellaOps.Notifier.Worker/Correlation/ThrottleConfigurationService.cs` (240 lines)
- `src/Notifier/StellaOps.Notifier/StellaOps.Notifier.Worker/Observability/DefaultNotifyMetrics.cs` (233 lines)
- `src/Notifier/StellaOps.Notifier/StellaOps.Notifier.Worker/Correlation/IThrottleConfigService.cs` (226 lines)
- `src/Notifier/StellaOps.Notifier/StellaOps.Notifier.Worker/Correlation/CorrelationServiceExtensions.cs` (223 lines)
- `src/Notifier/StellaOps.Notifier/StellaOps.Notifier.Worker/Escalation/IAckBridge.cs` (206 lines)
- `src/Notifier/StellaOps.Notifier/StellaOps.Notifier.Worker/Dispatch/SimpleTemplateRenderer.cs` (201 lines)
- `src/Notifier/StellaOps.Notifier/StellaOps.Notifier.Worker/Escalation/EscalationPolicyService.cs` (199 lines)
- `src/Notifier/StellaOps.Notifier/StellaOps.Notifier.Worker/Dispatch/WebhookChannelDispatcher.cs` (199 lines)
- `src/Notifier/StellaOps.Notifier/StellaOps.Notifier.Worker/Channels/IChannelAdapter.cs` (197 lines)
- `src/Notifier/StellaOps.Notifier/StellaOps.Notifier.Worker/Channels/CliChannelAdapter.cs` (191 lines)
- `src/Notifier/StellaOps.Notifier/StellaOps.Notifier.Worker/Retention/IRetentionPolicyService.cs` (186 lines)
- `src/Notifier/StellaOps.Notifier/StellaOps.Notifier.Worker/DeadLetter/IDeadLetterService.cs` (185 lines)
- `src/Notifier/StellaOps.Notifier/StellaOps.Notifier.Worker/Tenancy/TenancyServiceExtensions.cs` (177 lines)
- `src/Notifier/StellaOps.Notifier/StellaOps.Notifier.Worker/Correlation/ISuppressionAuditLogger.cs` (173 lines)
- `src/Notifier/StellaOps.Notifier/StellaOps.Notifier.Worker/Templates/INotifyTemplateService.cs` (167 lines)
- `src/Notifier/StellaOps.Notifier/StellaOps.Notifier.Worker/Correlation/ICorrelationEngine.cs` (162 lines)
- `src/Notifier/StellaOps.Notifier/StellaOps.Notifier.Worker/Channels/InAppInboxChannelAdapter.cs` (156 lines)
- `src/Notifier/StellaOps.Notifier/StellaOps.Notifier.Worker/Simulation/NotifySimulation.cs` (156 lines)
- `src/Notifier/StellaOps.Notifier/StellaOps.Notifier.Worker/Digest/DigestServiceExtensions.cs` (155 lines)
- `src/Notifier/StellaOps.Notifier/StellaOps.Notifier.Worker/Correlation/NotifyThrottler.cs` (151 lines)
- `src/Notifier/StellaOps.Notifier/StellaOps.Notifier.Worker/StormBreaker/StormBreakerServiceExtensions.cs` (150 lines)
- `src/Notifier/StellaOps.Notifier/StellaOps.Notifier.Worker/Security/IAckTokenService.cs` (141 lines)
- `src/Notifier/StellaOps.Notifier/StellaOps.Notifier.Worker/Channels/ChannelAdapterFactory.cs` (138 lines)
- `src/Notifier/StellaOps.Notifier/StellaOps.Notifier.Worker/Security/SecurityServiceExtensions.cs` (130 lines)
- `src/Notifier/StellaOps.Notifier/StellaOps.Notifier.Worker/Correlation/DefaultCorrelationKeyEvaluator.cs` (125 lines)
- `src/Notifier/StellaOps.Notifier/StellaOps.Notifier.Worker/Processing/NotifierEventWorker.cs` (120 lines)
- `src/Notifier/StellaOps.Notifier/StellaOps.Notifier.Worker/Correlation/SuppressionAuditLogger.cs` (119 lines)
- `src/Notifier/StellaOps.Notifier/StellaOps.Notifier.Worker/Channels/SlackChannelAdapter.cs` (107 lines)
- Service locator matches:
- `src/Notifier/StellaOps.Notifier/StellaOps.Notifier.Worker/Dispatch/DeliveryDispatchWorker.cs`:65 var deliveryRepository = scope.ServiceProvider.GetService<INotifyDeliveryRepository>();
- `src/Notifier/StellaOps.Notifier/StellaOps.Notifier.Worker/Dispatch/DeliveryDispatchWorker.cs`:66 var templateRepository = scope.ServiceProvider.GetService<INotifyTemplateRepository>();
- `src/Notifier/StellaOps.Notifier/StellaOps.Notifier.Worker/Dispatch/DeliveryDispatchWorker.cs`:67 var channelRepository = scope.ServiceProvider.GetService<INotifyChannelRepository>();
- `src/Notifier/StellaOps.Notifier/StellaOps.Notifier.Worker/Dispatch/DeliveryDispatchWorker.cs`:68 var renderer = scope.ServiceProvider.GetService<INotifyTemplateRenderer>();
- `src/Notifier/StellaOps.Notifier/StellaOps.Notifier.Worker/Dispatch/DeliveryDispatchWorker.cs`:69 var dispatchers = scope.ServiceProvider.GetServices<INotifyChannelDispatcher>().ToArray();
### Fix Guidance
- Split files over 100 lines into smaller types or partials.
- Replace service locator usage with constructor injection.
## Testing Fullness Findings
- Status: FAIL
- Expected layers: Unit, Integration, Security, Offline
- Detected test projects: none
- Missing layers: Unit, Integration, Security, Offline
### Manual checks required
- Observability contract tests for WebService/Worker.
- Offline execution (tests must run without network access).
### Fix Guidance
- Add a unit test project named `<Project>.Tests` (or document exception).
- Add integration tests for cross-component flows.
- Add security tests for authn/authz or input validation.
- Add offline/airgap coverage with fixtures only.