Joseph Doherty
36f7c3c5bf
feat(historian-gateway): read cutover — AddServerHistorian builds GatewayHistorianDataSource
...
Claude-Session: https://claude.ai/code/session_012SDSQ3AcaXqPcBtDESBRii
2026-06-26 17:07:59 -04:00
Joseph Doherty
1d5fa8230e
fix(historian-gateway): Dispose() delegates to DisposeAsync() + sync-dispose test
...
Addresses T7/T8/T11 code-review minors: route the sync dispose through DisposeAsync
so a double Dispose()+DisposeAsync() stays a no-op; cover the sync path.
Claude-Session: https://claude.ai/code/session_012SDSQ3AcaXqPcBtDESBRii
2026-06-26 16:54:23 -04:00
Joseph Doherty
718f1fdad2
feat(historian-gateway): reshape ServerHistorianOptions to gateway form (Endpoint/ApiKey/Tls)
...
Claude-Session: https://claude.ai/code/session_012SDSQ3AcaXqPcBtDESBRii
2026-06-26 16:52:56 -04:00
Joseph Doherty
35aace7fdf
feat(historian-gateway): ReadEventsAsync alarm-history via gateway ReadEvents (+ truncation signal)
...
Claude-Session: https://claude.ai/code/session_012SDSQ3AcaXqPcBtDESBRii
2026-06-26 16:47:04 -04:00
Joseph Doherty
0a540d9f09
feat(historian-gateway): GetHealthSnapshot via Probe/GetConnectionStatus (counter discipline)
...
Claude-Session: https://claude.ai/code/session_012SDSQ3AcaXqPcBtDESBRii
2026-06-26 16:45:40 -04:00
Joseph Doherty
1e93b2ebfb
feat(historian-gateway): GatewayHistorianDataSource read paths (raw/processed/at-time)
...
Claude-Session: https://claude.ai/code/session_012SDSQ3AcaXqPcBtDESBRii
2026-06-26 16:44:48 -04:00
Joseph Doherty
c51ca2276b
fix(historian-gateway): seam maxEvents XML doc + driver Platforms + ValueTask in fake
...
Addresses Task 1 code-review: document that ReadEventsAsync.maxEvents is enforced
client-side (no server cap in the wire contract); add Platforms=AnyCPU;x64 to match
sibling drivers; use ValueTask.CompletedTask in FakeHistorianGatewayClient.
Claude-Session: https://claude.ai/code/session_012SDSQ3AcaXqPcBtDESBRii
2026-06-26 16:35:08 -04:00
Joseph Doherty
a96e85f0e4
feat(historian-gateway): AlarmHistorianEvent->HistorianEvent mapper (SendEvent properties)
...
Claude-Session: https://claude.ai/code/session_012SDSQ3AcaXqPcBtDESBRii
2026-06-26 16:32:38 -04:00
Joseph Doherty
a54c7a9366
feat(historian-gateway): HistorianEvent->HistoricalEvent mapper (+ clamped severity)
...
Claude-Session: https://claude.ai/code/session_012SDSQ3AcaXqPcBtDESBRii
2026-06-26 16:32:38 -04:00
Joseph Doherty
c7296d7458
feat(historian-gateway): sample/aggregate->DataValueSnapshot + quality mapper (Wonderware parity)
...
Claude-Session: https://claude.ai/code/session_012SDSQ3AcaXqPcBtDESBRii
2026-06-26 16:32:38 -04:00
Joseph Doherty
3226b87818
feat(historian-gateway): DriverDataType->HistorianDataType mapper + write-gap fallbacks (matrix-guarded)
...
Claude-Session: https://claude.ai/code/session_012SDSQ3AcaXqPcBtDESBRii
2026-06-26 16:32:38 -04:00
Joseph Doherty
c822a6b196
feat(historian-gateway): HistoryAggregateType->RetrievalMode mapper (matrix-guarded)
...
Claude-Session: https://claude.ai/code/session_012SDSQ3AcaXqPcBtDESBRii
2026-06-26 16:32:38 -04:00
Joseph Doherty
a98fc46d26
feat(historian-gateway): scaffold Gateway driver project + consume client package
...
Claude-Session: https://claude.ai/code/session_012SDSQ3AcaXqPcBtDESBRii
2026-06-26 16:18:50 -04:00
Joseph Doherty
369e832e5a
docs(historian-gateway): relocate OtOpcUa↔HistorianGateway integration plan + design
...
Claude-Session: https://claude.ai/code/session_012SDSQ3AcaXqPcBtDESBRii
2026-06-26 16:09:29 -04:00
Joseph Doherty
a7dd2f59d0
docs(otopcua): record FixedTree live-validation on wonder-app-vd03 (Makino Z-34184)
v2-ci / build (push) Failing after 39s
v2-ci / unit-tests (tests/Core/ZB.MOM.WW.OtOpcUa.Cluster.Tests) (push) Has been skipped
v2-ci / unit-tests (tests/Server/ZB.MOM.WW.OtOpcUa.ControlPlane.Tests) (push) Has been skipped
v2-ci / unit-tests (tests/Server/ZB.MOM.WW.OtOpcUa.OpcUaServer.Tests) (push) Has been skipped
v2-ci / unit-tests (tests/Server/ZB.MOM.WW.OtOpcUa.Runtime.Tests) (push) Has been skipped
v2-ci / unit-tests (tests/Server/ZB.MOM.WW.OtOpcUa.Security.Tests) (push) Has been skipped
v2-ci / integration (tests/Server/ZB.MOM.WW.OtOpcUa.Host.IntegrationTests) (push) Has been skipped
v2-ci / integration (tests/Server/ZB.MOM.WW.OtOpcUa.OpcUaServer.IntegrationTests) (push) Has been skipped
2026-06-26 16:02:05 -04:00
Joseph Doherty
04159fd716
test(otopcua): ConfigComposer->ParseComposition DeviceHost round-trip (follow-up E)
2026-06-26 15:39:40 -04:00
Joseph Doherty
1058542d80
docs(otopcua): record FixedTree follow-ups A-E as implemented (design, plan, RESUME)
2026-06-26 15:19:46 -04:00
Joseph Doherty
0074f37a64
test(otopcua): tighten multi-device collapse assertion + clear warn-state on removal (follow-up E)
2026-06-26 15:16:59 -04:00
Joseph Doherty
50f08635ec
feat(otopcua): multi-device-per-driver FixedTree partition (follow-up E)
2026-06-26 15:00:11 -04:00
Joseph Doherty
51721df563
refactor(otopcua): extract authored-only send helper + empty-authored dropped-path test (follow-up D)
2026-06-26 14:44:26 -04:00
Joseph Doherty
05c820795a
perf(otopcua): one SetDesiredSubscriptions per driver per redeploy (follow-up D)
2026-06-26 14:30:16 -04:00
Joseph Doherty
cde16063d9
test(otopcua): negative + convergence coverage for rebind re-trigger (follow-up C)
2026-06-26 14:18:01 -04:00
Joseph Doherty
533671487e
feat(otopcua): re-trigger discovery on config-unchanged rebind (follow-up C)
2026-06-26 14:06:50 -04:00
Joseph Doherty
adcd7b57c1
feat(otopcua): driver-level equipment resolution + per-equipment discovered-plan cache (follow-up E)
2026-06-26 13:33:21 -04:00
Joseph Doherty
915492a759
refactor(otopcua): align device-host map parity + document EquipmentNode rebuild trade-off (follow-up E)
2026-06-26 13:22:26 -04:00
Joseph Doherty
cb7ce7f171
feat(otopcua): EquipmentNode carries DriverInstanceId/DeviceId/DeviceHost (follow-up E projection)
2026-06-26 13:07:31 -04:00
Joseph Doherty
e7d5ebe956
fix(otopcua): cancel pending rediscover timer on TriggerRediscovery + test hardening (follow-up C)
2026-06-26 12:57:08 -04:00
Joseph Doherty
f7358bf4fd
feat(otopcua): DriverInstanceActor.TriggerRediscovery message (follow-up C)
2026-06-26 12:45:26 -04:00
Joseph Doherty
a1a655e6c9
test(otopcua): Once re-discovery reruns one pass per reconnect + comment tidy (follow-up B)
2026-06-26 12:38:52 -04:00
Joseph Doherty
ce34816a50
feat(otopcua): DriverInstanceActor honors RediscoverPolicy (Never/Once/UntilStable) (follow-up B)
2026-06-26 12:32:28 -04:00
Joseph Doherty
efbdaf853c
feat(otopcua): set Modbus/S7/Galaxy re-discovery policy to Once + Once-branch test (follow-up B)
2026-06-26 12:26:28 -04:00
Joseph Doherty
a378b572af
feat(otopcua): add ITagDiscovery.RediscoverPolicy + per-driver assignments (follow-up B)
2026-06-26 12:18:44 -04:00
Joseph Doherty
c2c368dcec
feat(otopcua): make FixedTree re-discovery per-pass timeout injectable (follow-up A)
2026-06-26 12:12:47 -04:00
Joseph Doherty
37cac5dee5
docs(otopcua): record FixedTree-under-Equipment injection feature (design, plan, status)
2026-06-26 09:11:40 -04:00
Joseph Doherty
25ccd25b6b
test(otopcua): assert exact discovered NodeId in the e2e
2026-06-26 09:04:26 -04:00
Joseph Doherty
5104540e32
test(otopcua): cover discovered-node rebind drop + clarify re-apply scope
2026-06-26 09:01:01 -04:00
Joseph Doherty
1aa13ebd27
test(otopcua): end-to-end discovered-node injection + value flow
2026-06-26 08:46:28 -04:00
Joseph Doherty
0788bad145
feat(otopcua): re-inject discovered nodes after address-space rebuild
2026-06-26 08:36:52 -04:00
Joseph Doherty
b1e4fba792
fix(otopcua): skip redundant discovered-node re-apply + guard tests
2026-06-26 08:28:42 -04:00
Joseph Doherty
21298ec1b2
fix(otopcua): resume discovery on actor context + bound/harden re-discovery
2026-06-26 08:19:12 -04:00
Joseph Doherty
b9b8d3d389
feat(otopcua): inject discovered nodes into the equipment projection on connect
2026-06-26 07:59:01 -04:00
Joseph Doherty
cf6b1abf4c
feat(otopcua): re-run driver discovery on reconnect
2026-06-26 07:44:28 -04:00
Joseph Doherty
51634cca38
feat(otopcua): driver-instance post-connect bounded re-discovery
2026-06-26 07:40:24 -04:00
Joseph Doherty
bb21db0a8e
fix(otopcua): log+document discovered-node materialise message
2026-06-26 07:32:13 -04:00
Joseph Doherty
34fc304712
fix(otopcua): guard discovered-injection equipment id + cover deferred forwarding
2026-06-26 07:27:09 -04:00
Joseph Doherty
ccf93fc029
feat(otopcua): OpcUaPublishActor handles discovered-node materialisation
2026-06-26 07:24:22 -04:00
Joseph Doherty
598cdfad5a
feat(otopcua): applier pass to materialise discovered nodes idempotently
2026-06-26 07:16:36 -04:00
Joseph Doherty
f8406d348c
fix(otopcua): report NodeAdded model-change outside the node Lock
2026-06-26 07:06:43 -04:00
Joseph Doherty
93f7586590
fix(otopcua): guard root-level discovered var parent + tighten mapper
2026-06-26 06:59:34 -04:00
Joseph Doherty
33b0e639a5
feat(otopcua): GeneralModelChangeEvent(NodeAdded) for runtime node adds
2026-06-26 06:55:52 -04:00