Skip to content

build(deps): Bump github.com/stretchr/testify from 1.11.1 to 1.12.1 - #1411

Closed
dependabot[bot] wants to merge 1 commit into
v1.7-devfrom
dependabot/go_modules/github.com/stretchr/testify-1.12.0
Closed

dependabot[bot] wants to merge 1 commit into
v1.7-devfrom
dependabot/go_modules/github.com/stretchr/testify-1.12.0

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Aug 18, 2026 •

Copy link
Copy Markdown
Contributor

Bumps github.com/stretchr/testify from 1.11.1 to 1.12.1.

Release notes

Sourced from github.com/stretchr/testify's releases.

v1.12.1

This is the first release which has the minimum dependencies practical in testify v1. The last remaining dependencies are github.com/stretchr/objx which itself has no dependencies, and go.yaml.in/yaml/v3. Removing objx would require v2, it cannot be vendored. Removing YAML would require vendoring the yaml library, which would do more harm than good. It's better to become aware of vulnerabilities in the official yaml package than to attempt to maintain our own.

What's Changed

New Contributors

Full Changelog: stretchr/testify@v1.12.0...v1.12.1

What's Changed

New Contributors

Full Changelog: stretchr/testify@v1.12.0...v1.12.1

v1.12.0

What's Changed

Functional Changes

Fixes

Documentation, Build & CI

... (truncated)

Commits
  • 959dbda Merge pull request #1935 from harryzcy/yaml-update
  • 9bb7176 Update go.yaml.in/yaml/v3 to v3.0.5
  • 001eb79 Merge pull request #1905 from Kentzo/patch-1
  • ad40f38 Merge pull request #1906 from stretchr/dependabot/github_actions/actions/chec...
  • 3bae017 build(deps): bump actions/checkout from 6.0.2 to 6.0.3
  • f8c01f3 mock: Mock.Return does not exist anymore
  • 12f8b56 Merge pull request #1563 from stretchr/make-AssertionFunc-types-aliases
  • a11649e assert: make *AssertionFunc type just aliases
  • dc20f41 Merge pull request #1890 from stretchr/dolmen/codegen-modernize
  • 098f8d7 _codegen: use strings.Builder
  • Additional commits viewable in compare view

@dependabot dependabot Bot added the dependencies Pull requests that update a dependency file label Aug 18, 2026
@dependabot dependabot Bot added the dependencies Pull requests that update a dependency file label Aug 18, 2026
@dependabot
dependabot Bot changed the base branch from v1.6-dev to v1.7-dev August 25, 2026 08:36
@Claudius-Maginificent

Copy link
Copy Markdown
Collaborator

Dependency Audit — stretchr/testify 1.11.1 → 1.12.0

Verdict: SAFE. And the govulncheck failure is not this PR's fault — details at the bottom, because that's the bit that actually matters here.

Change Summary

Direct github.com/stretchr/testify 1.11.1 → 1.12.0 (minor, test-only)
Indirect github.com/stretchr/objx 0.5.2 → 0.5.3
Removed github.com/pmezard/go-difflib (vendored into testify internal/)
Files touched go.mod, go.sum — nothing else
Upstream commits 115

Diff Integrity — CLEAN

That +7,804 line diff looks alarming right up until you see what it is: testify vendored go-spew and go-difflib into internal/ because both are unmaintained upstream (stretchr/testify#1708, stretchr/testify#1827). Vendoring is a lovely place to hide a payload, so I diffed it against upstream byte-for-byte rather than taking the changelog's word for it:

  • internal/difflib/ vs pmezard/go-difflib@5d4384e — zero added code lines. Everything is deletions (dead NewMatcherWithJunk, calculateRatio, context-diff) plus godoc reflow. LICENSE preserved (differs only by a missing trailing newline).
  • internal/spew/ vs davecgh/go-spew — zero functional changes across all 8 files. Every single "addition" is godoc block-comment reformatting into gofmt list style. bypass.go / bypasssafe.go — the unsafe reflection machinery, i.e. the juiciest injection target in the whole package — are byte-identical. LICENSE identical.
  • Tag integrity: v1.12.0 → 001eb7946baf451879253643e4ce4b38eaa0d4a7, matching the top commit in the release notes. No moved tag.
  • Checksums: go.sum entries match sum.golang.org exactly for both modules.
  • No new network calls, no install/lifecycle hooks, no obfuscation. The CI changes are pin-hardening (CI: upgrade GitHub Actions and pin hashes stretchr/testify#1883 pins action SHAs, CI: add check of GitHub Action pinned hashes against tag stretchr/testify#1885 adds a hash-vs-tag check) — a security improvement, not a regression.

objx 0.5.3 is even quieter: zero production .go files changed. It merely dropped its own testify dependency to break the dependency cycle.

Known Vulnerabilities

OSV.dev returns empty for testify, objx, and go-difflib. No CVEs, no advisories, at any version.

Codebase Impact

go list -deps ./cmd/tenderdash → 0 testify packages. It never reaches the node binary; blast radius is test code only.

The behaviour changes in 1.12.0 that could plausibly bite a consumer, checked against this repo:

Change Our exposure
*AssertionFunc types become aliases (#1563) 0 usages
IsIncreasing et al. now Fail on non-collections (#1787) 0 usages
suite validates method signatures (#1665) 13 suite files, 0 with invalid signatures
mock.AssertExpectationsForObjects errors instead of panicking on a bad type (#1795) strictly safer than before
mock mutating-stringer matching reverted to pre-1.11.0 (#1786) mocks are mockery-generated; tests (01)–(05) green

Verified by compiling, not by squinting:

go build -buildvcs=false ./... && go test -buildvcs=false -run '^$' -count=1 \
  ./internal/statesync/... ./internal/consensus/... ./internal/blocksync/... \
  ./internal/p2p/... ./types/... ./rpc/... ./internal/mempool/... ./light/...

→ exit 0 — whole module builds, 41 test binaries link clean against 1.12.0

About that red CI

govulncheck is pre-existing and has nothing whatsoever to do with testify. All 6 findings are in the Go standard library at go1.26.5, and every one of them says Fixed in: go1.26.6:

ID Package
GO-2026-6218 net/url
GO-2026-6091 html/template
GO-2026-6090 crypto/tls
GO-2026-6089 net/http
GO-2026-5972 encoding/asn1
GO-2026-5026 net/http

The proof it isn't us: a plain push to v1.7-dev (run 32049450842) produces the byte-identical set of 6, with no dependabot anywhere near it. The job is also red on master and on human PRs #1413 and #1414.

Root cause is the toolchain pin — go 1.26.5 in go.mod and go-version: "1.26.5" in .github/workflows/govulncheck.yml, with GOTOOLCHAIN=local. That fix belongs in its own PR: bump both to 1.26.6. A test-assertion library can neither cause nor cure a crypto/tls bug, so blocking this PR on it is just punishing the messenger.

The rest of the red is equally innocent:

  • tests (00) — ran 6h00m15s then The operation was canceled: job timeout / hang. tests (01)–(05) all passed, and that's where the testify-facing code actually compiles and runs.
  • golangci-lint and Build (amd64, linux) — both The operation was canceled as well. Infra cancellation, not findings.

Nothing red on this PR is attributable to this bump.

Risk Assessment

Safe. Test-only dependency, absent from the shipped binary, no known vulnerabilities, verified-clean vendoring, checksum-database-confirmed hashes, and the entire module compiles against it.

Recommendations

  1. Merge once CI is green. The branch is 31 commits behind v1.7-dev, so I've asked dependabot to rebase.
  2. Separate PR: bump the Go toolchain 1.26.5 → 1.26.6 in go.mod and .github/workflows/govulncheck.yml. That clears all 6 stdlib findings repo-wide and unblocks build(deps): Bump golang.org/x/crypto from 0.54.0 to 0.55.0 #1410, build(deps): Bump github.com/stretchr/testify from 1.11.1 to 1.12.1 #1411, build(deps): Bump golang.org/x/net from 0.57.0 to 0.58.0 #1412 and the human PRs in one shot.
  3. Worth a look separately: the tests (00) shard burning a full 6 hours before the runner gives up is a lot of CI time to spend on a hang.

🤖 Co-authored by Claudius the Magnificent AI Agent

@Claudius-Maginificent

Copy link
Copy Markdown
Collaborator

@dependabot rebase

@dependabot @github

dependabot Bot commented on behalf of github Aug 25, 2026

Copy link
Copy Markdown
Contributor Author

Sorry, only users with push access can use that command.

@lklimek

lklimek commented Aug 25, 2026

Copy link
Copy Markdown
Collaborator

@dependabot rebase

Bumps [github.com/stretchr/testify](https://github.com/stretchr/testify) from 1.11.1 to 1.12.1.
- [Release notes](https://github.com/stretchr/testify/releases)
- [Commits](stretchr/testify@v1.11.1...v1.12.1)

---
updated-dependencies:
- dependency-name: github.com/stretchr/testify
  dependency-version: 1.12.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot changed the title build(deps): Bump github.com/stretchr/testify from 1.11.1 to 1.12.0 build(deps): Bump github.com/stretchr/testify from 1.11.1 to 1.12.1 Aug 25, 2026
@dependabot
dependabot Bot force-pushed the dependabot/go_modules/github.com/stretchr/testify-1.12.0 branch from ad67647 to f7aa443 Compare August 25, 2026 09:21
@lklimek lklimek mentioned this pull request Aug 25, 2026
1 of 5 tasks
@dependabot @github

dependabot Bot commented on behalf of github Aug 25, 2026

Copy link
Copy Markdown
Contributor Author

Superseded by #1422.

@dependabot dependabot Bot closed this Aug 25, 2026
@dependabot
dependabot Bot deleted the dependabot/go_modules/github.com/stretchr/testify-1.12.0 branch August 25, 2026 16:34
lklimek added a commit that referenced this pull request Aug 26, 2026
govulncheck fails identically on v1.7-dev and every open PR branch
(#1412, #1411, #1410) with 6 Go standard-library findings, all
"Found in: go1.26.5 / Fixed in: go1.26.6":

- GO-2026-6218 (net/url)
- GO-2026-6091 (html/template)
- GO-2026-6090 (crypto/tls)
- GO-2026-6089 (net/http, x2)
- GO-2026-5972 (encoding/asn1)

Reachable from our TLS/RPC/HTTP server and Dash Core client paths
(same call sites as PR #1395). Bumping the pinned toolchain from
1.26.5 to 1.26.6 turns govulncheck green everywhere at once and
unblocks #1412, #1411, #1410.

Mirrors PR #1395's pattern (1.26.4 -> 1.26.5): pure patch-release
toolchain swap, no language/API changes, same 16 files touched
(go.mod, CI workflow go-version pins, Dockerfiles, docs).

Verified locally with go1.26.6: go build ./... succeeds, and
govulncheck ./... reports 0 vulnerabilities (down from 6).


Claude-Session: https://claude.ai/code/session_01RoXmbFrVf1BqVW1BHZv6Va

Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com>
lklimek added a commit that referenced this pull request Sep 7, 2026
* chore(deps): bump Go to 1.26.6 (#1417)

govulncheck fails identically on v1.7-dev and every open PR branch
(#1412, #1411, #1410) with 6 Go standard-library findings, all
"Found in: go1.26.5 / Fixed in: go1.26.6":

- GO-2026-6218 (net/url)
- GO-2026-6091 (html/template)
- GO-2026-6090 (crypto/tls)
- GO-2026-6089 (net/http, x2)
- GO-2026-5972 (encoding/asn1)

Reachable from our TLS/RPC/HTTP server and Dash Core client paths
(same call sites as PR #1395). Bumping the pinned toolchain from
1.26.5 to 1.26.6 turns govulncheck green everywhere at once and
unblocks #1412, #1411, #1410.

Mirrors PR #1395's pattern (1.26.4 -> 1.26.5): pure patch-release
toolchain swap, no language/API changes, same 16 files touched
(go.mod, CI workflow go-version pins, Dockerfiles, docs).

Verified locally with go1.26.6: go build ./... succeeds, and
govulncheck ./... reports 0 vulnerabilities (down from 6).

Claude-Session: https://claude.ai/code/session_01RoXmbFrVf1BqVW1BHZv6Va

Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com>
(cherry picked from commit 0a7a33e)

* ci(lint): bump golangci-lint from v2.12 to v2.13

golangci-lint v2.12.2 (the latest v2.12.x, matching the current
floating `version: v2.12` selector) panics rather than reporting
findings when analyzing this codebase under Go 1.27.1: the bundled
staticcheck analyzer (honnef.co/go/tools@v0.7.0) crashes its SSA/IR
builder with "unexpected expr: *ast.KeyValueExpr" while building IR
for the stdlib package internal/poll. Confirmed deterministic
(reproduced twice) and not a stale-binary artifact (rebuilt
golangci-lint v2.12.2 from source with the go1.27.1 toolchain itself,
same panic). Isolating the culprit with --disable=staticcheck makes
the panic disappear and returns 0 issues, but disabling staticcheck
in CI is rejected as a fix: it is the linter catching the QF1008
class, and turning it off to land a version bump would trade a real
gate for a green tick.

golangci-lint v2.13.0 shipped 2026-08-19, the same day as Go 1.27.0 —
the 2.13 line is Go 1.27-compatible where 2.12 predates Go 1.27
entirely. Measured v2.13.2 (the latest v2.13.x) built fresh with both
toolchains: no panic and 0 --new-from-rev findings at go1.26.6 and at
go1.27.1. The two changes are independent, so this commit lands ahead
of and does not depend on the Go 1.27.1 bump that follows it — every
intermediate commit in this branch keeps the lint job runnable.

Kept the existing floating-minor pin convention (`v2.13`, not an
exact `v2.12.2`-style pin): the crash was caused by the minor version
predating Go 1.27, not by floating within a minor, so an exact pin
would have failed identically and there is no reason to change the
convention in response to a problem it did not cause.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019gAC8rAzQagn5sgDxUJNjj

* chore(mockery): bump to v3.7.4 and regenerate

The `check-mocks` CI job pins `mockery=3.7.0` (released 2026-03-06,
five months before Go 1.27.0). Under a go1.27.1 toolchain, mockery
3.7.0 fails outright rather than producing a diff:

    internal error: package "github.com/dashpay/tenderdash/libs/ds"
    without types was imported from "github.com/dashpay/tenderdash/libs/store"

This is mockery's bundled golang.org/x/tools/go/packages loader
failing to attach type information to a transitively-imported
package when driven by the newer toolchain — not a defect in this
repository's source. Reproduced locally under the exact conditions
CI runs (GOTOOLCHAIN=local, the go1.27.1 binary setup-go installs,
no auto-download); the CI log itself can't show this, since the
generation step runs `make mockery 2>/dev/null` and discards stderr
— anyone hitting this in CI needs to reproduce it locally to see
anything past "exit code 2".

mockery v3.7.4 (released 2026-08-23, four days after Go 1.27.0)
fixes it: same reproduction conditions, clean exit. Measured it under
both go1.26.6 and go1.27.1 and got byte-identical regenerated output
either way — the interface{}->any / parameter-naming differences
below come entirely from mockery's own codegen version, not from
which Go toolchain drives it. That's what makes this commit stand on
its own ahead of the Go 1.27.1 bump that follows it in this branch,
rather than being a consequence of it.

Bumped both pin sites: check-generated.yml's MOCKERY and
scripts/mockery_generate.sh's VERSION. The version bump and the
regenerated mocks can't be split into separate commits: CI
regenerates and diffs in the same step, so a pin bump without
regenerated mocks leaves check-mocks red (diff appears), and
regenerated mocks without the pin bump leaves it red too (CI
regenerates with 3.7.0 and hits the error above again).

Regenerated all mocks under mockery v3.7.4 (`make mockery`). The
diff is mechanical and cosmetic only, inspected file-by-file rather
than trusted from the diffstat: every change is either
`interface{}` -> `any` in generated _Expecter method signatures (Go
1.18+ built-in alias, identical type), or a generated parameter name
recovering the interface's real source name where 3.7.0 fell back to
a generic placeholder (`v`, `vs`, `context1`). No method set changed,
no mock behavior changed. Confirmed behaviorally rather than just by
reading the diff: `go build ./...` is clean with the regenerated
mocks in place, and `go test ./internal/consensus/... -count=1` is
green (one run hit the already-known-flaky TestByzantinePrevoteEquivocation
from this task's original brief; a second run was clean, consistent
with that test's known ~18% flake rate and unrelated to this change).

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019gAC8rAzQagn5sgDxUJNjj

* test(rpc): close idle client connections in TestMaxOpenConnections

Go 1.27 changed HTTP/1 Response.Body.Close() to automatically drain
any unread content, up to a conservative limit, to allow the
underlying connection to be reused (see the "net/http" section of
the Go 1.27 release notes). TestMaxOpenConnections never reads its
response bodies before closing them, so under Go 1.27 the requests
it makes leave healthy, idle keep-alive connections sitting in the
client's pool instead of being closed outright as they were under
Go 1.26. Those idle connections keep the corresponding server-side
handler goroutines parked in a read wait, which the leaktest check
registered at the top of the test flags as leaked:

    leaktest: leaked goroutine: ... [IO wait]:
        ... net/http.(*conn).serve ...
        created by net/http.(*Server).Serve

This is not a defect in the server's shutdown path, and reading the
response body before closing it does not fix it — 1.27 already
drains it for you, which is the entire behavior change; an explicit
drain reaches the identical end state (healthy, pooled connection,
server goroutine still parked). Confirmed by testing it directly:
draining the body explicitly still leaks 100% of the time under
go1.27.1.

Fixed by sharing one Client across the request goroutines (http.Client
is safe for concurrent use) and calling its CloseIdleConnections after
they've all completed, before the leaktest check fires. This does not
change what the test measures: instrumented it locally to confirm
peak concurrent open connections still reaches exactly `max` with the
shared client, matching the per-goroutine-client version — concurrent
in-flight requests still each need their own connection regardless of
pooling, since pooling only affects connections after they go idle.

Verified at both go1.26.6 and go1.27.1 (5 consecutive runs each,
clean at both, plus one run with -race): this fix is a general test
correctness improvement, not conditional on either toolchain, which
is why it lands ahead of the Go 1.27.1 bump in this branch rather
than after it.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019gAC8rAzQagn5sgDxUJNjj

* test(rpc): assert on our own error family, not stdlib phrasing

TestRPCParams and TestParseURI/Decode asserted on the stdlib's exact
wording for a malformed json.Number ("invalid number literal" /
"invalid number"). That wording changed between Go versions — under
Go 1.27 it reads "cannot unmarshal string ... into Go value of type
json.Number: invalid syntax" instead — which breaks the assertion
even though the actual behavior (the malformed input is still
rejected, with the same RPC error code) hasn't changed at all.

Traced the code path rather than guessing a new substring:
RPCFunc.parseParams wraps every parameter-decode failure via
invalidParamsError(), which always builds an rpctypes.RPCError with
Code: CodeInvalidParams and Message: CodeInvalidParams.String() —
our own constant, literally "Invalid params", unconditionally. Only
RPCError.Data ever carries the wrapped stdlib error text. Asserting
on "Invalid params" instead of the stdlib phrase pins our own
contract (this rejection landed in the invalid-params family) rather
than a description we don't own and that a future Go release is free
to reword again.

This is also a stronger assertion than the one it replaces: the old
substring match could not distinguish an invalid-params rejection
from any other error that happened to contain the same words,
whereas the new one names the specific error family.

Checked for the same pattern elsewhere before touching only these
two sites: types/genesis_test.go:164 pins a different stdlib JSON
error string ("cannot unmarshal string into Go struct field ... of
type int64"), but that's the struct-field type-mismatch error class,
not the json.Number-literal class this Go release changed, and it
already passes clean under go1.27.1 (16/16 subtests) — confirmed by
running it, not assumed. Two sites, not a repo-wide problem.

Verified at both go1.26.6 and go1.27.1 (all TestRPCParams and
TestParseURI subtests green at both, full package test suite green
at go1.26.6): version-neutral, so this lands ahead of the Go 1.27.1
bump rather than after it.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019gAC8rAzQagn5sgDxUJNjj

* chore(deps): bump Go to 1.27.1

Follow-on to the previous two commits: with golangci-lint on v2.13
(previous commit), it is safe to move the pinned Go toolchain past
1.26.6 to 1.27.1. This is a minor-version bump, not a patch bump —
Go 1.26.6 -> 1.27.1 crosses a Go release boundary, so the "no
language/API changes" claim that held for the 1.26.5 -> 1.26.6 patch
swap does not carry here and was verified fresh rather than assumed.

Verified for the full three-commit stack (this commit on top of the
golangci-lint v2.13 bump on top of the Go 1.26.6 cherry-pick):

- go build ./... clean.
- go vet ./... reports the same 4 findings, byte-for-byte, before and
  after this commit (3x fmt.Errorf %q in test/e2e/pkg/testnet.go, 1x
  IPv6 address format in dash/quorum/nodeid_resolver.go) — all
  pre-existing and unrelated to this change. No new vet strictness
  under Go 1.27.
- govulncheck ./... reports the same finding sets before and after:
  0 stdlib vulnerabilities affecting our code, and the same 4
  dependency-only findings our code doesn't call (GO-2026-6355,
  GO-2026-6354, GO-2026-6303, GO-2026-5932) on both sides.
- golangci-lint v2.13.2 (what the v2.13 selector resolves to) with
  --new-from-rev=origin/v1.7-dev: 0 issues, no panic.
- go test ./internal/consensus/... -count=1, twice: both green
  (61.1s, 69.0s) on the final three-commit stack.
- GOTOOLCHAIN=auto correctly resolves and downloads go1.27.1 from
  this module's go.mod, confirmed via `go version` run from inside
  the module.

What moved, reported rather than fixed:

- golangci-lint's gofmt formatter (.golangci.yml formatters.enable)
  flags one pre-existing, untouched file — internal/rpc/core/
  mempool.go:149 — as differently formatted under Go 1.27.1's
  bundled gofmt than under 1.26.6's (a multi-value return with a
  composite literal inside a select/case reindents differently).
  --new-from-rev correctly excludes it since the affected line isn't
  part of any diff in this branch, so no CI gate fails on it. It is
  an active check, not an absent one — it simply isn't triggered
  against a line this branch touches. Left unformatted: out of scope
  for a toolchain-pin change.
- During earlier measurement (not the two required runs above, both
  of which were clean), one go1.27.1 run of
  `go test ./internal/consensus/...` hit a failure in
  TestPoC_HeightVoteSet_UnboundedRoundAllocation (retained 308 bytes
  per message against a <149 threshold), not one of the two
  previously-known flaky tests in this package. Isolated reruns of
  just this test passed 5/5 under go1.27.1 and 3/3 under go1.26.6.
  The 1.26.6 baseline never ran this test under equivalent
  full-package concurrent load, so this is not a like-for-like
  comparison between Go versions — left unresolved and not claimed
  to be version-related.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019gAC8rAzQagn5sgDxUJNjj

* style: reformat mempool.go for Go 1.27's gofmt

Go 1.27's gofmt reindents a multi-value return containing a composite
literal inside a select/case block differently than Go 1.26's gofmt
does: the composite literal body and the trailing fmt.Errorf
continuation drop one level of indentation. Formatted here with the
go1.27.1 toolchain's own gofmt -w -s (`go env GOROOT`'s bin/gofmt
under this branch's now-pinned toolchain) — the same flags
`make format`'s gofmt step uses; `-s` (simplify) produces an
identical diff to plain gofmt here, so it isn't smuggling in any
rewrite beyond the reindent.

Ran the full-repository gofmt -l -s sweep under go1.27.1 first, using
make format's own exclusions (skip *.pb.go, *pb_test.go, .git) rather
than fixing only the single file golangci-lint's filtered lint run
had named: internal/rpc/core/mempool.go was the only file the sweep
flagged, before and after -s. Did not run the rest of `make format`
(golines, goimports) since those are separate tools operating on
unrelated lines (line-wrapping, import grouping) — out of scope for
a pure gofmt-drift fix.

This repository has no standalone gofmt gate that this drift was
failing: .golangci.yml's `formatters.enable` list does include gofmt
(a distinct section from `linters.enable` in golangci-lint v2's
config schema — it is an active check, not an absent one), but the
one finding it produced was on a line outside any diff in this
branch, so `--new-from-rev` filtered it and no CI gate was failing.
`make format` itself writes rather than checks, so it enforces
nothing on its own either. This commit removes latent formatting
drift ahead of it mattering, not a fix for a red gate.

Confirmed asymmetric in both directions: after this reformat,
`gofmt -l -s` is clean under go1.27.1 (this branch's pinned
toolchain) but go1.26.6's gofmt now wants the same lines re-indented
back the other way. Anyone building this file with a local Go 1.26.x
toolchain and running gofmt/make format against it will see a diff
again — expected, since the two Go versions' gofmt disagree on this
construct in both directions, and this branch is pinned to 1.27.1.

No logic changes: the diff is pure reindentation of already-existing
lines, confirmed via `gofmt -d` before applying.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019gAC8rAzQagn5sgDxUJNjj

---------

Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants