From c4186509f627d7a8a897d8fa5881aa79f66783af Mon Sep 17 00:00:00 2001 From: Joseph Doherty Date: Mon, 9 Nov 2026 13:11:22 -0500 Subject: [PATCH] refactor(health): move ISiteHealthCollector to Commons; Communication drops HealthMonitoring reference (ScadaBridge#87) Interface now lives in Commons.Interfaces.Services; AuditLog no longer gets it transitively through Communication. Implementation stays in HealthMonitoring. Claude-Session: https://claude.ai/code/session_01GT67AEHd2Acv1YPwGfXEoV --- .../Site/HealthMetricsAuditRedactionFailureCounter.cs | 2 +- .../Site/HealthMetricsAuditWriteFailureCounter.cs | 2 +- .../Site/SiteAuditBacklogReporter.cs | 1 - .../Interfaces/Services}/ISiteHealthCollector.cs | 2 +- .../ZB.MOM.WW.ScadaBridge.Communication.csproj | 1 - .../Actors/DataConnectionActor.cs | 1 + .../Actors/DataConnectionManagerActor.cs | 1 + .../HealthReportSender.cs | 1 + .../LocalDbReplicationStatusReporter.cs | 1 + .../SiteEventLogFailureCountReporter.cs | 1 + .../SiteHealthCollector.cs | 1 + .../Actors/AkkaHostedService.cs | 9 +++++---- .../Actors/DeadLetterMonitorActor.cs | 1 + .../Actors/AlarmActor.cs | 1 + .../Actors/DeploymentManagerActor.cs | 1 + .../Actors/InstanceActor.cs | 1 + .../Actors/ScriptActor.cs | 1 + .../Scripts/ScriptSchedulerStatsReporter.cs | 1 + .../Secrets/SecretMirrorStatusReporter.cs | 1 + .../ServiceCollectionExtensions.cs | 7 ++++--- .../SiteRuntimeOptions.cs | 1 + .../Streaming/SiteStreamAlarmDropReporter.cs | 1 + .../HealthMetricsAuditRedactionFailureCounterTests.cs | 1 + .../Site/HealthMetricsAuditWriteFailureCounterTests.cs | 1 + .../Actors/ConnectionActorNameTests.cs | 1 + .../Actors/DataConnectionActorBatchTests.cs | 1 + .../Actors/DataConnectionDisconnectRaceTests.cs | 1 + .../Actors/DataConnectionHousekeepingTests.cs | 1 + .../Actors/DataConnectionManagerBrowseHandlerTests.cs | 1 + .../DataConnectionManagerReadTagValuesHandlerTests.cs | 1 + .../Actors/DataConnectionManagerSearchHandlerTests.cs | 1 + .../DataConnectionOpcUaFaultClassificationTests.cs | 1 + .../Actors/DataConnectionProbeSeedTests.cs | 1 + .../Actors/DataConnectionReconfigureTests.cs | 1 + .../Actors/DataConnectionSameAdapterReconnectTests.cs | 1 + .../Actors/DataConnectionStaleCompletionTests.cs | 1 + .../Actors/DataConnectionStaleConnectResultTests.cs | 1 + .../Actors/HighReviewRegressionTests.cs | 1 + .../DataConnectionActorAlarmIndexTests.cs | 1 + .../DataConnectionActorAlarmTests.cs | 1 + .../DataConnectionActorTests.cs | 1 + .../DataConnectionManagerActorTests.cs | 1 + .../SiteAuditBacklogMetricTests.cs | 1 + .../SiteEventLogFailureCountReporterTests.cs | 1 + .../SiteEventLogWriteFailuresMetricTests.cs | 1 + .../SiteLocalDbWiringTests.cs | 1 + .../UnreplicatedSiteLocalDbHealthTests.cs | 1 + .../Actors/AlarmScriptWatchdogTests.cs | 1 + .../Actors/DeploymentManagerRedeployTests.cs | 1 + .../Actors/DeploymentWarmThenGateTests.cs | 1 + .../Actors/ReconcileStartsInstanceTests.cs | 1 + .../Actors/ScriptRunLauncherParityTests.cs | 1 + .../Scripts/ScriptSchedulerStatsReporterTests.cs | 1 + .../Streaming/SiteStreamAlarmDropReporterTests.cs | 1 + .../TestSupport/DeploymentManagerStartupProbe.cs | 1 + 55 files changed, 60 insertions(+), 12 deletions(-) rename src/{ZB.MOM.WW.ScadaBridge.HealthMonitoring => ZB.MOM.WW.ScadaBridge.Commons/Interfaces/Services}/ISiteHealthCollector.cs (99%) diff --git a/src/ZB.MOM.WW.ScadaBridge.AuditLog/Site/HealthMetricsAuditRedactionFailureCounter.cs b/src/ZB.MOM.WW.ScadaBridge.AuditLog/Site/HealthMetricsAuditRedactionFailureCounter.cs index 9796690b..d5a0b999 100644 --- a/src/ZB.MOM.WW.ScadaBridge.AuditLog/Site/HealthMetricsAuditRedactionFailureCounter.cs +++ b/src/ZB.MOM.WW.ScadaBridge.AuditLog/Site/HealthMetricsAuditRedactionFailureCounter.cs @@ -1,5 +1,5 @@ +using ZB.MOM.WW.ScadaBridge.Commons.Interfaces.Services; using ZB.MOM.WW.ScadaBridge.AuditLog.Payload; -using ZB.MOM.WW.ScadaBridge.HealthMonitoring; namespace ZB.MOM.WW.ScadaBridge.AuditLog.Site; diff --git a/src/ZB.MOM.WW.ScadaBridge.AuditLog/Site/HealthMetricsAuditWriteFailureCounter.cs b/src/ZB.MOM.WW.ScadaBridge.AuditLog/Site/HealthMetricsAuditWriteFailureCounter.cs index 0062f06e..2afd8814 100644 --- a/src/ZB.MOM.WW.ScadaBridge.AuditLog/Site/HealthMetricsAuditWriteFailureCounter.cs +++ b/src/ZB.MOM.WW.ScadaBridge.AuditLog/Site/HealthMetricsAuditWriteFailureCounter.cs @@ -1,4 +1,4 @@ -using ZB.MOM.WW.ScadaBridge.HealthMonitoring; +using ZB.MOM.WW.ScadaBridge.Commons.Interfaces.Services; namespace ZB.MOM.WW.ScadaBridge.AuditLog.Site; diff --git a/src/ZB.MOM.WW.ScadaBridge.AuditLog/Site/SiteAuditBacklogReporter.cs b/src/ZB.MOM.WW.ScadaBridge.AuditLog/Site/SiteAuditBacklogReporter.cs index 9350e1b1..f0effd78 100644 --- a/src/ZB.MOM.WW.ScadaBridge.AuditLog/Site/SiteAuditBacklogReporter.cs +++ b/src/ZB.MOM.WW.ScadaBridge.AuditLog/Site/SiteAuditBacklogReporter.cs @@ -2,7 +2,6 @@ using Microsoft.Extensions.Hosting; using Microsoft.Extensions.Logging; using Microsoft.Extensions.Options; using ZB.MOM.WW.ScadaBridge.Commons.Interfaces.Services; -using ZB.MOM.WW.ScadaBridge.HealthMonitoring; namespace ZB.MOM.WW.ScadaBridge.AuditLog.Site; diff --git a/src/ZB.MOM.WW.ScadaBridge.HealthMonitoring/ISiteHealthCollector.cs b/src/ZB.MOM.WW.ScadaBridge.Commons/Interfaces/Services/ISiteHealthCollector.cs similarity index 99% rename from src/ZB.MOM.WW.ScadaBridge.HealthMonitoring/ISiteHealthCollector.cs rename to src/ZB.MOM.WW.ScadaBridge.Commons/Interfaces/Services/ISiteHealthCollector.cs index ed6d5d0a..b6718d87 100644 --- a/src/ZB.MOM.WW.ScadaBridge.HealthMonitoring/ISiteHealthCollector.cs +++ b/src/ZB.MOM.WW.ScadaBridge.Commons/Interfaces/Services/ISiteHealthCollector.cs @@ -2,7 +2,7 @@ using ZB.MOM.WW.ScadaBridge.Commons.Messages.Health; using ZB.MOM.WW.ScadaBridge.Commons.Types; using ZB.MOM.WW.ScadaBridge.Commons.Types.Enums; -namespace ZB.MOM.WW.ScadaBridge.HealthMonitoring; +namespace ZB.MOM.WW.ScadaBridge.Commons.Interfaces.Services; /// /// Interface for site-side health metric collection. diff --git a/src/ZB.MOM.WW.ScadaBridge.Communication/ZB.MOM.WW.ScadaBridge.Communication.csproj b/src/ZB.MOM.WW.ScadaBridge.Communication/ZB.MOM.WW.ScadaBridge.Communication.csproj index 329f237f..75aa2e4d 100644 --- a/src/ZB.MOM.WW.ScadaBridge.Communication/ZB.MOM.WW.ScadaBridge.Communication.csproj +++ b/src/ZB.MOM.WW.ScadaBridge.Communication/ZB.MOM.WW.ScadaBridge.Communication.csproj @@ -39,7 +39,6 @@ -