diff --git a/.claude/skills/sister-project-history/otopcua.md b/.claude/skills/sister-project-history/otopcua.md index 0b1a994..0b3d6b2 100644 --- a/.claude/skills/sister-project-history/otopcua.md +++ b/.claude/skills/sister-project-history/otopcua.md @@ -146,3 +146,11 @@ AddRoute of the dev Mac (`oee-tagdump-mac`, `10.181.206.245.1.1`) on the two tes AbLegacy Test Connect normalises the probe address per family (PLC-5 octal). (3) **#661** — flaky MTConnect test fixed. (4) **#592** — Z-35162 real-hardware: #566 (a Logix drops idle TCP ≈16 s, driver reconnects), native STRING write and array-element write (`_SEQ_EP[31]`) proven, restored. No wire-contract change. +- **2026-10-09 #662 (closed; OtOpcUa `83d129d1`).** Native-alarm feed loss: a data re-subscribe in `DriverInstanceActor` + (every deploy's bulk desired-set push to a KEPT driver) also unhooked `OnAlarmEvent` and dropped the alarm handle, so + after any deploy that did not respawn a driver its native alarms froze until a reconnect/respawn — **all native-alarm + drivers** (OpcUaClient, Galaxy, FOCAS, MTConnect, AbCip), not just OpcUaClient. Fixed by splitting a data-only detach; + the #488 health-poll reconcile now also re-attaches/re-subscribes alarms (backing off to ≤ 4 min on persistent failure), + so a failed alarm subscribe after an outage is retried. **ScadaBridge-visible:** native conditions keep updating across + unrelated deploys and recover after an upstream outage without a driver respawn. No wire-contract change. Pinned by an + end-to-end `NativeAlarmFeedSurvivesDeployTests`; not live-gated on the rig.