From b6f5eb25354ef1e2eb63b30c3975b2fff78a4778 Mon Sep 17 00:00:00 2001 From: Joseph Doherty Date: Fri, 9 Oct 2026 00:19:30 -0400 Subject: [PATCH] docs(index): OtOpcUa hw3 batch #654-#656 history entry Claude-Session: https://claude.ai/code/session_01Ef2ozxS7QPanGT8uoATbTe --- .claude/skills/sister-project-history/otopcua.md | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/.claude/skills/sister-project-history/otopcua.md b/.claude/skills/sister-project-history/otopcua.md index 4dda8d1..a071cf3 100644 --- a/.claude/skills/sister-project-history/otopcua.md +++ b/.claude/skills/sister-project-history/otopcua.md @@ -114,3 +114,14 @@ AddRoute of the dev Mac (`oee-tagdump-mac`, `10.181.206.245.1.1`) on the two tes List — every batched tag was BadCommunicationError) — fixed, opt-in, now ~5x faster polls; TC2 diagnostics fallback; FOCAS startup double-connect to the CNC fixed; Client.CLI `alarms` prints EventId/ConditionNodeId; #648 vestigial TargetNamespaceKind/UnsMappingTable removed; CI artifact upload + load-race flakes (#606). New: #654 #655 #656. +- **hw3 batch #654-#656 (2026-10-09, OtOpcUa `master` `ca17d2cf..82750ccc`).** Parallel worktree agents + sonnet/opus review; full + suite 52 projects / 12,985 passed / 0 failed. **ScadaBridge-visible:** (1) **#656 native-alarm re-statements:** a new + `ActiveAcknowledged` transition applies "active and already acked" as ONE condition update / ONE event (Galaxy reconnect snapshots + used to leave such a condition inactive on a cold host; OpcUaClient used to flicker Active+unacked first). A new + `AlarmEventArgs.IsRestatement` flag (Galaxy snapshot entries + OpcUaClient first sight only) stops duplicate "Activated"/"Cleared" + `/alerts` rows on reconnect/respawn — live-gated on opc-plc (old image 4/4 respawns duplicated, new 0/6). FOCAS/MTConnect/AbCip + unchanged. Residual: respawn replay of inactive+unacked OpcUaClient conditions (#657). (2) **#655 driver-side HistoryRead deleted** + (`IHistoryProvider`, OpcUaClient passthrough, `HistoryRead` resilience capability) — it was never reachable; HistoryRead stays + served only by the HistorianGateway backend, client-visible results unchanged; a stored resilience config with a `HistoryRead` key + still parses. Client.CLI/UI now surface a Bad HistoryRead status instead of "0 values returned". Not ScadaBridge-affecting: #654 + central's known-cluster PSK gate retries every 2 s (≤15) while unpublished instead of staying fail-open up to 60 s after boot.