From 23693ef66cb5087ccf20cdbe10ecd372036856ca Mon Sep 17 00:00:00 2001 From: Joseph Doherty Date: Thu, 12 Nov 2026 10:37:20 -0500 Subject: [PATCH] docs(otopcua-history): #882 folder event history includes attribute alarms (da948e5f), consumer impact Claude-Session: https://claude.ai/code/session_01GT67ACmpMR7b9LGRPLijMi --- .claude/skills/sister-project-history/otopcua.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.claude/skills/sister-project-history/otopcua.md b/.claude/skills/sister-project-history/otopcua.md index bf1686e..3c05516 100644 --- a/.claude/skills/sister-project-history/otopcua.md +++ b/.claude/skills/sister-project-history/otopcua.md @@ -481,3 +481,8 @@ its Galaxy acks fail against mxaccessgw `2b13564e` did not apply to this box's d - **No historian, and all backends' event/annotation update flags:** false. - **ScadaBridge consumer impact: none.** ScadaBridge's OPC UA adapter does no HistoryRead and never reads these nodes. Generic OPC UA clients, such as third-party historians or trend tools, now see true history flags and may start issuing HistoryRead. The flags are metadata only: no NodeIds, AccessLevels or HistoryRead/HistoryUpdate results change, except an update whose op the backend doesn't declare (none today). - The #801 live gate (`AvevaGatewayHistoryLiveGateTests`) now asserts the Gateway flags; it hasn't been re-run on vd03. + +- **2026-11-12 master `da948e5f` (#882, not deployed): a folder's event history now includes its object's attribute alarms.** With the Gateway historian backend, HistoryReadEvents on a notifier folder now returns the object's own events and also the alarms on its attributes, which AVEVA reports as `.` (for example `DevWinPlatform.CPULoadAvg`). Before, the backend's client-side source filter dropped them: on vd03 `DevWinPlatform` returned 2 events, and now returns 72. Matching uses the `.` boundary: `X` never serves `X2.*`. There is no HistorianGateway wire change; the gateway's one `Source_Object` read already returned them (historiangw#133 cross-link closed). Each event keeps its own SourceName, and its SourceNode is null for AVEVA rows. The per-folder ACL verdict (#826) governs these events: a denied folder answers `BadUserAccessDenied` before any backend call. SqlServer and QuestDB keep exact matching. + - **ScadaBridge consumer impact: none.** ScadaBridge does no HistoryRead. A generic OPC UA history client reading folder event history gets more rows per folder: attribute alarms appear alongside object events. + - **Production caveat, #886 (open):** a folder's historian source is its RawPath or EquipmentId, never a Galaxy `tag_name`. AVEVA's own A&E history therefore reaches a folder only where those names coincide (the #801 harness names the folder after the object). AVEVA `priority` and `alarm_id` are not mapped either, so Severity is 1 and ConditionName is null on AVEVA rows. + - **Live check:** re-ran the #801 gate read-only against vd03 HistorianGateway `ea9f21c`. 221 of 225 cases are identical to the #801 baseline; the 4 that differ are exactly the `DevWinPlatform` event cases. Record: OtOpcUa `docs/plans/evidence/2026-11-10-opcua2/aveva-history-801.md` ยง "#882 re-run".