54da10dc00
Central flipped to SiteTransport=Grpc (both nodes, central-wide flag), sites kept on gRPC from Phase 2 → both directions on gRPC at once. Central logs 'central→site command transport: gRPC (SiteCommandService)'; 0 ClusterClient-to- site on either central. Command matrix over SiteCommandService (all 200): - ExecuteQuery (event-log) + ExecuteParked (parked) — all 3 sites - ExecuteLifecycle disable/enable #95 on site-a — NEW live coverage vs 1B/P2 (SoakNotify instances survived the recreate as Enabled) Resilience: - hard-kill the ACTIVE site-a node mid-query-loop → in-flight call returned TIMEOUT at exactly the 30s QueryTimeout deadline (bounded, no hang; deadline≠ retry — an in-flight call can't be safely re-sent) - next + all subsequent queries recovered automatically via site-a-b (SitePairChannelProvider NodeA→NodeB); site→central S&F never stopped (notif 619→715, still no dupes) - 0 PermissionDenied across all 8 nodes ExecuteOpcUa/ExecuteRoute/TriggerFailover deferred (no OPC-bound instance / no CLI verb; unit-proven). Rig left both-gRPC; git reverted to Akka default.