b062cc0440
Re-review Server + Tests modules over 88915c3..3cd7776 (the ZB.MOM.WW.GalaxyRepository 0.2.0 adoption + array-write fixes). Security-critical browse-scope wiring verified sound. 3 new findings: - Server-059 (Medium): dashboard Galaxy summary memoized only on cache Sequence -> status/timestamps freeze during a Galaxy SQL outage. - Server-060 (Low): no DI test asserts IGalaxyBrowseScopeProvider resolves to GatewayBrowseScopeProvider (registration-order invariant). - Tests-041 (Medium): memoization invalidation path untested.
Code Reviews
Cross-module code review index for the mxaccessgw codebase. 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 |
|---|---|---|---|---|---|---|
| Client.Dotnet | Claude Code | 2026-06-18 | 88915c3 |
Re-reviewed | 0 | 30 |
| Client.Go | Claude Code | 2026-06-18 | 88915c3 |
Re-reviewed | 0 | 37 |
| Client.Java | Claude Code | 2026-06-18 | 88915c3 |
Re-reviewed | 0 | 51 |
| Client.Python | Claude Code | 2026-06-18 | 88915c3 |
Re-reviewed | 0 | 38 |
| Client.Rust | Claude Code | 2026-06-18 | 88915c3 |
Re-reviewed | 0 | 40 |
| Contracts | Claude Code | 2026-06-18 | 88915c3 |
Re-reviewed | 0 | 25 |
| IntegrationTests | Claude Code | 2026-06-18 | 88915c3 |
Re-reviewed | 0 | 33 |
| Server | Claude Code | 2026-06-25 | 3cd7776 |
Re-reviewed | 2 | 60 |
| Tests | Claude Code | 2026-06-25 | 3cd7776 |
Re-reviewed | 1 | 41 |
| Worker | Claude Code | 2026-06-16 | 8df5ab3 |
Re-reviewed | 0 | 28 |
| Worker.Tests | Claude Code | 2026-06-18 | 88915c3 |
Re-reviewed | 0 | 36 |
Pending findings
Findings with status Open or In Progress, ordered by severity.
| ID | Severity | Category | Location | Description |
|---|---|---|---|---|
| Server-059 | Medium | Correctness & logic bugs | src/ZB.MOM.WW.MxGateway.Server/Dashboard/DashboardSnapshotService.cs:109-128 |
ResolveGalaxySummary memoizes the projected dashboard Galaxy summary keyed only on entry.Sequence and returns the cached summary whenever the sequence is unchanged. The comment asserts "an unchanged sequence means the entry (and th… |
| Tests-041 | Medium | Testing coverage | src/ZB.MOM.WW.MxGateway.Tests/Gateway/Dashboard/DashboardSnapshotServiceTests.cs, src/ZB.MOM.WW.MxGateway.Server/Dashboard/DashboardSnapshotService.cs:109-128 |
DashboardSnapshotService.ResolveGalaxySummary introduced a lock-free memoization cache keyed on GalaxyHierarchyCacheEntry.Sequence (lines 109-128): on a matching sequence the cached DashboardGalaxySummary is returned without recomput… |
| Server-060 | Low | Testing coverage | src/ZB.MOM.WW.MxGateway.Server/GatewayApplication.cs:95-99, src/ZB.MOM.WW.MxGateway.Tests/Gateway/GatewayApplicationTests.cs |
The per-key browse-subtree scoping depends entirely on the gateway's AddSingleton<IGalaxyBrowseScopeProvider, GatewayBrowseScopeProvider>() being registered before AddZbGalaxyRepository(...), so that the library's `TryAddSingleton<… |
Closed findings
Findings with status Resolved, Won't Fix, or Deferred.
| ID | Severity | Status | Category | Location |
|---|---|---|---|---|
| Server-001 | Critical | Resolved | Security | src/MxGateway.Server/GatewayApplication.cs:147-149, src/MxGateway.Server/Dashboard/DashboardEndpointRouteBuilderExtensions.cs:55-58, src/MxGateway.Server/Dashboard/Components/Routes.razor:1-15 |
| Client.Go-001 | High | Resolved | Correctness & logic bugs | clients/go/mxgateway/errors.go:88-93, clients/go/mxgateway/errors.go:117-128 |
| Client.Java-013 | High | Resolved | Testing coverage | clients/java/mxgateway-cli/src/test/java/com/dohertylan/mxgateway/cli/MxGatewayCliTests.java:212-304, clients/java/mxgateway-cli/src/main/java/com/dohertylan/mxgateway/cli/MxGatewayCli.java:1214-1244 |
| Client.Java-032 | High | Resolved | Documentation & comments | clients/java/README.md:182-183 |
| Client.Java-039 | High | Resolved | Correctness & logic bugs | clients/java/zb-mom-ww-mxgateway-cli/src/main/java/com/zb/mom/ww/mxgateway/cli/MxGatewayCli.java:1699 (origin: src/ZB.MOM.WW.MxGateway.Contracts/Protos/mxaccess_gateway.proto, AlarmFeedMessage.payload provider-status arm added in commit 1d85db7) |
| Client.Python-018 | High | Resolved | Code organization & conventions | clients/python/pyproject.toml:11 |
| Client.Python-022 | High | Resolved | Documentation & comments | clients/python/README.md:201-202, clients/python/src/zb_mom_ww_mxgateway_cli/commands.py:389-420 |
| Client.Rust-001 | High | Resolved | mxaccessgw conventions | clients/rust/src/options.rs:98,143 |
| Client.Rust-002 | High | Resolved | mxaccessgw conventions | clients/rust/src/session.rs:522 |
| Client.Rust-003 | High | Resolved | Correctness & logic bugs | clients/rust/crates/mxgw-cli/src/main.rs:1051 |
| Client.Rust-012 | High | Resolved | mxaccessgw conventions | clients/rust/src/galaxy.rs:282 |
| Client.Rust-013 | High | Resolved | mxaccessgw conventions | src/MxGateway.Contracts/Protos/mxaccess_gateway.proto:414-424 (origin); clients/rust/src/generated.rs:11-31 (suppression site) |
| Client.Rust-029 | High | Resolved | mxaccessgw conventions | clients/rust/src/options.rs:98,143; clients/rust/src/galaxy.rs:282; clients/rust/src/session.rs:664-671 |
| Client.Rust-030 | High | Resolved | Correctness & logic bugs | clients/rust/crates/mxgw-cli/src/main.rs:1731,1757 (origin: src/ZB.MOM.WW.MxGateway.Contracts/Protos/mxaccess_gateway.proto:909-924, added in commit 1d85db7) |
| IntegrationTests-001 | High | Resolved | Design-document adherence | src/MxGateway.IntegrationTests/Galaxy/LiveGalaxyRepositoryFactAttribute.cs:7, src/MxGateway.IntegrationTests/Galaxy/GalaxyRepositoryLiveTests.cs |
| IntegrationTests-002 | High | Resolved | Design-document adherence | src/MxGateway.IntegrationTests/DashboardLdapLiveTests.cs:13, src/MxGateway.Server/Configuration/LdapOptions.cs:27 |
| IntegrationTests-026 | High | Resolved | Correctness & logic bugs | src/ZB.MOM.WW.MxGateway.IntegrationTests/WorkerLiveMxAccessSmokeTests.cs:1098-1101, src/ZB.MOM.WW.MxGateway.Server/Alarms/GatewayAlarmMonitor.cs:55-60 |
| Server-003 | High | Resolved | Security | src/MxGateway.Server/Dashboard/DashboardAuthorizationHandler.cs:39,54-59, src/MxGateway.Server/Dashboard/DashboardAuthenticator.cs:236-258 |
| Server-017 | High | Resolved | Security | src/MxGateway.Server/Security/Authorization/GatewayGrpcScopeResolver.cs:13-27, src/MxGateway.Server/Grpc/MxAccessGatewayService.cs:173-247, docs/Authorization.md:108-110 |
| Tests-001 | High | Resolved | Testing coverage | src/MxGateway.Tests/Gateway/Grpc/MxAccessGatewayServiceTests.cs:483-489 |
| Tests-002 | High | Resolved | Security | src/MxGateway.Tests/Gateway/Grpc/GalaxyRepositoryGrpcServiceTests.cs:198-210 |
| Worker-001 | High | Resolved | Concurrency & thread safety | src/MxGateway.Worker/MxAccess/WnWrapAlarmConsumer.cs:204-207 |
| Worker-002 | High | Resolved | Correctness & logic bugs | src/MxGateway.Worker/Ipc/WorkerPipeSession.cs:545-549 |
| Worker-003 | High | Resolved | Correctness & logic bugs | src/MxGateway.Worker/Ipc/WorkerPipeSession.cs:399-403, :416-419 |
| Worker-026 | High | Resolved | Concurrency & thread safety | src/ZB.MOM.WW.MxGateway.Worker/MxAccess/FailoverAlarmConsumer.cs:289-338, src/ZB.MOM.WW.MxGateway.Worker/MxAccess/MxAccessStaSession.cs:307-320 |
| Worker.Tests-001 | High | Resolved | Testing coverage | src/MxGateway.Worker.Tests/Sta/ (no StaMessagePumpTests.cs) |
| Worker.Tests-002 | High | Resolved | Testing coverage | src/MxGateway.Worker.Tests/MxAccess/MxAccessStaSessionTests.cs, src/MxGateway.Worker.Tests/MxAccess/MxAccessEventMapperTests.cs |
| Client.Dotnet-001 | Medium | Resolved | Error handling & resilience | clients/dotnet/MxGateway.Client/GrpcMxGatewayClientTransport.cs:190-199, clients/dotnet/MxGateway.Client/GrpcGalaxyRepositoryClientTransport.cs:131-140 |
| Client.Dotnet-002 | Medium | Resolved | Testing coverage | clients/dotnet/MxGateway.Client.Tests/FakeGatewayTransport.cs:145-148, clients/dotnet/MxGateway.Client.Tests/MxGatewayClientSessionTests.cs:236-256 |
| Client.Dotnet-003 | Medium | Resolved | Concurrency & thread safety | clients/dotnet/MxGateway.Client/MxGatewaySession.cs:659-663, clients/dotnet/MxGateway.Client/MxGatewayClient.cs:230-240 |
| Client.Dotnet-018 | Medium | Resolved | Documentation & comments | clients/dotnet/README.md:137-138 |
| Client.Dotnet-022 | Medium | Resolved | mxaccessgw conventions | clients/dotnet/Directory.Build.props:1-21 |
| Client.Dotnet-028 | Medium | Resolved | Security | clients/dotnet/.../MxGatewayClientCli.cs:156 |
| Client.Dotnet-030 | Medium | Resolved | Correctness & logic bugs | clients/dotnet/ZB.MOM.WW.MxGateway.Client.Cli/MxGatewayClientCli.cs:91-93,113,2023-2050 |
| Client.Go-002 | Medium | Resolved | Error handling & resilience | clients/go/mxgateway/session.go:440-516 |
| Client.Go-003 | Medium | Resolved | Correctness & logic bugs | clients/go/cmd/mxgw-go/main.go:517-532 |
| Client.Go-022 | Medium | Resolved | Code organization & conventions | clients/go/cmd/mxgw-go/main.go:398-412,417-519 |
| Client.Go-023 | Medium | Resolved | Concurrency & thread safety | clients/go/cmd/mxgw-go/main.go:604-606,616-632 |
| Client.Go-028 | Medium | Resolved | Correctness & logic bugs | scripts/tag-go-module.ps1:42-46 |
| Client.Go-030 | Medium | Resolved | Concurrency & thread safety | clients/go/cmd/mxgw-go/main.go:1491-1494 |
| Client.Java-001 | Medium | Resolved | Security | clients/java/mxgateway-client/src/main/java/com/dohertylan/mxgateway/client/MxGatewaySecrets.java:30-32 |
| Client.Java-002 | Medium | Resolved | Concurrency & thread safety | clients/java/mxgateway-client/src/main/java/com/dohertylan/mxgateway/client/MxEventStream.java:31,66-92 |
| Client.Java-003 | Medium | Resolved | mxaccessgw conventions | clients/java/mxgateway-client/src/main/java/com/dohertylan/mxgateway/client/MxGatewayClient.java:119-140 |
| Client.Java-004 | Medium | Resolved | Correctness & logic bugs | clients/java/mxgateway-client/src/main/java/com/dohertylan/mxgateway/client/MxGatewaySession.java:114-120,157-163,191-197 |
| Client.Java-005 | Medium | Resolved | Error handling & resilience | clients/java/mxgateway-client/src/main/java/com/dohertylan/mxgateway/client/MxGatewaySession.java:92-105 |
| Client.Java-014 | Medium | Resolved | Concurrency & thread safety | clients/java/mxgateway-client/src/main/java/com/dohertylan/mxgateway/client/MxEventStream.java:59-65,117-124 |
| Client.Java-015 | Medium | Resolved | Concurrency & thread safety | clients/java/mxgateway-client/src/main/java/com/dohertylan/mxgateway/client/MxGatewayChannels.java:112-138, MxGatewayClient.java:183-191,224-232,322-329, GalaxyRepositoryClient.java:164-170,212-214 |
| Client.Java-021 | Medium | Resolved | Concurrency & thread safety | clients/java/mxgateway-client/src/main/java/com/dohertylan/mxgateway/client/DeployEventStream.java:96-135 |
| Client.Java-027 | Medium | Resolved | Documentation & comments | clients/java/README.md:36,107-175,185,205,220, clients/java/JavaClientDesign.md:195-211 |
| Client.Java-028 | Medium | Resolved | Documentation & comments | clients/java/JavaClientDesign.md:23-27 |
| Client.Java-033 | Medium | Resolved | Correctness & logic bugs | clients/java/zb-mom-ww-mxgateway-cli/src/main/java/com/zb/mom/ww/mxgateway/cli/MxGatewayCli.java:1078-1098 |
| Client.Java-034 | Medium | Resolved | Correctness & logic bugs | clients/java/zb-mom-ww-mxgateway-cli/src/main/java/com/zb/mom/ww/mxgateway/cli/MxGatewayCli.java:182-198 |
| Client.Java-037 | Medium | Resolved | Documentation & comments | clients/java/README.md:138-149 |
| Client.Java-040 | Medium | Resolved | Correctness & logic bugs | clients/java/zb-mom-ww-mxgateway-cli/src/main/java/com/zb/mom/ww/mxgateway/cli/MxGatewayCli.java:1552-1561 |
| Client.Python-003 | Medium | Resolved | Error handling & resilience | clients/python/src/mxgateway/client.py:125-137,155-173 |
| Client.Python-005 | Medium | Resolved | Performance & resource management | clients/python/src/mxgateway/galaxy.py:117-140 |
| Client.Python-009 | Medium | Resolved | Testing coverage | clients/python/tests/ |
| Client.Python-013 | Medium | Resolved | Security | clients/python/src/mxgateway_cli/commands.py:757-762 |
| Client.Python-023 | Medium | Resolved | Security | clients/python/src/zb_mom_ww_mxgateway_cli/commands.py:901-906 |
| Client.Python-024 | Medium | Resolved | Code organization & conventions | clients/python/src/zb_mom_ww_mxgateway_cli/commands.py:13,48-119 |
| Client.Python-027 | Medium | Resolved | Security | clients/python/src/zb_mom_ww_mxgateway/client.py:36-54, clients/python/src/zb_mom_ww_mxgateway/galaxy.py:47-66, clients/python/src/zb_mom_ww_mxgateway_cli/commands.py:165-172,918-930 |
| Client.Python-028 | Medium | Resolved | Error handling & resilience | clients/python/src/zb_mom_ww_mxgateway/options.py:120-130, clients/python/src/zb_mom_ww_mxgateway/client.py:59, clients/python/src/zb_mom_ww_mxgateway/galaxy.py:71 |
| Client.Python-036 | Medium | Resolved | Documentation & comments | clients/python/README.md:143-158 |
| Client.Rust-005 | Medium | Resolved | Correctness & logic bugs | clients/rust/src/session.rs:489-520 |
| Client.Rust-006 | Medium | Resolved | Error handling & resilience | clients/rust/src/session.rs:531-555 |
| Client.Rust-015 | Medium | Resolved | Error handling & resilience | clients/rust/crates/mxgw-cli/src/main.rs:1053-1070 |
| Client.Rust-016 | Medium | Resolved | Testing coverage | clients/rust/tests/client_behavior.rs, clients/rust/src/session.rs:489-519,654-768 |
| Client.Rust-018 | Medium | Resolved | Error handling & resilience | clients/rust/crates/mxgw-cli/src/main.rs:1098-1170; scripts/bench-read-bulk.ps1:347-365; siblings: clients/go/cmd/mxgw-go/main.go:600-648, clients/python/src/mxgateway_cli/commands.py:614-662, clients/dotnet/MxGateway.Client.Cli/MxGatewayClientCli.cs:685-770, clients/java/mxgateway-cli/src/main/java/com/dohertylan/mxgateway/cli/MxGatewayCli.java:855-940 |
| Client.Rust-022 | Medium | Resolved | Correctness & logic bugs | clients/rust/src/session.rs:369-391,403-420,427-444,452-469,476-493,631-696,706-724 |
| Client.Rust-024 | Medium | Resolved | Testing coverage | clients/rust/tests/client_behavior.rs:405-415; clients/rust/src/session.rs:369-493; clients/rust/src/client.rs:265-291; clients/rust/crates/mxgw-cli/src/main.rs:1310-1505 |
| Client.Rust-031 | Medium | Resolved | Error handling & resilience | clients/rust/src/options.rs:196-240 (build_tls_config); clients/rust/Cargo.toml:40 (tonic features); docs: clients/rust/src/options.rs:76-101, clients/rust/README.md (TLS trust section), clients/rust/crates/mxgw-cli/src/main.rs:429-431, clients/rust/RustClientDesign.md:202 |
| Client.Rust-033 | Medium | Resolved | Correctness & logic bugs | clients/rust/crates/mxgw-cli/src/main.rs:485 |
| Contracts-002 | Medium | Resolved | Error handling & resilience | src/MxGateway.Contracts/Protos/mxaccess_gateway.proto:384-385, :95 |
| Contracts-009 | Medium | Resolved | Design-document adherence | docs/Contracts.md:13-24 |
| IntegrationTests-003 | Medium | Resolved | Correctness & logic bugs | src/MxGateway.IntegrationTests/WorkerLiveMxAccessSmokeTests.cs:89-97 |
| IntegrationTests-004 | Medium | Resolved | Error handling & resilience | src/MxGateway.IntegrationTests/WorkerLiveMxAccessSmokeTests.cs:108-111 |
| IntegrationTests-005 | Medium | Resolved | Testing coverage | src/MxGateway.IntegrationTests/WorkerLiveMxAccessSmokeTests.cs |
| IntegrationTests-006 | Medium | Resolved | Testing coverage | src/MxGateway.IntegrationTests/DashboardLdapLiveTests.cs |
| IntegrationTests-012 | Medium | Resolved | Correctness & logic bugs | src/MxGateway.IntegrationTests/WorkerLiveMxAccessSmokeTests.cs:147-151 |
| IntegrationTests-014 | Medium | Resolved | Testing coverage | src/MxGateway.IntegrationTests/WorkerLiveMxAccessSmokeTests.cs |
| IntegrationTests-017 | Medium | Resolved | Correctness & logic bugs | src/MxGateway.IntegrationTests/WorkerLiveMxAccessSmokeTests.cs:350-407 |
| IntegrationTests-019 | Medium | Resolved | Security | src/MxGateway.IntegrationTests/WorkerLiveMxAccessSmokeTests.cs:497-534 |
| Server-002 | Medium | Resolved | Design-document adherence | src/MxGateway.Server/Program.cs:24, src/MxGateway.Server/GatewayApplication.cs |
| Server-004 | Medium | Resolved | Code organization & conventions | src/MxGateway.Server/Security/Authentication/ApiKeyAdminCommandLineParser.cs:227-233, src/MxGateway.Server/Security/Authentication/ApiKeyAdminCliRunner.cs:53-77, src/MxGateway.Server/Dashboard/DashboardApiKeyManagementService.cs:21-67 |
| Server-005 | Medium | Resolved | Error handling & resilience | src/MxGateway.Server/Galaxy/GalaxyHierarchyRefreshService.cs:22-28, src/MxGateway.Server/Galaxy/GalaxyHierarchyCache.cs:184 |
| Server-006 | Medium | Resolved | Correctness & logic bugs | src/MxGateway.Server/Sessions/SessionManager.cs:84-114 |
| Server-015 | Medium | Resolved | Concurrency & thread safety | src/MxGateway.Server/Sessions/GatewaySession.cs:8-15,266-308,720-775 |
| Server-016 | Medium | Resolved | Error handling & resilience | src/MxGateway.Server/Sessions/GatewaySession.cs:790-797, src/MxGateway.Server/Sessions/SessionManager.cs:237-258 |
| Server-021 | Medium | Resolved | Testing coverage | src/MxGateway.Server/Grpc/MxAccessGatewayService.cs:266-664, src/MxGateway.Tests/Gateway/Grpc/MxAccessGatewayServiceTests.cs |
| Server-030 | Medium | Resolved | Error handling & resilience | src/MxGateway.Server/Sessions/GatewaySession.cs:952-980 |
| Server-031 | Medium | Resolved | Concurrency & thread safety | src/ZB.MOM.WW.MxGateway.Server/Workers/WorkerClient.cs:392-443 (gateway-side heartbeat watchdog); src/ZB.MOM.WW.MxGateway.Server/Workers/WorkerClientOptions.cs:14-67 (new HeartbeatStuckCeiling option) |
| Server-032 | Medium | Resolved | Error handling & resilience | src/ZB.MOM.WW.MxGateway.Server/Workers/WorkerClient.cs:510-569 (gateway-side _events channel); src/ZB.MOM.WW.MxGateway.Server/Workers/WorkerClientOptions.cs:45-53 (EventChannelFullModeTimeout) |
| Server-033 | Medium | Resolved | Error handling & resilience | src/MxGateway.Server/Galaxy/GalaxyHierarchyCache.cs:265-323 (TryRestoreFromDiskAsync), :84-99 (_firstLoad / WaitForFirstLoadAsync); src/MxGateway.Server/Grpc/GalaxyRepositoryGrpcService.cs:141-163 (WaitForCacheBootstrap) |
| Server-038 | Medium | Resolved | Security | src/ZB.MOM.WW.MxGateway.Server/Dashboard/Hubs/EventsHub.cs:23-44 |
| Server-044 | Medium | Resolved | Correctness & logic bugs | src/ZB.MOM.WW.MxGateway.Server/Sessions/SessionManager.cs:216-254 |
| Server-051 | Medium | Resolved | Error handling & resilience | src/ZB.MOM.WW.MxGateway.Server/Alarms/AlarmWatchListResolver.cs:64-78 |
| Server-054 | Medium | Resolved | Design-document adherence | docs/DesignDecisions.md (Session Reconnect / Event Subscribers / Later Revisit Items §470-471), CLAUDE.md (Repository-Specific Conventions) |
| Server-056 | Medium | Resolved | Concurrency & thread safety | src/ZB.MOM.WW.MxGateway.Server/Sessions/SessionEventDistributor.cs:296-310,449-453,629-635 |
| Server-057 | Medium | Resolved | Correctness & logic bugs | src/ZB.MOM.WW.MxGateway.Server/Sessions/GatewaySession.cs:976-1000 (NormalizeOutboundCommand), :1085-1095 (MapCommand tracking), gateway.md (array-write ergonomics section), clients/*/README.md |
| Tests-003 | Medium | Resolved | Performance & resource management | src/MxGateway.Tests/Security/Authentication/SqliteAuthStoreTests.cs:170-176, src/MxGateway.Tests/Security/Authentication/ApiKeyAdminCliRunnerTests.cs:252-258 |
| Tests-004 | Medium | Resolved | Testing coverage | src/MxGateway.Tests/Security/Authorization/GatewayGrpcAuthorizationInterceptorTests.cs |
| Tests-005 | Medium | Resolved | Testing coverage | src/MxGateway.Tests/Gateway/Grpc/EventStreamServiceTests.cs:239-261, src/MxGateway.Tests/Gateway/Sessions/SessionManagerTests.cs |
| Tests-006 | Medium | Resolved | Concurrency & thread safety | src/MxGateway.Tests/Gateway/Workers/WorkerClientTests.cs:76, src/MxGateway.Tests/Gateway/Workers/FakeWorkerHarnessTests.cs:122 |
| Tests-013 | Medium | Resolved | Testing coverage | src/MxGateway.Server/Sessions/GatewaySession.cs:449-679, src/MxGateway.Tests/Gateway/Sessions/SessionManagerTests.cs |
| Tests-016 | Medium | Resolved | Testing coverage | src/MxGateway.Tests/Galaxy/GalaxyHierarchyCacheTests.cs:29-41,115-124 |
| Tests-020 | Medium | Resolved | Testing coverage | src/MxGateway.Tests/Gateway/Grpc/MxAccessGatewayServiceConstraintTests.cs:275-347, src/MxGateway.Server/Grpc/MxAccessGatewayService.cs:803-829 |
| Tests-026 | Medium | Resolved | Testing coverage | src/ZB.MOM.WW.MxGateway.Tests/Gateway/Grpc/EventStreamServiceTests.cs, src/ZB.MOM.WW.MxGateway.Server/Grpc/EventStreamService.cs:123-126 |
| Tests-027 | Medium | Resolved | Concurrency & thread safety | src/ZB.MOM.WW.MxGateway.Tests/Gateway/Grpc/MxAccessGatewayServiceTests.cs:199-240, src/ZB.MOM.WW.MxGateway.Server/Metrics/GatewayMetrics.cs:8,73,246-251 |
| Tests-032 | Medium | Resolved | Testing coverage | src/ZB.MOM.WW.MxGateway.Server/Alarms/GatewayAlarmMonitor.cs:435-441, src/ZB.MOM.WW.MxGateway.Tests/Alarms/GatewayAlarmMonitorProviderModeTests.cs, src/ZB.MOM.WW.MxGateway.Tests/Alarms/AlarmFailoverEndToEndTests.cs |
| Worker-004 | Medium | Resolved | Correctness & logic bugs | src/MxGateway.Worker/Ipc/WorkerPipeSession.cs:565-588 |
| Worker-005 | Medium | Resolved | Error handling & resilience | src/MxGateway.Worker/MxAccess/MxAccessStaSession.cs:205-258 (production alarm poll loop) |
| Worker-006 | Medium | Resolved | Correctness & logic bugs | src/MxGateway.Worker/Ipc/WorkerPipeSession.cs:117-124, src/MxGateway.Worker/MxAccess/MxAccessStaSession.cs:386-491 |
| Worker-007 | Medium | Resolved | mxaccessgw conventions | src/MxGateway.Worker/MxAccess/MxAccessComServer.cs:130-150 |
| Worker-008 | Medium | Resolved | Concurrency & thread safety | src/MxGateway.Worker/MxAccess/MxAccessStaSession.cs:205-249, :429-447 |
| Worker-016 | Medium | Resolved | Concurrency & thread safety | src/MxGateway.Worker/MxAccess/MxAccessStaSession.cs:261-265 |
| Worker-017 | Medium | Resolved | Error handling & resilience | src/MxGateway.Worker/Sta/StaRuntime.cs:280-288, src/MxGateway.Worker/Ipc/WorkerPipeSession.cs:602-631 |
| Worker-023 | Medium | Resolved | Error handling & resilience | src/MxGateway.Worker/Ipc/WorkerPipeSession.cs:610-668, src/MxGateway.Worker/MxAccess/MxAccessCommandExecutor.cs:124-153 |
| Worker-027 | Medium | Resolved | Error handling & resilience | src/ZB.MOM.WW.MxGateway.Worker/MxAccess/SyntheticAlarmGuid.cs:38-40 |
| Worker.Tests-003 | Medium | Resolved | Concurrency & thread safety | src/MxGateway.Worker.Tests/Sta/StaRuntimeTests.cs:46-48 |
| Worker.Tests-004 | Medium | Resolved | Concurrency & thread safety | src/MxGateway.Worker.Tests/MxAccess/MxAccessStaSessionTests.cs:281-329 |
| Worker.Tests-005 | Medium | Resolved | Performance & resource management | src/MxGateway.Worker.Tests/Ipc/WorkerFrameProtocolTests.cs:20-31,103-105, src/MxGateway.Worker.Tests/Ipc/WorkerPipeSessionTests.cs:28-31 |
| Worker.Tests-006 | Medium | Resolved | Performance & resource management | src/MxGateway.Worker.Tests/MxAccess/MxAccessStaSessionTests.cs:282,305,315,323 |
| Worker.Tests-007 | Medium | Resolved | Design-document adherence | docs/WorkerFrameProtocol.md:38-49 |
| Worker.Tests-016 | Medium | Resolved | Code organization & conventions | src/MxGateway.Worker.Tests/MxAccess/AlarmCommandExecutorTests.cs:317-393 |
| Worker.Tests-017 | Medium | Resolved | Testing coverage | src/MxGateway.Worker.Tests/Ipc/WorkerPipeSessionTests.cs |
| Worker.Tests-018 | Medium | Resolved | Correctness & logic bugs | src/MxGateway.Worker.Tests/MxAccess/MxAccessLiveComCreationTests.cs:18-31, 35-73, 75-145, 148-220, 222-342 |
| Worker.Tests-031 | Medium | Resolved | Testing coverage | src/ZB.MOM.WW.MxGateway.Worker.Tests/MxAccess/FailoverAlarmConsumerTests.cs (all FailoverSettings constructions) |
| Client.Dotnet-004 | Low | Resolved | Error handling & resilience | clients/dotnet/MxGateway.Client/MxGatewayClient.cs:283-294, clients/dotnet/MxGateway.Client/GalaxyRepositoryClient.cs:392-403 |
| Client.Dotnet-005 | Low | Resolved | Correctness & logic bugs | clients/dotnet/MxGateway.Client/MxGatewaySession.cs:82,124,175 |
| Client.Dotnet-006 | Low | Resolved | Code organization & conventions | clients/dotnet/MxGateway.Client/MxGatewayClientOptions.cs:50, clients/dotnet/MxGateway.Client/MxGatewayClientContractInfo.cs:10-14 |
| Client.Dotnet-007 | Low | Resolved | Documentation & comments | clients/dotnet/MxGateway.Client/MxGatewayClient.cs:185-192 |
| Client.Dotnet-008 | Low | Resolved | Correctness & logic bugs | clients/dotnet/MxGateway.Client.Cli/MxGatewayCliSecretRedactor.cs:9-17 |
| Client.Dotnet-009 | Low | Resolved | Concurrency & thread safety | clients/dotnet/MxGateway.Client/GalaxyRepositoryClient.cs:26,339-348,445-448 |
| Client.Dotnet-010 | Low | Resolved | Correctness & logic bugs | clients/dotnet/MxGateway.Client.Cli/MxGatewayClientCli.cs:638,896,1261,1279 |
| Client.Dotnet-011 | Low | Resolved | Concurrency & thread safety | clients/dotnet/MxGateway.Client.Cli/MxGatewayClientCli.cs:857-858,922-963,1014-1015 |
| Client.Dotnet-012 | Low | Resolved | Code organization & conventions | clients/dotnet/MxGateway.Client/MxGateway.Client.csproj, clients/dotnet/MxGateway.Client.Cli/MxGateway.Client.Cli.csproj, clients/dotnet/MxGateway.Client.Tests/MxGateway.Client.Tests.csproj |
| Client.Dotnet-013 | Low | Resolved | Code organization & conventions | clients/dotnet/MxGateway.Client/DiscoverHierarchyOptions.cs:3-24, clients/dotnet/MxGateway.Client/GalaxyRepositoryClient.cs:185-187, clients/dotnet/MxGateway.Client.Cli/IMxGatewayCliClient.cs:6 |
| Client.Dotnet-014 | Low | Resolved | Testing coverage | clients/dotnet/MxGateway.Client.Tests/MxGatewayClientAlarmsTests.cs:76-98, clients/dotnet/MxGateway.Client.Tests/FakeGatewayTransport.cs:212-231 |
| Client.Dotnet-015 | Low | Resolved | Correctness & logic bugs | clients/dotnet/MxGateway.Client.Cli/MxGatewayClientCli.cs:221-236, clients/dotnet/MxGateway.Client.Cli/MxGatewayClientCli.cs:596-1065 |
| Client.Dotnet-016 | Low | Resolved | Concurrency & thread safety | clients/dotnet/MxGateway.Client.Cli/MxGatewayClientCli.cs:922-976 |
| Client.Dotnet-017 | Low | Resolved | Error handling & resilience | clients/dotnet/MxGateway.Client.Cli/MxGatewayClientCli.cs:1190-1262 |
| Client.Dotnet-019 | Low | Resolved | Correctness & logic bugs | clients/dotnet/ZB.MOM.WW.MxGateway.Client.Cli/MxGatewayClientCli.cs:745 |
| Client.Dotnet-020 | Low | Resolved | Error handling & resilience | clients/dotnet/ZB.MOM.WW.MxGateway.Client.Cli/MxGatewayClientCli.cs:792-810, clients/dotnet/ZB.MOM.WW.MxGateway.Client.Cli/MxGatewayClientCli.cs:774-780 |
| Client.Dotnet-021 | Low | Resolved | Correctness & logic bugs | clients/dotnet/ZB.MOM.WW.MxGateway.Client.Cli/MxGatewayClientCli.cs:487, clients/dotnet/ZB.MOM.WW.MxGateway.Client.Cli/MxGatewayClientCli.cs:715 |
| Client.Dotnet-023 | Low | Resolved | Code organization & conventions | clients/dotnet/Directory.Build.props:17, clients/dotnet/ZB.MOM.WW.MxGateway.Client.Cli/IMxGatewayCliClient.cs:6, clients/dotnet/ZB.MOM.WW.MxGateway.Client.Tests/*.cs |
| Client.Dotnet-024 | Low | Resolved | Code organization & conventions | clients/dotnet/Directory.Build.props:12, clients/dotnet/ZB.MOM.WW.MxGateway.Client/ZB.MOM.WW.MxGateway.Client.csproj:19-24 |
| Client.Dotnet-025 | Low | Resolved | Concurrency & thread safety | clients/dotnet/ZB.MOM.WW.MxGateway.Client/LazyBrowseNode.cs:38,41,54,82,94 |
| Client.Dotnet-026 | Low | Resolved | Correctness & logic bugs | clients/dotnet/.../MxGatewayClientCli.cs:306 (isLongRunning) |
| Client.Dotnet-027 | Low | Won't Fix | Performance & resource management | clients/dotnet/ZB.MOM.WW.MxGateway.Client/LazyBrowseNode.cs:15 |
| Client.Dotnet-029 | Low | Resolved | Code organization & conventions | clients/dotnet/.../IMxGatewayCliClient.cs:6 |
| Client.Go-004 | Low | Resolved | mxaccessgw conventions | clients/go/mxgateway/alarms_test.go:153-154, clients/go/mxgateway/galaxy_test.go:58-59 |
| Client.Go-005 | Low | Resolved | Design-document adherence | clients/go/mxgateway/client.go:64,68, clients/go/mxgateway/galaxy.go:83,87 |
| Client.Go-006 | Low | Resolved | Error handling & resilience | clients/go/mxgateway/errors.go:9-130 |
| Client.Go-007 | Low | Resolved | Correctness & logic bugs | clients/go/mxgateway/session.go:526-532 |
| Client.Go-008 | Low | Resolved | Testing coverage | clients/go/mxgateway/ (test files) |
| Client.Go-009 | Low | Resolved | Code organization & conventions | clients/go/mxgateway/galaxy.go:60-93,241-256, clients/go/mxgateway/client.go:41-74,190-205 |
| Client.Go-010 | Low | Resolved | Documentation & comments | clients/go/mxgateway/client.go:39-40 |
| Client.Go-011 | Low | Resolved | Correctness & logic bugs | clients/go/mxgateway/alarms_test.go:66-73 |
| Client.Go-012 | Low | Resolved | Documentation & comments | clients/go/cmd/mxgw-go/main.go:1063-1065, clients/go/cmd/mxgw-go/main.go:88-104 |
| Client.Go-013 | Low | Resolved | Concurrency & thread safety | clients/go/cmd/mxgw-go/main.go:1246-1249, clients/go/cmd/mxgw-go/main.go:1257-1262 |
| Client.Go-014 | Low | Resolved | Error handling & resilience | clients/go/mxgateway/session.go:602, clients/go/mxgateway/galaxy.go:189 |
| Client.Go-015 | Low | Resolved | Code organization & conventions | clients/go/cmd/mxgw-go/main.go:410-512 |
| Client.Go-016 | Low | Resolved | Testing coverage | clients/go/mxgateway/galaxy_test.go:382-429 |
| Client.Go-017 | Low | Resolved | Error handling & resilience | clients/go/cmd/mxgw-go/main.go:954-991 |
| Client.Go-018 | Low | Resolved | Concurrency & thread safety | clients/go/cmd/mxgw-go/main.go:593-623 |
| Client.Go-019 | Low | Resolved | Documentation & comments | clients/go/cmd/mxgw-go/main.go:710-716, clients/go/cmd/mxgw-go/main.go:1204,1213 |
| Client.Go-020 | Low | Resolved | Code organization & conventions | clients/go/cmd/mxgw-go/main.go:753-802, clients/go/cmd/mxgw-go/main.go:1199-1275 |
| Client.Go-021 | Low | Resolved | Testing coverage | clients/go/cmd/mxgw-go/main_test.go, clients/go/cmd/mxgw-go/main.go:363-520,522-655 |
| Client.Go-024 | Low | Resolved | Testing coverage | clients/go/mxgateway/session.go:395-525, clients/go/mxgateway/alarms.go:65-76 |
| Client.Go-025 | Low | Resolved | Correctness & logic bugs | clients/go/mxgateway/session.go:395-485,495-525 |
| Client.Go-026 | Low | Resolved | Error handling & resilience | clients/go/cmd/mxgw-go/main.go:1196-1222 |
| Client.Go-027 | Low | Resolved | Code organization & conventions | clients/go/cmd/mxgw-go/main.go:1195-1206 |
| Client.Go-029 | Low | Resolved | Documentation & comments | clients/go/README.md:300-303 |
| Client.Go-031 | Low | Resolved | Correctness & logic bugs | clients/go/cmd/mxgw-go/main.go:1037-1046 |
| Client.Go-032 | Low | Resolved | Code organization & conventions | clients/go/cmd/mxgw-go/main.go:839-841 |
| Client.Go-033 | Low | Resolved | Testing coverage | clients/go/cmd/mxgw-go/main_test.go |
| Client.Go-034 | Low | Resolved | Documentation & comments | clients/go/README.md:245-263 |
| Client.Go-035 | Low | Resolved | Code organization & conventions | clients/go/cmd/mxgw-go/main.go:1298, clients/go/README.md:328-355 |
| Client.Go-036 | Low | Resolved | Testing coverage | clients/go/cmd/mxgw-go/main_test.go, clients/go/cmd/mxgw-go/main.go:364-399 |
| Client.Go-037 | Low | Resolved | Documentation & comments | clients/go/README.md:136-137 |
| Client.Java-006 | Low | Resolved | Performance & resource management | clients/java/mxgateway-client/src/main/java/com/dohertylan/mxgateway/client/MxGatewayClient.java:323-328, clients/java/mxgateway-client/src/main/java/com/dohertylan/mxgateway/client/GalaxyRepositoryClient.java:279-284 |
| Client.Java-007 | Low | Resolved | Testing coverage | clients/java/mxgateway-client/src/test/java/com/dohertylan/mxgateway/client/ |
| Client.Java-008 | Low | Resolved | Error handling & resilience | clients/java/mxgateway-client/src/main/java/com/dohertylan/mxgateway/client/MxGatewayClient.java:298-304 |
| Client.Java-009 | Low | Resolved | Code organization & conventions | clients/java/mxgateway-client/src/main/java/com/dohertylan/mxgateway/client/GalaxyRepositoryClient.java:310-391, clients/java/mxgateway-client/src/main/java/com/dohertylan/mxgateway/client/MxGatewayClient.java:346-413 |
| Client.Java-010 | Low | Resolved | Documentation & comments | clients/java/mxgateway-client/src/main/java/com/dohertylan/mxgateway/client/MxGatewayClient.java:269-272, clients/java/README.md:76 |
| Client.Java-011 | Low | Resolved | Performance & resource management | clients/java/mxgateway-client/src/main/java/com/dohertylan/mxgateway/client/MxEventStream.java:37-63 |
| Client.Java-012 | Low | Resolved | Correctness & logic bugs | clients/java/mxgateway-cli/src/main/java/com/dohertylan/mxgateway/cli/MxGatewayCli.java:667-674 |
| Client.Java-016 | Low | Resolved | Code organization & conventions | clients/java/mxgateway-client/src/main/java/com/dohertylan/mxgateway/client/MxGatewayClient.java:361-391, GalaxyRepositoryClient.java:285-315 |
| Client.Java-017 | Low | Resolved | Documentation & comments | clients/java/mxgateway-client/src/main/java/com/dohertylan/mxgateway/client/MxEventStream.java:25-36, clients/java/README.md:99-107 |
| Client.Java-018 | Low | Resolved | Security | clients/java/mxgateway-client/src/main/java/com/dohertylan/mxgateway/client/MxGatewaySecrets.java:54-66 |
| Client.Java-019 | Low | Resolved | Performance & resource management | clients/java/mxgateway-client/src/main/java/com/dohertylan/mxgateway/client/MxGatewayClient.java:362-391, GalaxyRepositoryClient.java:286-315 |
| Client.Java-020 | Low | Resolved | Correctness & logic bugs | clients/java/mxgateway-cli/src/main/java/com/dohertylan/mxgateway/cli/MxGatewayCli.java:244-254, galaxy_repository.proto:94 |
| Client.Java-022 | Low | Resolved | Documentation & comments | clients/java/mxgateway-client/src/main/java/com/dohertylan/mxgateway/client/MxGatewayChannels.java:161-172 |
| Client.Java-023 | Low | Resolved | Correctness & logic bugs | clients/java/mxgateway-cli/src/main/java/com/dohertylan/mxgateway/cli/MxGatewayCli.java:1054, src/MxGateway.Contracts/Protos/mxaccess_gateway.proto:634 |
| Client.Java-024 | Low | Resolved | Correctness & logic bugs | clients/java/mxgateway-cli/src/main/java/com/dohertylan/mxgateway/cli/MxGatewayCli.java:855-883 |
| Client.Java-025 | Low | Resolved | Code organization & conventions | clients/java/mxgateway-cli/src/main/java/com/dohertylan/mxgateway/cli/MxGatewayCli.java:1176-1185 |
| Client.Java-026 | Low | Resolved | Testing coverage | clients/java/mxgateway-cli/src/test/java/com/dohertylan/mxgateway/cli/MxGatewayCliTests.java |
| Client.Java-029 | Low | Resolved | Documentation & comments | clients/java/README.md:208-209 |
| Client.Java-030 | Low | Resolved | Testing coverage | clients/java/zb-mom-ww-mxgateway-client/src/test/java/com/zb/mom/ww/mxgateway/client/ |
| Client.Java-031 | Low | Resolved | mxaccessgw conventions | clients/java/README.md:13,17,26 |
| Client.Java-035 | Low | Resolved | Testing coverage | clients/java/zb-mom-ww-mxgateway-client/src/test/java/com/zb/mom/ww/mxgateway/client/MxGatewayClientSessionTests.java |
| Client.Java-036 | Low | Resolved | Code organization & conventions | clients/java/zb-mom-ww-mxgateway-client/src/main/java/com/zb/mom/ww/mxgateway/client/MxGatewayAlarmFeedSubscription.java, MxGatewayEventSubscription.java, MxGatewayActiveAlarmsSubscription.java, DeployEventSubscription.java |
| Client.Java-038 | Low | Resolved | Code organization & conventions | clients/java/zb-mom-ww-mxgateway-cli/src/main/java/com/zb/mom/ww/mxgateway/cli/MxGatewayCli.java:1347-1393 |
| Client.Java-041 | Low | Resolved | Correctness & logic bugs | clients/java/zb-mom-ww-mxgateway-cli/src/main/java/com/zb/mom/ww/mxgateway/cli/MxGatewayCli.java:2187-2194 |
| Client.Java-042 | Low | Resolved | Error handling & resilience | clients/java/zb-mom-ww-mxgateway-cli/src/main/java/com/zb/mom/ww/mxgateway/cli/MxGatewayCli.java:1565-1567 |
| Client.Java-043 | Low | Resolved | Code organization & conventions | clients/java/zb-mom-ww-mxgateway-cli/src/test/java/com/zb/mom/ww/mxgateway/cli/MxGatewayCliTests.java:241-264 |
| Client.Java-044 | Low | Resolved | Code organization & conventions | clients/java/zb-mom-ww-mxgateway-client/src/main/java/com/zb/mom/ww/mxgateway/client/MxGatewayClientVersion.java:12 |
| Client.Java-045 | Low | Resolved | Testing coverage | clients/java/zb-mom-ww-mxgateway-cli/src/main/java/com/zb/mom/ww/mxgateway/cli/InProcessGatewayHarness.java |
| Client.Java-046 | Low | Resolved | Testing coverage | clients/java/zb-mom-ww-mxgateway-cli/src/test/java/com/zb/mom/ww/mxgateway/cli/MxGatewayCliTests.java:680-696 |
| Client.Java-047 | Low | Resolved | Documentation & comments | clients/java/README.md |
| Client.Java-048 | Low | Resolved | Documentation & comments | clients/java/zb-mom-ww-mxgateway-cli/src/main/java/com/zb/mom/ww/mxgateway/cli/MxGatewayCli.java:88-105 |
| Client.Java-049 | Low | Resolved | Code organization & conventions | clients/java/build.gradle:16, clients/java/zb-mom-ww-mxgateway-client/src/main/java/com/zb/mom/ww/mxgateway/client/MxGatewayClientVersion.java:12, clients/java/zb-mom-ww-mxgateway-cli/src/test/java/com/zb/mom/ww/mxgateway/cli/MxGatewayCliTests.java:59,89, clients/java/README.md:399 |
| Client.Java-050 | Low | Resolved | Testing coverage | clients/java/zb-mom-ww-mxgateway-cli/src/main/java/com/zb/mom/ww/mxgateway/cli/MxGatewayCli.java:1046-1068 (new AdviseSupervisoryCommand), clients/java/zb-mom-ww-mxgateway-cli/src/test/java/com/zb/mom/ww/mxgateway/cli/MxGatewayCliTests.java:1306-1313 (stub) |
| Client.Java-051 | Low | Resolved | Documentation & comments | clients/java/zb-mom-ww-mxgateway-client/src/main/java/com/zb/mom/ww/mxgateway/client/MxGatewaySession.java:622-657 |
| Client.Python-001 | Low | Resolved | Documentation & comments | clients/python/pyproject.toml:8,25, clients/python/src/mxgateway_cli/commands.py:25 |
| Client.Python-002 | Low | Resolved | Code organization & conventions | clients/python/src/mxgateway/__init__.py:27 |
| Client.Python-004 | Low | Resolved | Correctness & logic bugs | clients/python/src/mxgateway_cli/commands.py:386,402-404 |
| Client.Python-006 | Low | Resolved | Concurrency & thread safety | clients/python/src/mxgateway/client.py:74-82, clients/python/src/mxgateway/galaxy.py:85-93, clients/python/src/mxgateway/session.py:38-55 |
| Client.Python-007 | Low | Resolved | Error handling & resilience | clients/python/src/mxgateway/client.py:204-213 |
| Client.Python-008 | Low | Resolved | Correctness & logic bugs | clients/python/src/mxgateway/values.py:62-67,83-88 |
| Client.Python-010 | Low | Resolved | Code organization & conventions | clients/python/src/mxgateway/session.py:404, clients/python/src/mxgateway_cli/commands.py:422-425 |
| Client.Python-011 | Low | Resolved | Error handling & resilience | clients/python/src/mxgateway/errors.py:122-148 |
| Client.Python-012 | Low | Won't Fix | mxaccessgw conventions | clients/python/src/mxgateway/client.py:84-108, clients/python/src/mxgateway/session.py:57-77 |
| Client.Python-014 | Low | Resolved | Code organization & conventions | clients/python/src/mxgateway_cli/commands.py:22-23 |
| Client.Python-015 | Low | Resolved | Testing coverage | clients/python/src/mxgateway_cli/commands.py:273-294,564-647, clients/python/tests/ |
| Client.Python-016 | Low | Resolved | Testing coverage | clients/python/src/mxgateway_cli/commands.py:25,757-775,805-830 |
| Client.Python-017 | Low | Resolved | Documentation & comments | clients/python/pyproject.toml:5-25, clients/python/src/mxgateway/ |
| Client.Python-019 | Low | Resolved | Code organization & conventions | clients/python/pyproject.toml:60-61, clients/python/src/mxgateway_cli/ |
| Client.Python-020 | Low | Resolved | Testing coverage | clients/python/tests/, scripts/ |
| Client.Python-021 | Low | Resolved | Documentation & comments | clients/python/src/mxgateway_cli/commands.py, clients/python/README.md:235-258 |
| Client.Python-025 | Low | Resolved | Testing coverage | clients/python/tests/test_cli.py, clients/python/src/zb_mom_ww_mxgateway/{client.py,session.py}, clients/python/src/zb_mom_ww_mxgateway_cli/commands.py |
| Client.Python-026 | Low | Resolved | Correctness & logic bugs | clients/python/src/zb_mom_ww_mxgateway_cli/commands.py:674-738 |
| Client.Python-029 | Low | Resolved | Correctness & logic bugs | clients/python/src/zb_mom_ww_mxgateway/options.py:78-90 |
| Client.Python-030 | Low | Resolved | Code organization & conventions | clients/python/pyproject.toml:17 |
| Client.Python-031 | Low | Resolved | Testing coverage | clients/python/tests/test_tls.py:34, clients/python/pyproject.toml:53-56 |
| Client.Python-032 | Low | Resolved | Correctness & logic bugs | clients/python/src/zb_mom_ww_mxgateway_cli/commands.py:1048,1065-1066 |
| Client.Python-033 | Low | Resolved | Correctness & logic bugs | clients/python/src/zb_mom_ww_mxgateway_cli/commands.py:772,1490-1494 |
| Client.Python-034 | Low | Resolved | Correctness & logic bugs | clients/python/src/zb_mom_ww_mxgateway_cli/commands.py:1497-1501 |
| Client.Python-035 | Low | Resolved | Code organization & conventions | clients/python/src/zb_mom_ww_mxgateway/__init__.py, .../options.py:63-77, .../galaxy.py:293 |
| Client.Python-037 | Low | Resolved | Correctness & logic bugs | clients/python/pyproject.toml:10 |
| Client.Python-038 | Low | Resolved | Testing coverage | clients/python/tests/, clients/python/src/zb_mom_ww_mxgateway_cli/commands.py:280-299,742-758 |
| Client.Rust-004 | Low | Resolved | Documentation & comments | clients/rust/src/version.rs:7 |
| Client.Rust-007 | Low | Resolved | Design-document adherence | clients/rust/RustClientDesign.md:14-55 |
| Client.Rust-008 | Low | Resolved | Performance & resource management | clients/rust/src/value.rs:161-261 |
| Client.Rust-009 | Low | Resolved | Testing coverage | clients/rust/tests/client_behavior.rs, clients/rust/src/galaxy.rs |
| Client.Rust-010 | Low | Resolved | Error handling & resilience | clients/rust/src/client.rs:255-268, clients/rust/src/galaxy.rs:204-216 |
| Client.Rust-011 | Low | Resolved | mxaccessgw conventions | clients/rust/src/session.rs:469 |
| Client.Rust-014 | Low | Resolved | mxaccessgw conventions | clients/rust/crates/mxgw-cli/src/main.rs:450,497 |
| Client.Rust-017 | Low | Resolved | Design-document adherence | clients/rust/RustClientDesign.md:79-99,156-163 |
| Client.Rust-019 | Low | Resolved | Design-document adherence | clients/rust/RustClientDesign.md:96-100 |
| Client.Rust-020 | Low | Resolved | Documentation & comments | clients/rust/src/session.rs:31-46; clients/rust/src/lib.rs:14-39 |
| Client.Rust-021 | Low | Resolved | Design-document adherence | clients/rust/RustClientDesign.md:14-33 |
| Client.Rust-023 | Low | Resolved | mxaccessgw conventions | clients/rust/crates/mxgw-cli/src/main.rs:835,872,1476 |
| Client.Rust-025 | Low | Resolved | Design-document adherence | clients/rust/RustClientDesign.md:92-106,142-153,164-171 |
| Client.Rust-026 | Low | Resolved | Performance & resource management | clients/rust/crates/mxgw-cli/src/main.rs:1402-1406,1419-1423 |
| Client.Rust-027 | Low | Resolved | Documentation & comments | clients/rust/.cargo/config.toml:1-9 |
| Client.Rust-028 | Low | Resolved | mxaccessgw conventions | clients/rust/crates/mxgw-cli/src/main.rs:1126-1166 |
| Client.Rust-032 | Low | Resolved | Design-document adherence | clients/rust/RustClientDesign.md; surface in clients/rust/src/galaxy.rs:281-379 |
| Client.Rust-034 | Low | Resolved | Correctness & logic bugs | clients/rust/crates/mxgw-cli/src/main.rs:48-51,548 |
| Client.Rust-035 | Low | Resolved | Security | clients/rust/crates/mxgw-cli/src/main.rs:489-495 |
| Client.Rust-036 | Low | Resolved | Design-document adherence | clients/rust/RustClientDesign.md:351 |
| Client.Rust-037 | Low | Resolved | Design-document adherence | clients/rust/README.md:164-179 |
| Client.Rust-038 | Low | Resolved | Testing coverage | clients/rust/crates/mxgw-cli/src/main.rs:2336-2564 |
| Client.Rust-039 | Low | Resolved | Design-document adherence | clients/rust/RustClientDesign.md:101-131 (Session API block); clients/rust/RustClientDesign.md:326-353 (CLI commands table) |
| Client.Rust-040 | Low | Resolved | Testing coverage | clients/rust/tests/client_behavior.rs:1195-1224 (sparse_int32_value helper); clients/rust/tests/client_behavior.rs:1226-1264 (unit tests using the helper) |
| Contracts-001 | Low | Resolved | Design-document adherence | docs/Grpc.md:13 (and :3, :32, :39) |
| Contracts-003 | Low | Won't Fix | Code organization & conventions | src/MxGateway.Contracts/MxGateway.Contracts.csproj:10 |
| Contracts-004 | Low | Resolved | Documentation & comments | src/MxGateway.Contracts/GatewayContractInfo.cs:3-6 |
| Contracts-005 | Low | Resolved | mxaccessgw conventions | src/MxGateway.Contracts/Protos/mxaccess_gateway.proto, src/MxGateway.Contracts/Protos/mxaccess_worker.proto |
| Contracts-006 | Low | Resolved | Correctness & logic bugs | src/MxGateway.Contracts/Protos/mxaccess_gateway.proto:647 |
| Contracts-007 | Low | Resolved | Testing coverage | src/MxGateway.Tests/Contracts/ProtobufContractRoundTripTests.cs |
| Contracts-008 | Low | Resolved | Design-document adherence | src/MxGateway.Contracts/Protos/mxaccess_gateway.proto:451-459, :627-636 |
| Contracts-010 | Low | Resolved | Testing coverage | src/MxGateway.Tests/Contracts/ProtobufContractRoundTripTests.cs |
| Contracts-011 | Low | Resolved | Security | src/MxGateway.Contracts/Protos/mxaccess_gateway.proto:392-397, :406-412 |
| Contracts-012 | Low | Resolved | Documentation & comments | src/MxGateway.Contracts/Protos/galaxy_repository.proto:120 |
| Contracts-013 | Low | Resolved | Documentation & comments | src/MxGateway.Tests/Contracts/GatewayContractInfoTests.cs:14 |
| Contracts-014 | Low | Resolved | Documentation & comments | src/MxGateway.Contracts/Protos/mxaccess_gateway.proto:549-553 |
| Contracts-015 | Low | Resolved | Documentation & comments | src/MxGateway.Contracts/Protos/mxaccess_gateway.proto:571-582 |
| Contracts-016 | Low | Resolved | Code organization & conventions | src/ZB.MOM.WW.MxGateway.Contracts/Protos/mxaccess_gateway.proto:31-41 (QueryActiveAlarmsRequest) |
| Contracts-017 | Low | Resolved | Documentation & comments | src/ZB.MOM.WW.MxGateway.Contracts/Protos/mxaccess_gateway.proto:23-29 (the rpc QueryActiveAlarms block) |
| Contracts-018 | Low | Resolved | Testing coverage | src/ZB.MOM.WW.MxGateway.Tests/Contracts/ProtobufContractRoundTripTests.cs:396 (ActiveAlarmSnapshot_RoundTripsAllFields) |
| Contracts-019 | Low | Resolved | Documentation & comments | src/ZB.MOM.WW.MxGateway.Contracts/Protos/mxaccess_gateway.proto:850-851 (ActiveAlarmSnapshot), :318-324 (AlarmProviderMode) |
| Contracts-020 | Low | Resolved | Design-document adherence | gateway.md:1087,1101-1102 |
| Contracts-021 | Low | Resolved | Documentation & comments | src/ZB.MOM.WW.MxGateway.Contracts/Protos/mxaccess_gateway.proto:731-733 |
| Contracts-022 | Low | Resolved | Testing coverage | src/ZB.MOM.WW.MxGateway.Tests/Contracts/ProtobufContractRoundTripTests.cs |
| Contracts-023 | Low | Resolved | Testing coverage | src/ZB.MOM.WW.MxGateway.Tests/Contracts/ProtobufContractRoundTripTests.cs |
| Contracts-024 | Low | Resolved | Documentation & comments | docs/Contracts.md:9-11 |
| Contracts-025 | Low | Resolved | Documentation & comments | src/ZB.MOM.WW.MxGateway.Tests/Contracts/GatewayContractInfoTests.cs:14-25 |
| IntegrationTests-007 | Low | Resolved | Concurrency & thread safety | src/MxGateway.IntegrationTests/WorkerLiveMxAccessSmokeTests.cs:20, src/MxGateway.IntegrationTests/Galaxy/GalaxyRepositoryLiveTests.cs:5, src/MxGateway.IntegrationTests/DashboardLdapLiveTests.cs:9 |
| IntegrationTests-008 | Low | Resolved | Code organization & conventions | src/MxGateway.IntegrationTests/LiveLdapFactAttribute.cs, src/MxGateway.IntegrationTests/Galaxy/LiveGalaxyRepositoryFactAttribute.cs, src/MxGateway.IntegrationTests/LiveMxAccessFactAttribute.cs |
| IntegrationTests-009 | Low | Resolved | Documentation & comments | src/MxGateway.IntegrationTests/WorkerLiveMxAccessSmokeTests.cs:372-375 |
| IntegrationTests-010 | Low | Resolved | Correctness & logic bugs | src/MxGateway.IntegrationTests/WorkerLiveMxAccessSmokeTests.cs:366-369 |
| IntegrationTests-011 | Low | Resolved | Documentation & comments | src/MxGateway.IntegrationTests/WorkerLiveMxAccessSmokeTests.cs:236-240, src/MxGateway.IntegrationTests/WorkerLiveMxAccessSmokeTests.cs:183-187 |
| IntegrationTests-013 | Low | Resolved | Performance & resource management | src/MxGateway.IntegrationTests/WorkerLiveMxAccessSmokeTests.cs:519-609 |
| IntegrationTests-015 | Low | Resolved | Code organization & conventions | src/MxGateway.IntegrationTests/WorkerLiveMxAccessSmokeTests.cs:30,119,201, src/MxGateway.IntegrationTests/DashboardLdapLiveTests.cs:13,32,48,67,84, src/MxGateway.IntegrationTests/Galaxy/GalaxyRepositoryLiveTests.cs:10,22,34,52 |
| IntegrationTests-016 | Low | Resolved | Code organization & conventions | src/MxGateway.IntegrationTests/Galaxy/LiveGalaxyRepositoryFactAttribute.cs:26, src/MxGateway.Server/Galaxy/GalaxyRepositoryOptions.cs:13 |
| IntegrationTests-018 | Low | Resolved | Code organization & conventions | src/MxGateway.IntegrationTests/WorkerLiveMxAccessSmokeTests.cs:1037, src/MxGateway.IntegrationTests/WorkerLiveMxAccessSmokeTests.cs:595 |
| IntegrationTests-020 | Low | Resolved | Correctness & logic bugs | src/MxGateway.IntegrationTests/WorkerLiveMxAccessSmokeTests.cs:616-622 |
| IntegrationTests-021 | Low | Resolved | Testing coverage | src/MxGateway.IntegrationTests/WorkerLiveMxAccessSmokeTests.cs:579-622 |
| IntegrationTests-022 | Low | Resolved | Code organization & conventions | src/ZB.MOM.WW.MxGateway.IntegrationTests/IntegrationTestEnvironment.cs:103-138 (ResolveRepositoryRoot / IsRepositoryRoot) |
| IntegrationTests-023 | Low | Resolved | Testing coverage | src/ZB.MOM.WW.MxGateway.IntegrationTests/DashboardLdapLiveTests.cs:14-29 |
| IntegrationTests-024 | Low | Resolved | Code organization & conventions | src/ZB.MOM.WW.MxGateway.IntegrationTests/WorkerLiveMxAccessSmokeTests.cs (NullDashboardEventBroadcaster private class at end of file) |
| IntegrationTests-025 | Low | Resolved | Correctness & logic bugs | src/ZB.MOM.WW.MxGateway.IntegrationTests/IntegrationTestEnvironmentTests.cs:57-84 (ResolveRepositoryRoot_NoMarkers_ThrowsInvalidOperationExceptionNamingStartAndMarkers) |
| IntegrationTests-027 | Low | Resolved | Code organization & conventions | src/ZB.MOM.WW.MxGateway.IntegrationTests/ZB.MOM.WW.MxGateway.IntegrationTests.csproj, src/ZB.MOM.WW.MxGateway.IntegrationTests/DashboardLdapLiveTests.cs:4-5,134 |
| IntegrationTests-028 | Low | Resolved | Design-document adherence | src/ZB.MOM.WW.MxGateway.IntegrationTests/DashboardLdapLiveTests.cs:120-161, src/ZB.MOM.WW.MxGateway.Server/Dashboard/DashboardServiceCollectionExtensions.cs:35 |
| IntegrationTests-029 | Low | Resolved | Documentation & comments | docs/GatewayTesting.md:218-224 |
| IntegrationTests-030 | Low | Resolved | Documentation & comments | docs/GatewayTesting.md:76, src/ZB.MOM.WW.MxGateway.IntegrationTests/WorkerLiveMxAccessSmokeTests.cs:576,728 |
| IntegrationTests-031 | Low | Resolved | Documentation & comments | src/ZB.MOM.WW.MxGateway.IntegrationTests/WorkerLiveMxAccessSmokeTests.cs:672 |
| IntegrationTests-032 | Low | Resolved | Testing coverage | src/ZB.MOM.WW.MxGateway.IntegrationTests/WorkerLiveMxAccessSmokeTests.cs:823-865 |
| IntegrationTests-033 | Low | Deferred | Testing coverage | src/ZB.MOM.WW.MxGateway.IntegrationTests/WorkerLiveMxAccessSmokeTests.cs:577-709 |
| Server-007 | Low | Resolved | Performance & resource management | src/MxGateway.Server/Galaxy/GalaxyHierarchyProjector.cs:55-70 |
| Server-008 | Low | Resolved | Performance & resource management | src/MxGateway.Server/Grpc/GalaxyRepositoryGrpcService.cs:111-134,160-189 |
| Server-009 | Low | Resolved | Error handling & resilience | src/MxGateway.Server/Security/Authentication/AuthSqliteConnectionFactory.cs:15-32 |
| Server-010 | Low | Resolved | Security | src/MxGateway.Server/Security/Authentication/SqliteApiKeyAdminStore.cs:91-114, src/MxGateway.Server/Dashboard/Components/Pages/ApiKeysPage.razor:168-172 |
| Server-011 | Low | Resolved | Code organization & conventions | src/MxGateway.Server/Sessions/WorkerAlarmRpcDispatcher.cs:1-46 |
| Server-012 | Low | Resolved | Documentation & comments | CLAUDE.md (Authentication section and apikey create example) |
| Server-013 | Low | Resolved | Testing coverage | src/MxGateway.Tests/Gateway/Dashboard/DashboardAuthorizationHandlerTests.cs, src/MxGateway.Tests/Gateway/GatewayApplicationTests.cs |
| Server-014 | Low | Resolved | Documentation & comments | src/MxGateway.Server/Grpc/MxAccessGatewayService.cs:162-171,191-198,206-214,229-237 |
| Server-018 | Low | Resolved | Performance & resource management | src/MxGateway.Server/Galaxy/GalaxyGlobMatcher.cs:15 |
| Server-019 | Low | Resolved | Correctness & logic bugs | src/MxGateway.Server/Sessions/WorkerAlarmRpcDispatcher.cs:183-221 |
| Server-020 | Low | Resolved | Code organization & conventions | src/MxGateway.Server/Dashboard/Components/Pages/DashboardHome.razor:1-2, …/GalaxyPage.razor:1-2, …/ApiKeysPage.razor:1-2, …/EventsPage.razor:1-2, …/SessionsPage.razor:1-2, …/WorkersPage.razor:1-2, …/SettingsPage.razor:1-2, …/SessionDetailsPage.razor:1-2 |
| Server-022 | Low | Resolved | Documentation & comments | src/MxGateway.Server/Sessions/IAlarmRpcDispatcher.cs:8-29 |
| Server-023 | Low | Resolved | Documentation & comments | src/MxGateway.Server/Sessions/NotWiredAlarmRpcDispatcher.cs:10-26 |
| Server-024 | Low | Resolved | Correctness & logic bugs | src/MxGateway.Server/Galaxy/GalaxyGlobMatcher.cs:56-77 |
| Server-025 | Low | Resolved | Code organization & conventions | src/MxGateway.Server/Grpc/GalaxyRepositoryGrpcService.cs:19-25, src/MxGateway.Server/Galaxy/IGalaxyRepository.cs |
| Server-026 | Low | Resolved | Error handling & resilience | src/MxGateway.Server/Configuration/GatewayOptionsValidator.cs:17-32, src/MxGateway.Server/Configuration/AlarmsOptions.cs |
| Server-027 | Low | Resolved | Design-document adherence | docs/Authorization.md:120-141,176-181 |
| Server-028 | Low | Resolved | Testing coverage | src/MxGateway.Tests/Security/Authorization/GatewayGrpcScopeResolverTests.cs:13-20, src/MxGateway.Tests/Gateway/Sessions/GatewaySessionTests.cs |
| Server-029 | Low | Resolved | Documentation & comments | src/MxGateway.Server/Grpc/MxAccessGatewayService.cs:52-58 |
| Server-034 | Low | Resolved | Error handling & resilience | src/MxGateway.Server/Galaxy/GalaxyHierarchySnapshotStore.cs:87-115 (TryLoadAsync) |
| Server-035 | Low | Resolved | Performance & resource management | src/MxGateway.Server/Galaxy/GalaxyHierarchyCache.cs:176 (call site), :327-352 (PersistSnapshotAsync) |
| Server-036 | Low | Resolved | Error handling & resilience | src/MxGateway.Server/Galaxy/GalaxyHierarchyCache.cs:345-348 (PersistSnapshotAsync catch) |
| Server-037 | Low | Resolved | Testing coverage | src/MxGateway.Tests/Galaxy/GalaxyHierarchySnapshotStoreTests.cs, src/MxGateway.Tests/Galaxy/GalaxyHierarchyCacheTests.cs |
| Server-039 | Low | Resolved | Error handling & resilience | src/ZB.MOM.WW.MxGateway.Server/Dashboard/HubTokenService.cs:37-58 |
| Server-040 | Low | Resolved | Code organization & conventions | src/ZB.MOM.WW.MxGateway.Server/Dashboard/DashboardAuthenticator.cs:140-160 (MapGroupsToRoles) |
| Server-041 | Low | Resolved | Design-document adherence | src/ZB.MOM.WW.MxGateway.Server/Grpc/EventStreamService.cs:123-126, src/ZB.MOM.WW.MxGateway.Server/Dashboard/Hubs/IDashboardEventBroadcaster.cs:6-10 |
| Server-042 | Low | Resolved | Performance & resource management | src/ZB.MOM.WW.MxGateway.Server/Dashboard/Hubs/DashboardSnapshotPublisher.cs:18-41 |
| Server-043 | Low | Resolved | Documentation & comments | src/ZB.MOM.WW.MxGateway.Server/Dashboard/HubTokenService.cs:1, src/ZB.MOM.WW.MxGateway.Server/Dashboard/DashboardServiceCollectionExtensions.cs:24 |
| Server-045 | Low | Resolved | Concurrency & thread safety | src/ZB.MOM.WW.MxGateway.Server/Sessions/SessionManager.cs:225,242-245, src/ZB.MOM.WW.MxGateway.Server/Sessions/GatewaySession.cs:837-841 |
| Server-046 | Low | Resolved | Error handling & resilience | src/ZB.MOM.WW.MxGateway.Server/Sessions/SessionManager.cs:286-307 |
| Server-047 | Low | Resolved | Code organization & conventions | src/ZB.MOM.WW.MxGateway.Server/Dashboard/Components/Pages/ApiKeysPage.razor:324-334, src/ZB.MOM.WW.MxGateway.Server/Dashboard/Components/Pages/SessionsPage.razor:171-195, src/ZB.MOM.WW.MxGateway.Server/Dashboard/Components/Pages/SessionDetailsPage.razor:231-255 |
| Server-048 | Low | Resolved | Testing coverage | src/ZB.MOM.WW.MxGateway.Tests/Gateway/Sessions/SessionManagerTests.cs:463-498 |
| Server-049 | Low | Resolved | Documentation & comments | src/ZB.MOM.WW.MxGateway.Server/Dashboard/IDashboardSessionAdminService.cs:5-18, src/ZB.MOM.WW.MxGateway.Server/Dashboard/DashboardSessionAdminService.cs:8-25 |
| Server-050 | Low | Resolved | Error handling & resilience | src/ZB.MOM.WW.MxGateway.Server/Dashboard/DashboardSessionAdminService.cs:42-75,92-125 |
| Server-052 | Low | Resolved | Documentation & comments | src/ZB.MOM.WW.MxGateway.Server/Alarms/IAlarmWatchListResolver.cs:24-30, src/ZB.MOM.WW.MxGateway.Server/Alarms/AlarmWatchListResolver.cs:101-114, docs/GatewayConfiguration.md:247 |
| Server-053 | Low | Resolved | Testing coverage | src/ZB.MOM.WW.MxGateway.Tests/Alarms/AlarmWatchListResolverTests.cs, src/ZB.MOM.WW.MxGateway.Tests/Alarms/GatewayAlarmMonitorProviderModeTests.cs |
| Server-055 | Low | Resolved | Correctness & logic bugs | src/ZB.MOM.WW.MxGateway.Server/Sessions/GatewaySession.cs:842-851,1841-1871 |
| Server-058 | Low | Resolved | Testing coverage | src/ZB.MOM.WW.MxGateway.Tests/Security/Authorization/ConstraintEnforcerTests.cs |
| Tests-007 | Low | Resolved | Code organization & conventions | src/MxGateway.Tests/Gateway/Grpc/MxAccessGatewayServiceTests.cs:682, src/MxGateway.Tests/Gateway/Grpc/GalaxyRepositoryGrpcServiceTests.cs:324, src/MxGateway.Tests/Gateway/GatewayEndToEndFakeWorkerSmokeTests.cs:460, src/MxGateway.Tests/Security/Authorization/GatewayGrpcAuthorizationInterceptorTests.cs:233 |
| Tests-008 | Low | Resolved | mxaccessgw conventions | src/MxGateway.Tests/Gateway/Sessions/WorkerAlarmRpcDispatcherTests.cs:1-9, src/MxGateway.Tests/Gateway/Sessions/NotWiredAlarmRpcDispatcherTests.cs:1-3, src/MxGateway.Tests/Gateway/Sessions/SessionManagerAlarmAutoSubscribeTests.cs:1 |
| Tests-009 | Low | Resolved | Documentation & comments | src/MxGateway.Tests/Gateway/Sessions/SessionManagerTests.cs:36-37,99,365 |
| Tests-010 | Low | Resolved | Security | src/MxGateway.Tests/Gateway/Dashboard/DashboardAuthorizationHandlerTests.cs:26-36 |
| Tests-011 | Low | Resolved | Correctness & logic bugs | src/MxGateway.Tests/Gateway/GatewayEndToEndFakeWorkerSmokeTests.cs:233-301 |
| Tests-012 | Low | Resolved | Concurrency & thread safety | src/MxGateway.Tests/Gateway/Workers/Fakes/FakeWorkerHarness.cs:62, src/MxGateway.Tests/Gateway/Workers/WorkerClientTests.cs:472 |
| Tests-014 | Low | Resolved | Performance & resource management | src/MxGateway.Tests/Gateway/GatewayApplicationTests.cs:18,33,44,62,81,105, src/MxGateway.Tests/Gateway/Dashboard/DashboardCookieOptionsTests.cs:17 |
| Tests-015 | Low | Resolved | Correctness & logic bugs | src/MxGateway.Tests/Gateway/GatewayEndToEndFakeWorkerSmokeTests.cs:374-379,87 |
| Tests-017 | Low | Resolved | Concurrency & thread safety | src/MxGateway.Tests/Gateway/Workers/WorkerClientTests.cs:346-364 |
| Tests-018 | Low | Resolved | Code organization & conventions | src/MxGateway.Tests/Galaxy/GalaxyHierarchyCacheTests.cs:32, src/MxGateway.Tests/Gateway/Dashboard/DashboardSnapshotServiceTests.cs:45,51,57,105,134,163,167,202-209,284,317,523, src/MxGateway.Tests/Gateway/Sessions/SessionManagerTests.cs:40 |
| Tests-019 | Low | Resolved | Documentation & comments | docs/GatewayTesting.md, code-reviews/Tests/findings.md (Tests-002 re-triage) |
| Tests-021 | Low | Resolved | Code organization & conventions | src/MxGateway.Tests/Galaxy/GalaxyHierarchyCacheTests.cs:159-171, src/MxGateway.Tests/Gateway/Workers/FakeWorkerHarnessTests.cs:226-236, src/MxGateway.Tests/Gateway/Workers/WorkerClientTests.cs:620-630, src/MxGateway.Tests/Gateway/Sessions/SessionManagerTests.cs:766-… |
| Tests-022 | Low | Resolved | Testing coverage | src/MxGateway.Tests/Gateway/Sessions/SessionManagerBulkTests.cs:52-61,90-99,126-135,163-172,202-211,238-247,282-294,339-360,413-434,484-506,553-567,663-688 |
| Tests-023 | Low | Resolved | Correctness & logic bugs | src/MxGateway.Tests/Gateway/Sessions/SessionWorkerClientFactoryFakeWorkerTests.cs:334-374 |
| Tests-024 | Low | Resolved | Testing coverage | src/MxGateway.Server/Grpc/MxAccessGatewayService.cs:713-730,784-801,859-876, src/MxGateway.Tests/Gateway/Grpc/MxAccessGatewayServiceConstraintTests.cs |
| Tests-025 | Low | Resolved | Code organization & conventions | src/ZB.MOM.WW.MxGateway.Tests/Gateway/Grpc/EventStreamServiceTests.cs:285-289, src/ZB.MOM.WW.MxGateway.Tests/Gateway/GatewayEndToEndFakeWorkerSmokeTests.cs:417-421 |
| Tests-028 | Low | Resolved | Testing coverage | src/ZB.MOM.WW.MxGateway.Tests/Gateway/Sessions/SessionManagerTests.cs:466-496,802-807, src/ZB.MOM.WW.MxGateway.Server/Sessions/SessionManager.cs:216-253 |
| Tests-029 | Low | Resolved | Error handling & resilience | src/ZB.MOM.WW.MxGateway.Tests/Gateway/Dashboard/DashboardSessionAdminServiceTests.cs:61-106,139-222, src/ZB.MOM.WW.MxGateway.Server/Dashboard/DashboardSessionAdminService.cs:77-125 |
| Tests-030 | Low | Resolved | Testing coverage | src/ZB.MOM.WW.MxGateway.Tests/Gateway/Dashboard/DashboardApiKeyManagementServiceTests.cs:115-163, src/ZB.MOM.WW.MxGateway.Server/Dashboard/DashboardApiKeyManagementService.cs:146-177 |
| Tests-031 | Low | Resolved | Concurrency & thread safety | src/ZB.MOM.WW.MxGateway.Tests/Gateway/Dashboard/DashboardSnapshotPublisherTests.cs:22-61 |
| Tests-033 | Low | Resolved | Testing coverage | src/ZB.MOM.WW.MxGateway.Server/Dashboard/DashboardAlarmProviderStatus.cs, src/ZB.MOM.WW.MxGateway.Tests/Gateway/Dashboard/DashboardBrowseAndAlarmModelTests.cs:140-195 |
| Tests-034 | Low | Resolved | mxaccessgw conventions | src/ZB.MOM.WW.MxGateway.Tests/Diagnostics/GatewayLogRedactorSeamTests.cs:1-15 |
| Tests-035 | Low | Resolved | Concurrency & thread safety | src/ZB.MOM.WW.MxGateway.Tests/Alarms/AlarmFailoverEndToEndTests.cs:315-329 |
| Tests-036 | Low | Resolved | Testing coverage | src/ZB.MOM.WW.MxGateway.Tests/Configuration/GatewayOptionsValidatorTests.cs |
| Tests-037 | Low | Won't Fix | Testing coverage | src/ZB.MOM.WW.MxGateway.Tests/Contracts/ProtobufContractRoundTripTests.cs |
| Tests-038 | Low | Resolved | Performance & resource management | src/ZB.MOM.WW.MxGateway.Tests/Gateway/Sessions/SessionEventDistributorTests.cs:702-713 |
| Tests-039 | Low | Resolved | Concurrency & thread safety | src/ZB.MOM.WW.MxGateway.Tests/Gateway/Sessions/GatewaySessionDashboardMirrorTests.cs (DashboardMirror_AndGrpcSubscriber_BothReceiveEvents) |
| Tests-040 | Low | Resolved | Testing coverage | src/ZB.MOM.WW.MxGateway.Tests/Gateway/Sessions/GatewayArrayWriteWiringTests.cs |
| Worker-009 | Low | Resolved | Performance & resource management | src/MxGateway.Worker/Ipc/WorkerFrameReader.cs:31,49, src/MxGateway.Worker/Ipc/WorkerFrameWriter.cs:57-58 |
| Worker-010 | Low | Resolved | Correctness & logic bugs | src/MxGateway.Worker/Conversion/VariantConverter.cs:204-226 |
| Worker-011 | Low | Resolved | Correctness & logic bugs | src/MxGateway.Worker/Ipc/WorkerPipeClient.cs:169-171 |
| Worker-012 | Low | Resolved | Documentation & comments | src/MxGateway.Worker/MxAccess/MxAccessAlarmEventSink.cs:44-55, src/MxGateway.Worker/MxAccess/WnWrapAlarmConsumer.cs:38-43, src/MxGateway.Worker/MxAccess/MxAccessEventMapper.cs:106-112 |
| Worker-013 | Low | Resolved | Testing coverage | src/MxGateway.Worker/Sta/StaMessagePump.cs |
| Worker-014 | Low | Resolved | Code organization & conventions | src/MxGateway.Worker/MxAccess/AlarmCommandHandler.cs:33, :202 |
| Worker-015 | Low | Resolved | Correctness & logic bugs | src/MxGateway.Worker/MxAccess/MxAccessEventQueue.cs:115-145 |
| Worker-018 | Low | Resolved | Error handling & resilience | src/MxGateway.Worker/MxAccess/WnWrapAlarmConsumer.cs:160-161 |
| Worker-019 | Low | Resolved | Code organization & conventions | src/MxGateway.Worker/MxAccess/WnWrapAlarmConsumer.cs:59, :188 |
| Worker-020 | Low | Resolved | Correctness & logic bugs | src/MxGateway.Worker/Ipc/WorkerPipeSession.cs:405, :423 |
| Worker-021 | Low | Resolved | Correctness & logic bugs | src/MxGateway.Worker/Ipc/WorkerPipeSession.cs:111-118, :790-805, :136-139 |
| Worker-022 | Low | Resolved | Code organization & conventions | src/MxGateway.Worker/MxAccess/MxAlarmSnapshot.cs:12, :26, :49 |
| Worker-024 | Low | Resolved | Concurrency & thread safety | src/MxGateway.Worker/MxAccess/AlarmCommandHandler.cs:63-187, src/MxGateway.Worker/MxAccess/MxAccessStaSession.cs:191-323 |
| Worker-025 | Low | Resolved | Correctness & logic bugs | src/MxGateway.Worker/Ipc/WorkerPipeSession.cs:111-117 |
| Worker-028 | Low | Resolved | Code organization & conventions | src/ZB.MOM.WW.MxGateway.Worker/MxAccess/SubtagAlarmStateMachine.cs:43-52, src/ZB.MOM.WW.MxGateway.Worker/MxAccess/SubtagAlarmConsumer.cs:70-75 |
| Worker.Tests-008 | Low | Resolved | Documentation & comments | src/MxGateway.Worker.Tests/Conversion/VariantConverterTests.cs:175-182 |
| Worker.Tests-009 | Low | Resolved | Code organization & conventions | src/MxGateway.Worker.Tests/MxAccess/AlarmCommandHandlerTests.cs, AlarmDispatcherTests.cs, AlarmCommandExecutorTests.cs, AlarmRecordTransitionMapperTests.cs, WnWrapAlarmConsumerXmlTests.cs |
| Worker.Tests-010 | Low | Resolved | Correctness & logic bugs | src/MxGateway.Worker.Tests/MxAccess/MxAccessStaSessionTests.cs:230-258 |
| Worker.Tests-011 | Low | Resolved | Documentation & comments | src/MxGateway.Worker.Tests/Sta/StaCommandDispatcherTests.cs:92-112 |
| Worker.Tests-012 | Low | Resolved | Testing coverage | src/MxGateway.Worker.Tests/Ipc/WorkerFrameProtocolTests.cs |
| Worker.Tests-013 | Low | Resolved | Concurrency & thread safety | src/MxGateway.Worker.Tests/Ipc/WorkerPipeSessionTests.cs:539-546 |
| Worker.Tests-014 | Low | Resolved | Code organization & conventions | src/MxGateway.Worker.Tests/Ipc/WorkerPipeClientTests.cs:194, WorkerPipeSessionTests.cs:622, Sta/StaCommandDispatcherTests.cs:348, MxAccess/MxAccessStaSessionTests.cs:334, MxAccess/MxAccessCommandExecutorTests.cs:1124 |
| Worker.Tests-015 | Low | Resolved | Testing coverage | src/MxGateway.Worker.Tests/MxAccess/MxAccessEventQueueTests.cs |
| Worker.Tests-019 | Low | Resolved | mxaccessgw conventions | src/MxGateway.Worker.Tests/AlarmsLiveSmokeTests.cs:45, src/MxGateway.Worker.Tests/AlarmClientWmProbeTests.cs:143, src/MxGateway.Worker.Tests/WnWrapConsumerProbeTests.cs:55 |
| Worker.Tests-020 | Low | Resolved | Concurrency & thread safety | src/MxGateway.Worker.Tests/MxAccess/MxAccessValueCacheTests.cs:88-108 |
| Worker.Tests-021 | Low | Resolved | Error handling & resilience | src/MxGateway.Worker.Tests/Ipc/WorkerFrameProtocolTests.cs |
| Worker.Tests-022 | Low | Resolved | Testing coverage | src/MxGateway.Worker.Tests/MxAccess/WnWrapAlarmConsumerXmlTests.cs |
| Worker.Tests-023 | Low | Resolved | Documentation & comments | src/MxGateway.Worker.Tests/AlarmClientWmProbeTests.cs (779 lines), src/MxGateway.Worker.Tests/WnWrapConsumerProbeTests.cs (287 lines), src/MxGateway.Worker.Tests/AlarmsLiveSmokeTests.cs (270 lines) |
| Worker.Tests-024 | Low | Resolved | Correctness & logic bugs | src/MxGateway.Worker.Tests/MxAccess/AlarmCommandHandlerTests.cs:42-54 |
| Worker.Tests-025 | Low | Resolved | mxaccessgw conventions | src/MxGateway.Worker.Tests/TestSupport/LiveMxAccessFactAttribute.cs:23, src/MxGateway.IntegrationTests/IntegrationTestEnvironment.cs:5, src/MxGateway.IntegrationTests/LiveMxAccessFactAttribute.cs:9-12 |
| Worker.Tests-026 | Low | Resolved | Code organization & conventions | src/MxGateway.Worker/MxAccess/MxAccessSession.cs:74-88 |
| Worker.Tests-027 | Low | Resolved | Concurrency & thread safety | src/MxGateway.Worker.Tests/TestSupport/FakeRuntimeSession.cs:174, 179-187 |
| Worker.Tests-028 | Low | Resolved | Design-document adherence | docs/GatewayTesting.md, src/MxGateway.Worker.Tests/Probes/ |
| Worker.Tests-029 | Low | Resolved | Code organization & conventions | src/MxGateway.Worker.Tests/Probes/AlarmsLiveSmokeTests.cs:9, src/MxGateway.Worker.Tests/Probes/AlarmClientWmProbeTests.cs:14, src/MxGateway.Worker.Tests/Probes/WnWrapConsumerProbeTests.cs:10 |
| Worker.Tests-030 | Low | Resolved | Documentation & comments | src/MxGateway.Worker.Tests/Ipc/WorkerPipeSessionTests.cs:862-890 |
| Worker.Tests-032 | Low | Resolved | Error handling & resilience | src/ZB.MOM.WW.MxGateway.Worker.Tests/MxAccess/FailoverAlarmConsumerTests.cs |
| Worker.Tests-033 | Low | Resolved | Testing coverage | src/ZB.MOM.WW.MxGateway.Worker.Tests/MxAccess/SubtagAlarmStateMachineTests.cs |
| Worker.Tests-034 | Low | Resolved | Code organization & conventions | src/ZB.MOM.WW.MxGateway.Worker.Tests/MxAccess/MxAccessCommandExecutorTests.cs:2233, src/ZB.MOM.WW.MxGateway.Worker.Tests/TestSupport/NoopMxAccessServer.cs:97 |
| Worker.Tests-035 | Low | Resolved | Testing coverage | src/ZB.MOM.WW.MxGateway.Worker.Tests/MxAccess/MxAccessCommandExecutorTests.cs, src/ZB.MOM.WW.MxGateway.Worker/MxAccess/MxAccessCommandExecutor.cs:99-136 |
| Worker.Tests-036 | Low | Resolved | Concurrency & thread safety | src/ZB.MOM.WW.MxGateway.Worker.Tests/Ipc/WorkerPipeSessionTests.cs:983-996 |