Files
ReleaseKit/docs/roadmap/promptkit-bug-report.md

2.7 KiB

PromptKit Bug Report: v0.2.0 Module Checksum Mismatch

Status: Reproduced by a consumer; cause not yet confirmed.

Summary

PromptKit cannot add ReleaseKit v0.2.0 as its module-selected maintainer tool with Go's normal checksum verification. The go.mod bytes served for the version produce a checksum that differs from the checksum database's recorded go.mod checksum. Go stops with a security error.

PromptKit Context

PromptKit is adopting ReleaseKit v0.2.0 as a Go tool dependency, following the release's documented module-tooling workflow. The version tag currently points to commit e030794969fb7787e647a90bbc4eb81bd0610f07. The attempt used Go 1.26.8 with GOTOOLCHAIN=local.

Reproduction

From a Go module, run:

GOTOOLCHAIN=local go mod download -json gitea.maximumdirect.net/eric/ReleaseKit@v0.2.0

Go reports:

verifying gitea.maximumdirect.net/eric/ReleaseKit@v0.2.0/go.mod: checksum mismatch
	downloaded: h1:KmH607Vc/RK/zKrCB96cWh0QZYvkbxBFvtqV+BkKaxs=
	go.sum:     h1:xN8w1OWjhCwtDxyHVFbKxFWowuEPbMTCZrf0JIIm9pE=

SECURITY ERROR
This download does NOT match an earlier download recorded in go.sum.

The conflicting record is visible in the Go checksum database lookup. It records h1:xN8w1OWjhCwtDxyHVFbKxFWowuEPbMTCZrf0JIIm9pE= for the module's go.mod. A diagnostic fetch with GOSUMDB=off reports the same v0.2.0 tag commit above, archive checksum h1:EACELngRel4RiulR+Ors56nMZ5fA9orJDyhPxn6UVe4=, and go.mod checksum h1:KmH607Vc/RK/zKrCB96cWh0QZYvkbxBFvtqV+BkKaxs=. Disabling the checksum database was used only to inspect the fetched source; it is not a proposed consumer workaround.

Expected Behavior

The published v0.2.0 module metadata and the checksum database record should agree, so Go can verify and download the release normally.

Consumer Impact

PromptKit's dependency preparation stops before it can reliably select ReleaseKit v0.2.0 as a tool. Go's warning prevents proceeding with the normal integrity check. This does not affect PromptKit's runtime API or behavior; the tool dependency is for maintainer workflows.

Investigation Requested

Please compare the v0.2.0 tag's go.mod, the module proxy's .mod response, and the checksum database record to determine why their checksums differ. The available evidence confirms the mismatch but does not establish whether the tagged metadata changed after checksum publication, the proxy is serving different metadata, or the checksum record is otherwise inconsistent. Please advise on a verified immutable version consumers can select once the cause is known.