docs(#420): final reconciliation — alarms-over-gateway feature complete; C.1 superseded
v2-ci / build (pull_request) Successful in 4m15s
v2-ci / unit-tests (pull_request) Failing after 10m50s

#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:
Joseph Doherty
2026-07-15 15:23:32 -04:00
parent 46bc458fb8
commit 2791ab5810
2 changed files with 37 additions and 2 deletions
+11 -2
View File
@@ -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
+26
View File
@@ -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