Joseph Doherty
|
31c982008b
|
Merge R2-09 Driver fleet batch (arch-review round 2) [PR #437]
v2-ci / build (push) Successful in 3m51s
v2-ci / unit-tests (push) Failing after 9m22s
Findings 05/STAB-3/4/5/8/12/16/17 + CONV-4 + onError (6 sub-batches, 29 tasks):
Modbus desync teardown, AbCip runtime lock, FOCAS concurrent caches, new
ConnectionBackoff + PollGroupEngine v2 (S7 poll fork deleted onto it, reconciled
with R2-01), fleet connect throttles, ResolveHost via resolver, TwinCAT replay
hardening. 29/29 tasks. S7 254/254 verified post-merge; build clean.
|
2026-07-13 12:48:12 -04:00 |
|
Joseph Doherty
|
6ee74d26fc
|
docs(r2-09): record execution deviations; clear CS8604 nullable warning in the 5 PollErrorHealthTests
v2-ci / build (pull_request) Successful in 3m32s
v2-ci / unit-tests (pull_request) Failing after 9m27s
|
2026-07-13 12:45:50 -04:00 |
|
Joseph Doherty
|
502a327f25
|
fix(twincat): probe recycle honors cancellation — no uncancellable gate wait (05/STAB-12 compounded part); B6 complete (TwinCAT suite 189 green)
|
2026-07-13 12:43:06 -04:00 |
|
Joseph Doherty
|
082ee99b6b
|
fix(twincat): retract the fresh ADS notification when unsubscribe raced the replay (05/STAB-17)
|
2026-07-13 12:39:39 -04:00 |
|
Joseph Doherty
|
de29759643
|
fix(twincat): retry failed replay intents on the next successful probe tick (05/STAB-16)
|
2026-07-13 12:37:20 -04:00 |
|
Joseph Doherty
|
a06515ae91
|
fix(twincat): replay failure marks the registration dead, publishes Bad quality, degrades health (05/STAB-16)
|
2026-07-13 12:34:43 -04:00 |
|
Joseph Doherty
|
4f16620948
|
test(twincat): failing repro for STAB-16 silent replay failure
|
2026-07-13 12:33:35 -04:00 |
|
Joseph Doherty
|
e27416956e
|
fix(r2-09): B5.4 five driver suites green (Modbus 312, AbCip 336, AbLegacy 209, TwinCAT 185, FOCAS 265); B5 complete
|
2026-07-13 12:29:52 -04:00 |
|
Joseph Doherty
|
e69d3b3b0f
|
fix(modbus): equipment tags carry unitId; ResolveHost keys per-unit via the resolver (CONV-4)
|
2026-07-13 12:29:13 -04:00 |
|
Joseph Doherty
|
04fa2f5cb2
|
Merge R2-07 Surgical pure-adds (arch-review round 2) [PR #436]
v2-ci / build (push) Successful in 3m19s
v2-ci / unit-tests (push) Failing after 8m13s
Finding 03/P1: surgical in-place address-space adds/removals skip full rebuilds
(AddressSpaceChangeClassifier default-closed to Rebuild). 3 new
ISurgicalAddressSpaceSink remove members, guard-first + forwarded through
DeferredAddressSpaceSink (F10b inertness net green). T5/T6/T12/T14 over-the-wire +
docker-dev gates deferred. Auto-merged OtOpcUaNodeManager.cs with R2-08; verified
OpcUaServer.Tests 341/341 + forwarding guard 3/3. Build clean.
|
2026-07-13 12:27:59 -04:00 |
|
Joseph Doherty
|
9262dd25b7
|
fix(drivers): ResolveHost resolves equipment-tag refs via EquipmentTagRefResolver — per-host breaker isolation (CONV-4)
|
2026-07-13 12:26:42 -04:00 |
|
Joseph Doherty
|
ded0595ca7
|
test+docs: mixed-deploy survival, STATUS/P1 close-out (R2-07 T14)
v2-ci / build (pull_request) Successful in 4m3s
v2-ci / unit-tests (pull_request) Failing after 9m47s
|
2026-07-13 12:24:50 -04:00 |
|
Joseph Doherty
|
8a7701db3f
|
test(drivers): failing repro for CONV-4 equipment-tag ResolveHost mis-keying
|
2026-07-13 12:23:43 -04:00 |
|
Joseph Doherty
|
e2b47638ec
|
feat(opcua): surgical mixed add+remove deploys (R2-07 T13)
|
2026-07-13 12:22:45 -04:00 |
|
Joseph Doherty
|
354d74d370
|
docs: ServerHistorian HistoryRead knobs + Security:Ldap resilience keys; R2-08 status (03/S2, 03/S3)
v2-ci / build (pull_request) Successful in 3m33s
v2-ci / unit-tests (pull_request) Failing after 9m24s
|
2026-07-13 12:21:33 -04:00 |
|
Joseph Doherty
|
dd01565d9a
|
docs(s7): point R2-01 at the shipped ConnectionBackoff primitive for the S7 connect throttle (05/STAB-8 seam); B4 complete
|
2026-07-13 12:20:58 -04:00 |
|
Joseph Doherty
|
86742ad8cb
|
fix(abcip): throttle evict-recreate Forward-Open attempts per device (05/STAB-8)
|
2026-07-13 12:20:10 -04:00 |
|
Joseph Doherty
|
f4ea834fac
|
test(opcua): subscription-survival on pure-remove + live-verify note (R2-07 T12)
|
2026-07-13 12:19:36 -04:00 |
|
Joseph Doherty
|
3cebfae417
|
feat(opcuaserver): process-wide HistoryRead batch limiter — flood degrades to BadTooManyOperations, not pool exhaustion (03/S3)
|
2026-07-13 12:18:35 -04:00 |
|
Joseph Doherty
|
502d7650d0
|
feat(opcua): surgical pure-remove deploys — scoped teardown, no full rebuild (R2-07 T11)
|
2026-07-13 12:18:08 -04:00 |
|
Joseph Doherty
|
e54af9b948
|
fix(focas): per-device connect-attempt backoff across the three loops (05/STAB-8)
|
2026-07-13 12:16:31 -04:00 |
|
Joseph Doherty
|
888cf86655
|
feat(opcuaserver): per-request HistoryRead deadline — hung backends surface BadTimeout (03/S3)
|
2026-07-13 12:13:38 -04:00 |
|
Joseph Doherty
|
962afed241
|
fix(twincat): per-device connect-attempt backoff, probe-driven recovery (05/STAB-8)
|
2026-07-13 12:13:23 -04:00 |
|
Joseph Doherty
|
4504ed930c
|
feat(opcua): surgical RemoveEquipmentSubtree with notifier demotion (R2-07 T10)
|
2026-07-13 12:12:09 -04:00 |
|
Joseph Doherty
|
9653493905
|
feat(opcua): surgical RemoveAlarmConditionNode (R2-07 T9)
|
2026-07-13 12:09:55 -04:00 |
|
Joseph Doherty
|
8c365da754
|
feat(opcuaserver): bounded per-node parallel HistoryRead within a batch (03/S3)
|
2026-07-13 12:09:53 -04:00 |
|
Joseph Doherty
|
defb7a8c3d
|
fix(r2-09): B3.7 engine + 5 driver suites green (S7 254, Modbus 308, AbCip 331, AbLegacy 207, TwinCAT 181, FOCAS 260); B3 complete
|
2026-07-13 12:09:18 -04:00 |
|
Joseph Doherty
|
14003ab9b8
|
feat(opcua): surgical RemoveVariableNode with NodeDeleted model-change (R2-07 T8)
|
2026-07-13 12:09:14 -04:00 |
|
Joseph Doherty
|
85ef74ea86
|
refactor(s7): retire the bespoke poll fork onto PollGroupEngine v2 (CONV-1; fixes PERF-3 + STAB-6-S7; deletes the fork's bare-OCE poll-death — cross-ref plan R2-01)
|
2026-07-13 12:07:39 -04:00 |
|
Joseph Doherty
|
438004e371
|
feat(commons): add surgical remove members to ISurgicalAddressSpaceSink + deferred forwarding (guard-verified) (R2-07 T7)
|
2026-07-13 12:07:01 -04:00 |
|
Joseph Doherty
|
cef7d9b281
|
refactor(opcuaserver): async-ify ServeRawPaged + HistoryReadEvents internals (03/S3)
|
2026-07-13 12:07:00 -04:00 |
|
Joseph Doherty
|
0d879363f8
|
test(s7): failing guards for the poll-fork retirement (PERF-3, STAB-6)
|
2026-07-13 12:05:08 -04:00 |
|
Joseph Doherty
|
1e83fe7085
|
refactor(opcuaserver): async-ify ServeNode + Processed/AtTime HistoryRead internals, thread cancellation (03/S3)
|
2026-07-13 12:04:54 -04:00 |
|
Joseph Doherty
|
304442dba4
|
feat(runtime): ServerHistorian HistoryRead parallelism/limiter/deadline knobs + node-manager wiring (03/S3)
|
2026-07-13 12:03:27 -04:00 |
|
Joseph Doherty
|
4f1853b21f
|
docs(archreview): record R2-07 Phase 1 (offline-verified; live gate deferred) in STATUS.md
|
2026-07-13 12:02:16 -04:00 |
|
Joseph Doherty
|
d5c6609cdf
|
test(opcuaserver): red repro — HistoryRead serves a batch strictly sequentially (03/S3)
|
2026-07-13 12:01:47 -04:00 |
|
Joseph Doherty
|
376233b92c
|
test(opcua): over-the-wire subscription-survival on pure-add deploy (R2-07 T5)
|
2026-07-13 12:01:23 -04:00 |
|
Joseph Doherty
|
62a49779ac
|
test(host): unreachable-directory activation fails bounded; document the SDK impersonation threading contract (03/S2)
|
2026-07-13 12:00:35 -04:00 |
|
Joseph Doherty
|
b494d09d9b
|
fix(drivers): wire PollGroupEngine onError->health + 30s poll backoff (05/STAB-9) [twincat,focas]
|
2026-07-13 11:59:49 -04:00 |
|
Joseph Doherty
|
e6280cb1da
|
feat(runtime): announce added nodes after the materialise passes on non-rebuild applies (R2-07 T4b)
|
2026-07-13 11:58:40 -04:00 |
|
Joseph Doherty
|
9213c037b0
|
fix(drivers): wire PollGroupEngine onError->health + 30s poll backoff (05/STAB-9) [modbus,abcip,ablegacy]
|
2026-07-13 11:57:25 -04:00 |
|
Joseph Doherty
|
0c785415a2
|
feat(host): LDAP directory-outage circuit — fail-fast denial during sustained outage (03/S2)
|
2026-07-13 11:56:45 -04:00 |
|
Joseph Doherty
|
21abe42a90
|
feat(host): hard wall-clock bound + bounded concurrency on OPC UA LDAP authentication (03/S2)
|
2026-07-13 11:52:10 -04:00 |
|
Joseph Doherty
|
ca6530c7f5
|
feat(core): PollGroupEngine v2 — failure backoff + caller-token-filtered OCE exit (CONV-1/STAB-8; STAB-14-class engine guard)
|
2026-07-13 11:51:50 -04:00 |
|
Joseph Doherty
|
a86d9f65bf
|
feat(opcua): make MaterialiseAlarmCondition idempotent for same-kind re-applies (R2-07 T4a)
|
2026-07-13 11:50:14 -04:00 |
|
Joseph Doherty
|
b8cf3cce0b
|
feat(core): ConnectionBackoff primitive — shared capped-exponential backoff + attempt throttle (05/STAB-8; seam for R2-01 S7 wiring)
|
2026-07-13 11:48:49 -04:00 |
|
Joseph Doherty
|
9dbc363ef0
|
feat(opcua): announce pure-add nodes via Part 3 NodeAdded model-change (R2-07 T3)
|
2026-07-13 11:48:02 -04:00 |
|
Joseph Doherty
|
4231afb268
|
fix(focas): ConcurrentDictionary for fixed-tree caches (05/STAB-5)
|
2026-07-13 11:46:55 -04:00 |
|
Joseph Doherty
|
0d717e4785
|
feat(opcua): route AddressSpaceApplier through the classifier — pure-add deploys no longer rebuild (R2-07 T2)
|
2026-07-13 11:46:24 -04:00 |
|
Joseph Doherty
|
bb8386d126
|
test(focas): failing repro for STAB-5 cross-thread Dictionary mutation
|
2026-07-13 11:46:12 -04:00 |
|