Commit Graph

  • 8cfb8e920e feat(s7): Timer/Counter read (read-only) + route Timer/Counter through buffer path Joseph Doherty 2026-06-17 06:03:47 -04:00
  • 5db08e9e85 feat(s7): DateTime (S7 DATE_AND_TIME) scalar read+write via S7.Net.Types.DateTime Joseph Doherty 2026-06-17 05:54:08 -04:00
  • 1e5fec2f85 feat(s7): String (S7 STRING) scalar read+write via S7.Net.Types.S7String Joseph Doherty 2026-06-17 05:50:49 -04:00
  • 286be5df88 feat(s7): byte-buffer codec dispatch + Int64/UInt64/LReal scalar read+write Joseph Doherty 2026-06-17 05:38:18 -04:00
  • 06b858eb02 feat(s7): unblock wide-type/Timer-Counter init guards + fix Int64/UInt64 node mapping Joseph Doherty 2026-06-17 05:24:48 -04:00
  • b1256bcbf2 docs(phase4d): S7 wide-types implementation plan + tasks.json Joseph Doherty 2026-06-17 05:17:50 -04:00
  • eb7f3c49ee docs(phase4d): S7 wide types + Timer/Counter design (approved) Joseph Doherty 2026-06-17 05:15:42 -04:00
  • 12e114b3b0 chore(phase4c): mark tasks complete + record follow-ups (shipped 0f92e9e2) Joseph Doherty 2026-06-16 23:02:23 -04:00
  • 0f92e9e238 fix(adminui): reject AbLegacy array length >256 at author-time (review I-3) Joseph Doherty 2026-06-16 22:31:42 -04:00
  • 3bb2031d1d fix(opcua): array equipment-tag nodes are read-only (array writes out of scope, review M-1) Joseph Doherty 2026-06-16 22:31:15 -04:00
  • 5f7a2acd27 fix(abcip): isArray:true without a positive arrayLength is scalar (review I-2 consistency) Joseph Doherty 2026-06-16 22:30:11 -04:00
  • d30fb77e31 fix(s7): use ArrayCount!.Value in DecodeArrayBlock (review I-1 clarity) Joseph Doherty 2026-06-16 22:29:26 -04:00
  • 05c7e86f0c docs(phase4c): cross-driver 1-D array support + isArray/arrayLength keys + coverage matrix Joseph Doherty 2026-06-16 22:18:55 -04:00
  • 94e8c55b5c fix(abcip): explicit IsArray flag so 1-element arrays read as arrays (review I-1) Joseph Doherty 2026-06-16 22:14:41 -04:00
  • ce5d46be08 fix(ablegacy): gate array read on isArray:true; 1-element arrays + assumption comments (review C-2/I-3) Joseph Doherty 2026-06-16 22:14:36 -04:00
  • 3bbe39c166 fix(s7): treat ArrayCount>=1 as array so 1-element arrays read as arrays (review I-2) Joseph Doherty 2026-06-16 22:12:30 -04:00
  • 49ac1392a8 fix(modbus): gate array read on isArray:true; 1-element arrays (review C-1) Joseph Doherty 2026-06-16 22:12:18 -04:00
  • 3e74239532 feat(twincat): 1-D array symbol read via ADS + IsArray discovery Joseph Doherty 2026-06-16 21:59:17 -04:00
  • 950069392c feat(ablegacy): PCCC multi-element file array read + IsArray discovery Joseph Doherty 2026-06-16 21:55:41 -04:00
  • f4d5a5ee9c feat(abcip): 1-D array read via libplctag + IsArray discovery Joseph Doherty 2026-06-16 21:55:20 -04:00
  • a82c22c645 feat(s7): 1-D array block read + decode loop + IsArray discovery Joseph Doherty 2026-06-16 21:54:50 -04:00
  • 8d3dc32148 feat(modbus): String + BitInRegister array decode + equipment-tag arrayLength Joseph Doherty 2026-06-16 21:51:55 -04:00
  • c2006dfb57 feat(adminui): driver-agnostic isArray/arrayLength Tag-modal control Joseph Doherty 2026-06-16 21:50:27 -04:00
  • eb8a8dc19d test(runtime): cover disabled-array + zero-length in artifact parity round-trip (review) Joseph Doherty 2026-06-16 21:45:19 -04:00
  • 0a747c343d feat(runtime): decode IsArray/ArrayLength byte-parity in DeploymentArtifact Joseph Doherty 2026-06-16 21:40:22 -04:00
  • 584e9f2aee test(opcua): applier forwards array params + overflow rows + doc fix (review) Joseph Doherty 2026-06-16 21:36:38 -04:00
  • 71cc417182 feat(opcua): EquipmentTagPlan IsArray/ArrayLength + composer ExtractTagArray + applier wire-in Joseph Doherty 2026-06-16 21:27:43 -04:00
  • 3172b7bdee test(opcua): cover null-arrayLength dimension + tighten scalar assertion (review) Joseph Doherty 2026-06-16 21:22:43 -04:00
  • a792820283 feat(opcua): EnsureVariable array params (ValueRank=OneDimension + ArrayDimensions) Joseph Doherty 2026-06-16 21:16:07 -04:00
  • 9dfabd279f docs(phase4c): implementation plan + tasks.json (12 tasks, big-bang all 5 drivers) Joseph Doherty 2026-06-16 21:10:50 -04:00
  • efccd8d1a6 docs(phase4c): design — cross-driver OPC UA array support (big-bang, all 5 drivers) Joseph Doherty 2026-06-16 21:06:59 -04:00
  • 050164b21f chore(phase4b): mark tasks complete + record follow-ups (shipped 08a65513) Joseph Doherty 2026-06-16 20:15:37 -04:00
  • 08a6551360 docs(phase4b): Modbus driver-type canonical + Galaxy nesting + FOCAS auto-scale (managed-backend caveat) Joseph Doherty 2026-06-16 19:58:11 -04:00
  • 6855be288f feat(focas): per-axis auto-scale from cnc_getfigure figures (manual config = fallback) Joseph Doherty 2026-06-16 19:52:45 -04:00
  • a40c77de87 fix(adminui): flip remaining ModbusTcp test seeds + doc comments to Modbus (review) Joseph Doherty 2026-06-16 19:51:56 -04:00
  • bec37848d5 fix(galaxy): degrade all parent-cycle members to root (review) Joseph Doherty 2026-06-16 19:51:20 -04:00
  • 21c7645da8 feat(galaxy): nest gobject browse tree by parent_gobject_id (degrade-to-flat) Joseph Doherty 2026-06-16 19:41:26 -04:00
  • 8b4675b1a5 fix(adminui): canonicalize Modbus driver-type string on "Modbus" (was ModbusTcp) Joseph Doherty 2026-06-16 19:39:41 -04:00
  • 3fcbc70cba feat(focas): add cnc_getfigure per-axis position-figure client binding Joseph Doherty 2026-06-16 19:38:49 -04:00
  • 2b66309c15 plan(phase4b): Mac-verifiable driver gaps implementation plan + tasks.json Joseph Doherty 2026-06-16 19:23:03 -04:00
  • f90017bc9a design(phase4b): Mac-verifiable driver gaps (Modbus reconcile + Galaxy nesting + FOCAS auto-scale) Joseph Doherty 2026-06-16 19:17:19 -04:00
  • c081917a69 chore(phase8): reconcile per-cluster-scoping tasks.json (already shipped; bookkeeping was stale) Joseph Doherty 2026-06-16 18:51:49 -04:00
  • 9a28e46d6e chore(phase7): mark tasks complete (shipped 1122dcdc) Joseph Doherty 2026-06-16 18:41:30 -04:00
  • 1122dcdc57 polish(client-ui): clearer Shelve/Unshelve success messages (review) Joseph Doherty 2026-06-16 18:38:58 -04:00
  • 4675bd6139 test(client-ui): cover Confirm missing-ConditionId + Shelve/Confirm exception paths (review) Joseph Doherty 2026-06-16 18:34:30 -04:00
  • 336879990c docs(phase7): desktop client alarm Ack/Shelve/Confirm actions Joseph Doherty 2026-06-16 18:32:26 -04:00
  • fd986c3bd3 fix(client-ui): relabel Shelve dialog button to Unshelve when that kind is selected (review) Joseph Doherty 2026-06-16 18:31:32 -04:00
  • 6a61f35ac0 feat(client-ui): Shelve/Confirm context-menu items with per-item enablement Joseph Doherty 2026-06-16 18:28:19 -04:00
  • a774bb088d feat(client-ui): ConfirmAlarmWindow dialog (comment) Joseph Doherty 2026-06-16 18:25:29 -04:00
  • 60da9224bf feat(client-ui): ShelveAlarmWindow dialog (kind + duration) Joseph Doherty 2026-06-16 18:25:28 -04:00
  • 4f55d894a2 feat(client-ui): AlarmsViewModel Shelve/Confirm methods + CanShelve/CanConfirm Joseph Doherty 2026-06-16 18:23:11 -04:00
  • 8980adceb3 test(client-ui): track Shelve/Confirm calls + exceptions in FakeOpcUaClientService Joseph Doherty 2026-06-16 18:19:29 -04:00
  • 6707be2a31 docs(phase7): implementation plan + task persistence (8 tasks) Joseph Doherty 2026-06-16 17:51:56 -04:00
  • 573728b58b docs(phase7): design — Client.UI alarm Ack/Shelve/Confirm via context menu Joseph Doherty 2026-06-16 17:47:25 -04:00
  • ad3ec9d97e chore(phase6): mark tasks complete + record live /run results and follow-ups Joseph Doherty 2026-06-16 17:32:12 -04:00
  • 23f353e79b test(adminui): close Phase 6 review test-gaps + Enterprise-delete warning Joseph Doherty 2026-06-16 17:10:40 -04:00
  • cbaf1c39ce docs(phase6): AdminUI editors, pickers, deletes, new-script Joseph Doherty 2026-06-16 17:08:08 -04:00
  • 68f9eef62d fix(adminui): preserve historize on Galaxy re-pick + clear stale script-create error (review) Joseph Doherty 2026-06-16 17:03:38 -04:00
  • 069a5f3165 feat(adminui): Galaxy picker pre-fills native-alarm fields from IsAlarm Joseph Doherty 2026-06-16 16:55:05 -04:00
  • 9a8b8ff6f6 feat(adminui): Build-address pickers in the protocol-driver Tag editors Joseph Doherty 2026-06-16 16:54:29 -04:00
  • c00a547191 feat(adminui): isHistorized + historianTagname as first-class Tag fields Joseph Doherty 2026-06-16 16:44:46 -04:00
  • c98625fd9f feat(adminui): create-new-script from the inline virtual-tag panel Joseph Doherty 2026-06-16 16:44:14 -04:00
  • 526eebb3bb feat(adminui): UNS-tree delete for Cluster + Enterprise (refuse-if-children, no rowversion) Joseph Doherty 2026-06-16 16:35:07 -04:00
  • 6a8020e7e7 feat(adminui): native-alarm HistorizeToAveva opt-out Joseph Doherty 2026-06-16 16:27:31 -04:00
  • 72d414ada7 feat(adminui): typed TagConfig editors for OpcUaClient + Historian Joseph Doherty 2026-06-16 16:25:19 -04:00
  • 39755d717d docs(phase6): implementation plan + task persistence (10 tasks, execution deferred to post-compaction) Joseph Doherty 2026-06-16 16:11:42 -04:00
  • dbff29dddf docs(phase6): design — AdminUI typed editors, pickers & UX (destaled scope, #7 deferred) Joseph Doherty 2026-06-16 16:09:06 -04:00
  • 156aa900ee chore(phase5): mark task persistence completed (merged 1164d423) Joseph Doherty 2026-06-16 07:35:17 -04:00
  • 1164d423b6 fix(probe): Galaxy gRPC ping — drop invalid Retry, treat MxGatewayAuth exceptions as reachable (live /run) Joseph Doherty 2026-06-16 07:32:59 -04:00
  • af280af842 docs(phase5): correct FOCAS probe binding — direct DllImport, not WireFocasClient (integration review) Joseph Doherty 2026-06-16 07:12:48 -04:00
  • 961b2b558d docs(phase5): real Test-Connect handshakes per driver + degrade semantics Joseph Doherty 2026-06-16 07:06:47 -04:00
  • 5df3c73204 fix(probe): bound AbLegacy handshake by timeout CTS + stop sw; correct FOCAS timeout comment (code-review) Joseph Doherty 2026-06-16 07:03:55 -04:00
  • 9bfbbb0fd8 fix(probe): bound OpcUaClient/AbCip handshakes by timeout CTS; IPv4 preflight; stop sw (code-review) Joseph Doherty 2026-06-16 06:56:16 -04:00
  • 2d688c2a6d feat(probe): Galaxy Test-Connect does a gRPC ping (auth-rejection counts as reachable) Joseph Doherty 2026-06-16 06:48:40 -04:00
  • b663ae6eff feat(probe): TwinCAT Test-Connect does an ADS ReadState (degrade-guarded) Joseph Doherty 2026-06-16 06:48:22 -04:00
  • 5ed0276ffb feat(probe): FOCAS Test-Connect attempts a cnc_allclibhndl3 handshake (degrade-guarded) Joseph Doherty 2026-06-16 06:45:19 -04:00
  • 21f3e8feab feat(probe): AbLegacy Test-Connect opens a real PCCC session (libplctag init) Joseph Doherty 2026-06-16 06:44:15 -04:00
  • 0c08b152c2 feat(probe): AbCip Test-Connect opens a real CIP session (libplctag init) Joseph Doherty 2026-06-16 06:39:46 -04:00
  • 957a63cfdb feat(probe): OpcUaClient Test-Connect does a GetEndpoints discovery handshake Joseph Doherty 2026-06-16 06:39:27 -04:00
  • 9a8336ff6e feat(probe): S7 Test-Connect does a real ISO-on-TCP + S7 setup handshake Joseph Doherty 2026-06-16 06:38:51 -04:00
  • 9b909002be feat(probe): Modbus Test-Connect does a real FC03 handshake Joseph Doherty 2026-06-16 06:36:48 -04:00
  • 2f7c6bf963 docs(phase5): implementation plan + task persistence (8 probe handshakes) Joseph Doherty 2026-06-16 06:32:15 -04:00
  • 1f2d32ac1e docs(phase5): design — Test-Connect protocol handshakes (all 8 probes, best-effort) Joseph Doherty 2026-06-16 06:28:21 -04:00
  • 050f5c4b60 docs(historian): Total aggregate is server-side OPC UA only, not the bundled CLI (integration review) Joseph Doherty 2026-06-16 05:55:18 -04:00
  • f9b38c0a61 docs(phase4): Modbus Int64/UInt64, FOCAS fail-fast+scaling, Historian Total+dead-letter cap Joseph Doherty 2026-06-16 05:47:04 -04:00
  • 88d9e3b1a8 docs(focas): correct stale LastFixedSnapshots comment after double widening (code-review) Joseph Doherty 2026-06-16 05:42:38 -04:00
  • 4973075291 feat(focas): scale axis positions by 10^PositionDecimalPlaces (config-supplied) Joseph Doherty 2026-06-16 05:32:36 -04:00
  • fcb3801415 fix(historian): dead-letter poison events after maxAttempts (finding 002) Joseph Doherty 2026-06-16 05:25:43 -04:00
  • 5e27b5f708 feat(historian): support Total aggregate (client-side Average x interval-seconds) Joseph Doherty 2026-06-16 05:24:56 -04:00
  • 5c5aaef609 fix(focas): fail-fast at init on unimplemented backend (operator footgun) Joseph Doherty 2026-06-16 05:24:41 -04:00
  • bd8fee610b fix(modbus): surface Int64/UInt64 node DataType (Driver.Modbus-007) Joseph Doherty 2026-06-16 05:23:47 -04:00
  • 97c087f2af docs(phase4): implementation plan + tasks.json (5 data-type tier tasks) Joseph Doherty 2026-06-16 05:21:00 -04:00
  • 57d9f1b38e docs(phase4): data-type tier design — Modbus Int64/UInt64 node type, FOCAS fail-fast+scaling, Historian Total+dead-letter (S7+arrays deferred) Joseph Doherty 2026-06-16 05:18:19 -04:00
  • 7eeb9fb0f5 docs(alarms): note native ack during reconnect is best-effort (integration review) Joseph Doherty 2026-06-15 15:09:58 -04:00
  • 8899d6e091 test(galaxy): assert current Write/Subscribe guard text (PR 4.4/4.W refs removed in Phase 0 b4af9e7f) Joseph Doherty 2026-06-15 15:03:38 -04:00
  • db22c2b19a docs(alarms): OPC UA Enable/Disable wired + native-ack→AVEVA with principal + HistoryUpdate permission bit Joseph Doherty 2026-06-15 14:59:10 -04:00
  • 30315185a3 feat(alarms): wire NativeAlarmAckRouter to DriverHostActor in host DI [H6e] Joseph Doherty 2026-06-15 14:54:12 -04:00
  • 93d9160dae feat(alarms): DriverHostActor routes native-condition acks to the owning driver [H6d] Joseph Doherty 2026-06-15 14:46:00 -04:00
  • 87dd65b97a test(alarms): native ack wrong-role deny + tidy NativeAlarmAck doc (code-review) Joseph Doherty 2026-06-15 14:39:26 -04:00
  • a6d9de091b feat(alarms): native condition Acknowledge routes to NativeAlarmAckRouter with principal [H6c] Joseph Doherty 2026-06-15 14:33:58 -04:00