Commit Graph

  • 111adc92b6 fix(historian-gateway): historize under the historian name, not the mux ref, when HistorianTagname overrides (FU-3) Joseph Doherty 2026-06-27 00:43:28 -04:00
  • b2276b5b04 test(historian-gateway): cover AlarmHistorianOptions.Validate MaxAttempts<=0 warning (FU-4) Joseph Doherty 2026-06-27 00:24:12 -04:00
  • 9fca3d9c05 docs(historian-gateway): follow-up & deferred-items plan (gateway SendEvent source + tz, recorder override, propagation) Joseph Doherty 2026-06-27 00:04:21 -04:00
  • 240c967576 docs(historian-gateway): correct the alarm-readback skip reason (SQL reader works) Joseph Doherty 2026-06-26 23:59:56 -04:00
  • 44644ddc7f fix(historian-gateway): alarm SendEvent must not set wire event Id (live-validated) Joseph Doherty 2026-06-26 23:48:52 -04:00
  • 2982cc4bb5 feat(historian-gateway): feed historized refs to the recorder on deploy (close continuous-historization ref-feed gap) Joseph Doherty 2026-06-26 23:21:18 -04:00
  • 2124f21ab6 docs(historian-gateway): document gateway backend, config keys, EnsureTags hook, known gates; retire Wonderware from docs Joseph Doherty 2026-06-26 19:46:27 -04:00
  • 0b4b2e4cfd refactor(historian-gateway): retire Wonderware historian projects (gateway is sole backend) Joseph Doherty 2026-06-26 19:25:21 -04:00
  • 245db98f5e fix(historian-gateway): dispose recorder value-writer channel + clearer OutboxPath warning Joseph Doherty 2026-06-26 19:03:04 -04:00
  • b32436902a test(historian-gateway): env-gated live validation vs wonder-sql-vd03 (read/write/alarm round-trips) Joseph Doherty 2026-06-26 19:01:36 -04:00
  • 2a5c717755 feat(historian-gateway): wire ContinuousHistorizationRecorder into DI + hosted lifecycle + meters Joseph Doherty 2026-06-26 18:47:20 -04:00
  • 97528c500f fix(historian-gateway): guard recorder outbox-append failures + retry-success test + Sender capture + mux deregister Joseph Doherty 2026-06-26 18:34:19 -04:00
  • 82124ee4f8 fix(historian-gateway): guard canceled antecedent in provisioning continuation Joseph Doherty 2026-06-26 18:29:40 -04:00
  • bbfbc7b215 feat(historian-gateway): ContinuousHistorizationRecorder actor (outbox->WriteLiveValues, backoff) Joseph Doherty 2026-06-26 18:18:34 -04:00
  • 8b4028de84 feat(historian-gateway): EnsureTags provisioning hook in AddressSpaceApplier (non-blocking) Joseph Doherty 2026-06-26 18:03:40 -04:00
  • 035bde0562 fix(historian-gateway): dispose alarm-write channel at shutdown + ServerHistorian startup diagnostic Joseph Doherty 2026-06-26 17:55:44 -04:00
  • 22711444cc fix(historian-gateway): cancellation-safe alarm writer + dispose-safe outbox + provisioner polish + outbox tests Joseph Doherty 2026-06-26 17:47:20 -04:00
  • 0be79219fc feat(historian-gateway): alarm-write cutover — AddAlarmHistorian drains to GatewayAlarmHistorianWriter Joseph Doherty 2026-06-26 17:40:23 -04:00
  • 8559905e8a feat(historian-gateway): IHistorianProvisioning + GatewayTagProvisioner (EnsureTags, non-blocking) Joseph Doherty 2026-06-26 17:30:03 -04:00
  • d3081a659f feat(historian-gateway): GatewayAlarmHistorianWriter — SendEvent + gRPC->outcome mapping Joseph Doherty 2026-06-26 17:27:03 -04:00
  • 555bd477f1 feat(historian-gateway): FasterLog historization outbox (PerEntry/Periodic, drop-oldest) Joseph Doherty 2026-06-26 17:20:06 -04:00
  • 1a6eb7efe6 test(historian-gateway): cover MaxTieClusterOverfetch warning + refresh AddServerHistorian doc Joseph Doherty 2026-06-26 17:09:45 -04:00
  • 36f7c3c5bf feat(historian-gateway): read cutover — AddServerHistorian builds GatewayHistorianDataSource Joseph Doherty 2026-06-26 17:07:59 -04:00
  • 1d5fa8230e fix(historian-gateway): Dispose() delegates to DisposeAsync() + sync-dispose test Joseph Doherty 2026-06-26 16:54:23 -04:00
  • 718f1fdad2 feat(historian-gateway): reshape ServerHistorianOptions to gateway form (Endpoint/ApiKey/Tls) Joseph Doherty 2026-06-26 16:52:56 -04:00
  • 35aace7fdf feat(historian-gateway): ReadEventsAsync alarm-history via gateway ReadEvents (+ truncation signal) Joseph Doherty 2026-06-26 16:47:04 -04:00
  • 0a540d9f09 feat(historian-gateway): GetHealthSnapshot via Probe/GetConnectionStatus (counter discipline) Joseph Doherty 2026-06-26 16:45:40 -04:00
  • 1e93b2ebfb feat(historian-gateway): GatewayHistorianDataSource read paths (raw/processed/at-time) Joseph Doherty 2026-06-26 16:44:48 -04:00
  • c51ca2276b fix(historian-gateway): seam maxEvents XML doc + driver Platforms + ValueTask in fake Joseph Doherty 2026-06-26 16:35:08 -04:00
  • a96e85f0e4 feat(historian-gateway): AlarmHistorianEvent->HistorianEvent mapper (SendEvent properties) Joseph Doherty 2026-06-26 16:32:38 -04:00
  • a54c7a9366 feat(historian-gateway): HistorianEvent->HistoricalEvent mapper (+ clamped severity) Joseph Doherty 2026-06-26 16:32:38 -04:00
  • c7296d7458 feat(historian-gateway): sample/aggregate->DataValueSnapshot + quality mapper (Wonderware parity) Joseph Doherty 2026-06-26 16:32:38 -04:00
  • 3226b87818 feat(historian-gateway): DriverDataType->HistorianDataType mapper + write-gap fallbacks (matrix-guarded) Joseph Doherty 2026-06-26 16:32:38 -04:00
  • c822a6b196 feat(historian-gateway): HistoryAggregateType->RetrievalMode mapper (matrix-guarded) Joseph Doherty 2026-06-26 16:32:38 -04:00
  • a98fc46d26 feat(historian-gateway): scaffold Gateway driver project + consume client package Joseph Doherty 2026-06-26 16:18:50 -04:00
  • 369e832e5a docs(historian-gateway): relocate OtOpcUa↔HistorianGateway integration plan + design Joseph Doherty 2026-06-26 16:09:29 -04:00
  • a7dd2f59d0 docs(otopcua): record FixedTree live-validation on wonder-app-vd03 (Makino Z-34184) Joseph Doherty 2026-06-26 16:02:05 -04:00
  • 04159fd716 test(otopcua): ConfigComposer->ParseComposition DeviceHost round-trip (follow-up E) Joseph Doherty 2026-06-26 15:39:40 -04:00
  • 1058542d80 docs(otopcua): record FixedTree follow-ups A-E as implemented (design, plan, RESUME) Joseph Doherty 2026-06-26 15:19:46 -04:00
  • 0074f37a64 test(otopcua): tighten multi-device collapse assertion + clear warn-state on removal (follow-up E) Joseph Doherty 2026-06-26 15:16:59 -04:00
  • 50f08635ec feat(otopcua): multi-device-per-driver FixedTree partition (follow-up E) Joseph Doherty 2026-06-26 15:00:11 -04:00
  • 51721df563 refactor(otopcua): extract authored-only send helper + empty-authored dropped-path test (follow-up D) Joseph Doherty 2026-06-26 14:44:26 -04:00
  • 05c820795a perf(otopcua): one SetDesiredSubscriptions per driver per redeploy (follow-up D) Joseph Doherty 2026-06-26 14:30:16 -04:00
  • cde16063d9 test(otopcua): negative + convergence coverage for rebind re-trigger (follow-up C) Joseph Doherty 2026-06-26 14:18:01 -04:00
  • 533671487e feat(otopcua): re-trigger discovery on config-unchanged rebind (follow-up C) Joseph Doherty 2026-06-26 14:06:50 -04:00
  • adcd7b57c1 feat(otopcua): driver-level equipment resolution + per-equipment discovered-plan cache (follow-up E) Joseph Doherty 2026-06-26 13:33:21 -04:00
  • 915492a759 refactor(otopcua): align device-host map parity + document EquipmentNode rebuild trade-off (follow-up E) Joseph Doherty 2026-06-26 13:22:26 -04:00
  • cb7ce7f171 feat(otopcua): EquipmentNode carries DriverInstanceId/DeviceId/DeviceHost (follow-up E projection) Joseph Doherty 2026-06-26 13:07:31 -04:00
  • e7d5ebe956 fix(otopcua): cancel pending rediscover timer on TriggerRediscovery + test hardening (follow-up C) Joseph Doherty 2026-06-26 12:57:08 -04:00
  • f7358bf4fd feat(otopcua): DriverInstanceActor.TriggerRediscovery message (follow-up C) Joseph Doherty 2026-06-26 12:45:26 -04:00
  • a1a655e6c9 test(otopcua): Once re-discovery reruns one pass per reconnect + comment tidy (follow-up B) Joseph Doherty 2026-06-26 12:38:52 -04:00
  • ce34816a50 feat(otopcua): DriverInstanceActor honors RediscoverPolicy (Never/Once/UntilStable) (follow-up B) Joseph Doherty 2026-06-26 12:32:28 -04:00
  • efbdaf853c feat(otopcua): set Modbus/S7/Galaxy re-discovery policy to Once + Once-branch test (follow-up B) Joseph Doherty 2026-06-26 12:26:28 -04:00
  • a378b572af feat(otopcua): add ITagDiscovery.RediscoverPolicy + per-driver assignments (follow-up B) Joseph Doherty 2026-06-26 12:18:44 -04:00
  • c2c368dcec feat(otopcua): make FixedTree re-discovery per-pass timeout injectable (follow-up A) Joseph Doherty 2026-06-26 12:12:47 -04:00
  • 37cac5dee5 docs(otopcua): record FixedTree-under-Equipment injection feature (design, plan, status) Joseph Doherty 2026-06-26 09:11:40 -04:00
  • 25ccd25b6b test(otopcua): assert exact discovered NodeId in the e2e Joseph Doherty 2026-06-26 09:04:26 -04:00
  • 5104540e32 test(otopcua): cover discovered-node rebind drop + clarify re-apply scope Joseph Doherty 2026-06-26 09:01:01 -04:00
  • 1aa13ebd27 test(otopcua): end-to-end discovered-node injection + value flow Joseph Doherty 2026-06-26 08:46:28 -04:00
  • 0788bad145 feat(otopcua): re-inject discovered nodes after address-space rebuild Joseph Doherty 2026-06-26 08:36:52 -04:00
  • b1e4fba792 fix(otopcua): skip redundant discovered-node re-apply + guard tests Joseph Doherty 2026-06-26 08:28:42 -04:00
  • 21298ec1b2 fix(otopcua): resume discovery on actor context + bound/harden re-discovery Joseph Doherty 2026-06-26 08:19:12 -04:00
  • b9b8d3d389 feat(otopcua): inject discovered nodes into the equipment projection on connect Joseph Doherty 2026-06-26 07:59:01 -04:00
  • cf6b1abf4c feat(otopcua): re-run driver discovery on reconnect Joseph Doherty 2026-06-26 07:44:28 -04:00
  • 51634cca38 feat(otopcua): driver-instance post-connect bounded re-discovery Joseph Doherty 2026-06-26 07:40:24 -04:00
  • bb21db0a8e fix(otopcua): log+document discovered-node materialise message Joseph Doherty 2026-06-26 07:32:13 -04:00
  • 34fc304712 fix(otopcua): guard discovered-injection equipment id + cover deferred forwarding Joseph Doherty 2026-06-26 07:27:09 -04:00
  • ccf93fc029 feat(otopcua): OpcUaPublishActor handles discovered-node materialisation Joseph Doherty 2026-06-26 07:24:22 -04:00
  • 598cdfad5a feat(otopcua): applier pass to materialise discovered nodes idempotently Joseph Doherty 2026-06-26 07:16:36 -04:00
  • f8406d348c fix(otopcua): report NodeAdded model-change outside the node Lock Joseph Doherty 2026-06-26 07:06:43 -04:00
  • 93f7586590 fix(otopcua): guard root-level discovered var parent + tighten mapper Joseph Doherty 2026-06-26 06:59:34 -04:00
  • 33b0e639a5 feat(otopcua): GeneralModelChangeEvent(NodeAdded) for runtime node adds Joseph Doherty 2026-06-26 06:55:52 -04:00
  • d7a0da5ea1 feat(otopcua): map discovered nodes under an equipment subfolder Joseph Doherty 2026-06-26 06:47:18 -04:00
  • da55c6913d feat(otopcua): capturing address-space builder for driver discovery Joseph Doherty 2026-06-26 06:39:18 -04:00
  • 74e07225c9 docs(otopcua): record the equipment-tag data-plane investigation + fix chain Joseph Doherty 2026-06-26 06:00:05 -04:00
  • 6600ce9940 feat(otopcua): bridge Akka actor logs into Serilog Joseph Doherty 2026-06-26 06:00:05 -04:00
  • 235b8b8e6d fix(focas): serialize per-device wire I/O + bound reads; tolerate AdminUI config formats Joseph Doherty 2026-06-26 05:59:54 -04:00
  • 20b2df9241 docs(focas): record Phase 10 deploy outcome — v3 binary live + probe healthy; live tags blocked by separate OtOpcUa data-plane issue Joseph Doherty 2026-06-25 17:04:44 -04:00
  • 5f0a52864c feat(focas): real FANUC 30i/31i-B PDU-v3 support (live-validated on a 31i-B) Joseph Doherty 2026-06-25 16:41:42 -04:00
  • fd01448ac4 fix(code-review): defer Driver.OpcUaClient.Contracts-002 + regenerate index Joseph Doherty 2026-06-20 23:11:09 -04:00
  • 23b42b424d fix(code-review): resolve OpcUaServer-001 — UNS Area/Line rename refreshes folder DisplayName Joseph Doherty 2026-06-20 23:10:24 -04:00
  • 94eec70fb0 fix(code-review): resolve Batch 3 wave A (OpcUaServer history/guard, ControlPlane topology gate) Joseph Doherty 2026-06-20 22:53:29 -04:00
  • c817d7720e review: regenerate index after Batch 2 resolutions Joseph Doherty 2026-06-20 22:43:36 -04:00
  • ab57e53b92 fix(code-review): resolve Batch 2 open findings (AbCip, AbLegacy, Galaxy, FOCAS) Joseph Doherty 2026-06-20 22:43:36 -04:00
  • 3cc6a5f30d build: suppress NU1903 for CVE-2025-6965 (SQLitePCLRaw, no upstream fix) Joseph Doherty 2026-06-20 22:43:15 -04:00
  • 53edcd638b review: regenerate index after Batch 1 resolutions Joseph Doherty 2026-06-20 22:30:36 -04:00
  • 98b27fc1b6 fix(code-review): resolve Batch 1 open findings (AdminUI auth, AlarmHistorian dispose guards, docs) Joseph Doherty 2026-06-20 22:30:33 -04:00
  • c13fcc1d51 review: regenerate index after cross-module fix pass (Browser enum / auto-unshelve / AbCip array) Joseph Doherty 2026-06-19 12:30:03 -04:00
  • 3e789dcafc review(Driver.AbCip): thread ElementCount/IsArray through factory tag DTOs Joseph Doherty 2026-06-19 12:29:40 -04:00
  • 40749d3f67 review(OpcUaServer): fix silent auto-unshelve failure (empty User -> 'system') Joseph Doherty 2026-06-19 12:29:40 -04:00
  • 298bd4bfe5 review(Driver.OpcUaClient.Browser): add JsonStringEnumConverter (systemic enum bug) Joseph Doherty 2026-06-19 12:29:39 -04:00
  • 7e1f34da7d review: regenerate index after Batch 9+10 (all 9 Contracts modules) — full sweep complete (51 modules) Joseph Doherty 2026-06-19 12:23:54 -04:00
  • 78542ab2d2 review(Driver.Historian.Wonderware.Client.Contracts): redact SharedSecret in ToString (High) Joseph Doherty 2026-06-19 12:22:53 -04:00
  • 0c1d5f7f88 review(Driver.TwinCAT.Contracts): first review; fix ReadArrayLength doc Joseph Doherty 2026-06-19 12:22:53 -04:00
  • 5d01271f03 review(Driver.S7.Contracts): first review; gate stringLength check to String type Joseph Doherty 2026-06-19 12:22:53 -04:00
  • 9244e506c9 review(Driver.OpcUaClient.Contracts): first review; fix TryResolve nullability + [Range] guards Joseph Doherty 2026-06-19 12:22:53 -04:00
  • a7ce742763 review(Driver.Modbus.Contracts): first review; guard equipment-tag bitIndex/stringLength Joseph Doherty 2026-06-19 12:22:53 -04:00
  • 45711e437d review(Driver.Galaxy.Contracts): first review; [Range] guard on EventPumpChannelCapacity Joseph Doherty 2026-06-19 12:22:53 -04:00
  • 97020d0527 review(Driver.FOCAS.Contracts): first review; keep Writable=true default (re-triaged) Joseph Doherty 2026-06-19 12:22:53 -04:00
  • 26662aa2ec review(Driver.AbLegacy.Contracts): first review; fix ArrayLength doc Joseph Doherty 2026-06-19 12:22:53 -04:00