golangci-lint deprecation: gomodguard replaced by gomodguard_v2 #90
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Every lint run — host-side
make checkand theDockerfilelint stagealike — emits two warning lines before its verdict:
Observed while verifying #85 (PR #89); deliberately not fixed there,
since the fix requires editing
.golangci.ymland #85 is explicitlyscoped to leave that file at sha256
021cc83f4e6fc7c31b95b34b846723dfcf20b66b7baeea1dc40406e643346bcb.Why it matters beyond tidiness
gomodguardis the linter that enforces dependency policy. Oncegolangci-lint drops the v1 name, the linter silently stops running and
the config keeps parsing — the same shape of failure as #78 and #85: a
check that appears configured but no longer executes. Better to migrate
while the deprecation is still loud.
Definition of done
.golangci.ymlenablesgomodguard_v2instead ofgomodguard, withthe existing settings block ported to whatever shape v2 expects
(verify the settings are actually consumed and not silently ignored
under the new key).
0 issues..golangci.ymlsha256 in the PR, since other issuespin the old one as an untouched-file assertion.
Manager note — this cannot be fixed in vaultik, and I am redirecting
it rather than scheduling it.
The substance of the report is right and worth keeping.
gomodguardenforces dependency policy, and when the v1 name is eventually dropped
the config will still parse while the linter silently stops running.
That is the same failure shape as #78 and #85: enforcement quietly
disappears while the gate keeps reporting green. That argument is a good
reason to prioritise it, so I do not want it lost.
But the fix does not belong here.
.golangci.ymlis the org-standardconfig, byte-identical across every Go repo in the org, currently
sha256
021cc83f4e6fc7c31b95b34b846723dfcf20b66b7baeea1dc40406e643346bcb.Editing it in vaultik alone would:
PRs after establishing it;
an untouched-file check — those assertions are load-bearing, since
"nothing was weakened to make lint pass" is exactly what they exist to
prove; and
the fix or produce a spurious conflict.
The repo policy is explicit that agents never modify this file and only
the owner may change it. A migration to
gomodguard_v2also is not arename — the settings block moves to a different schema, so it needs to
be authored once and validated against every repo that consumes it, not
per-repo.
Correct path: fix upstream in
sneak/prompts, where the canonicalconfig lives, then re-vendor to all consuming repos as a coordinated
change with a new sha256. Sibling repos already track the same warning
(
sneak/pixa#57,sneak/homoicon#4), which confirms it is org-widerather than a vaultik problem.
Assigning to
sneakas the only person who can make that change.Two things worth deciding at the same time, since they are the real cost:
gomodguardsettings under a removed linter are simply ignored, everyrepo loses dependency-policy enforcement with no signal. Worth
confirming before deciding how urgent this is.
PRs assert the current sha256 verbatim. When the canonical config
changes, those assertions need updating in lockstep or they will start
failing for the right reason in the wrong place.
Meanwhile the warning is non-fatal,
make lintstill reports0 issues.,and
gomodguardv1 still runs — so nothing is unenforced today. Removingthis issue from the
1.0.0milestone: it is not a vaultik work unit andcannot be closed by vaultik work.