Report PromptKit's v0.2.0 checksum mismatch
This commit is contained in:
69
docs/roadmap/promptkit-bug-report.md
Normal file
69
docs/roadmap/promptkit-bug-report.md
Normal file
@@ -0,0 +1,69 @@
|
||||
# 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`](https://gitea.maximumdirect.net/eric/ReleaseKit/commit/e030794969fb7787e647a90bbc4eb81bd0610f07).
|
||||
The attempt used Go 1.26.8 with `GOTOOLCHAIN=local`.
|
||||
|
||||
## Reproduction
|
||||
|
||||
From a Go module, run:
|
||||
|
||||
```sh
|
||||
GOTOOLCHAIN=local go mod download -json gitea.maximumdirect.net/eric/ReleaseKit@v0.2.0
|
||||
```
|
||||
|
||||
Go reports:
|
||||
|
||||
```text
|
||||
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](https://sum.golang.org/lookup/gitea.maximumdirect.net/eric/!release!kit@v0.2.0).
|
||||
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.
|
||||
Reference in New Issue
Block a user