Decide the Go module path before 1.0: sneak.berlin/go/keyfunc or git.eeqj.de #15

Closed
opened 2026-09-21 09:17:56 +02:00 by clawbot · 3 comments
Collaborator

go.mod declares module git.eeqj.de/sneak/keyfunc. REPO_POLICIES.md says: "Go module root: sneak.berlin/go/<name>". The module path is what people type into go install, so it is part of what 1.0 fixes in place; changing it afterwards breaks every install line in the wild.

Question for sneak: should the module move to sneak.berlin/go/keyfunc before 1.0?

  • Move (recommended): matches the policy and keeps the name independent of where the repository is hosted. It needs https://sneak.berlin/go/keyfunc?go-get=1 to answer with a go-import meta tag pointing at https://git.eeqj.de/sneak/keyfunc.git, which only you can set up. Until that answers, go install sneak.berlin/go/keyfunc/... fails.
  • Stay on git.eeqj.de/sneak/keyfunc: nothing to set up; the policy line is then not followed by this repo and the README should say so.

Once answered with "move", the work is: change the module line and every import of git.eeqj.de/sneak/keyfunc/... by hand, change the -X path in the Makefile LDFLAGS, and check that --version still prints the stamped version.

Definition of done

  • sneak has answered here.
  • If "move": no occurrence of the old module path remains in .go files, go.mod or Makefile; ./keyfunc --version prints the stamped version; make check green; branch cut from next, PR base next. If "stay": README says which path to install from, and this closes.

Model: fable-5-1

`go.mod` declares `module git.eeqj.de/sneak/keyfunc`. `REPO_POLICIES.md` says: "Go module root: `sneak.berlin/go/<name>`". The module path is what people type into `go install`, so it is part of what 1.0 fixes in place; changing it afterwards breaks every install line in the wild. **Question for sneak:** should the module move to `sneak.berlin/go/keyfunc` before 1.0? - Move (recommended): matches the policy and keeps the name independent of where the repository is hosted. It needs `https://sneak.berlin/go/keyfunc?go-get=1` to answer with a `go-import` meta tag pointing at `https://git.eeqj.de/sneak/keyfunc.git`, which only you can set up. Until that answers, `go install sneak.berlin/go/keyfunc/...` fails. - Stay on `git.eeqj.de/sneak/keyfunc`: nothing to set up; the policy line is then not followed by this repo and the README should say so. Once answered with "move", the work is: change the `module` line and every import of `git.eeqj.de/sneak/keyfunc/...` by hand, change the `-X` path in the `Makefile` `LDFLAGS`, and check that `--version` still prints the stamped version. ## Definition of done - sneak has answered here. - If "move": no occurrence of the old module path remains in `.go` files, `go.mod` or `Makefile`; `./keyfunc --version` prints the stamped version; `make check` green; branch cut from `next`, PR base `next`. If "stay": README says which path to install from, and this closes. Model: fable-5-1
sneak was assigned by clawbot 2026-09-21 09:17:56 +02:00
Author
Collaborator

Settled by standing policy, so adopted rather than asked (sneak can reverse it): the module moves to sneak.berlin/go/keyfunc before 1.0. keyfunc's own REPO_POLICIES.md sets the Go module root to sneak.berlin/go/<name>, the new-repo checklist in sneak/prompts says go mod init sneak.berlin/go/<name>, and the import redirector already answers for the name (https://sneak.berlin/go/keyfunc?go-get=1 points at this repo), so nothing outside the repo has to change. The move is queued for when keyfunc resumes (paused under the current priority rule). Reassigned to clawbot.

Model: opus-5-5

Settled by standing policy, so adopted rather than asked (sneak can reverse it): the module moves to `sneak.berlin/go/keyfunc` before 1.0. keyfunc's own `REPO_POLICIES.md` sets the Go module root to `sneak.berlin/go/<name>`, the new-repo checklist in `sneak/prompts` says `go mod init sneak.berlin/go/<name>`, and the import redirector already answers for the name (`https://sneak.berlin/go/keyfunc?go-get=1` points at this repo), so nothing outside the repo has to change. The move is queued for when keyfunc resumes (paused under the current priority rule). Reassigned to clawbot. Model: opus-5-5
sneak was unassigned by clawbot 2026-09-23 08:05:37 +02:00
clawbot self-assigned this 2026-09-23 08:05:37 +02:00
Author
Collaborator

Plan: one PR from a branch cut from next, base next.

  • go.mod: module sneak.berlin/go/keyfunc.
  • Every import of git.eeqj.de/sneak/keyfunc/... in the .go files, edited by hand; import order only through make fmt.
  • Makefile: the -X path in LDFLAGS.
  • README Getting Started: add go install sneak.berlin/go/keyfunc/cmd/keyfunc@latest next to the build from a clone. The line for this issue leaves the TODO list; if it was the last line there, the section says in one sentence that nothing is open toward 1.0.
  • No alias or fallback for the old path.
  • Checked: make build, then ./keyfunc --version prints the stamped version; the go install line resolves against the pushed branch commit. @latest resolves only once main carries the move; the PR says so in one line.

Model: opus-5-5

Plan: one PR from a branch cut from `next`, base `next`. - `go.mod`: `module sneak.berlin/go/keyfunc`. - Every import of `git.eeqj.de/sneak/keyfunc/...` in the `.go` files, edited by hand; import order only through `make fmt`. - `Makefile`: the `-X` path in `LDFLAGS`. - README Getting Started: add `go install sneak.berlin/go/keyfunc/cmd/keyfunc@latest` next to the build from a clone. The line for this issue leaves the TODO list; if it was the last line there, the section says in one sentence that nothing is open toward 1.0. - No alias or fallback for the old path. - Checked: `make build`, then `./keyfunc --version` prints the stamped version; the `go install` line resolves against the pushed branch commit. `@latest` resolves only once `main` carries the move; the PR says so in one line. Model: opus-5-5
Author
Collaborator

Built as planned in #41 (base next). The README install line with @latest resolves only once main carries the move.

Model: opus-5-5

Built as planned in https://git.eeqj.de/sneak/keyfunc/pulls/41 (base `next`). The README install line with `@latest` resolves only once `main` carries the move. Model: opus-5-5
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: sneak/keyfunc#15