Commit Graph

  • be6858baa1 fix(alarms): OnEnableDisable native-check via lock-guarded IsNativeAlarmNode + unstale AlarmCommand doc (code-review) Joseph Doherty 2026-06-15 14:30:17 -04:00
  • 328bd1b9ee feat(alarms): wire OnEnableDisable over OPC UA (AlarmAck-gated; native→BadNotSupported) [H4] Joseph Doherty 2026-06-15 14:24:19 -04:00
  • 226587d817 test(alarms): cover isNative rebuild/kind-flip lifecycle + Phase7Applier call-site (code-review) Joseph Doherty 2026-06-15 14:20:20 -04:00
  • 2423edf232 test(alarms): assert Galaxy ack null-OperatorUser falls back to empty (code-review) Joseph Doherty 2026-06-15 14:18:57 -04:00
  • 418663b359 feat(alarms): thread isNative through MaterialiseAlarmCondition; node manager tracks native conditions [H6a] Joseph Doherty 2026-06-15 14:13:30 -04:00
  • ed941c51da feat(alarms): AlarmAcknowledgeRequest carries OperatorUser; Galaxy/ScriptedAlarmSource honor it [H6b] Joseph Doherty 2026-06-15 14:11:40 -04:00
  • c236263e8d fix(authz): give HistoryUpdate its own NodePermissions bit (was aliased to HistoryRead) [H2] Joseph Doherty 2026-06-15 14:09:35 -04:00
  • 6ab3d8630b docs(alarms): Phase 3 implementation plan + tasks (H4 + H2-bit + H6) Joseph Doherty 2026-06-15 14:05:00 -04:00
  • 40b883effe docs(alarms): Phase 3 design — OPC UA standards completeness (H4 Enable/Disable + H2 HistoryUpdate bit + H6 native-ack→AVEVA) Joseph Doherty 2026-06-15 13:59:28 -04:00
  • 4af8e65af1 fix(redundancy): PeerProbeSupervisor explicitly ignores co-mingled OpcUaProbeResult (integration review) Joseph Doherty 2026-06-15 13:40:16 -04:00
  • 4c78dcd358 feat(redundancy): wire dbHealth into OpcUaPublishActor + spawn PeerProbeSupervisor per node Joseph Doherty 2026-06-15 13:33:34 -04:00
  • 393b746d9b docs(redundancy): sync component table with the wired calculator + PeerProbeSupervisor Joseph Doherty 2026-06-15 13:30:55 -04:00
  • 5a064e086d test(redundancy): lock in stale-Terminated guard + clarify OnTerminated (code-review) Joseph Doherty 2026-06-15 13:29:58 -04:00
  • 70e6d3d2c0 docs(redundancy): ServiceLevelCalculator is wired into the live publish path Joseph Doherty 2026-06-15 13:26:34 -04:00
  • f41e957e07 feat(redundancy): PeerProbeSupervisor maintains one peer OPC UA probe per driver peer Joseph Doherty 2026-06-15 13:22:38 -04:00
  • 37b32a5623 feat(redundancy): periodic HealthTick refreshes DB reachability via Ask/PipeTo Joseph Doherty 2026-06-15 13:15:26 -04:00
  • 5382eea9b5 test(redundancy): cover stale-probe-not-demoted branch + make _probeFreshnessWindow readonly (code-review) Joseph Doherty 2026-06-15 13:11:01 -04:00
  • cf278035d2 feat(redundancy): OpcUaProbeOk from peer-probes-me with freshness debounce Joseph Doherty 2026-06-15 13:04:41 -04:00
  • a9ff1a64b2 fix(redundancy): always publish first ServiceLevel (even 0) + log SafeSelfStatus failures (code-review) Joseph Doherty 2026-06-15 13:00:25 -04:00
  • 3e609a2b19 feat(redundancy): OpcUaPublishActor computes ServiceLevel via calculator (DB+stale+leader; legacy seam) Joseph Doherty 2026-06-15 12:51:32 -04:00
  • ff0f62db38 refactor(redundancy): move ServiceLevelCalculator to Core.Cluster (shared, Runtime-reachable) Joseph Doherty 2026-06-15 12:45:17 -04:00
  • 7605f4d8fd docs(redundancy): Phase 2 implementation plan + tasks (H3 ServiceLevel wiring) Joseph Doherty 2026-06-15 12:41:51 -04:00
  • 0528353315 docs(redundancy): Phase 2 design — health-aware ServiceLevel (H3) Joseph Doherty 2026-06-15 12:33:09 -04:00
  • 4bd7180e7f fix(docker-dev): stop seeding retired SystemPlatform namespace Joseph Doherty 2026-06-15 12:17:02 -04:00
  • 907005d2d2 docs(claude): note local docker-dev rig has login disabled — run live /run verification directly, don't wait for sign-in Joseph Doherty 2026-06-15 11:50:55 -04:00
  • c6a543d1b6 docs(vtags): note rename-respawn transient + write-side-only historize (integration review) Joseph Doherty 2026-06-15 10:50:08 -04:00
  • aaa5d8b851 docs(vtags): document runtime Historize honoring + infra-gated durable sink (Phase 1 H5) Joseph Doherty 2026-06-15 10:43:29 -04:00
  • 4501f12669 feat(vtags): wire IHistoryWriter through DriverHostActor (Null default; durable sink infra-gated) (H5d, stillpending §1) Joseph Doherty 2026-06-15 10:38:49 -04:00
  • 2f30c54dc1 test(vtags): thread-safe CapturingHistoryWriter + drop redundant wait (H5c review follow-up) Joseph Doherty 2026-06-15 10:33:14 -04:00
  • 0c6d4c5491 feat(vtags): forward historized vtag results to IHistoryWriter (H5c, stillpending §1) Joseph Doherty 2026-06-15 10:26:25 -04:00
  • 83d3b9f7be test(vtags): planner detects Historize-only toggle as a change + doc nit (H5a review follow-up) Joseph Doherty 2026-06-15 10:21:31 -04:00
  • 9c5a091395 feat(vtags): decode VirtualTag Historize from artifact, byte-parity with composer (H5b, stillpending §1) Joseph Doherty 2026-06-15 10:17:08 -04:00
  • fc8121cbf3 feat(vtags): carry VirtualTag.Historize onto EquipmentVirtualTagPlan (H5a, stillpending §1) Joseph Doherty 2026-06-15 10:17:05 -04:00
  • ebf2f1dd7a fix(vtags): prune _planByVtag on child termination + crash-then-change test (H1b review follow-up) Joseph Doherty 2026-06-15 10:12:11 -04:00
  • ada01e1af8 fix(vtags): respawn equipment virtualtag child on in-place plan change (H1b, stillpending §1) Joseph Doherty 2026-06-15 10:05:29 -04:00
  • 1dc713693a fix(deploy): count removed equipment tags/vtags in RemovedNodes (H1a review follow-up) Joseph Doherty 2026-06-15 10:01:37 -04:00
  • 1e95856b00 fix(deploy): rebuild address space on changed-only deploys (H1a, stillpending §1) Joseph Doherty 2026-06-15 09:57:40 -04:00
  • 50a2fdf32d chore(plans): mark confirmed-shipped .tasks.json completed so audits don't re-flag (stillpending §7) Joseph Doherty 2026-06-15 09:52:51 -04:00
  • a9d267c91a docs(security,core): correct stale write-outcome doc + note benign DraftSnapshot/LeaderChanged residue (stillpending §9/§3) Joseph Doherty 2026-06-15 09:48:14 -04:00
  • b4af9e7f37 docs(comments): correct 7 stale 'later task/milestone' comments (stillpending §9) Joseph Doherty 2026-06-15 09:47:08 -04:00
  • 68a0f759f0 docs(plans): Phase 0+1 implementation plan for the still-pending backlog Joseph Doherty 2026-06-15 09:40:03 -04:00
  • f64be52796 docs(plans): phased completion design for the still-pending backlog Joseph Doherty 2026-06-15 09:27:06 -04:00
  • 151b7165af docs(abcip,focas): document RetireAsync one-tick overlap residual + guard Dispose Joseph Doherty 2026-06-15 06:14:44 -04:00
  • 6ba59f9d4d fix(abcip,focas): collapse alarm projection to a single poll loop (no reconnect leak) Joseph Doherty 2026-06-15 06:09:38 -04:00
  • 43b3769a1d docs(plans): add write-outcome self-correction implementation plan Joseph Doherty 2026-06-15 05:57:15 -04:00
  • 5a70cd7910 chore(deps): bump vendored MxGateway.Client/Contracts 0.1.0 -> 0.1.1 Joseph Doherty 2026-06-15 05:57:09 -04:00
  • 013882262a fix(galaxy): bound alarm-subscription handles to one (no reconnect leak) Joseph Doherty 2026-06-15 05:49:07 -04:00
  • c9643f68ba fix(runtime): restart driver no longer throws 'actor name is not unique' Joseph Doherty 2026-06-15 05:41:18 -04:00
  • aa1e21f53c docs(historian): clarify modified-value history is infra-gated (no backend modified-read path) Joseph Doherty 2026-06-15 05:15:50 -04:00
  • bea0b482d4 fix(historian): address code review on Raw HistoryRead paging Joseph Doherty 2026-06-15 05:15:07 -04:00
  • 94c3ca60fc feat(historian): server-side continuation-point paging for HistoryRead-Raw Joseph Doherty 2026-06-15 03:02:48 -04:00
  • a5c0c82661 fix(opcua): address code review on write-outcome surfacing Joseph Doherty 2026-06-15 02:45:51 -04:00
  • bb59fd4e75 feat(opcua): surface failed inbound writes to clients (fail-fast, Bad blip, audit event) Joseph Doherty 2026-06-15 02:38:57 -04:00
  • dcb0be650e feat(galaxy): debug-log native alarm feed delivery (subs + fanout) Joseph Doherty 2026-06-15 01:30:15 -04:00
  • a833d1b4aa fix(alarms): address code review — accurate reconnect comment + SubscribeAlarms drop handlers Joseph Doherty 2026-06-15 00:49:19 -04:00
  • 7f313df7a6 fix(alarms): subscribe native alarms to un-gate the IAlarmSource feed Joseph Doherty 2026-06-15 00:42:43 -04:00
  • 063d004fda docs(security): fix data-plane alarm-ack GroupToRole value (AlarmAck, not AlarmAcknowledge) Joseph Doherty 2026-06-15 00:42:32 -04:00
  • d19deb9b42 test(galaxy): readback via explicit TCS + skip unused buffered-interval RPC (review) Joseph Doherty 2026-06-14 23:32:00 -04:00
  • 622bfda27d test(galaxy): live-gw reopen + supervisory-write-persist integration smokes Joseph Doherty 2026-06-14 23:24:50 -04:00
  • fa2388eabf test(alarms): assert reconnect-dropped native alarm does not dead-letter; tighten severity doc Joseph Doherty 2026-06-14 22:56:18 -04:00
  • c03361de1b test(drivers): extract shared stub-driver harness (de-dup) Joseph Doherty 2026-06-14 22:49:26 -04:00
  • d8129e5ab7 test(alarms): fix reconnect-drop test to use mailbox-ordering approach Joseph Doherty 2026-06-14 22:48:36 -04:00
  • 49d98cba31 docs(alarms): note native-alarm severity-bucket snapping Joseph Doherty 2026-06-14 22:41:57 -04:00
  • 51cda2c744 test(alarms): assert OperatorComment flows through ForwardNativeAlarm Joseph Doherty 2026-06-14 22:41:43 -04:00
  • c8db5767ea test(alarms): guard native-alarm-during-reconnect is dropped not dead-lettered Joseph Doherty 2026-06-14 22:41:08 -04:00
  • a1d333869e docs(plans): residual-followups-cleanup plan (4 offline items; reconcile stale residuals) Joseph Doherty 2026-06-14 22:38:42 -04:00
  • cd20c3c064 docs: refresh pending.md for compaction (Phase C shipped; open-items digest) Joseph Doherty 2026-06-14 22:23:58 -04:00
  • c24abc8a97 docs(historian): mark Phase C tasks 1-6 complete (T7 live deferred) Joseph Doherty 2026-06-14 21:19:28 -04:00
  • 7eb8f4d054 docs(historian): Phase C HistoryRead guide + CLAUDE.md pointer Joseph Doherty 2026-06-14 20:27:17 -04:00
  • 83e1318425 refactor(historian): align ServerHistorianOptions with AlarmHistorian (Port default, Validate list, log context) Joseph Doherty 2026-06-14 20:23:22 -04:00
  • a6f1f4ef15 feat(historian): AddServerHistorian DI + Host wiring of IHistorianDataSource Joseph Doherty 2026-06-14 20:17:10 -04:00
  • e6ec0ad8be fix(historian): events arm sets results on bad paths + Variant.Null SourceName + test hardening Joseph Doherty 2026-06-14 20:10:16 -04:00
  • e3c0ef7b41 feat(historian): HistoryReadEvents over equipment-folder notifiers + event-field projection Joseph Doherty 2026-06-14 19:56:38 -04:00
  • 059f18bdad test(historian): multi-node HistoryRead isolation + single-lookup ServeNode + comment fix Joseph Doherty 2026-06-14 19:44:56 -04:00
  • 13fba8f8fb feat(historian): HistoryRead override (Raw/Processed/AtTime) over IHistorianDataSource Joseph Doherty 2026-06-14 19:31:39 -04:00
  • 50e1141fc2 test(historian): assert Deferred sink forwards historianTagname + doc nits Joseph Doherty 2026-06-14 19:16:23 -04:00
  • 6041dc202b feat(historian): materialise historized vars with Historizing + HistoryRead bit + NodeId->tagname map Joseph Doherty 2026-06-14 19:09:32 -04:00
  • c35c1d3734 refactor(historian): single-parse ExtractTagHistorize + review-nit tests/docs Joseph Doherty 2026-06-14 19:02:02 -04:00
  • 440929c82a feat(historian): carry isHistorized + historianTagname through EquipmentTagPlan (byte-parity) Joseph Doherty 2026-06-14 18:55:04 -04:00
  • fb906f26ac docs(historian): Phase C HistoryRead implementation plan + tasks Joseph Doherty 2026-06-14 18:48:33 -04:00
  • 5e42c1bc38 docs(historian): Phase C server-side HistoryRead design Joseph Doherty 2026-06-14 18:46:43 -04:00
  • c9a0f627ea docs(drivers): mark reconfigure-while-faulted bookkeeping task complete Joseph Doherty 2026-06-14 18:09:46 -04:00
  • 56f73e49ec docs(drivers): mark reconfigure-while-faulted Task 1 complete Joseph Doherty 2026-06-14 17:23:10 -04:00
  • 7ffe8939e7 style(drivers): clarify Reconnecting InitializeFailed no-op is generation-agnostic (code-review nit) Joseph Doherty 2026-06-14 17:19:34 -04:00
  • 751786ec8c fix(drivers): adopt corrected config via ApplyDelta while (re)connecting (#7) Joseph Doherty 2026-06-14 17:15:28 -04:00
  • 806a252f25 docs(drivers): implementation plan for reconfigure-while-faulted (#7) Joseph Doherty 2026-06-14 17:11:07 -04:00
  • 076ca025ba docs(drivers): design for adopting config mid-(re)connect (reconfigure-while-faulted #7) Joseph Doherty 2026-06-14 17:08:24 -04:00
  • f9be38430c fix(alarms): route native alarms by ConditionId (dotted FullName), not bare SourceNodeId (integration review) Joseph Doherty 2026-06-14 04:09:01 -04:00
  • 7e86fa7099 fix(alarms): normalise native TransitionKind to canonical EmissionKind vocabulary (review) Joseph Doherty 2026-06-14 03:58:46 -04:00
  • 8736fcc37c feat(alarms): Primary-gated AlarmTransitionEvent fan-out for native alarms (Phase B WS-5) Joseph Doherty 2026-06-14 03:48:41 -04:00
  • b50ef9fc2d feat(alarms): materialise a Part 9 condition for an alarm equipment tag (Phase B WS-3) Joseph Doherty 2026-06-14 03:37:51 -04:00
  • 4c56a1719b feat(alarms): DriverHostActor routes native alarm transitions to Part 9 conditions (Phase B WS-4c) Joseph Doherty 2026-06-14 03:34:25 -04:00
  • b0e83902b8 docs(alarms): native driver-alarm TagConfig schema (Phase B) Joseph Doherty 2026-06-14 03:28:55 -04:00
  • 422e5b7db2 refactor(alarms): harden ExtractTagAlarm severity parse (TryGetInt32) + trim projector prior-state (review nits) Joseph Doherty 2026-06-14 03:27:03 -04:00
  • 25c3bd16ba feat(alarms): DriverInstanceActor forwards native OnAlarmEvent to parent (Phase B WS-4b) Joseph Doherty 2026-06-14 03:24:24 -04:00
  • c1aeafaaf3 feat(alarms): NativeAlarmProjector maps transitions to condition snapshots (Phase B WS-4a) Joseph Doherty 2026-06-14 03:16:44 -04:00
  • e1ccd99ea2 feat(alarms): EquipmentTagPlan.Alarm parsed byte-parity from TagConfig (Phase B WS-2) Joseph Doherty 2026-06-14 03:12:48 -04:00
  • f44d8d1e6b feat(alarms): carry transition Kind on AlarmEventArgs; Galaxy populates it (Phase B WS-1) Joseph Doherty 2026-06-14 03:04:44 -04:00
  • a996f03b5b docs(galaxy): Phase B native-alarms implementation plan + tasks Joseph Doherty 2026-06-14 02:58:12 -04:00
  • 90096e9c00 docs(galaxy): Phase B native-alarms design (equipment-tag path) Joseph Doherty 2026-06-14 02:50:34 -04:00