From ec82027bd2107964a0094c25718b35d0262a5c9c Mon Sep 17 00:00:00 2001 From: Joseph Doherty Date: Tue, 19 May 2026 12:09:01 -0400 Subject: [PATCH] docs(requirements): register Site Call Audit in the Host component matrix --- docs/requirements/Component-Host.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/docs/requirements/Component-Host.md b/docs/requirements/Component-Host.md index db96928..1196050 100644 --- a/docs/requirements/Component-Host.md +++ b/docs/requirements/Component-Host.md @@ -32,7 +32,7 @@ The same compiled binary must be deployable to both central and site nodes. The At startup the Host must inspect the configured node role and register only the component services appropriate for that role: - **Shared** (both Central and Site): ClusterInfrastructure, Communication, HealthMonitoring, ExternalSystemGateway. -- **Central only**: TemplateEngine, DeploymentManager, Security, AuditLogging, CentralUI, InboundAPI, ManagementService, NotificationService, NotificationOutbox. +- **Central only**: TemplateEngine, DeploymentManager, Security, AuditLogging, CentralUI, InboundAPI, ManagementService, NotificationService, NotificationOutbox, SiteCallAudit. - **Site only**: SiteRuntime, DataConnectionLayer, StoreAndForward, SiteEventLogging. Components not applicable to the current role must not be registered in the DI container or the Akka.NET actor system. @@ -62,6 +62,7 @@ The Host must bind configuration sections from `appsettings.json` to strongly-ty | `ScadaLink:InboundApi` | `InboundApiOptions` | Inbound API | DefaultMethodTimeout | | `ScadaLink:Notification` | `NotificationOptions` | Notification Service | (SMTP config is stored in the central config DB, not in appsettings) | | `ScadaLink:NotificationOutbox` | `NotificationOutboxOptions` | Notification Outbox | Dispatcher poll interval, stuck-age threshold, retention window (delivery retry settings reuse the central SMTP configuration) | +| `ScadaLink:SiteCallAudit` | `SiteCallAuditOptions` | Site Call Audit | Reconciliation pull interval, stuck-age threshold, retention window | | `ScadaLink:ManagementService` | `ManagementServiceOptions` | Management Service | (Reserved for future configuration) | | `ScadaLink:Logging` | `LoggingOptions` | Host | Serilog sink configuration, log level overrides | @@ -179,6 +180,7 @@ The Host's `Program.cs` calls these extension methods; the component libraries o | ExternalSystemGateway | Yes | Yes | Yes | Yes | No | | NotificationService | Yes | No | Yes | Yes | No | | NotificationOutbox | Yes | No | Yes | Yes | No | +| SiteCallAudit | Yes | No | Yes | Yes | No | | TemplateEngine | Yes | No | Yes | Yes | No | | DeploymentManager | Yes | No | Yes | Yes | No | | Security | Yes | No | Yes | Yes | No | @@ -195,7 +197,7 @@ The Host's `Program.cs` calls these extension methods; the component libraries o ## Dependencies -- **All 17 component libraries**: The Host references every component project to call their extension methods (excludes CLI, which is a separate executable). +- **All 18 component libraries**: The Host references every component project to call their extension methods (excludes CLI, which is a separate executable). - **Akka.Hosting**: For `AddAkka()` and the hosting configuration builder. - **Akka.Remote.Hosting, Akka.Cluster.Hosting**: For Akka subsystem configuration. (No Akka.Persistence plugin — see the Persistence note under REQ-HOST-6.) - **Serilog.AspNetCore**: For structured logging integration.