feat(health): surface pending-updates counts on the Health dashboard and CLI (ScadaBridge#63)

Health page gains PendingUpdatesHealthTiles (stale instances / sites with stale
artifacts, Deployer+Administrator only, site-scope narrowed, shared cache). New
GetPendingUpdates management command (Deployer) and 'health pending-updates' CLI
leaf. Flatten/cache computation untouched; the command reads
IPendingUpdatesEvaluator directly because the UI cache is not reachable from
ManagementService.

Claude-Session: https://claude.ai/code/session_01GT67AEHd2Acv1YPwGfXEoV
This commit is contained in:
Joseph Doherty
2026-11-09 13:18:54 -05:00
parent 004bf3cf06
commit d50433410d
15 changed files with 447 additions and 2 deletions
@@ -2,3 +2,10 @@ namespace ZB.MOM.WW.ScadaBridge.Commons.Messages.Management;
public record GetHealthSummaryCommand;
public record GetSiteHealthCommand(string SiteIdentifier);
/// <summary>
/// Fleet-wide "is anything waiting to be deployed?" read (Gitea #63): stale-instance and
/// stale-artifact-site counts plus a per-site breakdown. Deployer-gated and narrowed to a
/// site-scoped caller's permitted sites, like the Central UI rail indicator.
/// </summary>
public record GetPendingUpdatesCommand;