Re-vendor the standard files from sneak/prompts dd4027b (closes #33) #42

Merged
clawbot merged 1 commits from issue-33-revendor into next 2026-10-06 15:55:11 +02:00
Collaborator

Re-vendors the standard files from sneak/prompts at dd4027b, for #33.

  • Copies at that commit: REPO_POLICIES.md, .golangci.yml, the CI workflow, script/check, script/cibuild and script/docker.
  • .gitignore, .editorconfig and the new .dockerignore are the canonical file followed by this repo's entries.
  • The lint stage moves to the pinned golangci-lint image in the same commit as .golangci.yml; neither raises a finding.
  • The format check leaves the lint stage for the host, as the policy asks. script/cibuild runs script/bootstrap and script/check before the image build.
  • script/bootstrap installs goimports with go install at a commit of golang.org/x/tools v0.30.0, the last release Go 1.22 can build, unless the installed one reports that version; script/fmt runs it.
  • The last Dockerfile stage runs script/bootstrap, the development environment the policy asks of a library.
  • .git, without its config, now goes into the build context; CI runs on push only, as in the canonical workflow.
  • TODO.md: the top Future Step moved up to Next Step.

Disclosures:

  • Judgement call (manager's plan): no version step in the Dockerfile, since no stage compiles a binary; the VERSION the scripts pass is ignored.
  • Judgement call: script/bootstrap and script/fmt put Go's bin directory first on PATH, as the policy has script/fmt load nvm for node, so a CI runner lacking it on PATH still finds goimports.
  • Deviation: .gitignore and .dockerignore also keep .aider*, not listed in the issue's item 3, because aider's config file can hold an API key.
  • Not in this unit: make fmt still does not format Markdown.

Model: opus-5-5

Re-vendors the standard files from `sneak/prompts` at `dd4027b`, for https://git.eeqj.de/sneak/simplelog/issues/33. - Copies at that commit: `REPO_POLICIES.md`, `.golangci.yml`, the CI workflow, `script/check`, `script/cibuild` and `script/docker`. - `.gitignore`, `.editorconfig` and the new `.dockerignore` are the canonical file followed by this repo's entries. - The lint stage moves to the pinned golangci-lint image in the same commit as `.golangci.yml`; neither raises a finding. - The format check leaves the lint stage for the host, as the policy asks. `script/cibuild` runs `script/bootstrap` and `script/check` before the image build. - `script/bootstrap` installs goimports with `go install` at a commit of `golang.org/x/tools` v0.30.0, the last release Go 1.22 can build, unless the installed one reports that version; `script/fmt` runs it. - The last `Dockerfile` stage runs `script/bootstrap`, the development environment the policy asks of a library. - `.git`, without its config, now goes into the build context; CI runs on push only, as in the canonical workflow. - `TODO.md`: the top Future Step moved up to Next Step. Disclosures: - Judgement call (manager's plan): no version step in the `Dockerfile`, since no stage compiles a binary; the `VERSION` the scripts pass is ignored. - Judgement call: `script/bootstrap` and `script/fmt` put Go's bin directory first on `PATH`, as the policy has `script/fmt` load nvm for node, so a CI runner lacking it on `PATH` still finds goimports. - Deviation: `.gitignore` and `.dockerignore` also keep `.aider*`, not listed in the issue's item 3, because aider's config file can hold an API key. - Not in this unit: `make fmt` still does not format Markdown. Model: opus-5-5
clawbot added the needs-review label 2026-10-06 14:52:08 +02:00
clawbot self-assigned this 2026-10-06 14:52:08 +02:00
Author
Collaborator
  1. make fmt fails inside the image make docker builds. script/fmt runs goimports from golang.org/x/tools v0.51.0, which needs Go 1.26. The last Dockerfile stage has Go 1.22.12 with GOTOOLCHAIN=local, so go run refuses to build it. The README line for script/fmt ("nothing needs to install it") and the comment in script/fmt ("every machine formats with the same version") promise that it works. Acceptable: a goimports release that Go 1.22 can build, so make fmt works in that image.

  2. script/fmt and script/bootstrap: goimports runs through go run instead of the form the policy gives for a Go tool needed on the host, go install of the package pinned to a commit hash, run from script/bootstrap, with the version comparison the policy describes. Item 2 of the definition of done requires script/ to follow the policy, and the plan did not make this judgement call. Acceptable: script/bootstrap installs goimports that way, script/fmt runs the installed binary, and the README and comments say so.

  3. Dockerfile last stage and .dockerignore: that stage now copies the whole build context into the tagged image. .dockerignore does not list .aider*, which this PR keeps in .gitignore because aider's config file can hold an API key, so a .aider.conf.yml in the working tree ends up in the make docker image. Acceptable: a **/.aider* entry after the canonical content of .dockerignore, disclosed like the .gitignore one.

  4. TODO.md conflicts with current next, where the webhook timeout change added its own Completed Steps entry at the same place. Acceptable: the branch rebased onto current next with both entries kept.

Model: opus-5-5

1. `make fmt` fails inside the image `make docker` builds. `script/fmt` runs goimports from `golang.org/x/tools` v0.51.0, which needs Go 1.26. The last `Dockerfile` stage has Go 1.22.12 with `GOTOOLCHAIN=local`, so `go run` refuses to build it. The README line for `script/fmt` ("nothing needs to install it") and the comment in `script/fmt` ("every machine formats with the same version") promise that it works. Acceptable: a goimports release that Go 1.22 can build, so `make fmt` works in that image. 2. `script/fmt` and `script/bootstrap`: goimports runs through `go run` instead of the form the policy gives for a Go tool needed on the host, `go install` of the package pinned to a commit hash, run from `script/bootstrap`, with the version comparison the policy describes. Item 2 of the definition of done requires `script/` to follow the policy, and the plan did not make this judgement call. Acceptable: `script/bootstrap` installs goimports that way, `script/fmt` runs the installed binary, and the README and comments say so. 3. `Dockerfile` last stage and `.dockerignore`: that stage now copies the whole build context into the tagged image. `.dockerignore` does not list `.aider*`, which this PR keeps in `.gitignore` because aider's config file can hold an API key, so a `.aider.conf.yml` in the working tree ends up in the `make docker` image. Acceptable: a `**/.aider*` entry after the canonical content of `.dockerignore`, disclosed like the `.gitignore` one. 4. `TODO.md` conflicts with current `next`, where the webhook timeout change added its own Completed Steps entry at the same place. Acceptable: the branch rebased onto current `next` with both entries kept. Model: opus-5-5
clawbot added needs-rework and removed needs-review labels 2026-10-06 15:16:04 +02:00
clawbot added 1 commit 2026-10-06 15:37:11 +02:00
REPO_POLICIES.md, .golangci.yml, the CI workflow and the scripts the
policy keeps identical across repositories are copies of the files at
that commit. .gitignore, .editorconfig and the new .dockerignore are the
canonical files followed by this repository's own entries. The lint
stage moves to the golangci-lint image the policy pins, in the same
commit as .golangci.yml. The format check leaves the lint stage and runs
on the host from script/check, which script/cibuild now runs after
script/bootstrap. The last Dockerfile stage runs script/bootstrap, which
installs goimports with go install at a pinned commit; script/fmt runs
that goimports.

Model: opus-5-5
clawbot force-pushed issue-33-revendor from d193c99cb7 to 7b34edf12e 2026-10-06 15:37:11 +02:00 Compare
Author
Collaborator

Rework of #42 (comment):

1 and 2. script/bootstrap installs goimports with go install at the golang.org/x/tools v0.30.0 commit (2025-02-10, the last release Go 1.22 can build), comparing the installed version first as the policy describes; script/fmt runs that binary; README and comments updated. Both scripts put Go's bin directory first on PATH, disclosed in the PR body.
3. .dockerignore ends with **/.aider*, disclosed with the .gitignore entry.
4. Rebased onto current next; TODO.md keeps both Completed Steps entries, this one first.

PR body cut to about 250 words.

Model: opus-5-5

Rework of https://git.eeqj.de/sneak/simplelog/pulls/42#issuecomment-129763: 1 and 2. `script/bootstrap` installs goimports with `go install` at the `golang.org/x/tools` v0.30.0 commit (2025-02-10, the last release Go 1.22 can build), comparing the installed version first as the policy describes; `script/fmt` runs that binary; README and comments updated. Both scripts put Go's bin directory first on `PATH`, disclosed in the PR body. 3. `.dockerignore` ends with `**/.aider*`, disclosed with the `.gitignore` entry. 4. Rebased onto current `next`; `TODO.md` keeps both Completed Steps entries, this one first. PR body cut to about 250 words. Model: opus-5-5
clawbot added needs-review and removed needs-rework labels 2026-10-06 15:40:15 +02:00
Author
Collaborator

Review passed.

Model: opus-5-5

Review passed. Model: opus-5-5
clawbot merged commit 17796569b8 into next 2026-10-06 15:55:11 +02:00
clawbot deleted branch issue-33-revendor 2026-10-06 15:55:12 +02:00
Sign in to join this conversation.
No Reviewers
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: sneak/simplelog#42