2025-10-19 - 2026-04-19
Overview
99 Pull requests merged by 1 user
Merged
#102 Phase 6.4 Stream D server-side - IdentificationFolderBuilder (OPC 40010 sub-folder materializer)
Merged
#101 Phase 6.1 Stream B.4 follow-up - ScheduledRecycleHostedService
Merged
#100 v2 release-readiness - blocker #3 closed; all three code-path blockers shut
Merged
#99 Phase 6.3 Stream C core - RedundancyStatePublisher + PeerReachability
Merged
#98 Phase 6.3 Stream A - RedundancyTopology + ClusterTopologyLoader + RedundancyCoordinator
Merged
#97 v2 release-readiness dashboard - blocker #2 closed
Merged
#96 Phase 6.1 Stream D follow-up - SealedBootstrap consumes ResilientConfigReader + StaleConfigFlag; /healthz surfaces flag
Merged
#95 v2 release-readiness dashboard update - blocker #1 closed
Merged
#94 Phase 6.2 Stream C follow-up - wire AuthorizationGate into DriverNodeManager Read/Write/HistoryRead
Merged
#93 v2 release-readiness capstone - aggregate compliance runner + readiness dashboard
Merged
#92 Phase 6.4 exit gate - compliance real-checks + phase doc = SHIPPED (data layer)
Merged
#91 Phase 6.4 Stream A + B data layer - UnsImpactAnalyzer + EquipmentCsvImporter
Merged
#90 Phase 6.3 exit gate - compliance real-checks + phase doc = SHIPPED (core)
Merged
#89 Phase 6.3 Stream B + D core - ServiceLevelCalculator + RecoveryStateManager + ApplyLeaseRegistry
Merged
#88 Phase 6.2 exit gate - compliance script real-checks + phase doc = SHIPPED (core)
Merged
#87 Phase 6.2 Stream D data layer - ValidatedNodeAclAuthoringService
Merged
#86 Phase 6.2 Stream C foundation - AuthorizationGate + ILdapGroupsBearer
Merged
#85 Phase 6.2 Stream B - Permission-trie evaluator (Core.Authorization)
Merged
#84 Phase 6.2 Stream A - LdapGroupRoleMapping entity + migration + CRUD service
Merged
#83 Phase 6.1 exit gate - compliance script real-checks + phase doc status = SHIPPED
Merged
#82 Phase 6.1 Stream E data layer - DriverInstanceResilienceStatus + DriverResilienceStatusTracker + EF migration
Merged
#81 Phase 6.1 Stream D - LiteDB generation-sealed cache + ResilientConfigReader + UsingStaleConfig flag
Merged
#80 Phase 6.1 Stream C - Health endpoints on :4841 + structured logging + Serilog JSON sink
Merged
#79 Phase 6.1 Stream B (partial) - Tier registry invariant + MemoryTracking with hybrid formula
Merged
#78 Phase 6.1 Stream A (partial) - Polly resilience foundation: pipeline builder + CapabilityInvoker + per-tier defaults
Merged
#77 Phase 6 reconcile - merge adjustments into plan bodies, add decisions #143-162, scaffold compliance stubs
Merged
#76 Phase 6 — Four implementation plans for unplanned v2 features, each with codex adversarial review
Merged
#75 Phase 3 PR 76 -- OPC UA Client IHistoryProvider
Merged
#74 Phase 3 PR 75 -- OPC UA Client IAlarmSource
Merged
#73 Phase 3 PR 74 -- OPC UA Client transparent reconnect via SessionReconnectHandler
Merged
#72 Phase 3 PR 73 -- OPC UA Client browse enrichment
Merged
#71 Phase 3 PR 72 -- Multi-endpoint failover for OPC UA Client
Merged
#70 Phase 3 PR 71 -- OpcUaAuthType.Certificate user authentication
Merged
#69 Phase 3 PR 70 -- Apply SecurityPolicy + expand to standard OPC UA policies
Merged
#68 Phase 3 PR 69 -- OPC UA Client ISubscribable + IHostConnectivityProbe
Merged
#67 Phase 3 PR 68 -- OPC UA Client ITagDiscovery (Full browse)
Merged
#66 Phase 3 PR 67 -- OPC UA Client IReadable + IWritable
Merged
#65 Phase 3 PR 66 -- OPC UA Client (gateway) driver scaffold
Merged
#64 Phase 3 PR 65 -- S7 ITagDiscovery + ISubscribable + IHostConnectivityProbe
Merged
#63 Phase 3 PR 64 -- S7 IReadable + IWritable via S7.Net
Merged
#62 Phase 3 PR 63 -- S7AddressParser (DB/M/I/Q/T/C grammar)
Merged
#61 Phase 3 PR 62 -- Siemens S7 native driver project scaffold
Merged
#60 Phase 2 PR 61 -- Close V1_ARCHIVE_STATUS.md: Streams D + E done
Merged
#59 Phase 3 PR 60 -- Mitsubishi MELSEC quirk integration tests
Merged
#58 Phase 3 PR 59 -- MelsecAddress helper with family selector (hex vs octal X/Y)
Merged
#57 Phase 3 PR 58 -- Mitsubishi MELSEC pymodbus profile + smoke
Merged
#56 Phase 3 PR 57 -- S7 byte-order + fingerprint integration tests
Merged
#55 Phase 3 PR 56 -- Siemens S7-1500 pymodbus profile + smoke
Merged
#54 Phase 3 PR 55 -- Mitsubishi MELSEC Modbus TCP quirks research doc
Merged
#53 Phase 3 PR 54 -- Siemens S7 Modbus TCP quirks research doc
Merged
#52 Phase 3 PR 53 -- Transport reconnect-on-drop + SO_KEEPALIVE (DL260 no-keepalive quirk)
Merged
#51 Phase 3 PR 52 -- Modbus exception-code -> OPC UA StatusCode translation
Merged
#50 Phase 3 PR 51 -- DL260 X-input FC02 discrete-input mapping end-to-end test
Merged
#49 Phase 3 PR 50 -- DL260 bit-memory helpers (Y/C/X/SP) + coil integration tests
Merged
#48 Phase 3 PR 49 -- Per-device FC03/FC16 register caps with auto-chunking
Merged
#47 Phase 3 PR 48 -- DL205 CDAB float word order end-to-end test
Merged
#46 Phase 3 PR 47 -- DL205 V-memory octal-address helper
Merged
#45 Phase 3 PR 46 -- DL205 BCD decoder
Merged
#44 Phase 3 PR 45 -- DL205 string byte-order quirk
Merged
#43 Phase 3 PR 44 -- pymodbus validation + IPv4-explicit transport bugfix
Merged
#42 Phase 3 PR 43 — Swap ModbusPal to pymodbus for the integration-test simulator
Merged
#41 Phase 3 PR 42 — ModbusPal simulator profiles for Standard + DL205/DL260
Merged
#40 Phase 3 PR 41 — Document AutomationDirect DL205 / DL260 Modbus quirks
Merged
#39 Phase 3 PR 40 — LiveStack write + subscribe tests against TestMachine_001
Merged
#38 Phase 3 PR 39 — LiveStackFixture skip-with-reason for elevated shells
Merged
#37 Phase 3 PR 38 — DriverNodeManager HistoryRead override (LMX #1 finish)
Merged
#36 Phase 3 PR 37 — End-to-end live-stack Galaxy smoke test
Merged
#35 Phase 3 PR 36 — AVEVA prerequisites test-support library
Merged
#34 Phase 3 PR 35 — IHistoryProvider gains ReadAtTime + ReadEvents; Proxy implements both
Merged
#33 Phase 3 PR 34 — Host-status publisher (Server) + /hosts drill-down page (Admin)
Merged
#32 Phase 3 PR 33 — DriverHostStatus entity + migration (LMX #7 data layer)
Merged
#31 Phase 3 PR 32 — Multi-driver integration test
Merged
#30 Phase 3 PR 31 — Live-LDAP integration test + Active Directory compatibility
Merged
#29 Phase 3 PR 30 — Modbus integration-test project scaffold + DL205 smoke test
Merged
#28 Phase 3 PR 29 — Account/session page with roles + capabilities
Merged
#27 Phase 3 PR 28 — Admin UI cert-trust management page
Merged
#26 Phase 3 PR 27 — Fleet status dashboard page
Merged
#25 Phase 3 PR 26 — server-layer write authorization by role
Merged
#24 Phase 3 PR 25 — Modbus test plan + DL205 quirk catalog
Merged
#23 Phase 3 PR 24 — Modbus PLC data type extensions
Merged
#22 Phase 3 PR 23 — Modbus IHostConnectivityProbe
Merged
#21 Phase 3 PR 22 — Modbus ISubscribable via polling overlay
Merged
#20 Phase 3 PR 21 — Modbus TCP driver (first native-protocol greenfield)
Merged
#19 Phase 3 PR 20 — lmx-followups.md
Merged
#18 Phase 3 PR 19 — LDAP user identity + Basic256Sha256 security profile
Merged
#17 Phase 3 PR 18 — delete v1 archived projects
Merged
#16 Phase 3 PR 17 — complete OPC UA server startup + live integration test
Merged
#15 Phase 3 PR 16 — concrete OPC UA server scaffolding + AlarmConditionState materialization
Merged
#14 Phase 3 PR 15 — alarm-condition contract in abstract layer
Merged
#13 Phase 2 PR 14 — alarm subsystem (subscribe to alarm attribute quartet + raise GalaxyAlarmEvent)
Merged
#12 Phase 2 PR 13 — port GalaxyRuntimeProbeManager + per-platform ScanState probing
Merged
#11 Phase 2 PR 12 � richer historian quality mapping
Merged
#10 Phase 2 PR 11 � HistoryReadEvents IPC (alarm history)
Merged
#9 Phase 2 PR 10 � HistoryReadAtTime IPC surface
Merged
#8 Phase 2 PR 9 — thread IsAlarm discovery flag end-to-end
Merged
#7 Phase 2 PR 8 — gateway-level host-status push from MxAccessGalaxyBackend
Merged
#6 Phase 2 PR 7 — wire IHistoryProvider.ReadProcessedAsync end-to-end
Merged
#5 Phase 2 PR 6 — close PR 4 monitor-loop low findings (probe leak + replay signal)
Merged
#3 Phase 2 PR 4 — close 4 open MXAccess findings (push frames + reconnect + write-await + read-cancel)