Files
lmxopcua/code-reviews
Joseph Doherty fb7c6c7046 fix(scripting): route engines through CompiledScriptCache (Core.Scripting-016)
Both VirtualTagEngine.Load and ScriptedAlarmEngine.LoadAsync were calling
ScriptEvaluator.Compile directly, bypassing CompiledScriptCache. The
Core.Scripting-008 collectible-ALC fix wired Dispose only through the cache's
Clear()/Dispose(), so the per-publish accretion the -008 fix was meant to
eliminate was still in effect on the actual production path — the headline
'no more restarts needed' guarantee wasn't delivered.

Resolution:
  - VirtualTagEngine + ScriptedAlarmEngine each gained a private
    CompiledScriptCache<TContext, TResult> instance.
  - Both Load methods now call _compileCache.GetOrCompile(source).
  - Publish-replace path: _compileCache.Clear() runs alongside the existing
    _tags / _alarms clears so the prior generation's ALCs are disposed
    before recompile.
  - Engine Dispose now calls _compileCache.Dispose() so shutdown actually
    releases the emitted assemblies.

Side-fix in CompiledScriptCache: Dispose() set _disposed=true then called
Clear(), but Clear() had a pre-existing 'if (_disposed) return' guard that
aborted the drain unconditionally — making the Dispose-triggered cleanup a
silent no-op. Removed the disposed-guard on Clear() (clearing an empty/
cleared cache is idempotent).

Side-fix in ScriptedAlarmEngine.Dispose: cleared _alarms AFTER the
Task.WhenAll drain. The drain guarantees no background callback is mid-
flight, so clearing is safe. Previously _alarms was deliberately NOT
cleared on Dispose (per Core.ScriptedAlarms-005), but that left the
AlarmState records holding TimedScriptEvaluator → ScriptEvaluator → delegate
references that rooted the emitted assemblies, defeating the cache's
Dispose work on the engine side.

Regression tests:
  - VirtualTagEngineTests.Dispose_unloads_compiled_script_assembly
  - ScriptedAlarmEngineTests.Dispose_unloads_compiled_predicate_assembly
  Both use WeakReference + bounded GC.Collect() to prove the emitted
  assembly is reclaimable after engine.Dispose(). The alarms test had to
  be synchronous (not 'async Task<WeakReference>') because async state
  machines capture locals as state-struct fields, keeping them alive past
  the method's apparent end and defeating GC.

Verification:
  - Core.Scripting.Tests: 104/104 (unchanged).
  - VirtualTags.Tests: 57/57 (was 56 — +1 unload test).
  - ScriptedAlarms.Tests: 67/67 (was 66 — +1 unload test).
  - All other consumer suites still green.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-23 17:33:34 -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 0 10
Client.Shared Claude Code 2026-05-22 76d35d1 Reviewed 0 11
Client.UI Claude Code 2026-05-22 76d35d1 Reviewed 0 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-23 a9be809 Reviewed 1 13
Core.Scripting Claude Code 2026-05-23 a9be809 Reviewed 4 16
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-23 a9be809 Reviewed 0 8
Driver.FOCAS Claude Code 2026-05-22 76d35d1 Reviewed 0 12
Driver.FOCAS.Cli Claude Code 2026-05-22 76d35d1 Reviewed 0 5
Driver.Galaxy Claude Code 2026-05-23 a9be809 Reviewed 4 18
Driver.Historian.Wonderware Claude Code 2026-05-22 76d35d1 Reviewed 0 12
Driver.Historian.Wonderware.Client Claude Code 2026-05-22 76d35d1 Reviewed 0 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
Core.Scripting-012 High Security ForbiddenTypeAnalyzer.cs:60-76, ScriptSandbox.cs:96-126 The Core.Scripting-008 rewrite broadened the BCL references list from a narrow allow-list (System.Private.CoreLib + System.Linq only) to the full TRUSTED_PLATFORM_ASSEMBLIES set filtered to System.* + netstandard + `Microsoft.Win…
Core.Scripting-013 Medium Security ScriptEvaluator.cs:202-225 (BuildWrapperSource) The synthesized wrapper pastes the user's source verbatim between { and } braces inside a static method body, with a #line 1 directive and no escaping. The legacy CSharpScript.CreateDelegate path was robust to this because Roslyn's…
Core.Scripting-014 Medium Concurrency & thread safety CompiledScriptCache.cs:91-103 (Clear) Clear() snapshots _cache.Keys.ToArray() then iterates, calling TryRemove(key, out var lazy) on each — the key-only overload, not the value-scoped one used in GetOrCompile's catch block. Between the snapshot and a given TryRemove,…
Driver.Galaxy-015 Medium Security libs/MxGateway.Client.dll, libs/MxGateway.Contracts.dll, libs/README.md Commit 994997b checks in two binary DLLs (MxGateway.Client.dll, 99 840 bytes; MxGateway.Contracts.dll, 489 984 bytes) under src/Drivers/.../Driver.Galaxy/libs/ and references them via <Reference HintPath="…" />. These are the onl…
Driver.Galaxy-016 Medium Performance & resource management ZB.MOM.WW.OtOpcUa.Driver.Galaxy.csproj:43-47, libs/README.md:32-37 The five new PackageReference versions declared in the csproj (Google.Protobuf 3.34.1, Grpc.Core.Api 2.76.0, Grpc.Net.Client 2.71.0, Microsoft.Extensions.Logging.Abstractions 10.0.0, Polly 8.5.2) do not all match what the vendo…
Core.ScriptedAlarms-013 Low Documentation & comments ScriptedAlarmEngine.cs:66-81 The new internal test accessors TryGetScratchReadCacheForTest and TryGetScratchContextForTest (introduced by the Core.ScriptedAlarms-009 resolution at 0001cdd) return the live per-alarm scratch — the same `Dictionary<string, DataVa…
Core.Scripting-015 Low Correctness & logic bugs ScriptEvaluator.cs:234-270 (ToCSharpTypeName) ToCSharpTypeName is documented to handle nested types (Outer+InnerOuter.Inner) via Replace('+', '.') for the non-generic path (line 269) but the generic path (line 263-266) constructs the name from def.FullName! then takes a s…
Driver.Galaxy-017 Low Design-document adherence src/Drivers/ZB.MOM.WW.OtOpcUa.Driver.Galaxy/ (no source change), gateway proto contract The vendored MxGateway.Contracts.dll only carries the OLD MxGateway.Contracts.Proto[.Galaxy] namespace (PE-namespace dump confirms — MxGateway.Client, MxGateway.Contracts, MxGateway.Contracts.Proto, `MxGateway.Contracts.Proto.Gal…
Driver.Galaxy-018 Low Documentation & comments libs/README.md:32-37, ZB.MOM.WW.OtOpcUa.Driver.Galaxy.csproj:40-47 Several small documentation issues in the vendoring artefacts: 1. libs/README.md says "Versions match what the sibling repo's ZB.MOM.WW.MxGateway.Contracts.csproj uses" — but ZB.MOM.WW.MxGateway.Contracts.csproj only declares `Google…

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.Cli.Common-007 High Resolved Correctness & logic bugs src/Drivers/Cli/ZB.MOM.WW.OtOpcUa.Driver.Cli.Common/SnapshotFormatter.cs:129
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.Scripting-016 Medium Resolved Performance & resource management src/Core/ZB.MOM.WW.OtOpcUa.Core.VirtualTags/VirtualTagEngine.cs:74-117, src/Core/ZB.MOM.WW.OtOpcUa.Core.ScriptedAlarms/ScriptedAlarmEngine.cs:139-182
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
Client.CLI-002 Low Resolved Correctness & logic bugs Commands/SubscribeCommand.cs:129-137
Client.CLI-003 Low Resolved Correctness & logic bugs Commands/BrowseCommand.cs:29-30, Commands/SubscribeCommand.cs:20-27, Commands/AlarmsCommand.cs:28-29, Commands/HistoryReadCommand.cs:42-43
Client.CLI-004 Low Resolved OtOpcUa conventions Commands/SubscribeCommand.cs:13-37
Client.CLI-006 Low Resolved Error handling & resilience Commands/HistoryReadCommand.cs:73, Commands/HistoryReadCommand.cs:76, Helpers/NodeIdParser.cs:39
Client.CLI-007 Low Resolved Performance & resource management CommandBase.cs:112-123
Client.CLI-008 Low Resolved Documentation & comments docs/Client.CLI.md:158-217
Client.CLI-009 Low Resolved Code organization & conventions Commands/SubscribeCommand.cs:66-165, Commands/AlarmsCommand.cs:52-91
Client.CLI-010 Low Resolved Testing coverage tests/Client/ZB.MOM.WW.OtOpcUa.Client.CLI.Tests/SubscribeCommandTests.cs
Client.Shared-003 Low Resolved Correctness & logic bugs Adapters/DefaultSessionAdapter.cs:76, Adapters/DefaultSessionAdapter.cs:273
Client.Shared-004 Low Resolved OtOpcUa conventions Adapters/DefaultSessionAdapter.cs:228, Adapters/DefaultSessionAdapter.cs:121, Adapters/DefaultSessionAdapter.cs:172
Client.Shared-009 Low Resolved Error handling & resilience / Documentation & comments OpcUaClientService.cs:302-322
Client.Shared-010 Low Resolved Performance & resource management Models/ConnectionSettings.cs:48, OpcUaClientService.cs:408-417
Client.Shared-011 Low Resolved Testing coverage tests/Client/ZB.MOM.WW.OtOpcUa.Client.Shared.Tests/OpcUaClientServiceTests.cs
Client.UI-003 Low Resolved OtOpcUa conventions ZB.MOM.WW.OtOpcUa.Client.UI.csproj:20-21, Program.cs:14-20
Client.UI-004 Low Resolved OtOpcUa conventions Views/MainWindow.axaml.cs:125-138
Client.UI-006 Low Resolved Error handling & resilience ViewModels/MainWindowViewModel.cs:244-252, ViewModels/AlarmsViewModel.cs:88-112, ViewModels/SubscriptionsViewModel.cs:79-94
Client.UI-009 Low Resolved Design-document adherence ViewModels/HistoryViewModel.cs:44-54
Client.UI-010 Low Resolved Code organization & conventions Controls/DateTimeRangePicker.axaml.cs:33-37, Controls/DateTimeRangePicker.axaml.cs:70-80
Client.UI-011 Low Resolved Documentation & comments Views/MainWindow.axaml:81, Services/JsonSettingsService.cs:11-15
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 Resolved 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 Resolved 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.Cli.Common-004 Low Resolved Error handling & resilience src/Drivers/Cli/ZB.MOM.WW.OtOpcUa.Driver.Cli.Common/SnapshotFormatter.cs:68-70
Driver.Cli.Common-006 Low Resolved 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
Driver.Cli.Common-008 Low Resolved Testing coverage tests/Drivers/Cli/ZB.MOM.WW.OtOpcUa.Driver.Cli.Common.Tests/SnapshotFormatterTests.cs:50-64
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.FOCAS.Cli-001 Low Resolved Error handling & resilience Commands/WriteCommand.cs:58-68
Driver.FOCAS.Cli-002 Low Resolved Concurrency & thread safety Commands/SubscribeCommand.cs:45-51
Driver.FOCAS.Cli-003 Low Resolved Error handling & resilience FocasCommandBase.cs:19 (CncPort), FocasCommandBase.cs:27 (TimeoutMs), Commands/SubscribeCommand.cs:23 (IntervalMs)
Driver.FOCAS.Cli-004 Low Resolved Performance & resource management Commands/ProbeCommand.cs:37,54; Commands/ReadCommand.cs:37,46; Commands/WriteCommand.cs:45,54; Commands/SubscribeCommand.cs:39,73
Driver.FOCAS.Cli-005 Low Resolved Design-document adherence Commands/WriteCommand.cs:50, Commands/ProbeCommand.cs:50 (via SnapshotFormatter.FormatStatus)
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.Historian.Wonderware.Client-003 Low Resolved Concurrency & thread safety WonderwareHistorianClient.cs:207, WonderwareHistorianClient.cs:132-150
Driver.Historian.Wonderware.Client-004 Low Resolved Concurrency & thread safety WonderwareHistorianClient.cs:203-267
Driver.Historian.Wonderware.Client-006 Low Resolved Error handling & resilience Internal/PipeChannel.cs:96-107, WonderwareHistorianClientOptions.cs:11-12
Driver.Historian.Wonderware.Client-008 Low Resolved Security ZB.MOM.WW.OtOpcUa.Driver.Historian.Wonderware.Client.csproj:29-32
Driver.Historian.Wonderware.Client-010 Low Resolved Documentation & comments WonderwareHistorianClient.cs:355-361, WonderwareHistorianClient.cs:132-150
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