Files
lmxopcua/code-reviews
Joseph Doherty 6923be3aa2 fix(driver-focas-cli): resolve Low code-review findings (Driver.FOCAS.Cli-001,002,003,004; -005 deferred)
- Driver.FOCAS.Cli-001: WriteCommand.ParseValue now wraps numeric
  FormatException / OverflowException as CliFx CommandException with
  the offending value.
- Driver.FOCAS.Cli-002: SubscribeCommand's OnDataChange handler and the
  banner both take a writeLock so notification-callback and main-thread
  writes can't interleave; handler exceptions are warn-and-swallow.
- Driver.FOCAS.Cli-003: FocasCommandBase.ValidateOptions rejects
  --cnc-port outside 1..65535, non-positive --timeout-ms, and
  non-positive --interval-ms; ExecuteAsync calls it first.
- Driver.FOCAS.Cli-004: 'await using var driver' is the sole driver
  disposal path; dropped the redundant explicit await ShutdownAsync.
- Driver.FOCAS.Cli-005 (Deferred): the fix lives in
  Driver.Cli.Common.SnapshotFormatter — explicitly naming the
  status-code shortlist there benefits every driver CLI. Left as a
  Driver.Cli.Common follow-up.
- Registered the new tests/Drivers/Cli/ZB.MOM.WW.OtOpcUa.Driver.FOCAS.Cli.Tests
  project in ZB.MOM.WW.OtOpcUa.slnx.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-23 11:11:55 -04:00
..

Code Reviews

Cross-module code review index for the OtOpcUa server codebase (lmxopcua). The review process is defined in ../REVIEW-PROCESS.md.

Each module's findings.md is the source of truth; this file is generated from them by regen-readme.py and must not be edited by hand.

Module status

Module Reviewer Date Commit Status Open Total
Admin Claude Code 2026-05-22 76d35d1 Reviewed 0 13
Analyzers Claude Code 2026-05-22 76d35d1 Reviewed 0 7
Client.CLI Claude Code 2026-05-22 76d35d1 Reviewed 8 10
Client.Shared Claude Code 2026-05-22 76d35d1 Reviewed 5 11
Client.UI Claude Code 2026-05-22 76d35d1 Reviewed 6 11
Configuration Claude Code 2026-05-22 76d35d1 Reviewed 0 11
Core Claude Code 2026-05-22 76d35d1 Reviewed 0 12
Core.Abstractions Claude Code 2026-05-22 76d35d1 Reviewed 0 8
Core.AlarmHistorian Claude Code 2026-05-22 76d35d1 Reviewed 0 11
Core.ScriptedAlarms Claude Code 2026-05-22 76d35d1 Reviewed 0 12
Core.Scripting Claude Code 2026-05-22 76d35d1 Reviewed 0 11
Core.VirtualTags Claude Code 2026-05-22 76d35d1 Reviewed 0 13
Driver.AbCip Claude Code 2026-05-22 76d35d1 Reviewed 0 15
Driver.AbCip.Cli Claude Code 2026-05-22 76d35d1 Reviewed 0 8
Driver.AbLegacy Claude Code 2026-05-22 76d35d1 Reviewed 0 13
Driver.AbLegacy.Cli Claude Code 2026-05-22 76d35d1 Reviewed 0 7
Driver.Cli.Common Claude Code 2026-05-22 76d35d1 Reviewed 2 6
Driver.FOCAS Claude Code 2026-05-22 76d35d1 Reviewed 0 12
Driver.FOCAS.Cli Claude Code 2026-05-22 76d35d1 Reviewed 5 5
Driver.Galaxy Claude Code 2026-05-22 76d35d1 Reviewed 0 14
Driver.Historian.Wonderware Claude Code 2026-05-22 76d35d1 Reviewed 0 12
Driver.Historian.Wonderware.Client Claude Code 2026-05-22 76d35d1 Reviewed 5 10
Driver.Modbus Claude Code 2026-05-22 76d35d1 Reviewed 0 12
Driver.Modbus.Addressing Claude Code 2026-05-22 76d35d1 Reviewed 0 9
Driver.Modbus.Cli Claude Code 2026-05-22 76d35d1 Reviewed 0 8
Driver.OpcUaClient Claude Code 2026-05-22 76d35d1 Reviewed 0 15
Driver.S7 Claude Code 2026-05-22 76d35d1 Reviewed 0 14
Driver.S7.Cli Claude Code 2026-05-22 76d35d1 Reviewed 0 7
Driver.TwinCAT Claude Code 2026-05-22 76d35d1 Reviewed 0 16
Driver.TwinCAT.Cli Claude Code 2026-05-22 76d35d1 Reviewed 0 7
Server Claude Code 2026-05-22 76d35d1 Reviewed 0 15

Pending findings

Findings with status Open or In Progress, ordered by severity.

ID Severity Category Location Description
Client.CLI-002 Low Correctness & logic bugs Commands/SubscribeCommand.cs:129-137 The summary computes neverWentBad as every target whose node-id key is absent from the everBad dictionary. A node that received no update at all is also absent from everBad, so it is counted in neverWentBad and printed under the he…
Client.CLI-003 Low Correctness & logic bugs Commands/BrowseCommand.cs:29-30, Commands/SubscribeCommand.cs:20-27, Commands/AlarmsCommand.cs:28-29, Commands/HistoryReadCommand.cs:42-43 Numeric command options accept any value with no range validation. --depth, --interval, --max-depth, --max, and the history --interval can all be supplied as 0 or a negative number. A negative --depth/--max-depth silently d…
Client.CLI-004 Low OtOpcUa conventions Commands/SubscribeCommand.cs:13-37 SubscribeCommand is the only command in the module whose constructor and all [CommandOption] properties have no XML doc comments. Every other command (ConnectCommand, ReadCommand, WriteCommand, BrowseCommand, AlarmsCommand, `…
Client.CLI-006 Low Error handling & resilience Commands/HistoryReadCommand.cs:73, Commands/HistoryReadCommand.cs:76, Helpers/NodeIdParser.cs:39 Operator input-format errors surface as raw .NET exceptions rather than clean CLI errors. An unparseable start/end value throws FormatException straight out of DateTime.Parse; an invalid node id throws FormatException/`ArgumentExcept…
Client.CLI-007 Low Performance & resource management CommandBase.cs:112-123 ConfigureLogging builds a new Serilog LoggerConfiguration, creates a logger, and assigns it to the static Log.Logger without disposing the previously assigned logger. For a single CLI invocation this leaks at most one logger and the…
Client.CLI-008 Low Documentation & comments docs/Client.CLI.md:158-217 docs/Client.CLI.md is stale relative to the code at this commit. (1) The subscribe command section documents only -n and -i, but the code (SubscribeCommand) also exposes -r/--recursive, --max-depth, -q/--quiet, --duration
Client.CLI-009 Low Code organization & conventions Commands/SubscribeCommand.cs:66-165, Commands/AlarmsCommand.cs:52-91 Both long-running commands attach an event handler (service.DataChanged += ..., service.AlarmEvent += ...) with a lambda and never detach it. Because the handler closes over console, the captured console and the closure remain refere…
Client.CLI-010 Low Testing coverage tests/Client/ZB.MOM.WW.OtOpcUa.Client.CLI.Tests/SubscribeCommandTests.cs The new SubscribeCommand capabilities are largely untested. The four SubscribeCommandTests cover only single-node subscribe, unsubscribe-on-cancel, disconnect-in-finally, and the subscription message. There is no test for the `--recurs…
Client.Shared-003 Low Correctness & logic bugs Adapters/DefaultSessionAdapter.cs:76, Adapters/DefaultSessionAdapter.cs:273 WriteValueAsync returns response.Results[0] and CallMethodAsync reads result.Results[0] without first checking the Results collection is non-empty. A malformed or service-level-faulted response (empty Results alongside a servic…
Client.Shared-004 Low OtOpcUa conventions Adapters/DefaultSessionAdapter.cs:228, Adapters/DefaultSessionAdapter.cs:121, Adapters/DefaultSessionAdapter.cs:172 CloseAsync, HistoryReadRawAsync, and HistoryReadAggregateAsync are declared async Task but call the synchronous Session.Close() / Session.HistoryRead(...) APIs and contain no await. The history methods run a blocking synchron…
Client.Shared-009 Low Error handling & resilience / Documentation & comments OpcUaClientService.cs:302-322 AcknowledgeAlarmAsync is typed Task<StatusCode> and its XML doc implies the returned code reports the ack outcome, but the method unconditionally return StatusCodes.Good. The actual failure path is `DefaultSessionAdapter.CallMethodAs…
Client.Shared-010 Low Performance & resource management Models/ConnectionSettings.cs:48, OpcUaClientService.cs:408-417 ConnectionSettings.CertificateStorePath is initialized to ClientStoragePaths.GetPkiPath() as a property initializer, so every ConnectionSettings instantiation runs Environment.GetFolderPath + Path.Combine and, on the first call p…
Client.Shared-011 Low Testing coverage tests/Client/ZB.MOM.WW.OtOpcUa.Client.Shared.Tests/OpcUaClientServiceTests.cs The test suite is solid for the happy paths, connection lifecycle, and single-failover behavior. Gaps relative to the findings above: (a) no test exercises concurrent SubscribeAsync/failover to expose the _activeDataSubscriptions race…
Client.UI-003 Low OtOpcUa conventions ZB.MOM.WW.OtOpcUa.Client.UI.csproj:20-21, Program.cs:14-20 The csproj references Serilog and Serilog.Sinks.Console, and docs/Client.UI.md lists Serilog as the logging technology, but no source file in the module uses Serilog. Program.BuildAvaloniaApp() uses Avalonia's LogToTrace() and th…
Client.UI-004 Low OtOpcUa conventions Views/MainWindow.axaml.cs:125-138 OnBrowseCertPathClicked uses OpenFolderDialog, which is obsolete in Avalonia 11.x (the version pinned in the csproj). The supported replacement is the StorageProvider API (StorageProvider.OpenFolderPickerAsync). Using the obsolete…
Client.UI-006 Low Error handling & resilience ViewModels/MainWindowViewModel.cs:244-252, ViewModels/AlarmsViewModel.cs:88-112, ViewModels/SubscriptionsViewModel.cs:79-94 Many catch blocks swallow exceptions silently with an empty body and only a comment (// Redundancy info not available, // Subscribe failed, // Subscription failed; no item added, and others). When a subscribe, alarm-subscribe, or red…
Client.UI-009 Low Design-document adherence ViewModels/HistoryViewModel.cs:44-54 HistoryViewModel.AggregateTypes exposes eight entries: null (Raw) plus Average, Minimum, Maximum, Count, Start, End, and StandardDeviation. docs/Client.UI.md ("Query Options" table) lists only "Raw (default), Average, Minimum, Maxi…
Client.UI-010 Low Code organization & conventions Controls/DateTimeRangePicker.axaml.cs:33-37, Controls/DateTimeRangePicker.axaml.cs:70-80 DateTimeRangePicker declares MinDateTimeProperty / MaxDateTimeProperty styled properties with public CLR accessors, but neither is read anywhere in the control. TryParseDateTime, OnStartLostFocus, and OnEndLostFocus never clamp…
Client.UI-011 Low Documentation & comments Views/MainWindow.axaml:81, Services/JsonSettingsService.cs:11-15 The certificate-store-path TextBox watermark reads (default: AppData/LmxOpcUaClient/pki), referencing the legacy pre-task-#208 folder name. Per CLAUDE.md / docs/Client.UI.md the canonical path is now {LocalAppData}/OtOpcUaClient/
Driver.Cli.Common-004 Low Error handling & resilience src/Drivers/Cli/ZB.MOM.WW.OtOpcUa.Driver.Cli.Common/SnapshotFormatter.cs:68-70 FormatTable calls rows.Max(r => r.Tag.Length) (and the same for the value and status columns) without guarding against empty input. When tagNames and snapshots are both empty (equal length, so the mismatch check at line 56 passes),…
Driver.Cli.Common-006 Low Documentation & comments src/Drivers/Cli/ZB.MOM.WW.OtOpcUa.Driver.Cli.Common/SnapshotFormatter.cs:71, src/Drivers/Cli/ZB.MOM.WW.OtOpcUa.Driver.Cli.Common/DriverCommandBase.cs:9 Two minor doc inaccuracies. (1) The comment at SnapshotFormatter.cs:71 states the "source-time column is fixed-width (ISO-8601 to ms) so no max-measurement needed" — true only when every snapshot has a non-null SourceTimestampUtc. `For…
Driver.FOCAS.Cli-001 Low Error handling & resilience Commands/WriteCommand.cs:58-68 WriteCommand.ParseValue parses the numeric --value types (Byte/Int16/Int32/Float32/Float64) with sbyte.Parse / short.Parse / etc. These throw raw FormatException or OverflowException for malformed or out-of-range inpu…
Driver.FOCAS.Cli-002 Low Concurrency & thread safety Commands/SubscribeCommand.cs:45-51 The subscribe command attaches an OnDataChange handler that calls the synchronous console.Output.WriteLine. OnDataChange is raised from the driver's PollGroupEngine tick thread, while the command's main flow writes the "Subscribe…
Driver.FOCAS.Cli-003 Low Error handling & resilience FocasCommandBase.cs:19 (CncPort), FocasCommandBase.cs:27 (TimeoutMs), Commands/SubscribeCommand.cs:23 (IntervalMs) The numeric command options --cnc-port, --timeout-ms, and --interval-ms are accepted without range validation. A zero or negative --cnc-port produces an invalid focas://host:<n> string; --timeout-ms 0 yields a zero TimeSpan o…
Driver.FOCAS.Cli-004 Low Performance & resource management Commands/ProbeCommand.cs:37,54; Commands/ReadCommand.cs:37,46; Commands/WriteCommand.cs:45,54; Commands/SubscribeCommand.cs:39,73 Every command declares await using var driver = new FocasDriver(...)
Driver.FOCAS.Cli-005 Low Design-document adherence Commands/WriteCommand.cs:50, Commands/ProbeCommand.cs:50 (via SnapshotFormatter.FormatStatus) docs/Driver.FOCAS.Cli.md documents BadDeviceFailure and BadCommunicationError as the key diagnostic signals an operator reads off probe / write output ("A BadCommunicationError means ... BadDeviceFailure after a successful co…
Driver.Historian.Wonderware.Client-003 Low Concurrency & thread safety WonderwareHistorianClient.cs:207, WonderwareHistorianClient.cs:132-150 _totalQueries is mutated with Interlocked.Increment in Invoke, but read inside GetHealthSnapshot under _healthLock, and every other counter (_totalSuccesses, _totalFailures, _consecutiveFailures) is mutated only under `_hea…
Driver.Historian.Wonderware.Client-004 Low Concurrency & thread safety WonderwareHistorianClient.cs:203-267 A sidecar-reported failure is recorded in two non-atomic steps under separate lock acquisitions: Invoke calls RecordSuccess() (line 211) and then the caller calls ThrowIfFailed which calls ReclassifySuccessAsFailure() (line 256), d…
Driver.Historian.Wonderware.Client-006 Low Error handling & resilience Internal/PipeChannel.cs:96-107, WonderwareHistorianClientOptions.cs:11-12 PipeChannel.InvokeAsync retries exactly once on transport failure and otherwise propagates. The options expose ReconnectInitialBackoff and ReconnectMaxBackoff and WonderwareHistorianClientOptions documents them as exponential backo…
Driver.Historian.Wonderware.Client-008 Low Security ZB.MOM.WW.OtOpcUa.Driver.Historian.Wonderware.Client.csproj:29-32 The csproj suppresses two NuGet audit advisories (GHSA-37gx-xxp4-5rgx, GHSA-w3x6-4m5h-cxqf) for the MessagePack 2.5.187 dependency with no inline comment recording why the suppression is safe, who reviewed it, or when it should be re…
Driver.Historian.Wonderware.Client-010 Low Documentation & comments WonderwareHistorianClient.cs:355-361, WonderwareHistorianClient.cs:132-150 Two doc/behaviour mismatches. (1) The Dispose() XML comment asserts the underlying channel async cleanup is non-blocking so the GetAwaiter()/GetResult() bridge is safe. PipeChannel.DisposeAsync calls ResetTransport(), which invokes…

Closed findings

Findings with status Resolved, Won't Fix, or Deferred.

ID Severity Status Category Location
Admin-001 Critical Resolved Security Components/Routes.razor:4-11, Program.cs:150
Admin-002 Critical Resolved Security Components/Pages/Clusters/NewCluster.razor:1-7, Home.razor, Fleet.razor, Hosts.razor, AlarmsHistorian.razor, Clusters/ClustersList.razor, Clusters/Generations.razor, Drivers/FocasDetail.razor
Core.AlarmHistorian-001 Critical Resolved Correctness & logic bugs src/Core/ZB.MOM.WW.OtOpcUa.Core.AlarmHistorian/SqliteStoreAndForwardSink.cs:255-278
Core.Scripting-001 Critical Resolved Security ForbiddenTypeAnalyzer.cs:45, ScriptSandbox.cs:54
Driver.Galaxy-001 Critical Resolved Error handling & resilience Runtime/EventPump.cs:128, GalaxyDriver.cs:222
Server-001 Critical Resolved Correctness & logic bugs src/Server/ZB.MOM.WW.OtOpcUa.Server/OpcUa/DriverNodeManager.cs:1791
Admin-003 High Resolved Security Program.cs:137-139, Hubs/FleetStatusHub.cs:11, Hubs/AlertHub.cs:10, Hubs/ScriptLogHub.cs:30
Admin-004 High Resolved Security appsettings.json:3,13-14
Admin-005 High Resolved Correctness & logic bugs Components/Pages/Login.razor:15,107-110
Admin-013 High Resolved Error handling & resilience Components/Pages/Clusters/ClusterDetail.razor:180-197, Components/Pages/Clusters/AclsTab.razor, Components/Pages/Clusters/RedundancyTab.razor, Components/Pages/RoleGrants.razor, Components/Pages/Hosts.razor, Components/Pages/ScriptLog.razor, Program.cs:157-159
Client.Shared-005 High Resolved Concurrency & thread safety OpcUaClientService.cs:19, OpcUaClientService.cs:226-249, OpcUaClientService.cs:499-521
Client.Shared-006 High Resolved Concurrency & thread safety OpcUaClientService.cs:97-100, OpcUaClientService.cs:432-497
Configuration-001 High Resolved Correctness & logic bugs src/Core/ZB.MOM.WW.OtOpcUa.Configuration/Migrations/20260417215224_StoredProcedures.cs:282
Configuration-008 High Resolved Security src/Core/ZB.MOM.WW.OtOpcUa.Configuration/Migrations/20260417215224_StoredProcedures.cs:150, :373, :468
Core-001 High Resolved Correctness & logic bugs src/Core/ZB.MOM.WW.OtOpcUa.Core/Authorization/UserAuthorizationState.cs:50-68
Core-002 High Resolved Security src/Core/ZB.MOM.WW.OtOpcUa.Core/Authorization/TriePermissionEvaluator.cs:24-50
Core.AlarmHistorian-002 High Resolved Correctness & logic bugs src/Core/ZB.MOM.WW.OtOpcUa.Core.AlarmHistorian/SqliteStoreAndForwardSink.cs:99-105,386-388
Core.AlarmHistorian-004 High Resolved Concurrency & thread safety src/Core/ZB.MOM.WW.OtOpcUa.Core.AlarmHistorian/SqliteStoreAndForwardSink.cs:90,112,176,259
Core.AlarmHistorian-006 High Resolved Error handling & resilience src/Core/ZB.MOM.WW.OtOpcUa.Core.AlarmHistorian/SqliteStoreAndForwardSink.cs:103,135-216
Core.ScriptedAlarms-001 High Resolved Concurrency & thread safety ScriptedAlarmEngine.cs:175, ScriptedAlarmEngine.cs:178, ScriptedAlarmEngine.cs:73, ScriptedAlarmEngine.cs:368
Core.Scripting-002 High Resolved Security ForbiddenTypeAnalyzer.cs:70
Core.VirtualTags-001 High Resolved Correctness & logic bugs src/Core/ZB.MOM.WW.OtOpcUa.Core.VirtualTags/VirtualTagEngine.cs:306
Driver.AbCip-001 High Resolved Correctness & logic bugs AbCipDriver.cs:111, AbCipDriver.cs:163-167
Driver.AbCip-002 High Resolved Correctness & logic bugs AbCipStatusMapper.cs:65-78
Driver.AbCip-003 High Resolved Correctness & logic bugs AbCipUdtMemberLayout.cs:32-54, AbCipDriver.cs:426-430, AbCipUdtReadPlanner.cs:48
Driver.AbCip-008 High Resolved Concurrency & thread safety AbCipDriver.cs:144-152, AbCipDriver.cs:169-183, AbCipDriver.cs:235-281
Driver.AbLegacy-001 High Resolved Correctness & logic bugs AbLegacyAddress.cs:54, AbLegacyDriver.cs:368-374
Driver.AbLegacy-006 High Resolved Concurrency & thread safety AbLegacyDriver.cs:107-158, AbLegacyDriver.cs:162-234, LibplctagLegacyTagRuntime.cs
Driver.Cli.Common-001 High Resolved Correctness & logic bugs src/Drivers/Cli/ZB.MOM.WW.OtOpcUa.Driver.Cli.Common/SnapshotFormatter.cs:106-119
Driver.FOCAS-001 High Resolved Correctness & logic bugs FocasDriverFactoryExtensions.cs:54-86, FocasDriverFactoryExtensions.cs:132-140
Driver.FOCAS-002 High Resolved Correctness & logic bugs WireFocasClient.cs:164-179, FocasDriver.cs:513, FocasDriver.cs:593
Driver.Galaxy-002 High Resolved Correctness & logic bugs Browse/DataTypeMap.cs:13, Runtime/MxValueDecoder.cs:9
Driver.Galaxy-008 High Resolved Error handling & resilience GalaxyDriver.cs:264-276, Runtime/EventPump.cs:97-103
Driver.Historian.Wonderware-001 High Resolved Correctness and logic bugs Backend/SdkAlarmHistorianWriteBackend.cs:68, Backend/AahClientManagedAlarmEventWriter.cs:82-103
Driver.Historian.Wonderware.Client-001 High Resolved Correctness & logic bugs WonderwareHistorianClient.cs:98-113
Driver.Modbus-001 High Resolved Concurrency & thread safety ModbusDriver.cs:92,99-122
Driver.Modbus.Addressing-001 High Resolved Correctness & logic bugs ModbusAddressParser.cs:230-235, DirectLogicAddress.cs:66-73
Driver.OpcUaClient-001 High Resolved Correctness & logic bugs OpcUaClientDriver.cs:444, :466, :517, :540, :599, :610
Driver.OpcUaClient-002 High Resolved Error handling & resilience OpcUaClientDriver.cs:1330-1359
Driver.OpcUaClient-003 High Resolved Correctness & logic bugs OpcUaClientDriver.cs:644-711
Driver.OpcUaClient-004 High Resolved Design-document adherence OpcUaClientDriver.cs:596-632, :789, OpcUaClientDriverOptions.cs
Driver.OpcUaClient-005 High Resolved Concurrency & thread safety OpcUaClientDriver.cs:1297-1319
Driver.S7-001 High Resolved Correctness & logic bugs S7AddressParser.cs:93, S7Driver.cs:231
Driver.S7-006 High Resolved Concurrency & thread safety S7Driver.cs:140, S7Driver.cs:457, S7Driver.cs:506
Driver.S7-007 High Resolved Error handling & resilience S7Driver.cs:200, S7DriverOptions.cs:13, docs/v2/driver-specs.md:434
Driver.S7-011 High Resolved Design-document adherence S7Driver.cs:82, S7Driver.cs:134, IDriver.cs:24
Driver.TwinCAT-001 High Resolved Correctness & logic bugs TwinCATDriver.cs:41-78
Driver.TwinCAT-002 High Resolved Correctness & logic bugs TwinCATDataType.cs:34-48, AdsTwinCATClient.cs:264-281
Driver.TwinCAT-007 High Resolved Concurrency & thread safety TwinCATDriver.cs:413-429
Driver.TwinCAT-008 High Resolved Concurrency & thread safety AdsTwinCATClient.cs:162-169, TwinCATDriver.cs:319-324
Driver.TwinCAT-013 High Resolved Design-document adherence TwinCATDriver.cs:11-12 (capability list), whole file
Server-002 High Resolved Correctness & logic bugs src/Server/ZB.MOM.WW.OtOpcUa.Server/Security/AuthorizationGate.cs:60-63
Server-009 High Resolved Security src/Server/ZB.MOM.WW.OtOpcUa.Server/Security/LdapOptions.cs:44, src/Server/ZB.MOM.WW.OtOpcUa.Server/Program.cs:74
Admin-006 Medium Resolved Security Components/Layout/MainLayout.razor:47-49, Program.cs:129,131-135
Admin-007 Medium Resolved Design-document adherence Components/Pages/Clusters/NewCluster.razor:91,95-96
Admin-008 Medium Resolved Error handling & resilience Services/ReservationService.cs:28-37
Admin-009 Medium Resolved Testing coverage src/Server/ZB.MOM.WW.OtOpcUa.Admin (whole module)
Analyzers-001 Medium Resolved Correctness & logic bugs src/Tooling/ZB.MOM.WW.OtOpcUa.Analyzers/UnwrappedCapabilityCallAnalyzer.cs:135-139
Analyzers-006 Medium Resolved Testing coverage tests/Tooling/ZB.MOM.WW.OtOpcUa.Analyzers.Tests/UnwrappedCapabilityCallAnalyzerTests.cs
Client.CLI-001 Medium Resolved Correctness & logic bugs Commands/HistoryReadCommand.cs:73, Commands/HistoryReadCommand.cs:76
Client.CLI-005 Medium Resolved Concurrency & thread safety Commands/SubscribeCommand.cs:66-78, Commands/AlarmsCommand.cs:52-64
Client.Shared-001 Medium Resolved Correctness & logic bugs OpcUaClientService.cs:552
Client.Shared-002 Medium Resolved Correctness & logic bugs OpcUaClientService.cs:351-355, OpcUaClientService.cs:373
Client.Shared-007 Medium Resolved Concurrency & thread safety OpcUaClientService.cs:581-622
Client.Shared-008 Medium Resolved Error handling & resilience OpcUaClientService.cs:170-180, Helpers/ValueConverter.cs:15-31
Client.UI-001 Medium Resolved Correctness & logic bugs ViewModels/HistoryViewModel.cs:76, ViewModels/HistoryViewModel.cs:77
Client.UI-002 Medium Resolved Correctness & logic bugs ViewModels/MainWindowViewModel.cs:255, ViewModels/MainWindowViewModel.cs:333
Client.UI-005 Medium Resolved Concurrency & thread safety ViewModels/MainWindowViewModel.cs:286-304, ViewModels/MainWindowViewModel.cs:155-189
Client.UI-007 Medium Resolved Security Services/UserSettings.cs:22-23, Services/JsonSettingsService.cs:38-50, ViewModels/MainWindowViewModel.cs:393-408
Client.UI-008 Medium Resolved Performance & resource management ViewModels/MainWindowViewModel.cs:18, ViewModels/MainWindowViewModel.cs:125-148, App.axaml.cs:18-32
Configuration-002 Medium Resolved Correctness & logic bugs src/Core/ZB.MOM.WW.OtOpcUa.Configuration/Migrations/20260417215224_StoredProcedures.cs:325
Configuration-003 Medium Resolved Correctness & logic bugs src/Core/ZB.MOM.WW.OtOpcUa.Configuration/Validation/DraftValidator.cs:73
Configuration-006 Medium Resolved Error handling & resilience src/Core/ZB.MOM.WW.OtOpcUa.Configuration/LocalCache/ResilientConfigReader.cs:79
Configuration-009 Medium Resolved Security src/Core/ZB.MOM.WW.OtOpcUa.Configuration/DesignTimeDbContextFactory.cs:14
Core-003 Medium Resolved Correctness & logic bugs src/Core/ZB.MOM.WW.OtOpcUa.Core/Authorization/PermissionTrie.cs:80-98
Core-005 Medium Resolved Concurrency & thread safety src/Core/ZB.MOM.WW.OtOpcUa.Core/Authorization/PermissionTrieCache.cs:59-70
Core-006 Medium Resolved Concurrency & thread safety src/Core/ZB.MOM.WW.OtOpcUa.Core/OpcUa/GenericDriverNodeManager.cs:42-64
Core-007 Medium Resolved Error handling & resilience src/Core/ZB.MOM.WW.OtOpcUa.Core/Resilience/AlarmSurfaceInvoker.cs:75-83
Core.Abstractions-001 Medium Resolved Correctness & logic bugs src/Core/ZB.MOM.WW.OtOpcUa.Core.Abstractions/PollGroupEngine.cs:112
Core.Abstractions-002 Medium Resolved Correctness & logic bugs src/Core/ZB.MOM.WW.OtOpcUa.Core.Abstractions/PollGroupEngine.cs:105-109
Core.Abstractions-003 Medium Resolved Concurrency & thread safety src/Core/ZB.MOM.WW.OtOpcUa.Core.Abstractions/PollGroupEngine.cs:64,121-130
Core.AlarmHistorian-003 Medium Resolved OtOpcUa conventions src/Core/ZB.MOM.WW.OtOpcUa.Core.AlarmHistorian/SqliteStoreAndForwardSink.cs:107-127,218-243,246-253
Core.AlarmHistorian-005 Medium Resolved Concurrency & thread safety src/Core/ZB.MOM.WW.OtOpcUa.Core.AlarmHistorian/SqliteStoreAndForwardSink.cs:66-71,141-143,199,386-388
Core.AlarmHistorian-007 Medium Resolved Error handling & resilience src/Core/ZB.MOM.WW.OtOpcUa.Core.AlarmHistorian/SqliteStoreAndForwardSink.cs:172-174
Core.AlarmHistorian-009 Medium Resolved Design-document adherence src/Core/ZB.MOM.WW.OtOpcUa.Core.AlarmHistorian/SqliteStoreAndForwardSink.cs:317-347
Core.AlarmHistorian-010 Medium Resolved Testing coverage tests/Core/ZB.MOM.WW.OtOpcUa.Core.AlarmHistorian.Tests/SqliteStoreAndForwardSinkTests.cs
Core.ScriptedAlarms-002 Medium Resolved Correctness & logic bugs ScriptedAlarmEngine.cs:162, ScriptedAlarmEngine.cs:90
Core.ScriptedAlarms-004 Medium Resolved Concurrency & thread safety ScriptedAlarmEngine.cs:138-143, ScriptedAlarmEngine.cs:227-234
Core.ScriptedAlarms-005 Medium Resolved Concurrency & thread safety ScriptedAlarmEngine.cs:365-369, ScriptedAlarmEngine.cs:416-424
Core.ScriptedAlarms-007 Medium Resolved Error handling & resilience ScriptedAlarmEngine.cs:216, ScriptedAlarmEngine.cs:251, ScriptedAlarmEngine.cs:154, ScriptedAlarmEngine.cs:387
Core.ScriptedAlarms-012 Medium Resolved Testing coverage tests/Core/ZB.MOM.WW.OtOpcUa.Core.ScriptedAlarms.Tests/ScriptedAlarmEngineTests.cs
Core.Scripting-003 Medium Resolved Security TimedScriptEvaluator.cs:9, ScriptSandbox.cs:30
Core.Scripting-004 Medium Resolved Correctness & logic bugs DependencyExtractor.cs:73
Core.Scripting-007 Medium Resolved Error handling & resilience TimedScriptEvaluator.cs:60
Core.Scripting-010 Medium Resolved Testing coverage tests/Core/ZB.MOM.WW.OtOpcUa.Core.Scripting.Tests/ScriptSandboxTests.cs:54
Core.VirtualTags-002 Medium Resolved Correctness & logic bugs src/Core/ZB.MOM.WW.OtOpcUa.Core.VirtualTags/VirtualTagEngine.cs:237
Core.VirtualTags-003 Medium Resolved Correctness & logic bugs src/Core/ZB.MOM.WW.OtOpcUa.Core.VirtualTags/VirtualTagEngine.cs:117-120
Core.VirtualTags-005 Medium Resolved Concurrency & thread safety src/Core/ZB.MOM.WW.OtOpcUa.Core.VirtualTags/VirtualTagSource.cs:50-64
Core.VirtualTags-008 Medium Resolved Performance & resource management src/Core/ZB.MOM.WW.OtOpcUa.Core.VirtualTags/DependencyGraph.cs:81-115
Core.VirtualTags-012 Medium Resolved Testing coverage tests/Core/ZB.MOM.WW.OtOpcUa.Core.VirtualTags.Tests/
Driver.AbCip-004 Medium Resolved Correctness & logic bugs AbCipDataType.cs:51-58, LibplctagTagRuntime.cs:47-49,53
Driver.AbCip-005 Medium Resolved Correctness & logic bugs AbCipDriver.cs:124-141
Driver.AbCip-006 Medium Resolved OtOpcUa conventions PlcTagHandle.cs:28-59, AbCipDriver.cs:806-807,832-833, LibplctagTagRuntime.cs:117
Driver.AbCip-009 Medium Resolved Concurrency & thread safety AbCipDriver.cs:621-648, AbCipDriver.cs:591-614
Driver.AbCip-010 Medium Resolved Error handling & resilience AbCipDriver.cs:621-648, AbCipDriver.cs:346-391
Driver.AbCip-014 Medium Resolved Testing coverage tests/Drivers/ZB.MOM.WW.OtOpcUa.Driver.AbCip.Tests/AbCipStatusMapperTests.cs:28-40
Driver.AbCip.Cli-001 Medium Resolved Error handling & resilience src/Drivers/Cli/ZB.MOM.WW.OtOpcUa.Driver.AbCip.Cli/Commands/WriteCommand.cs:70-85
Driver.AbCip.Cli-002 Medium Resolved Correctness & logic bugs src/Drivers/Cli/ZB.MOM.WW.OtOpcUa.Driver.AbCip.Cli/Commands/ProbeCommand.cs:21-23; Commands/ReadCommand.cs:24-25; Commands/SubscribeCommand.cs:20-22
Driver.AbLegacy-002 Medium Resolved Correctness & logic bugs AbLegacyDriver.cs:368
Driver.AbLegacy-003 Medium Resolved Correctness & logic bugs AbLegacyAddress.cs:62-95
Driver.AbLegacy-004 Medium Resolved Correctness & logic bugs LibplctagLegacyTagRuntime.cs:36-37
Driver.AbLegacy-007 Medium Resolved Concurrency & thread safety AbLegacyDriver.cs:411-438, AbLegacyDriver.cs:386-409
Driver.AbLegacy-008 Medium Resolved Concurrency & thread safety AbLegacyDriver.cs:21, AbLegacyDriver.cs:138-146, AbLegacyDriver.cs:216-229
Driver.AbLegacy-009 Medium Resolved Error handling & resilience AbLegacyDriver.cs:41-74
Driver.AbLegacy-010 Medium Resolved Error handling & resilience AbLegacyStatusMapper.cs:26-56
Driver.AbLegacy-012 Medium Resolved Design-document adherence PlcFamilies/AbLegacyPlcFamilyProfile.cs:7-54, AbLegacyDriver.cs:48-52
Driver.AbLegacy.Cli-001 Medium Resolved Error handling & resilience Commands/WriteCommand.cs:46, Commands/WriteCommand.cs:62-72
Driver.Cli.Common-002 Medium Resolved Correctness & logic bugs src/Drivers/Cli/ZB.MOM.WW.OtOpcUa.Driver.Cli.Common/SnapshotFormatter.cs:101-122
Driver.Cli.Common-003 Medium Resolved Concurrency & thread safety src/Drivers/Cli/ZB.MOM.WW.OtOpcUa.Driver.Cli.Common/DriverCommandBase.cs:51-59
Driver.Cli.Common-005 Medium Resolved Testing coverage tests/Drivers/Cli/ZB.MOM.WW.OtOpcUa.Driver.Cli.Common.Tests/SnapshotFormatterTests.cs:27-37
Driver.FOCAS-003 Medium Resolved Correctness & logic bugs FocasDriver.cs:71-79
Driver.FOCAS-004 Medium Resolved OtOpcUa conventions FocasDriver.cs:374-379, WireFocasClient.cs:48-50
Driver.FOCAS-005 Medium Resolved Concurrency & thread safety FocasDriver.cs:28, FocasDriver.cs:206-215, FocasDriver.cs:261, FocasDriver.cs:274
Driver.FOCAS-006 Medium Resolved Error handling & resilience FocasDriver.cs:859-874, WireFocasClient.cs:22-31
Driver.FOCAS-012 Medium Resolved Testing coverage FocasDriverFactoryExtensions.cs, FocasDriver.cs:495-629 (FixedTreeLoopAsync)
Driver.Galaxy-003 Medium Resolved Correctness & logic bugs Runtime/StatusCodeMap.cs:86
Driver.Galaxy-004 Medium Resolved Correctness & logic bugs GalaxyDriver.cs:901
Driver.Galaxy-006 Medium Resolved Concurrency & thread safety GalaxyDriver.cs:848-861
Driver.Galaxy-007 Medium Resolved Concurrency & thread safety GalaxyDriver.cs:937-968
Driver.Galaxy-009 Medium Resolved Error handling & resilience GalaxyDriver.cs:354-371
Driver.Galaxy-011 Medium Resolved Performance & resource management GalaxyDriver.cs:411
Driver.Galaxy-014 Medium Resolved Testing coverage src/Drivers/ZB.MOM.WW.OtOpcUa.Driver.Galaxy (module-wide)
Driver.Historian.Wonderware-002 Medium Resolved Correctness and logic bugs Ipc/HistorianFrameHandler.cs:162, :181
Driver.Historian.Wonderware-003 Medium Resolved Correctness and logic bugs Backend/HistorianDataSource.cs:320-323, :457-460
Driver.Historian.Wonderware-006 Medium Resolved Error handling and resilience Ipc/PipeServer.cs:120-128
Driver.Historian.Wonderware-009 Medium Resolved Performance and resource management Backend/HistorianDataSource.cs:382-395, Ipc/Contracts.cs:85-99
Driver.Historian.Wonderware.Client-002 Medium Resolved Correctness & logic bugs WonderwareHistorianClient.cs:154-199, IAlarmHistorianSink.cs:66-74
Driver.Historian.Wonderware.Client-005 Medium Resolved Error handling & resilience Ipc/FrameReader.cs:31-32
Driver.Historian.Wonderware.Client-007 Medium Resolved Security WonderwareHistorianClient.cs:276
Driver.Historian.Wonderware.Client-009 Medium Resolved Testing coverage tests/Drivers/ZB.MOM.WW.OtOpcUa.Driver.Historian.Wonderware.Client.Tests/WonderwareHistorianClientTests.cs
Driver.Modbus-002 Medium Resolved Correctness & logic bugs ModbusDriver.cs:127-186
Driver.Modbus-004 Medium Resolved Performance & resource management ModbusDriver.cs:1468-1473
Driver.Modbus-005 Medium Resolved Correctness & logic bugs ModbusDriver.cs:777-798,323-330
Driver.Modbus-006 Medium Resolved Error handling & resilience ModbusDriver.cs:514-524,532-550
Driver.Modbus.Addressing-002 Medium Resolved Correctness & logic bugs ModbusAddressParser.cs:86-94
Driver.Modbus.Addressing-003 Medium Resolved Correctness & logic bugs ModbusAddressParser.cs:405-406, ModbusAddressParser.cs:128
Driver.Modbus.Addressing-004 Medium Resolved Correctness & logic bugs ModbusAddressParser.cs:182-194
Driver.Modbus.Addressing-005 Medium Resolved Error handling & resilience ModbusAddressParser.cs:200-213
Driver.Modbus.Addressing-008 Medium Resolved Testing coverage tests/Drivers/ZB.MOM.WW.OtOpcUa.Driver.Modbus.Addressing.Tests/
Driver.Modbus.Cli-001 Medium Resolved Correctness & logic bugs src/Drivers/Cli/ZB.MOM.WW.OtOpcUa.Driver.Modbus.Cli/Commands/SubscribeCommand.cs:43-51
Driver.Modbus.Cli-002 Medium Resolved Correctness & logic bugs src/Drivers/Cli/ZB.MOM.WW.OtOpcUa.Driver.Modbus.Cli/Commands/WriteCommand.cs:54-89
Driver.OpcUaClient-006 Medium Resolved Concurrency & thread safety OpcUaClientDriver.cs:1330-1359
Driver.OpcUaClient-007 Medium Resolved Concurrency & thread safety OpcUaClientDriver.cs:1374, :1376-1383, :508
Driver.OpcUaClient-008 Medium Resolved Error handling & resilience OpcUaClientDriver.cs:1092-1099
Driver.OpcUaClient-009 Medium Resolved Error handling & resilience OpcUaClientDriver.cs:560-564
Driver.OpcUaClient-010 Medium Resolved Correctness & logic bugs OpcUaClientDriver.cs:823-824
Driver.OpcUaClient-012 Medium Resolved Security OpcUaClientDriver.cs:210-217
Driver.OpcUaClient-013 Medium Resolved Performance & resource management OpcUaClientDriver.cs:436-437
Driver.OpcUaClient-015 Medium Resolved Testing coverage tests/Drivers/ZB.MOM.WW.OtOpcUa.Driver.OpcUaClient.Tests/*, tests/Drivers/ZB.MOM.WW.OtOpcUa.Driver.OpcUaClient.IntegrationTests/OpcUaClientSmokeTests.cs
Driver.S7-002 Medium Resolved Correctness & logic bugs S7Driver.cs:350
Driver.S7-004 Medium Resolved OtOpcUa conventions S7Driver.cs (whole file)
Driver.S7-008 Medium Resolved Error handling & resilience S7Driver.cs:286
Driver.S7-012 Medium Resolved Design-document adherence S7DriverOptions.cs:59, S7Driver.cs:457
Driver.S7-014 Medium Resolved Testing coverage tests/Drivers/ZB.MOM.WW.OtOpcUa.Driver.S7.Tests/
Driver.S7.Cli-001 Medium Resolved Error handling & resilience src/Drivers/Cli/ZB.MOM.WW.OtOpcUa.Driver.S7.Cli/Commands/WriteCommand.cs:65-80
Driver.S7.Cli-002 Medium Resolved Design-document adherence src/Drivers/Cli/ZB.MOM.WW.OtOpcUa.Driver.S7.Cli/Commands/ReadCommand.cs:22-29, Commands/WriteCommand.cs:21-33, Commands/SubscribeCommand.cs:18-21; docs/Driver.S7.Cli.md:70-73,80-81
Driver.S7.Cli-003 Medium Resolved Error handling & resilience src/Drivers/Cli/ZB.MOM.WW.OtOpcUa.Driver.S7.Cli/Commands/ProbeCommand.cs:38-50
Driver.TwinCAT-003 Medium Resolved Correctness & logic bugs AdsTwinCATClient.cs:264-281, 283-300
Driver.TwinCAT-005 Medium Resolved OtOpcUa conventions TwinCATDriver.cs (whole file), AdsTwinCATClient.cs (whole file)
Driver.TwinCAT-009 Medium Resolved Concurrency & thread safety TwinCATDriver.cs:80-99, 41-72, 366-388
Driver.TwinCAT-010 Medium Resolved Error handling & resilience AdsTwinCATClient.cs:178-195
Driver.TwinCAT-011 Medium Resolved Error handling & resilience TwinCATStatusMapper.cs:29-42
Driver.TwinCAT-012 Medium Resolved Performance & resource management TwinCATDriver.cs:102, AdsTwinCATClient.cs:178-195
Server-003 Medium Resolved Correctness & logic bugs src/Server/ZB.MOM.WW.OtOpcUa.Server/Phase7/RingBufferHistoryWriter.cs:96-119
Server-005 Medium Resolved Concurrency & thread safety src/Server/ZB.MOM.WW.OtOpcUa.Server/Alarms/AlarmConditionService.cs:166, src/Server/ZB.MOM.WW.OtOpcUa.Server/OpcUa/DriverNodeManager.cs:303-311
Server-007 Medium Resolved Error handling & resilience src/Server/ZB.MOM.WW.OtOpcUa.Server/OpcUa/OpcUaApplicationHost.cs:179-183
Server-010 Medium Resolved Security src/Server/ZB.MOM.WW.OtOpcUa.Server/OpcUa/OpcUaServerOptions.cs:59, src/Server/ZB.MOM.WW.OtOpcUa.Server/OpcUa/OpcUaApplicationHost.cs:284-291
Server-011 Medium Resolved Security src/Server/ZB.MOM.WW.OtOpcUa.Server/OpcUa/OpcUaApplicationHost.cs:322-346
Server-013 Medium Resolved Design-document adherence src/Server/ZB.MOM.WW.OtOpcUa.Server/OpcUa/OpcUaServerOptions.cs:9-19, src/Server/ZB.MOM.WW.OtOpcUa.Server/OpcUa/OpcUaApplicationHost.cs:296-346, src/Server/ZB.MOM.WW.OtOpcUa.Server/Program.cs:89
Admin-010 Low Resolved OtOpcUa conventions Components/App.razor:9,16
Admin-011 Low Resolved Concurrency & thread safety Hubs/FleetStatusPoller.cs:24-26,98-103
Admin-012 Low Resolved Design-document adherence Services/EquipmentCsvImporter.cs:18-19,33-37,229,232
Analyzers-002 Low Resolved Correctness & logic bugs src/Tooling/ZB.MOM.WW.OtOpcUa.Analyzers/UnwrappedCapabilityCallAnalyzer.cs:46-50,130
Analyzers-003 Low Resolved Error handling & resilience src/Tooling/ZB.MOM.WW.OtOpcUa.Analyzers/UnwrappedCapabilityCallAnalyzer.cs:80,114-116
Analyzers-004 Low Resolved Performance & resource management src/Tooling/ZB.MOM.WW.OtOpcUa.Analyzers/UnwrappedCapabilityCallAnalyzer.cs:95-112
Analyzers-005 Low Resolved Design-document adherence src/Tooling/ZB.MOM.WW.OtOpcUa.Analyzers/UnwrappedCapabilityCallAnalyzer.cs:33-43
Analyzers-007 Low Resolved Documentation & comments src/Tooling/ZB.MOM.WW.OtOpcUa.Analyzers/UnwrappedCapabilityCallAnalyzer.cs:21-26
Configuration-004 Low Resolved OtOpcUa conventions src/Core/ZB.MOM.WW.OtOpcUa.Configuration/Enums/NodePermissions.cs:8, src/Core/ZB.MOM.WW.OtOpcUa.Configuration/OtOpcUaConfigDbContext.cs:417
Configuration-005 Low Resolved Concurrency & thread safety src/Core/ZB.MOM.WW.OtOpcUa.Configuration/LocalCache/LiteDbConfigCache.cs:50
Configuration-007 Low Resolved Error handling & resilience src/Core/ZB.MOM.WW.OtOpcUa.Configuration/Apply/GenerationApplier.cs:44
Configuration-010 Low Resolved Security src/Core/ZB.MOM.WW.OtOpcUa.Configuration/LocalCache/ResilientConfigReader.cs:81
Configuration-011 Low Resolved Testing coverage src/Core/ZB.MOM.WW.OtOpcUa.Configuration/Apply/GenerationApplier.cs:7, src/Core/ZB.MOM.WW.OtOpcUa.Configuration/Validation/DraftValidator.cs:60
Core-004 Low Resolved OtOpcUa conventions src/Core/ZB.MOM.WW.OtOpcUa.Core/Hosting/DriverHost.cs:55,72,87
Core-008 Low Resolved Error handling & resilience src/Core/ZB.MOM.WW.OtOpcUa.Core/OpcUa/GenericDriverNodeManager.cs:42-64
Core-009 Low Resolved Performance & resource management src/Core/ZB.MOM.WW.OtOpcUa.Core/Resilience/CapabilityInvoker.cs:121-128
Core-010 Low Resolved Code organization & conventions src/Core/ZB.MOM.WW.OtOpcUa.Core/Resilience/DriverResilienceOptions.cs:45-52
Core-011 Low Resolved Testing coverage src/Core/ZB.MOM.WW.OtOpcUa.Core/Authorization/PermissionTrieBuilder.cs:58-75
Core-012 Low Resolved Documentation & comments src/Core/ZB.MOM.WW.OtOpcUa.Core/Stability/WedgeDetector.cs:26, src/Core/ZB.MOM.WW.OtOpcUa.Core/Observability/DriverHealthReport.cs:11-22
Core.Abstractions-004 Low Resolved Concurrency & thread safety src/Core/ZB.MOM.WW.OtOpcUa.Core.Abstractions/DriverTypeRegistry.cs:23-40
Core.Abstractions-005 Low Resolved Error handling & resilience src/Core/ZB.MOM.WW.OtOpcUa.Core.Abstractions/PollGroupEngine.cs:90,99
Core.Abstractions-006 Low Resolved Code organization & conventions src/Core/ZB.MOM.WW.OtOpcUa.Core.Abstractions/IHistoryProvider.cs:63,84-86, src/Core/ZB.MOM.WW.OtOpcUa.Core.Abstractions/Historian/IHistorianDataSource.cs:30,63
Core.Abstractions-007 Low Resolved Testing coverage tests/Core/ZB.MOM.WW.OtOpcUa.Core.Abstractions.Tests/PollGroupEngineTests.cs
Core.Abstractions-008 Low Resolved Documentation & comments src/Core/ZB.MOM.WW.OtOpcUa.Core.Abstractions/DriverHealth.cs:9, src/Core/ZB.MOM.WW.OtOpcUa.Core.Abstractions/IHistoryProvider.cs:39-43,65-69
Core.AlarmHistorian-008 Low Resolved Performance & resource management src/Core/ZB.MOM.WW.OtOpcUa.Core.AlarmHistorian/SqliteStoreAndForwardSink.cs:107-127,255-278
Core.AlarmHistorian-011 Low Resolved Documentation & comments src/Core/ZB.MOM.WW.OtOpcUa.Core.AlarmHistorian/IAlarmHistorianSink.cs:5-9,76, AlarmHistorianEvent.cs:20
Core.ScriptedAlarms-003 Low Resolved Documentation & comments ScriptedAlarmEngine.cs:343, docs/ScriptedAlarms.md:107
Core.ScriptedAlarms-006 Low Resolved Concurrency & thread safety ScriptedAlarmEngine.cs:232, ScriptedAlarmEngine.cs:369
Core.ScriptedAlarms-008 Low Resolved Performance & resource management Part9StateMachine.cs:261-268
Core.ScriptedAlarms-009 Low Won't Fix Performance & resource management ScriptedAlarmEngine.cs:309-315, ScriptedAlarmEngine.cs:271
Core.ScriptedAlarms-010 Low Resolved Design-document adherence ScriptedAlarmEngine.cs:325-336, AlarmPredicateContext.cs:33-40, MessageTemplate.cs:47
Core.ScriptedAlarms-011 Low Resolved Code organization & conventions Part9StateMachine.cs:275
Core.Scripting-005 Low Resolved Correctness & logic bugs DependencyExtractor.cs:97
Core.Scripting-006 Low Resolved Concurrency & thread safety CompiledScriptCache.cs:55
Core.Scripting-008 Low Won't Fix Performance & resource management CompiledScriptCache.cs:34, ScriptEvaluator.cs:34
Core.Scripting-009 Low Resolved Design-document adherence ForbiddenTypeAnalyzer.cs:45
Core.Scripting-011 Low Resolved Testing coverage tests/Core/ZB.MOM.WW.OtOpcUa.Core.Scripting.Tests/
Core.VirtualTags-004 Low Resolved Correctness & logic bugs src/Core/ZB.MOM.WW.OtOpcUa.Core.VirtualTags/VirtualTagEngine.cs:349
Core.VirtualTags-006 Low Resolved Concurrency & thread safety src/Core/ZB.MOM.WW.OtOpcUa.Core.VirtualTags/VirtualTagEngine.cs:177-182, :395-401
Core.VirtualTags-007 Low Resolved Error handling & resilience src/Core/ZB.MOM.WW.OtOpcUa.Core.VirtualTags/TimerTriggerScheduler.cs:58
Core.VirtualTags-009 Low Resolved Performance & resource management src/Core/ZB.MOM.WW.OtOpcUa.Core.VirtualTags/DependencyGraph.cs:64-65, :72-73
Core.VirtualTags-010 Low Resolved Documentation & comments src/Core/ZB.MOM.WW.OtOpcUa.Core.VirtualTags/ITagUpstreamSource.cs:18, VirtualTagContext.cs:30, VirtualTagDefinition.cs:28
Core.VirtualTags-011 Low Resolved Code organization & conventions src/Core/ZB.MOM.WW.OtOpcUa.Core.VirtualTags/VirtualTagEngine.cs:404-409
Core.VirtualTags-013 Low Resolved Documentation & comments src/Core/ZB.MOM.WW.OtOpcUa.Core.VirtualTags/DependencyGraph.cs:266-270
Driver.AbCip-007 Low Resolved OtOpcUa conventions AbCipDriver.cs (whole file), AbCipAlarmProjection.cs, LibplctagTagRuntime.cs
Driver.AbCip-011 Low Resolved Error handling & resilience AbCipDriver.cs:144-152, AbCipDriverOptions.cs:131-143
Driver.AbCip-012 Low Resolved Performance & resource management LibplctagTemplateReader.cs:15-35, AbCipDriver.cs:88-92
Driver.AbCip-013 Low Resolved Design-document adherence AbCipDriverOptions.cs:70-73, PlcFamilies/AbCipPlcFamilyProfile.cs:13-19, LibplctagTagRuntime.cs:16-27
Driver.AbCip-015 Low Resolved Documentation & comments AbCipDriver.cs:9-11, PlcTagHandle.cs:23-27,53-58, AbCipTemplateCache.cs:12-15, IAbCipTagEnumerator.cs:6-11, AbCipDriverOptions.cs:21
Driver.AbCip.Cli-003 Low Resolved Concurrency & thread safety src/Drivers/Cli/ZB.MOM.WW.OtOpcUa.Driver.AbCip.Cli/Commands/SubscribeCommand.cs:50-56,60-61
Driver.AbCip.Cli-004 Low Resolved Error handling & resilience src/Drivers/Cli/ZB.MOM.WW.OtOpcUa.Driver.AbCip.Cli/Commands/SubscribeCommand.cs:28,58; AbCipCommandBase.cs:26-34
Driver.AbCip.Cli-005 Low Resolved Performance & resource management src/Drivers/Cli/ZB.MOM.WW.OtOpcUa.Driver.Cli.Common/DriverCommandBase.cs:51-59
Driver.AbCip.Cli-006 Low Resolved Design-document adherence src/Drivers/Cli/ZB.MOM.WW.OtOpcUa.Driver.AbCip.Cli/AbCipCommandBase.cs:29-34
Driver.AbCip.Cli-007 Low Resolved Testing coverage tests/Drivers/Cli/ZB.MOM.WW.OtOpcUa.Driver.AbCip.Cli.Tests/WriteCommandParseValueTests.cs
Driver.AbCip.Cli-008 Low Resolved Documentation & comments docs/Driver.AbCip.Cli.md:8-9
Driver.AbLegacy-005 Low Resolved OtOpcUa conventions AbLegacyDriver.cs (whole file)
Driver.AbLegacy-011 Low Resolved Performance & resource management AbLegacyDriver.cs:440
Driver.AbLegacy-013 Low Resolved Code organization & conventions AbLegacyDriver.cs:340-345, AbLegacyDriver.cs:238-264
Driver.AbLegacy.Cli-002 Low Resolved Correctness & logic bugs Commands/WriteCommand.cs:27-29, Program.cs:6-9
Driver.AbLegacy.Cli-003 Low Resolved Concurrency & thread safety Commands/SubscribeCommand.cs:47-53
Driver.AbLegacy.Cli-004 Low Resolved Error handling & resilience Commands/ProbeCommand.cs:37-56, Commands/ReadCommand.cs:39-50, Commands/WriteCommand.cs:48-59, Commands/SubscribeCommand.cs:41-76
Driver.AbLegacy.Cli-005 Low Resolved Design-document adherence Commands/SubscribeCommand.cs:23-25, docs/Driver.AbLegacy.Cli.md:94-96
Driver.AbLegacy.Cli-006 Low Resolved Code organization & conventions Commands/ProbeCommand.cs:20-22
Driver.AbLegacy.Cli-007 Low Resolved Testing coverage tests/Drivers/Cli/ZB.MOM.WW.OtOpcUa.Driver.AbLegacy.Cli.Tests/WriteCommandParseValueTests.cs
Driver.FOCAS-007 Low Resolved Error handling & resilience FocasDriver.cs:140-148, FocasDriver.cs:478-484, FocasDriver.cs:529-533, FocasAlarmProjection.cs:61-63
Driver.FOCAS-008 Low Resolved Performance & resource management FocasDriver.cs:201, FocasDriver.cs:253
Driver.FOCAS-009 Low Resolved Design-document adherence FocasDriverOptions.cs:110-115, FocasDriver.cs:468-486, FocasDriverFactoryExtensions.cs:75-80
Driver.FOCAS-010 Low Resolved Code organization & conventions IFocasClient.cs:210-227 (FocasOpMode), FocasConstants.cs:42-78 (FocasOperationMode)
Driver.FOCAS-011 Low Resolved Code organization & conventions IFocasClient.cs:275-287 (FocasAlarmType), FocasAlarmProjection.cs:149-175
Driver.Galaxy-005 Low Resolved OtOpcUa conventions Runtime/EventPump.cs:81-88
Driver.Galaxy-010 Low Resolved Security GalaxyDriver.cs:311-341
Driver.Galaxy-012 Low Resolved Performance & resource management Runtime/SubscriptionRegistry.cs:65-67, GalaxyDriver.cs:538, GalaxyDriver.cs:675
Driver.Galaxy-013 Low Resolved Design-document adherence GalaxyDriver.cs:14-27, GalaxyDriver.cs:374-382, Config/GalaxyDriverOptions.cs:84-86
Driver.Historian.Wonderware-004 Low Resolved Correctness and logic bugs Backend/SdkAlarmHistorianWriteBackend.cs:198-201
Driver.Historian.Wonderware-005 Low Resolved Concurrency and thread safety Backend/HistorianDataSource.cs:124, :126-127
Driver.Historian.Wonderware-007 Low Resolved Error handling and resilience Ipc/PipeServer.cs:70-75
Driver.Historian.Wonderware-008 Low Resolved Error handling and resilience Backend/HistorianDataSource.cs:301-307, :374-380
Driver.Historian.Wonderware-010 Low Resolved Performance and resource management Backend/HistorianConfiguration.cs:32-36, Backend/HistorianDataSource.cs (all read methods)
Driver.Historian.Wonderware-011 Low Resolved Design-document adherence Backend/HistorianDataSource.cs:9-12, Backend/IHistorianDataSource.cs:9-11, Backend/HistorianSample.cs:7-9, Backend/HistorianConfiguration.cs:7-9
Driver.Historian.Wonderware-012 Low Resolved Testing coverage Backend/HistorianDataSource.cs, tests/Drivers/ZB.MOM.WW.OtOpcUa.Driver.Historian.Wonderware.Tests/
Driver.Modbus-003 Low Resolved Concurrency & thread safety ModbusDriver.cs:59,188,241,259,266,726,745,759
Driver.Modbus-007 Low Resolved Design-document adherence ModbusDriver.cs:1392, ModbusDriverOptions.cs:74-80
Driver.Modbus-008 Low Resolved Documentation & comments ModbusDriver.cs:411-417,700-703,737-744
Driver.Modbus-009 Low Resolved Correctness & logic bugs ModbusDriver.cs:1160-1167, ModbusTcpTransport.cs:94-95
Driver.Modbus-010 Low Resolved Error handling & resilience ModbusDriver.cs:864-868, ModbusDriverOptions.cs:116-125
Driver.Modbus-011 Low Resolved Code organization & conventions ModbusDriver.cs:23-43,89-97,408-432
Driver.Modbus-012 Low Resolved Testing coverage tests/Drivers/ZB.MOM.WW.OtOpcUa.Driver.Modbus.Tests/
Driver.Modbus.Addressing-006 Low Resolved Error handling & resilience ModbusAddressParser.cs:297-301
Driver.Modbus.Addressing-007 Low Resolved Design-document adherence ModbusDataType.cs:91-95, docs/v2/dl205.md section Strings
Driver.Modbus.Addressing-009 Low Resolved Documentation & comments ModbusModiconAddress.cs:55-64, ModbusModiconAddress.cs:104-110
Driver.Modbus.Cli-003 Low Resolved Correctness & logic bugs src/Drivers/Cli/ZB.MOM.WW.OtOpcUa.Driver.Modbus.Cli/ModbusCommandBase.cs:14-24
Driver.Modbus.Cli-004 Low Resolved Concurrency & thread safety src/Drivers/Cli/ZB.MOM.WW.OtOpcUa.Driver.Modbus.Cli/Commands/SubscribeCommand.cs:61-67
Driver.Modbus.Cli-005 Low Resolved Error handling & resilience src/Drivers/Cli/ZB.MOM.WW.OtOpcUa.Driver.Modbus.Cli/Commands/ProbeCommand.cs:21-54; Commands/ReadCommand.cs:46-75; Commands/WriteCommand.cs:54-89
Driver.Modbus.Cli-006 Low Resolved Error handling & resilience src/Drivers/Cli/ZB.MOM.WW.OtOpcUa.Driver.Modbus.Cli/Commands/ProbeCommand.cs:35-53
Driver.Modbus.Cli-007 Low Resolved Design-document adherence docs/Driver.Modbus.Cli.md:124-156; src/Drivers/Cli/ZB.MOM.WW.OtOpcUa.Driver.Modbus.Cli/Commands/ReadCommand.cs
Driver.Modbus.Cli-008 Low Resolved Testing coverage tests/Drivers/Cli/ZB.MOM.WW.OtOpcUa.Driver.Modbus.Cli.Tests/
Driver.OpcUaClient-011 Low Resolved Documentation & comments OpcUaClientDriver.cs:1007-1015
Driver.OpcUaClient-014 Low Resolved Performance & resource management OpcUaClientDriver.cs:1138, :1314
Driver.S7-003 Low Resolved Correctness & logic bugs S7Driver.cs:172, S7Driver.cs:255
Driver.S7-005 Low Resolved OtOpcUa conventions S7Driver.cs:33, S7Driver.cs:433
Driver.S7-009 Low Resolved Error handling & resilience S7Driver.cs:392
Driver.S7-010 Low Resolved Performance & resource management S7Driver.cs:504
Driver.S7-013 Low Resolved Code organization & conventions S7DriverOptions.cs:90, S7Driver.cs:300
Driver.S7.Cli-004 Low Resolved Performance & resource management src/Drivers/Cli/ZB.MOM.WW.OtOpcUa.Driver.S7.Cli/Commands/ProbeCommand.cs:36,53, Commands/ReadCommand.cs:45,54, Commands/WriteCommand.cs:51,60, Commands/SubscribeCommand.cs:39,73
Driver.S7.Cli-005 Low Resolved Code organization & conventions tests/ZB.MOM.WW.OtOpcUa.Driver.S7.Cli.Tests/
Driver.S7.Cli-006 Low Resolved Testing coverage tests/Drivers/Cli/ZB.MOM.WW.OtOpcUa.Driver.S7.Cli.Tests/WriteCommandParseValueTests.cs
Driver.S7.Cli-007 Low Resolved Documentation & comments src/Drivers/Cli/ZB.MOM.WW.OtOpcUa.Driver.S7.Cli/Commands/SubscribeCommand.cs:45-51
Driver.TwinCAT-004 Low Resolved Correctness & logic bugs TwinCATDataType.cs:24-27
Driver.TwinCAT-006 Low Resolved OtOpcUa conventions TwinCATDriver.cs:406-411
Driver.TwinCAT-014 Low Resolved Design-document adherence TwinCATDriverOptions.cs:41-43, TwinCATDriverOptions.cs:57-62, AdsTwinCATClient.cs:145
Driver.TwinCAT-015 Low Resolved Code organization & conventions TwinCATDriver.cs:431-432
Driver.TwinCAT-016 Low Resolved Testing coverage tests/Drivers/ZB.MOM.WW.OtOpcUa.Driver.TwinCAT.Tests/
Driver.TwinCAT.Cli-001 Low Resolved Correctness & logic bugs TwinCATCommandBase.cs:23-24, Commands/SubscribeCommand.cs:23-24, Commands/BrowseCommand.cs:21-24
Driver.TwinCAT.Cli-002 Low Resolved Concurrency & thread safety Commands/SubscribeCommand.cs:46-58
Driver.TwinCAT.Cli-003 Low Resolved Error handling & resilience Commands/SubscribeCommand.cs:56-58
Driver.TwinCAT.Cli-004 Low Resolved Design-document adherence TwinCATCommandBase.cs:26-29, Commands/BrowseCommand.cs
Driver.TwinCAT.Cli-005 Low Resolved Code organization & conventions Commands/ProbeCommand.cs:23, Commands/ReadCommand.cs:20, Commands/WriteCommand.cs:20, Commands/SubscribeCommand.cs:18
Driver.TwinCAT.Cli-006 Low Resolved Testing coverage tests/Drivers/Cli/ZB.MOM.WW.OtOpcUa.Driver.TwinCAT.Cli.Tests/WriteCommandParseValueTests.cs
Driver.TwinCAT.Cli-007 Low Resolved Documentation & comments TwinCATCommandBase.cs:31-36
Server-004 Low Resolved OtOpcUa conventions src/Server/ZB.MOM.WW.OtOpcUa.Server/OpcUa/OtOpcUaServer.cs:187-200
Server-006 Low Resolved Concurrency & thread safety src/Server/ZB.MOM.WW.OtOpcUa.Server/OpcUa/DriverNodeManager.cs:478-482, 1342-1348
Server-008 Low Resolved Error handling & resilience src/Server/ZB.MOM.WW.OtOpcUa.Server/OpcUa/DriverNodeManager.cs:736
Server-012 Low Resolved Performance & resource management src/Server/ZB.MOM.WW.OtOpcUa.Server/Hosting/PeerHttpProbeLoop.cs:78-79
Server-014 Low Resolved Code organization & conventions src/Server/ZB.MOM.WW.OtOpcUa.Server/SealedBootstrap.cs
Server-015 Low Resolved Documentation & comments src/Server/ZB.MOM.WW.OtOpcUa.Server/OpcUa/OtOpcUaServer.cs:16-21, src/Server/ZB.MOM.WW.OtOpcUa.Server/OpcUa/OpcUaServerOptions.cs:21-26