This website requires JavaScript.
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