Files
mxaccessgw/code-reviews/README.md
T
Joseph Doherty b794c46bc7 File and fix Server-030 and Client.Dotnet-017 from e2e surfacing
Both findings surfaced when running the cross-language e2e matrix
(scripts/run-client-e2e-tests.ps1) against the redeployed gateway at
commit 84d36b7. Filed in code-reviews/Server/findings.md and
code-reviews/Client.Dotnet/findings.md and fixed in the same change.

Server-030 (Medium / Error handling): GatewaySession.GetReadyWorkerClient
gated on `_state == Ready && _workerClient.State == Ready` but only
formatted `_state` into the SessionManagerException message. Under load
the gateway-driven `_state` and the worker-driven `WorkerClient.State`
can diverge, producing a self-contradictory diagnostic ("Session ... is
not ready. Current state is Ready."). The Java e2e client hit this on
the 56th item after 55 successful add-items. Rewrote the message to
include both states ("Session state is X; worker state is Y"), added
an XML doc explaining the two-state contract and that this branch is
the fail-fast for a divergence race, and added regression test
SessionManagerTests.InvokeAsync_WhenWorkerNotReadyButSessionReady_DiagnosticIncludesBothStates
that pins both states appear in the message. The deeper race (should
the gateway briefly wait for worker-Ready before failing?) remains
open as a follow-up.

Client.Dotnet-017 (Low / Error handling): stream-events CLI threw
OperationCanceledException as an unhandled exception when the user's
--timeout expired before --max-events was reached. Exit code
-532462766, no aggregate JSON. The other client CLIs (Go, Rust, Python,
Java) exit 0 in this case. Wrapped the `await foreach` in
`catch (OperationCanceledException) when (cancellationToken.IsCancellationRequested)`
so the supplied token's cancellation (--timeout, Ctrl+C, or parent
CTS) becomes graceful completion; the aggregate `{ "events": [...] }`
JSON still runs after the catch. Added regression test
RunAsync_StreamEvents_WhenTimeoutFiresAfterEvents_EmitsCollectedEventsAndExitsZero
backed by a new FakeCliClient.StreamHangAfterEvents hook that yields
the configured events then parks on the cancellation token.

Side cleanup: the GatewayApplicationTests test added under Server-020
was asserting an invariant (`/dashboard/dashboard/X` doesn't exist)
that I broke by reverting Server-020 in 84d36b7. The doubled endpoint
shapes do exist now (MapGroup("/dashboard") prefixing an already
"/dashboard/X" @page directive) but they're harmless — no client
requests `/dashboard/dashboard/X`. Replaced the test with a positive
assertion (`/dashboard/X` routes ARE registered) and rewrote the XML
doc to record the actual contract.

Verified: dotnet test src/MxGateway.Tests passes 480/480, dotnet test
clients/dotnet/MxGateway.Client.Tests passes 77/77, gateway redeployed
at this commit and GET http://localhost:5130/dashboard returns 200.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-20 13:07:39 -04:00

41 KiB

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-05-20 a020350 Reviewed 0 17
Client.Go Claude Code 2026-05-20 a020350 Reviewed 0 21
Client.Java Claude Code 2026-05-20 a020350 Reviewed 0 26
Client.Python Claude Code 2026-05-20 a020350 Reviewed 0 21
Client.Rust Claude Code 2026-05-20 a020350 Reviewed 0 20
Contracts Claude Code 2026-05-20 a020350 Reviewed 0 15
IntegrationTests Claude Code 2026-05-20 a020350 Reviewed 0 21
Server Claude Code 2026-05-20 a020350 Reviewed 0 30
Tests Claude Code 2026-05-20 a020350 Reviewed 0 24
Worker Claude Code 2026-05-20 a020350 Reviewed 0 25
Worker.Tests Claude Code 2026-05-20 a020350 Reviewed 0 30

Pending findings

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

No pending findings.

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.Python-018 High Resolved Code organization & conventions clients/python/pyproject.toml:11
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)
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
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.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.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.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.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.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
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
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
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.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
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.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.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.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.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
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
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
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
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
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.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