Commit Graph

  • 1d797c1c8a docs(opcua): fix stale NodeWriteRouter reference in EnsureVariable comment Joseph Doherty 2026-06-14 01:45:35 -04:00
  • c1e921de0b fix(opcua): RunContinuationsAsynchronously so revert never re-enters the write Lock Joseph Doherty 2026-06-14 01:39:47 -04:00
  • 590e497872 fix(runtime): narrow ActorNodeWriteGateway catch + drop vacuous no-actor assertion Joseph Doherty 2026-06-14 01:32:34 -04:00
  • 10efcf4517 feat(opcua): write-outcome self-correction — capture prior + compare-and-revert on failure Joseph Doherty 2026-06-14 01:30:20 -04:00
  • 526ddb6a57 feat(runtime): ActorNodeWriteGateway — Asks RouteNodeWrite, returns NodeWriteOutcome Joseph Doherty 2026-06-14 01:23:43 -04:00
  • 0f7c47a559 feat(commons): IOpcUaNodeWriteGateway + NodeWriteOutcome for write-outcome routing Joseph Doherty 2026-06-14 01:20:14 -04:00
  • 8a79cb0ec7 docs(design): write-outcome self-correction (surface real device-write status, #5) Joseph Doherty 2026-06-14 01:13:38 -04:00
  • 945c238039 docs(plans): harden-milestone-1b plan + task record Joseph Doherty 2026-06-14 00:51:05 -04:00
  • 190ef34e6f docs(security): document the GroupToRole data-plane role requirement Joseph Doherty 2026-06-14 00:45:28 -04:00
  • 97d82dda46 test(runtime): future-enum trap for AccessLevel->Writable parity Joseph Doherty 2026-06-14 00:45:00 -04:00
  • 7e405e949b fix(runtime): swallow self SubscriptionFailed too (symmetric to SubscriptionEstablished) Joseph Doherty 2026-06-14 00:42:31 -04:00
  • f77488eed9 fix(galaxy): invalidate writer handle caches on session reconnect Joseph Doherty 2026-06-14 00:39:24 -04:00
  • 42b4a923fd fix(runtime): fast-fail writes in degraded driver states + swallow self SubscriptionEstablished Joseph Doherty 2026-06-14 00:34:37 -04:00
  • 99eea0b455 test(runtime): raw-blob routing test uses a no-FullName protocol blob (genuine #4d case) Joseph Doherty 2026-06-14 00:26:10 -04:00
  • 46f559f5f9 perf(focas): cache equipment-tag parsed addresses (no per-call reparse) Joseph Doherty 2026-06-14 00:20:57 -04:00
  • 4cda275b8d fix(runtime): fast-fail RouteNodeWrite while Stale + micro-opts + raw-blob routing test Joseph Doherty 2026-06-14 00:16:47 -04:00
  • 02e37a6d68 docs(notes): track pending.md + current.md session state Joseph Doherty 2026-06-13 23:41:06 -04:00
  • f05b5d79c4 fix(galaxy): AdviseSupervisory before raw Write so writes commit Joseph Doherty 2026-06-13 22:53:59 -04:00
  • 8d8c05f595 docs(drivers): mark protocol-equipment-tag-linkage plan complete (T0–T12, live-verified) Joseph Doherty 2026-06-13 12:44:29 -04:00
  • bb5832e900 feat(server): inbound operator-write pipeline — OnWriteValue authz gate + node-write router Joseph Doherty 2026-06-13 12:02:34 -04:00
  • a23fb2b82e feat(server): equipment-tag node writability from Tag.AccessLevel (parity-safe, no migration) Joseph Doherty 2026-06-13 11:46:00 -04:00
  • f8f1027287 feat(runtime): NodeId->driver reverse routing + primary-gated RouteNodeWrite Joseph Doherty 2026-06-13 11:44:26 -04:00
  • b031a6ceef feat(s7): resolve equipment-tag refs (read + write) via EquipmentTagRefResolver Joseph Doherty 2026-06-13 11:25:31 -04:00
  • 34a42486dc feat(focas): resolve equipment-tag refs (read + write) via EquipmentTagRefResolver Joseph Doherty 2026-06-13 11:24:45 -04:00
  • 5ebf541f54 feat(twincat): resolve equipment-tag refs (read + write) via EquipmentTagRefResolver Joseph Doherty 2026-06-13 11:24:12 -04:00
  • e2ea720c08 feat(ablegacy): resolve equipment-tag refs (read + write) via EquipmentTagRefResolver Joseph Doherty 2026-06-13 11:23:42 -04:00
  • 9d49cb7bbe feat(abcip): resolve equipment-tag refs (read + write) via EquipmentTagRefResolver Joseph Doherty 2026-06-13 11:23:21 -04:00
  • 232c557985 feat(modbus): resolve equipment-tag refs (read + write) via EquipmentTagRefResolver Joseph Doherty 2026-06-13 11:12:01 -04:00
  • eaa335d779 feat(drivers): shared EquipmentTagRefResolver (by-name + parse-on-miss + cache) Joseph Doherty 2026-06-13 11:07:23 -04:00
  • 6b041c6daa docs(drivers): plan — protocol-driver equipment-tag linkage + write pipeline (13 tasks) Joseph Doherty 2026-06-13 10:51:18 -04:00
  • e58f33584f docs(drivers): design — protocol-driver equipment-tag linkage + inbound write pipeline Joseph Doherty 2026-06-13 10:45:25 -04:00
  • 22d553afd1 docs(opcuaclient): mark plan tasks complete (T0–T2 done, live-verified) Joseph Doherty 2026-06-13 09:37:20 -04:00
  • 9357c001b7 fix(opcuaclient): register the OpcUaClient driver factory (was always stubbed) Joseph Doherty 2026-06-13 08:20:02 -04:00
  • bc9cd464b5 docs(opcuaclient): plan — register OpcUaClient driver factory (3 tasks) Joseph Doherty 2026-06-13 08:14:04 -04:00
  • 5aa1030be9 docs(opcuaclient): design — register the OpcUaClient driver factory (fixes always-stubbed bug) Joseph Doherty 2026-06-13 08:11:41 -04:00
  • c4435e4fd6 feat(runtime): route driver values to folder-scoped equipment NodeIds (live-value delivery) Joseph Doherty 2026-06-13 06:32:38 -04:00
  • 5432d8a021 refactor(opcua): repoint Phase7Applier + VirtualTagHostActor to shared EquipmentNodeIds Joseph Doherty 2026-06-13 06:31:44 -04:00
  • da1accceff feat(runtime): carry DriverInstanceId on AttributeValuePublished (live-value routing key) Joseph Doherty 2026-06-13 06:27:52 -04:00
  • 26816fd17e feat(commons): EquipmentNodeIds — single source of truth for folder-scoped equipment NodeIds Joseph Doherty 2026-06-13 06:26:59 -04:00
  • 891f875f6a docs(live-values): Phase plan — equipment-tag live-value delivery (6 tasks) Joseph Doherty 2026-06-13 06:24:38 -04:00
  • 7e9eb5d17a docs(live-values): design — equipment-tag live-value delivery (FullName→NodeId router) Joseph Doherty 2026-06-13 06:21:40 -04:00
  • c3c5617266 docs(test): neutralize last stale 'SystemPlatform tags' comment (final-review nit) Joseph Doherty 2026-06-12 22:44:10 -04:00
  • b8277922b6 fix(config): also clean NodeAcl + release ExternalIdReservation in SystemPlatform cleanup migration Joseph Doherty 2026-06-12 22:34:13 -04:00
  • 7d25480fee docs(galaxy): neutralize remaining stale SystemPlatform/alias terminology in comments + a test name Joseph Doherty 2026-06-12 22:30:50 -04:00
  • ba42bed538 feat(config): forward-only migration deleting orphaned SystemPlatform namespace data (clean break) Joseph Doherty 2026-06-12 22:25:00 -04:00
  • dcbaf63ab1 feat(config): remove the SystemPlatform NamespaceKind (capstone) — Galaxy is Equipment-kind Joseph Doherty 2026-06-12 22:18:56 -04:00
  • 0945f19a50 feat(adminui): wire Galaxy live-browse picker into the standard TagModal Joseph Doherty 2026-06-12 22:09:22 -04:00
  • 056bfbda1b test(opcua): composer↔artifact byte-parity for a Galaxy equipment tag Joseph Doherty 2026-06-12 22:05:15 -04:00
  • 5edea52bd7 docs(galaxy): fix stale SystemPlatform/alias/Galaxy doc comments (review follow-up) Joseph Doherty 2026-06-12 22:00:52 -04:00
  • b4b7cd7d0f feat(authz): remove SystemPlatform scope + permission-trie walk (Galaxy resolves via Equipment) Joseph Doherty 2026-06-12 21:54:28 -04:00
  • 95be607a07 feat(opcua): remove SystemPlatform-mirror GalaxyTags contract end-to-end (composer+applier+artifact, byte-parity) Joseph Doherty 2026-06-12 21:45:19 -04:00
  • 5dfb797817 refactor(adminui): strip alias/relay machinery from UnsTreeService + EquipmentPage; Galaxy tags use standard TagModal Joseph Doherty 2026-06-12 21:28:13 -04:00
  • ca2698949b refactor(adminui): delete alias-tag/relay-converter files (build red until spine stripped) Joseph Doherty 2026-06-12 21:20:41 -04:00
  • e2c6c15ae0 feat(opcua): remove SystemPlatform mirror producer + Galaxy exception from Phase7Composer Joseph Doherty 2026-06-12 21:17:39 -04:00
  • 47cb5725a9 docs(galaxy): retire alias/SystemPlatform model — Galaxy tags are standard equipment tags Joseph Doherty 2026-06-12 21:17:30 -04:00
  • 499c9b9165 feat(validation): allow GalaxyMxGateway under Equipment; rename Galaxy-tag FullName check Joseph Doherty 2026-06-12 21:11:06 -04:00
  • 1c4052ee83 docs(galaxy): Phase A implementation plan (Galaxy standard driver) Joseph Doherty 2026-06-12 21:05:45 -04:00
  • 91cb907633 docs(galaxy): design — Galaxy as a standard Equipment driver Joseph Doherty 2026-06-12 20:55:08 -04:00
  • db2e4777dd fix(historian-sidecar): close active TCP client on cancel so RunAsync unwinds Joseph Doherty 2026-06-12 13:34:45 -04:00
  • 6218512365 fix(historian-sidecar): don't wedge the TCP listener when Start() bind fails Joseph Doherty 2026-06-12 13:02:22 -04:00
  • 1be06502c7 fix(historian): correct AlarmHistorian config-key refs in docs + install (review) Joseph Doherty 2026-06-12 12:25:13 -04:00
  • fcf84adbad fix(historian-client): cancellable TLS client handshake + default-fields test (review) Joseph Doherty 2026-06-12 12:13:04 -04:00
  • d4ecc9138f feat(adminui): historian TCP-connect probe + TLS form fields Joseph Doherty 2026-06-12 12:07:06 -04:00
  • 6d5fc35747 docs(historian): TCP transport Joseph Doherty 2026-06-12 12:02:50 -04:00
  • ce25581596 feat(install): historian TCP env + firewall rule Joseph Doherty 2026-06-12 12:02:26 -04:00
  • e2960515cf chore(historian): drop dead pipe package ref + stale pipe strings (review) Joseph Doherty 2026-06-12 12:02:05 -04:00
  • 72f32045a4 refactor(historian): remove named-pipe transport Joseph Doherty 2026-06-12 11:51:53 -04:00
  • 6104eaba60 test(historian-client): TCP-ify FakeSidecarServer + client tests Joseph Doherty 2026-06-12 11:46:47 -04:00
  • ac12633087 feat(historian-client): default ctor dials TCP Joseph Doherty 2026-06-12 11:37:42 -04:00
  • 706077f02f feat(historian-sidecar): TCP bootstrap + env, drop allowed-SID Joseph Doherty 2026-06-12 11:34:06 -04:00
  • 999e58c605 fix(historian-sidecar): cancel SocketException guard + version-reject log + TLS test (review) Joseph Doherty 2026-06-12 11:31:04 -04:00
  • fd4d05534e fix(historian-client): dispose TcpClient/SslStream on connect+TLS failure (review) Joseph Doherty 2026-06-12 11:30:39 -04:00
  • 6e152047eb feat(historian-client): TCP connect factory + FrameChannel rename Joseph Doherty 2026-06-12 11:21:28 -04:00
  • 7ce7505a36 feat(historian-host): bind TCP host/port/tls config Joseph Doherty 2026-06-12 11:19:46 -04:00
  • 3528702185 feat(historian-sidecar): TcpFrameServer (TCP + optional TLS) Joseph Doherty 2026-06-12 11:16:28 -04:00
  • 35ac0b8c4e feat(historian-client): add TCP/TLS options fields Joseph Doherty 2026-06-12 11:14:36 -04:00
  • eb6a71abf2 docs(historian): implementation plan for sidecar TCP transport Joseph Doherty 2026-06-12 11:10:41 -04:00
  • 3d3f8a47a9 docs(historian): design for sidecar TCP transport (replace named pipe) Joseph Doherty 2026-06-12 11:03:32 -04:00
  • c6edef0efb fix(install): assert Wonderware sidecar deploy is complete in Refresh-Services Joseph Doherty 2026-06-12 09:41:51 -04:00
  • 57355405a6 chore(security): drop dead audit suppressions; patch OpenTelemetry + Tmds.DBus CVEs Joseph Doherty 2026-06-12 09:03:42 -04:00
  • dc9abf674b fix(deps): bump MessagePack 2.5.187 -> 2.5.301 (CVE-2026-48109 / GHSA-hv8m-jj95-wg3x) Joseph Doherty 2026-06-12 08:04:04 -04:00
  • 8406349a27 chore(plan): mark alias-tag tasks T0–T10 complete Joseph Doherty 2026-06-12 07:55:54 -04:00
  • e77fd3eec0 fix(adminui): converter UI — try/catch + confirm + FleetAdmin gate on per-equipment convert (review) Joseph Doherty 2026-06-11 21:54:21 -04:00
  • 7682d185fb feat(adminui): relay->alias converter UI (per-equipment + fleet-wide /uns/convert-relays) Joseph Doherty 2026-06-11 21:49:43 -04:00
  • 299eaa461c fix(adminui): gate Galaxy picker so it doesn't clobber alias FullName on edit; refresh gateways (review) Joseph Doherty 2026-06-11 21:45:55 -04:00
  • d19271fff8 fix(adminui): converter skips name-collisions + disabled relays (review) Joseph Doherty 2026-06-11 21:44:19 -04:00
  • 2a30d7185a docs: Galaxy alias tags + relay converter (Uns.md, CLAUDE.md) Joseph Doherty 2026-06-11 21:39:12 -04:00
  • 4af27ea173 feat(adminui): AliasTagModal + Tags-tab Add-alias (Galaxy picker) Joseph Doherty 2026-06-11 21:37:04 -04:00
  • 943bc5f709 feat(adminui): ConvertRelayVirtualTagsToAliasesAsync (relay VTag -> alias Tag) Joseph Doherty 2026-06-11 21:32:43 -04:00
  • fe068652b3 fix(adminui): alias update pins invariants + LoadAliasTagAsync + null-driver guard (review) Joseph Doherty 2026-06-11 21:25:06 -04:00
  • 9f13101896 feat(validation): require TagConfig.FullName on Galaxy alias tags; reframe Tag doc Joseph Doherty 2026-06-11 21:21:32 -04:00
  • 53116bdd83 feat(adminui): CreateAliasTagAsync/UpdateAliasTagAsync + Galaxy-gateway guard Joseph Doherty 2026-06-11 21:17:45 -04:00
  • fcc73ccd2d fix(adminui): null Source for alias rows without a FullName (review nits) Joseph Doherty 2026-06-11 21:12:52 -04:00
  • bc9e83ed9f feat(composer): admit GalaxyMxGateway-backed equipment alias tags (+byte-parity) Joseph Doherty 2026-06-11 21:10:21 -04:00
  • 4b4738a891 feat(adminui): alias DTO + Galaxy gateway lookup + Source/IsAlias on tag rows Joseph Doherty 2026-06-11 21:05:02 -04:00
  • 2ba2f8a899 feat(commons): TryParseRelayBody — detect pure ctx.GetTag relay scripts Joseph Doherty 2026-06-11 20:59:10 -04:00
  • 93a9c6d3db docs(plan): Galaxy alias tag implementation plan (T0–T10) Joseph Doherty 2026-06-11 20:31:17 -04:00
  • 305023aa9f docs(design): Galaxy alias tag (UNS) — approved brainstorming design Joseph Doherty 2026-06-11 20:22:32 -04:00
  • 909e0e3664 chore(uns): mark equipment-page plan complete (live-verified + merged) Joseph Doherty 2026-06-11 15:42:38 -04:00
  • d77124b191 chore(uns): mark plan tasks T0–T10 complete (resume snapshot) Joseph Doherty 2026-06-11 15:24:30 -04:00