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
Copy file name to clipboardExpand all lines: .agents/sow/current/SOW-0014-20260603-maintainability-hotspots.md
+32-2Lines changed: 32 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -827,17 +827,47 @@ Implementation validation:
827
827
- Windows/MSYS CTest service slice passed: `test_win_service`, `test_win_service_extra`, and `test_win_service_payload_limits`.
828
828
-`git diff --check` passed.
829
829
-`bash .agents/sow/audit.sh` passed.
830
+
831
+
### 2026-06-04 GitHub AI Quality Findings Review
832
+
833
+
- The GitHub quality AI findings page reported seven findings across typed Go service wrappers and C Windows service code.
834
+
- Response-batch mapping findings:
835
+
- Reported files include `src/go/pkg/netipc/service/apps_lookup/client.go`, `src/go/pkg/netipc/service/cgroups/client.go`, `src/go/pkg/netipc/service/cgroups_lookup/client.go`, `src/go/pkg/netipc/service/cgroups_lookup/client_windows.go`, and `src/libnetdata/netipc/src/service/netipc_service_win.c`.
836
+
- Same-failure search also found the equivalent Go Windows apps lookup wrapper and POSIX C service mapping.
837
+
- Decision: reject these as false positives, but clarify the code.
838
+
- Evidence: public typed Go configs expose `MaxRequestBatchItems` and `MaxResponsePayloadBytes`, but no `MaxResponseBatchItems`; C `nipc_client_config_t` and `nipc_server_config_t` likewise expose only `max_request_batch_items` and `max_response_payload_bytes`.
839
+
- Evidence: `docs/level1-wire-envelope.md` says `max_response_batch_items` is kept for wire symmetry and the agreed response batch count must equal the agreed request batch count.
840
+
- Implementation plan: keep behavior unchanged, but route response-batch assignments through private helpers named as typed response-batch symmetry helpers so future reviewers do not interpret the mapping as accidental copy-paste.
- Same-failure search found the equivalent POSIX C lookup server initializers.
844
+
- Decision: reject as intentional behavior, but clarify the code.
845
+
- Evidence: `docs/level2-typed-api.md` says typed callers do not provide `max_request_payload_bytes`; the library derives the initial proposal internally from method schema, batch size, and dynamic-field assumptions.
846
+
- Evidence: lookup requests contain dynamic path/PID arrays, and C lookup servers pre-size accepted-session SHM resources from `learned_request_payload_bytes` before serving typed requests.
847
+
- Risk of applying the suggested change: changing lookup server request defaults from the larger lookup default to the generic request default could add avoidable reconnect churn or undersized SHM setup for lookup workloads.
848
+
- Implementation plan: keep behavior unchanged, but replace direct `cgroups_response_payload_default()` calls in lookup request-default sites with a private helper named as a lookup request-payload default.
849
+
- Implemented:
850
+
- C POSIX and Windows typed service config conversion now routes response-batch symmetry through `nipc_service_common_typed_response_batch_items()`.
851
+
- C POSIX and Windows lookup server request defaults now route through `nipc_service_common_lookup_request_payload_default()`.
852
+
- Go POSIX and Windows typed service wrappers for apps lookup, cgroups lookup, and cgroups snapshot now route response-batch symmetry through per-package `typedResponseBatchItems()` helpers.
853
+
- Same-failure verification: no remaining direct `MaxResponseBatchItems: config.MaxRequestBatchItems` or `max_response_batch_items = config->max_request_batch_items` assignments in typed service wrappers.
0 commit comments