Skip to content

CI lint drift: golangci-lint version: latest pulled v2.12.0; reflect.Ptr govet inline triggers + node_modules scanned #516

Description

@intel352

Symptom

PR #515 (and presumably any future PR) fails the Lint CI check with 4 govet "inline" findings:

module/scan_provider_test.go:54:18: inline: Constant reflect.Ptr should be inlined (govet)
schema/reflect.go:18:17: inline: Constant reflect.Ptr should be inlined (govet)
ui/node_modules/flatted/golang/pkg/flatted/flatted.go:35:88: inline: Constant reflect.Ptr should be inlined (govet)
ui/node_modules/flatted/golang/pkg/flatted/flatted.go:62:20: inline: Constant reflect.Ptr should be inlined (govet)
4 issues

Diagnosis

Two compounding drift issues:

  1. .github/workflows/ci.yml:103-104 and :195-196 pin golangci-lint as version: latest. Recent main CI runs (033b7b2, 58adfd8, ac328f7) all conclude success because they ran against an older golangci-lint. The PR fix(plugin/external): propagate plugin errors instead of swallowing as nil #515 run (2026-05-02 06:30) pulled v2.12.0, which adds the govet inline check that flags reflect.Ptr (alias for reflect.Pointer).

  2. The lint config (likely .golangci.yml or .golangci.yaml) doesn't exclude ui/node_modules/, so it scans third-party JS-package vendored Go code that we don't own.

Two fixes (separable PRs)

Fix A — pin golangci-lint version (CI hygiene)

Change version: latest to a specific tag in both occurrences in ci.yml. Eliminates surprise drift.

Fix B — fix the workflow source issues + exclude node_modules

  • module/scan_provider_test.go:54: change reflect.Ptrreflect.Pointer
  • schema/reflect.go:18: same fix
  • Add exclude-dirs: [ui/node_modules] (or equivalent skip-paths config) to the golangci-lint config file

Out-of-scope handling

PR #515 (adapter error propagation) was admin-merged with the failing lint because the failure is environmental drift, not introduced by the PR's diff. Per workspace memory feedback_admin_override_pr_merge.

Next PR will hit the same blocker

PR 3 (the R-A9 align rule, work in progress) will hit identical lint failures. Suggested order: ship Fix A or Fix B BEFORE merging PR 3 to keep the next PR cleanly mergeable without admin override.

Metadata

Metadata

Labels

bugSomething isn't working

Type

No type

Fields

No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions