You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
- Focused Windows validation passed on `win11`: `NIPC_TEST_FILTER=large_response_split timeout 600 build-windows-focused/bin/test_win_service_extra.exe`; `cd src/go && "/c/Program Files/Go/bin/go.exe" test -count=1 -timeout=300s ./pkg/netipc/service/raw -run "^TestWinLookupLargeResponseSplit$"`; `/c/Users/costa/.cargo/bin/cargo.exe test --manifest-path src/crates/netipc/Cargo.toml large_response_split -- --nocapture`.
1046
1046
- Protocol-level validation also passed: C `test_protocol`, Go `./pkg/netipc/protocol`, and Rust `protocol::lookup` tests.
1047
+
- Post-push Go reviewer fixes:
1048
+
- External review found that Go zero-config raw servers treated the learned `MaxPayloadDefault` starting capacity as the growth ceiling, so default request/response payload learning stopped at `1024` bytes instead of the documented `MaxPayloadCap`. Fixed `src/go/pkg/netipc/service/raw/server.go` to compute growth ceilings from the original initialization config before replacing zero budgets with starting defaults.
1049
+
- External review found that Go raw APPS_LOOKUP and CGROUPS_LOOKUP dispatch duplicated the protocol dispatch path and missed the protocol layer's `Finish()==0` overflow guard. Fixed `src/go/pkg/netipc/service/raw/apps_lookup.go` and `src/go/pkg/netipc/service/raw/cgroups_lookup.go` to delegate to protocol dispatchers while preserving raw-service `errHandlerFailed` semantics for typed handler failure.
1050
+
- Removed the now-unused Go raw-service `lookupMinRequired()` helper after the protocol dispatchers became the single production path for lookup response minimum-size checks.
1051
+
- Validation passed: POSIX `cd src/go && go test -count=1 -timeout=300s ./pkg/netipc/service/raw`; POSIX `cd src/go && go test -count=1 -timeout=300s ./pkg/netipc/protocol`; Windows `cd src/go && "/c/Program Files/Go/bin/go.exe" test -count=1 -timeout=300s ./pkg/netipc/service/raw`; Windows focused raw lookup/defaults tests also passed on `win11`.
1047
1052
- Note: `ctest` on `$PATH` resolved to a broken local Python wrapper missing the `cmake` module; validation used `/usr/bin/ctest`.
1048
1053
1049
1054
Real-use evidence:
@@ -1059,6 +1064,9 @@ Reviewer findings:
1059
1064
- External reviewer finding: local oversized request-key synthesis could run before proving the client is connected. Handled by enforcing `READY` before logical lookup work in C, Go, and Rust.
1060
1065
- External reviewer finding: cgroups all-local oversized handling could skip the zero-item probe path. Handled by continuing after a local oversized item only when more request items remain; otherwise the client sends the zero-item request and validates endpoint/generation behavior.
1061
1066
- External reviewer concern: hidden fixed payload ceilings would contradict initialization-tunable budgets. Reviewed against code and docs. `NIPC_MAX_PAYLOAD_CAP` / `MaxPayloadCap` remains a named default growth ceiling; request/response payload budgets are exposed through initialization config. Server learned-capacity growth now also honors those configured ceilings.
1067
+
- External reviewer finding: Go zero-config raw-server growth ceilings were derived after applying `MaxPayloadDefault`, effectively preventing default servers from learning above `1024` bytes. Handled by deriving growth ceilings from the original config and validating default versus explicit ceiling behavior.
1068
+
- External reviewer finding: Go raw lookup dispatchers duplicated protocol dispatcher logic and could diverge from protocol overflow handling. Handled by delegating raw APPS_LOOKUP and CGROUPS_LOOKUP dispatch to protocol dispatchers, preserving raw typed-handler failure semantics, and deleting the now-dead local minimum-size helper.
1069
+
- One requested external review run timed out before returning a usable final report. The completed reviewer findings above were triaged against the codebase; concrete defects were fixed and validated, while non-blocking style or broader design suggestions remain subject to the existing SOW close gates.
1062
1070
- External reviewer finding: coverage scripts and broader adversarial matrix still need updates before SOW completion. Coverage script expansion is now implemented; C/Rust/Go coverage gates pass; representative `8192` and `32768` logical-call tests now pass in C/Rust/Go on POSIX and Windows; POSIX and Windows baseline/SHM lookup-scale interop now pass across all C/Rust/Go directed pairs, including mixed-status lookup cases and heavier `65536` stress-only runs; lookup status codec interop now proves `PAYLOAD_EXCEEDED` and `OVERSIZED_ITEM` wire parity across C/Rust/Go; Rust malformed typed lookup response parity is now covered on POSIX and Windows; malformed follow-up responses after partial progress are now covered in C/Rust/Go on POSIX and Windows; reordered and duplicate response-item corruption is now covered in C/Rust/Go on POSIX and Windows; invalid status enum, invalid status-dependent field, and invalid label-table corruption are now covered in C/Rust/Go on POSIX and Windows; huge valid label isolation is now covered in C/Rust/Go on POSIX and Windows; endpoint absence before call, endpoint disappearance after partial progress, and endpoint disappearance before the first subcall are now covered in C/Rust/Go on POSIX and Windows; zero-item typed lookup calls are now covered in C/Rust/Go on POSIX and Windows; duplicate and unsorted request keys under request splitting are now covered in C/Rust/Go on POSIX and Windows; full POSIX and Windows benchmark regenerations now pass; downstream topology-containers post-vendor validation now passes. Broader adversarial matrix review remains open.
0 commit comments