Commit Graph

  • 8ac3ac5be9 feat(alarms): carry AlarmTypeName + operator Comment on AlarmTransitionEvent (historian feed prep) Joseph Doherty 2026-06-11 11:03:00 -04:00
  • cd72f79ef4 docs(plan): alarm follow-ups round 2 implementation plan (T0-T5) Joseph Doherty 2026-06-11 10:56:25 -04:00
  • 3ad7960dc2 docs(design): alarm follow-ups round 2 (historian alerts-feeder + Galaxy reconnect verify) Joseph Doherty 2026-06-11 10:51:55 -04:00
  • 521ee75355 docs: redundancy primary-only alarm emission/historization, redundancy-state NodeId+heartbeat fixes, Galaxy reconnect, live-pill Joseph Doherty 2026-06-11 10:18:25 -04:00
  • 7891e28b52 fix(redundancy): periodic heartbeat re-publish so late subscribers learn their role Joseph Doherty 2026-06-11 10:06:46 -04:00
  • e241332a24 fix(redundancy): key redundancy-state snapshot by canonical host:port NodeId (was host-only — broke ServiceLevel + scripted-alarm emit gate) Joseph Doherty 2026-06-11 09:56:17 -04:00
  • 23a4a0093b fix(adminui): guard Alerts chip auto-clear against stale-timer race (review) Joseph Doherty 2026-06-11 09:38:58 -04:00
  • 19ec656cdc feat(adminui): ScriptLog live-pill bound to broadcaster health Joseph Doherty 2026-06-11 09:37:19 -04:00
  • d29c933499 feat(adminui): Alerts timed-shelve picker + chip auto-clear + live-pill health Joseph Doherty 2026-06-11 09:34:33 -04:00
  • f9932f2d8e refactor(admin): use CorrelationId wrapper for alarm ack/shelve commands Joseph Doherty 2026-06-11 09:27:24 -04:00
  • 3a0e0907e4 feat(adminui): add connection-health signal to in-process broadcaster + bridges Joseph Doherty 2026-06-11 09:20:36 -04:00
  • 565b77e6cf fix(galaxy): unify IsConnected with _connected guard; AttachForTests marks connected (review) Joseph Doherty 2026-06-11 09:16:51 -04:00
  • 43b96441a5 fix(galaxy): reconnect recreates a faulted session instead of no-op'ing Joseph Doherty 2026-06-11 09:10:52 -04:00
  • 4f291ed09c test(redundancy): cover absent-node default-historize for HistorianAdapter (A2) Joseph Doherty 2026-06-11 09:02:02 -04:00
  • 0742946108 feat(redundancy): gate alarm historization on Primary (A2, defensive — actor currently unfed) Joseph Doherty 2026-06-11 08:57:41 -04:00
  • 9ac9f0b7a9 test(redundancy): cover Detached suppression + absent-node default-emit (A1) Joseph Doherty 2026-06-11 08:50:59 -04:00
  • 06c415598c feat(redundancy): gate scripted-alarm alerts publish on Primary (A1) Joseph Doherty 2026-06-11 08:44:44 -04:00
  • 535787bd85 docs(plan): alarm follow-ups implementation plan (T0-T10) Joseph Doherty 2026-06-11 08:28:37 -04:00
  • bcb9f45cb3 docs(design): alarm ack/shelve follow-ups (redundancy double-emit, Timed-shelve UI, T21 minors, rig cleanup, Galaxy reconnect, live-pill) Joseph Doherty 2026-06-11 08:23:58 -04:00
  • bc9843d2bd docs(plan): mark T17-T24 inbound-ack complete + merged-to-master Joseph Doherty 2026-06-11 08:08:37 -04:00
  • 87e433871e docs: document inbound alarm ack/shelve (AlarmAck gate, alarm-commands, AdminUI/CLI) + remove scratch files Joseph Doherty 2026-06-11 07:49:41 -04:00
  • d860b0d8a6 fix(adminui): dispose Alerts CTS + self-render ShowOpResult (T21 review) Joseph Doherty 2026-06-11 06:50:06 -04:00
  • 370a2b7b48 feat(alerts): AdminUI alarm ack/shelve via AdminOperationsActor singleton Joseph Doherty 2026-06-11 06:44:27 -04:00
  • f742050ebd docs(opcua): explain intentional CommentAdded/Retain delta-gate suppression (T20 review) Joseph Doherty 2026-06-11 06:38:31 -04:00
  • 1d7e2a0f8b fix(runtime): reject empty AddComment instead of silently swallowing it Joseph Doherty 2026-06-11 06:32:53 -04:00
  • 004558c241 fix(alarms): delta-gate WriteAlarmCondition to suppress inbound ack double-emit (T20) Joseph Doherty 2026-06-11 06:26:48 -04:00
  • 4f7999eac2 feat(alarms): consume alarm-commands topic in ScriptedAlarmHostActor (T19) Joseph Doherty 2026-06-11 06:23:08 -04:00
  • 1784eedd3f fix(opcua): exempt OnTimedUnshelve from the client AlarmAck gate (system-initiated) Joseph Doherty 2026-06-11 06:16:30 -04:00
  • 63289d377c feat(alarms): route inbound Part 9 alarm methods through AlarmAck gate (T18) Joseph Doherty 2026-06-11 06:05:39 -04:00
  • ac5db0a9f8 fix(client): TimedShelve milliseconds + shelve node guard + service-layer tests Joseph Doherty 2026-06-11 05:57:40 -04:00
  • 4b38a9d8c8 harden(security): freeze RoleCarryingUserIdentity.Roles to a defensive copy Joseph Doherty 2026-06-11 05:53:11 -04:00
  • 1f172e55f7 feat(client-cli): add ack/confirm/shelve alarm commands with service layer Joseph Doherty 2026-06-11 05:46:25 -04:00
  • a6fed85ac9 feat(security): carry LDAP roles onto session identity (T17) Joseph Doherty 2026-06-11 05:42:27 -04:00
  • 2b890fa716 docs(plan): re-scope script-log Layer 2 inbound-ack into T17-T24 Joseph Doherty 2026-06-11 05:37:54 -04:00
  • 74e1abdf32 docs(plan): record disable-login feature merged to master (2ad1dbc8) Joseph Doherty 2026-06-11 05:37:54 -04:00
  • 2ad1dbc894 fix(security): AutoLoginAuthenticationHandler no-op sign-in/out (avoid 500 on /auth/logout when flag on) Joseph Doherty 2026-06-11 04:45:29 -04:00
  • 82fec753c8 feat(security): wire Security:Auth:DisableLogin into AddOtOpcUaAuth Joseph Doherty 2026-06-11 04:39:23 -04:00
  • caeaae21f9 feat(security): AutoLoginAuthenticationHandler for dev login bypass Joseph Doherty 2026-06-11 04:31:07 -04:00
  • a27e82c8d1 chore(dev): Security:Auth:DisableLogin default off; enable in docker-dev central nodes Joseph Doherty 2026-06-11 04:29:47 -04:00
  • a92ba6a10b feat(security): add AuthDisableLoginOptions + DevAuthRoles for dev login bypass Joseph Doherty 2026-06-11 04:26:20 -04:00
  • bc31b6a4de docs(adminui): implementation plan for Security:Auth:DisableLogin dev flag Joseph Doherty 2026-06-11 04:24:00 -04:00
  • 789176738f docs(adminui): design for Security:Auth:DisableLogin dev flag Joseph Doherty 2026-06-11 04:19:43 -04:00
  • 43e8a37ded chore(plan): mark T0-T16 complete; T17-T20 deferred (Layer 2 partial) Joseph Doherty 2026-06-11 01:25:17 -04:00
  • 4c417f7fb8 fix(scripted-alarms): log failed event-report via SDK trace + correct sink doc (T16 review) Joseph Doherty 2026-06-10 19:53:33 -04:00
  • 295bb55dc6 feat(scripted-alarms): fire Part 9 condition events on transition (T16) Joseph Doherty 2026-06-10 19:50:09 -04:00
  • ab5d0752d8 fix(scripted-alarms): atomic alarm-condition lookup under Lock (T15 review) Joseph Doherty 2026-06-10 19:45:24 -04:00
  • 4eb1d65e2b feat(scripted-alarms): richer AlarmConditionState bridge to the OPC UA node (T15) Joseph Doherty 2026-06-10 19:41:16 -04:00
  • b31d7cb03f fix(scripted-alarms): lock CreateVariable + RemoveRootNotifier on rebuild (T14 review) Joseph Doherty 2026-06-10 19:26:01 -04:00
  • 60d48a2a0a feat(scripted-alarms): materialise real Part 9 AlarmConditionState nodes (T14) Joseph Doherty 2026-06-10 19:19:10 -04:00
  • 4217b213b0 docs(scripted-alarms): F14b OPC UA Part 9 SDK research notes (T13) Joseph Doherty 2026-06-10 18:19:52 -04:00
  • a8640a9331 test(scripted-alarms): cover bootstrap-restore path forwarding alarms (T10 review) Joseph Doherty 2026-06-10 15:24:39 -04:00
  • fc0d43a3dc refactor(scripted-alarms): retire orphaned ScriptedAlarmActor + F9b evaluator (T11) Joseph Doherty 2026-06-10 15:22:26 -04:00
  • 5256761368 feat(scripted-alarms): spawn + apply ScriptedAlarmHostActor in DriverHostActor (T10) Joseph Doherty 2026-06-10 15:17:29 -04:00
  • dafaf2faec fix(scripted-alarms): ScriptedAlarmHostActor review fixes — load-gen guard, quiet cancel, parse guard (T9 review) Joseph Doherty 2026-06-10 15:08:54 -04:00
  • 3b418a54f1 feat(scripted-alarms): ScriptedAlarmHostActor — engine runtime host (T9) Joseph Doherty 2026-06-10 14:57:42 -04:00
  • c9590c03d0 fix(scripted-alarms): harden artifact boolean decode + direct helper tests (T6 review) Joseph Doherty 2026-06-10 14:47:24 -04:00
  • 8e8ca9efe8 feat(scripted-alarms): DeploymentArtifact byte-parity for the alarm plan (T6) Joseph Doherty 2026-06-10 14:41:46 -04:00
  • 55101baaa4 refactor(scripted-alarms): review-fix polish for T5/T7/T8 (observer isolation, warning hoist, doc) Joseph Doherty 2026-06-10 14:32:49 -04:00
  • b28c6bdb62 feat(scripted-alarms): EquipmentScriptedAlarmPlan + Phase7Composer enrichment (T5) Joseph Doherty 2026-06-10 14:21:28 -04:00
  • 1c96fe0be0 feat(scripted-alarms): EfAlarmConditionStateStore (T8) Joseph Doherty 2026-06-10 14:21:19 -04:00
  • 945ccd0b85 feat(scripted-alarms): DependencyMuxTagUpstreamSource (T7) Joseph Doherty 2026-06-10 14:20:02 -04:00
  • b5748288df test(scriptlog): prove bridge→broadcaster delivery off the script-logs DPS topic Joseph Doherty 2026-06-10 13:53:34 -04:00
  • c42a056537 chore(plan): Layer 0 complete (T0-T3) — tracking update Joseph Doherty 2026-06-10 12:09:56 -04:00
  • 788bb68d1d fix(scripting): companion sink falls back to ScriptId for the main-log mirror (T3 review) Joseph Doherty 2026-06-10 12:08:29 -04:00
  • bd2dd05a0c feat(scripting): evaluators log through root script logger → script-log page (F8) Joseph Doherty 2026-06-10 12:03:51 -04:00
  • bf86b3def6 fix(scripting): explicit companion logger + disposable ScriptRootLogger (T2 review) Joseph Doherty 2026-06-10 11:56:51 -04:00
  • 73014258ef feat(scripting): root script logger + DPS publisher wired in Host Joseph Doherty 2026-06-10 11:50:50 -04:00
  • 14fe88fc80 feat(scripting): ScriptLogTopicSink — script LogEvent → ScriptLogEntry → publisher Joseph Doherty 2026-06-10 11:38:54 -04:00
  • 12423899aa docs(plan): script-log emit + scripted-alarm runtime implementation plan + tasks Joseph Doherty 2026-06-10 11:34:01 -04:00
  • df4c265753 docs(design): script-log engine emit + scripted-alarm runtime (3-layer) Joseph Doherty 2026-06-10 11:28:13 -04:00
  • ac1e1dfd12 fix(adminui): auto-generate ScriptId (SC-…) + drop the Language picker on ScriptEdit Joseph Doherty 2026-06-10 09:07:38 -04:00
  • 27c34a556a docs(scripting): document {{equip}} equipment-relative tag paths Joseph Doherty 2026-06-10 08:14:25 -04:00
  • 6c23a6763a test(adminui): DB-backed tests for ScriptTagCatalog.GetEquipmentRelativeLeavesAsync Joseph Doherty 2026-06-10 08:12:52 -04:00
  • a7c1d7f7cb test(adminui): cover divergent-prefix {{equip}} rejection; use EquipToken constant in message Joseph Doherty 2026-06-10 08:08:13 -04:00
  • c7041a24e7 feat(adminui): {{equip}}-aware hover + {{equip}}. leaf completion in the script editor Joseph Doherty 2026-06-10 08:04:51 -04:00
  • cadd6c60b7 feat(adminui): reject {{equip}} virtual tags whose equipment has no derivable base Joseph Doherty 2026-06-10 07:58:38 -04:00
  • 66ea9c56f6 feat(runtime): DeploymentArtifact substitutes {{equip}} (parity with composer) Joseph Doherty 2026-06-10 07:53:20 -04:00
  • a4b36c54ba feat(opcuaserver): Phase7Composer substitutes {{equip}} per equipment Joseph Doherty 2026-06-10 07:49:28 -04:00
  • f431504825 feat(commons): EquipmentScriptPaths — derive base + {{equip}} substitution + shared dep extraction Joseph Doherty 2026-06-10 07:42:14 -04:00
  • 26bccd82e0 test(commons): scaffold Commons.Tests project Joseph Doherty 2026-06-10 07:38:57 -04:00
  • 084c8a28e7 docs(scripting): implementation plan for equipment-relative tag paths ({{equip}}) Joseph Doherty 2026-06-10 07:36:59 -04:00
  • 5044664379 docs(scripting): design for equipment-relative tag paths ({{equip}}) Joseph Doherty 2026-06-10 07:27:44 -04:00
  • 142635b402 feat(adminui): tag-path hover (tag kind/type/driver inside ctx.GetTag literals) Joseph Doherty 2026-06-10 05:43:45 -04:00
  • 688a003d1d fix(adminui): tag-path completion replaces the whole dotted path, not just the last segment Joseph Doherty 2026-06-09 17:06:55 -04:00
  • da80195599 fix(adminui): render Monaco overflow widgets in a body-level node Joseph Doherty 2026-06-09 17:01:18 -04:00
  • 5c3aa4d211 Merge feat/monaco-script-editor: Roslyn-backed Monaco script editor Joseph Doherty 2026-06-09 15:55:48 -04:00
  • 8aec438cc5 chore(plan): mark Monaco script-editor plan complete (all 14 tasks) Joseph Doherty 2026-06-09 15:52:57 -04:00
  • 4d12088fa2 docs(scripting): Monaco script-editor guide + refresh Scripts page banner Joseph Doherty 2026-06-09 15:50:49 -04:00
  • 72fcde5b44 fix(adminui): auto-suggest tag paths inside string literals (quickSuggestions.strings) Joseph Doherty 2026-06-09 15:46:30 -04:00
  • 9444348c0d fix(adminui): forward insertTextRules + correct Monaco completion-kind icons Joseph Doherty 2026-06-09 15:31:16 -04:00
  • fc7dc3b57d feat(adminui): inline script-source editor in the virtual-tag modal Joseph Doherty 2026-06-09 15:17:25 -04:00
  • 088fc50ef2 feat(adminui): ScriptEdit uses MonacoEditor; drop CDN loader Joseph Doherty 2026-06-09 15:11:13 -04:00
  • 071bed5f94 feat(adminui): wire Monaco language providers to /api/script-analysis Joseph Doherty 2026-06-09 15:09:06 -04:00
  • 4a2f7e37e5 feat(adminui): script document formatting (NormalizeWhitespace) Joseph Doherty 2026-06-09 15:06:40 -04:00
  • 9104b6c614 feat(adminui): script hover + signature help Joseph Doherty 2026-06-09 14:59:12 -04:00
  • 521fb61e44 feat(adminui): tag-path completion inside ctx.GetTag/SetVirtualTag literals Joseph Doherty 2026-06-09 14:53:15 -04:00
  • d1434933b4 feat(adminui): IScriptTagCatalog for tag-path completion Joseph Doherty 2026-06-09 14:41:40 -04:00
  • 93f5a745a3 feat(adminui): scope + dot-member script completions Joseph Doherty 2026-06-09 14:33:20 -04:00
  • 6a9b052fc7 feat(adminui): script diagnostics (Roslyn + forbidden-type + dynamic-path) Joseph Doherty 2026-06-09 14:22:49 -04:00
  • b54a6ad29f feat(adminui): script-analysis contracts, wrapper seam, endpoints + DI Joseph Doherty 2026-06-09 14:11:43 -04:00