Skip to content

go 1.0.1: a consumer's go mod tidy works again (closes #454) - #455

Merged
EricAndrechek merged 1 commit into
v1from
v1-go-1.0.1
Oct 4, 2026
Merged

EricAndrechek merged 1 commit into
v1from
v1-go-1.0.1

Conversation

@EricAndrechek

Copy link
Copy Markdown
Member

go 1.0.1: a consumer's go mod tidy works again. Closes #454.

The defect (measured against the published go/v1.0.0 from the Go proxy):

  • A consumer's go mod tidy fails, because the module "does not contain package github.com/wave-rf/chtypes/go/internal/testhook".
  • The consumer's go.sum therefore stays incomplete, and a fresh consumer's go build fails too.

The cause:

  • Five retained 0.x files in go/chtypes/ sat behind //go:build chtypes_v0_retired.
  • go mod tidy considers every build tag except ignore, so it resolved their imports.

The fix:

Measured locally:

  • With the fix on a copy of v1:
    • the module's own go mod tidy (no -e) leaves go.mod/go.sum byte-identical;
    • a consumer (with replace) gets go mod tidy exit 0 and go mod tidy -diff exit 0, and go build succeeds.
  • On this branch:
    • go vet ./..., the User-Agent tests and golangci-lint (0 issues);
    • release-verify.sh --selftest and shellcheck;
    • policy-merge-check --check-carve-out and --check-guide;
    • lint-public, lint-spelling and lint-cited-paths;
    • markdownlint and dprint.

After merge:

  1. A release-go dry run from the merged head, where the consumer tidy runs with no -e against the local module.
  2. Then go/v1.0.1 on that head.
  3. Post-publish verify runs against the PROXY copy, consumer tidy included.

🤖 Generated with Claude Code

https://claude.ai/code/session_012NdkF6p8Q3qkdxKCgbdjgb

go/v1.0.0 kept five retained 0.x files behind `//go:build chtypes_v0_retired`.
`go mod tidy` considers every build tag except `ignore`, so in any module that
depends on this one it resolved their imports, including go/internal/testhook,
which 1.0.0 no longer ships, failed, and left the consumer's go.sum
incomplete (measured against the published module). They now carry
`//go:build ignore`: the files stay, still protected, and their deletion stays
held (#431). Nothing in the built package changes.

The release verification's Go consumer module now runs `go mod tidy` with no
-e and no masking, in every dry run and after every publish, so this class
fails before a tag. Go's bindingVersion is 1.0.1, and go/CHANGELOG.md has the
entry.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012NdkF6p8Q3qkdxKCgbdjgb
@EricAndrechek
EricAndrechek merged commit ea805a5 into v1 Oct 4, 2026
51 of 52 checks passed
@EricAndrechek
EricAndrechek deleted the v1-go-1.0.1 branch October 4, 2026 03:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant