From 2adcd75bdc5ed0cd15ffe2a9119706ff09e213ed Mon Sep 17 00:00:00 2001 From: Joseph Doherty Date: Wed, 11 Nov 2026 08:33:33 -0500 Subject: [PATCH] =?UTF-8?q?docs(history):=20OtOpcUa=20#835=E2=80=93#854=20?= =?UTF-8?q?docker-dev=20live=20gate=20PASS?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .claude/skills/sister-project-history/otopcua.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.claude/skills/sister-project-history/otopcua.md b/.claude/skills/sister-project-history/otopcua.md index 763acfd..49b73a0 100644 --- a/.claude/skills/sister-project-history/otopcua.md +++ b/.claude/skills/sister-project-history/otopcua.md @@ -436,4 +436,4 @@ AddRoute of the dev Mac (`oee-tagdump-mac`, `10.181.206.245.1.1`) on the two tes - **Credentials:** `env:_…` references follow the per-instance rule (#849; id form `DRV_<12HEX>` matches by id only); driver create/rename refuses names claimed by another driver's stored reference and renames off a name its own references use; id-shaped names refused (#848); preflight/banner check the merged driver+device config (#850). Upgrade: a driver whose name prefixes another same-type driver's env var is refused at its next deploy (banner lists them). - **ScadaBridge impact (#854):** ConditionRefresh/ConditionRefresh2 on Server-object subscriptions is no longer followed by older deferred condition events during event-queue overload; normal refresh is unchanged (off `Lock`). Folder subscriptions keep the residual (#855). - **MTConnect (#852):** `CommsLossConfirmMs` editable in AdminUI; native conditions also go quality-only BadNoCommunication on a refused connection. **AdminUI (#851):** driver Controls panel shows per-node health. - - Not live-gated yet (#835–#854); two independent concurrency reviews on #854, one security review on #848–#850. + - **Live gate 2026-11-11 (docker-dev, `03e51457`): PASS.** Both centrals boot clean (credential preflight on SQL Server); `drv`, another driver's `env:` variable, renaming a driver off its own reference and claiming another's reference name all refused in /raw (#848/#849); absolute OpcUaClient `UserCertificatePath` refused (#836); MTConnect refused connection ⇒ values + condition quality Bad in 2.0 s, recovery without re-raise (#852, closed); /hosts Controls per-node chips + per-node STALE (#851; follow-up #857: not stale for the first 30 s after opening); lockout locks one key id after 5 failures, other key ids still evaluated, anonymous unaffected (#844/#845); ConditionRefresh on `i=2253` frames correctly (#854). Not exercised live: #854 under overload (wire-tested), #850 split-config banner.