docs(#420): final reconciliation — alarms-over-gateway feature complete; C.1 superseded
#420 (filed 2026-05-01 as '4 inert scaffolds + D.1 smoke') is stale. Current master + the mxaccessgw sibling repo show the feature landed on both sides: - mxaccessgw A.2/A.4: native alarms served via the wnwrap consumer (WnWrapAlarmConsumer over WNWRAPCONSUMERLib.wwAlarmConsumerClass) + FailoverAlarmConsumer + AlarmDispatcher; StreamAlarms active-alarm snapshot (20 alarms verified live). The WM_APP-pump premise this issue was written against was ruled out by the 2026-05-01 probes; the design pivoted to wnwrap. - mxaccessgw A.3: NotWiredAlarmRpcDispatcher gone (only in generated proto); ack routes MxGatewayClient.AcknowledgeAlarmAsync -> AlarmClient.AlarmAckByGUID. - lmxopcua: GalaxyDriver : IAlarmSource wires GatewayGalaxyAlarmFeed (-> OnAlarmEvent, native metadata incl. operator-comment) + inbound ack via GatewayGalaxyAlarmAcknowledger; native feed live-proven by GatewayGalaxyAlarmFeedLiveTests. - C.1 (SdkAlarmHistorianWriteBackend / aahClientManaged): SUPERSEDED. The whole Wonderware sidecar was retired; alarm-history writes cut over to the HistorianGateway (GatewayAlarmHistorianWriter, SendEvent path), live-verified 2026-07-15 (R2-06/R2-08, 6/6). The target no longer exists in the tree. Updated the alarms-over-gateway.md banner (final reconciliation) + the alarms-d1-smoke-artifact.md status note. Sole residual = a Windows-parity-rig running-server OPC UA A&C round-trip (needs live Galaxy + human IDE).
This commit is contained in:
@@ -1,7 +1,16 @@
|
||||
# Alarms D.1 — smoke artifact
|
||||
|
||||
> **Status (2026-05-29): alarm-source leg VERIFIED. Historian-write leg still
|
||||
> pending the Windows sidecar + live AVEVA Historian.**
|
||||
> **Status (2026-05-29): alarm-source leg VERIFIED.** ~~Historian-write leg still
|
||||
> pending the Windows sidecar + live AVEVA Historian.~~
|
||||
>
|
||||
> ✅ **UPDATE 2026-07-15 (Gitea #420): the historian-write leg is no longer a
|
||||
> Wonderware-sidecar concern — it was cut over to the HistorianGateway.** Alarm
|
||||
> events now write through `GatewayAlarmHistorianWriter` (the gateway `SendEvent`
|
||||
> path behind `SqliteStoreAndForwardSink`), and alarm `SendEvent`→`ReadEvents`+ack
|
||||
> was **live-verified 2026-07-15** against the real AVEVA historian (R2-06/R2-08,
|
||||
> 6/6 green). The bespoke Wonderware sidecar + `SdkAlarmHistorianWriteBackend`
|
||||
> were retired. So this D.1 artifact's alarm-source leg is verified and the
|
||||
> write-back leg is superseded-and-verified via the gateway.
|
||||
>
|
||||
> **Re-confirmed 2026-05-31** against the same gateway (`http://10.100.0.48:5120`):
|
||||
> the Skip-gated live test passed again, pulling a native `Raise` transition
|
||||
|
||||
@@ -29,6 +29,32 @@
|
||||
> → AVEVA Historian write-back live smoke (C.1's `Live_*` leg) and a full
|
||||
> running-server → OPC UA A&C round-trip — both need the Windows parity rig.
|
||||
>
|
||||
> ✅ **FINAL RECONCILIATION 2026-07-15 (Gitea #420 closed) — feature complete
|
||||
> on both sides; the C.1 leg is SUPERSEDED, not pending.** Current-master state:
|
||||
> **(A.2/A.4)** the mxaccessgw worker serves native MxAccess alarms via the
|
||||
> **wnwrap consumer** (`WnWrapAlarmConsumer` wrapping
|
||||
> `WNWRAPCONSUMERLib.wwAlarmConsumerClass`) + `FailoverAlarmConsumer` +
|
||||
> `AlarmDispatcher` — the design landed after the 2026-05-01 probes ruled out
|
||||
> the WM_APP-pump premise this plan/issue was written against; active-alarm
|
||||
> snapshot serves `StreamAlarms` (20 alarms verified live). **(A.3)**
|
||||
> `NotWiredAlarmRpcDispatcher` is gone (only in generated proto); ack routes
|
||||
> `MxGatewayClient.AcknowledgeAlarmAsync` → gateway `AlarmClient.AlarmAckByGUID`.
|
||||
> **(lmxopcua)** `GalaxyDriver : IAlarmSource` wires `GatewayGalaxyAlarmFeed`
|
||||
> (→ `OnAlarmEvent`, native metadata incl. operator-comment) + inbound ack via
|
||||
> `GatewayGalaxyAlarmAcknowledger`; native feed live-proven by
|
||||
> `GatewayGalaxyAlarmFeedLiveTests`. **(C.1 — SUPERSEDED)** the whole
|
||||
> **Wonderware historian sidecar was retired** and the alarm-history write path
|
||||
> cut over to the **HistorianGateway** (`GatewayAlarmHistorianWriter`, the
|
||||
> gateway `SendEvent` path behind `SqliteStoreAndForwardSink`); alarm
|
||||
> `SendEvent`→`ReadEvents`+ack was **live-verified 2026-07-15** against the real
|
||||
> AVEVA historian (R2-06/R2-08, 6/6). So `SdkAlarmHistorianWriteBackend` /
|
||||
> `aahClientManaged` no longer exist in the tree — the C.1 acceptance item is
|
||||
> obsolete, not outstanding. **Sole residual:** a full running-server → OPC UA
|
||||
> A&C round-trip on the Windows parity rig (Part 9 Acknowledge from a live OPC UA
|
||||
> client → gateway → AVEVA, with a real Galaxy alarm raised via the System
|
||||
> Platform IDE) — needs live Galaxy + human IDE interaction; any final mxaccessgw
|
||||
> integration-test polish is tracked in that repo.
|
||||
>
|
||||
> ⚠️ **[SUPERSEDED — kept for history] Worker-side native alarm
|
||||
> subscription blocked on a dev-rig finding (2026-04-30):** the MXAccess
|
||||
> COM Toolkit at
|
||||
|
||||
Reference in New Issue
Block a user