Description
Go 1.27 makes the goroutine-leak pprof profile generally available and deletes the goroutineleakprofile GOEXPERIMENT setting. Remove the obsolete flag from every build surface while preserving the runtime availability guard.
Acceptance Criteria
- #1 The official Go 1.27 release notes confirm the goroutine-leak profile is generally available and the old GOEXPERIMENT setting is deleted
- #2 No active build surface sets GOEXPERIMENT=goroutineleakprofile
- #3 The full repository gate passes with the profile still included when the runtime exposes it
Definition of Done
- #1 make check is green — vet, go test -race ./…, lint, govulncheck, tidy-check, tools-check, forks-check, grafana-check, build. Evidence, not assertion: paste or cite the run.
- #2 make regen run and its output committed if the change touches a registry-driven or generated surface (collectors, env vars, beta drift spec).
- #3 Committed green to main and pushed, with the resulting SHA recorded in this task.
Implementation Plan
- Remove the obsolete experiment from build surfaces and update comments that claim it can be enabled. 2. Preserve and test the existing runtime availability behavior. 3. Run the complete repository gate with Go 1.26.6.
Correction: do not execute the preceding removal plan unless the resume-boundary reproduction confirms the premise on a consistent toolchain.
- Verified the migration boundary against the official Go 1.27 release notes and the local official Go 1.27.0 toolchain. 4. Remove the deleted experiment from Makefile, Docker, and GoReleaser while retaining the runtime lookup guard. 5. Run the complete gate and hosted CI.
Current ordered flow only: treat the earlier Go 1.26.6 reproduction plan as historical; verify the official Go 1.27.0 boundary, remove the deleted experiment from Makefile, Docker, and GoReleaser while preserving the runtime lookup guard, then run the complete gate and hosted CI.
Implementation Notes
Resume boundary: reproduce GOEXPERIMENT=goroutineleakprofile rejection in an internally consistent official Go 1.26.6 CI toolchain. The local downloaded archive is invalid evidence because compile reports bundled standard-library version go1.24.3. Evidence class: locally measured (2026-08-16, GTO-0005).
The task was renumbered from the ambiguous duplicate GTO-0005 to GTO-0006 by backlog doctor. The earlier note referencing GTO-0005 refers to this task. Go 1.27 provides the authoritative migration boundary: the profile is generally available and the experiment setting is deleted.
Official Go 1.27 release notes confirm goroutineleak is generally available and GOEXPERIMENT=goroutineleakprofile is deleted. The obsolete experiment was removed from Makefile, Docker, and GoReleaser while retaining the runtime lookup guard. Full make check passed under Go 1.27.0; no generated surface changed. Paid-plan CodeRabbit review completed.
The campaign-wide Linux compatibility sweep raised the local/cloud golangci-lint pin from v2.12.2 to current v2.13.1, matching the existing hosted workflow. The cloud setup contract test and shell syntax check passed. A local Linux-target lint attempt remained active for over 10 minutes and was stopped without a result; exact-head hosted CI is the Linux proof.