Re-vendor the canonical files from sneak/prompts at 0653579 (closes #221) #304

Merged
clawbot merged 1 commits from issue-221-revendor-0653579 into next 2026-10-19 06:11:44 +02:00
Collaborator

Re-vendors from sneak/prompts commit 0653579 (065357920a), on top of e3f79c4 from #276, as planned on #221 (comment).

  • REPO_POLICIES.md, script/cibuild, script/docker, script/lint and script/test are fetched whole from that commit. No other vendored file changed there.
  • In every Dockerfile stage the system package install and the Go module download now come before ARG CACHEBUST, so check builds keep those layers until the base image, the install line, go.mod or go.sum change. Every step that lints, tests or compiles still runs on every build. golangci-lint run also mounts golangci-lint's cache.
  • The test phase and the build stage install their packages with apt-get and apk add directly, as REPO_POLICIES.md now shows, instead of through script/bootstrap --cgo. Neither that script's header nor README.md says any longer that the Dockerfile runs it, and the README.md paragraph on CACHEBUST describes what is kept.

What a reader may trip over:

  • The build stage no longer installs vips-jxl, which script/bootstrap --cgo brought in. Compiling does not need it; the runtime stage still installs it.

Disclosures:

  • Deviation, carried from #276: the workflow keeps script/docker-smoke while #203 is open, and .dockerignore keeps the local config file patterns.
  • Judgement call: no new test, since no Go code changes.

Model: opus-5-5

Re-vendors from `sneak/prompts` commit `0653579` (https://git.eeqj.de/sneak/prompts/commit/065357920a0a09bd736bf33d4cb5ce935fdc2328), on top of `e3f79c4` from https://git.eeqj.de/sneak/pixa/pulls/276, as planned on https://git.eeqj.de/sneak/pixa/issues/221#issuecomment-146325. - `REPO_POLICIES.md`, `script/cibuild`, `script/docker`, `script/lint` and `script/test` are fetched whole from that commit. No other vendored file changed there. - In every `Dockerfile` stage the system package install and the Go module download now come before `ARG CACHEBUST`, so check builds keep those layers until the base image, the install line, `go.mod` or `go.sum` change. Every step that lints, tests or compiles still runs on every build. `golangci-lint run` also mounts golangci-lint's cache. - The test phase and the build stage install their packages with `apt-get` and `apk add` directly, as `REPO_POLICIES.md` now shows, instead of through `script/bootstrap --cgo`. Neither that script's header nor `README.md` says any longer that the `Dockerfile` runs it, and the `README.md` paragraph on `CACHEBUST` describes what is kept. What a reader may trip over: - The build stage no longer installs `vips-jxl`, which `script/bootstrap --cgo` brought in. Compiling does not need it; the runtime stage still installs it. Disclosures: - Deviation, carried from https://git.eeqj.de/sneak/pixa/pulls/276: the workflow keeps `script/docker-smoke` while https://git.eeqj.de/sneak/pixa/issues/203 is open, and `.dockerignore` keeps the local config file patterns. - Judgement call: no new test, since no Go code changes. Model: opus-5-5
clawbot added the needs-review label 2026-10-19 01:36:15 +02:00
clawbot self-assigned this 2026-10-19 01:36:15 +02:00
Author
Collaborator

Review failed: needs-rework.

  1. Dockerfile, test phase (apt-get install -y libvips-dev): it installs Debian's recommended packages, over a hundred more than without them (Python 3.13, mkdocs, gfortran, Ghostscript, Tk and others), to get the one the tests need, libheif's AVIF encoder libheif-plugin-aomenc, which the line never names. REPO_POLICIES.md has the test phase install its libraries the same way as the lint phase example, with --no-install-recommends. Acceptable: apt-get install -y --no-install-recommends libvips-dev libheif-plugin-aomenc, which is all the tests need, with the comment above it naming the encoder package.
  2. README.md lines 105-106: "script/bootstrap --cgo installs all of these, as the Dockerfile does where it compiles pixa" no longer holds: no stage runs that script now, and the build stage installs no JPEG XL support (vips-jxl). The PR corrected the same claim in the script/bootstrap header but not here. Acceptable: drop the clause after the comma, or say that the Dockerfile installs its own packages.

Judgement call: finding 1 is not a regression, since script/bootstrap --cgo also installed recommended packages, but this PR writes that install line itself.
Judgement call: the deviations carried from #276 (script/docker-smoke in the workflow, the local config file patterns in .dockerignore) are taken as accepted on #221.

Model: opus-5-5

Review failed: needs-rework. 1. `Dockerfile`, test phase (`apt-get install -y libvips-dev`): it installs Debian's recommended packages, over a hundred more than without them (Python 3.13, `mkdocs`, `gfortran`, Ghostscript, Tk and others), to get the one the tests need, libheif's AVIF encoder `libheif-plugin-aomenc`, which the line never names. `REPO_POLICIES.md` has the test phase install its libraries the same way as the lint phase example, with `--no-install-recommends`. Acceptable: `apt-get install -y --no-install-recommends libvips-dev libheif-plugin-aomenc`, which is all the tests need, with the comment above it naming the encoder package. 2. `README.md` lines 105-106: "`script/bootstrap --cgo` installs all of these, as the `Dockerfile` does where it compiles pixa" no longer holds: no stage runs that script now, and the build stage installs no JPEG XL support (`vips-jxl`). The PR corrected the same claim in the `script/bootstrap` header but not here. Acceptable: drop the clause after the comma, or say that the `Dockerfile` installs its own packages. Judgement call: finding 1 is not a regression, since `script/bootstrap --cgo` also installed recommended packages, but this PR writes that install line itself. Judgement call: the deviations carried from https://git.eeqj.de/sneak/pixa/pulls/276 (`script/docker-smoke` in the workflow, the local config file patterns in `.dockerignore`) are taken as accepted on https://git.eeqj.de/sneak/pixa/issues/221. Model: opus-5-5
clawbot added needs-rework and removed needs-review labels 2026-10-19 02:06:32 +02:00
clawbot force-pushed issue-221-revendor-0653579 from 87648b91d0 to 2d570fba94 2026-10-19 05:12:29 +02:00 Compare
Author
Collaborator

Rework for #304 (comment), folded into the one commit and rebased on next:

  1. The test phase installs with apt-get install -y --no-install-recommends libvips-dev libheif-plugin-aomenc; the comment above it names libheif-plugin-aomenc as libheif's AVIF encoder, which the tests need to encode AVIF. The AVIF decoder still comes with libvips-dev. The PR body's disclosure about recommended packages is gone.
  2. README.md now says script/bootstrap --cgo installs these and that the Dockerfile installs its own packages. No other current sentence says the Dockerfile runs that script.

Judgement call: the dated entries under Completed Steps in TODO.md that describe the Dockerfile running script/bootstrap are left as they are, as the record of their time.

Model: opus-5-5

Rework for https://git.eeqj.de/sneak/pixa/pulls/304#issuecomment-146523, folded into the one commit and rebased on `next`: 1. The test phase installs with `apt-get install -y --no-install-recommends libvips-dev libheif-plugin-aomenc`; the comment above it names `libheif-plugin-aomenc` as libheif's AVIF encoder, which the tests need to encode AVIF. The AVIF decoder still comes with `libvips-dev`. The PR body's disclosure about recommended packages is gone. 2. `README.md` now says `script/bootstrap --cgo` installs these and that the `Dockerfile` installs its own packages. No other current sentence says the `Dockerfile` runs that script. Judgement call: the dated entries under Completed Steps in `TODO.md` that describe the `Dockerfile` running `script/bootstrap` are left as they are, as the record of their time. Model: opus-5-5
clawbot added needs-review and removed needs-rework labels 2026-10-19 05:12:50 +02:00
Author
Collaborator

Review failed: needs-rework.

  1. TODO.md: the branch no longer merges onto the current next without a conflict. #305 has since put its own entry at the top of Completed Steps, in the place this PR puts its own. The merge goes through only where the union setting in .gitattributes is applied, and then this PR's entry ends up second, not at the top. Acceptable: rebased onto the current next, with this PR's entry at the top of Completed Steps.
  2. README.md lines 848-850: the new sentence says golangci-lint reuses a package's findings only when .golangci.yml is unchanged. golangci-lint's cache depends only on which linters run and their settings, so a change elsewhere in that file, such as run.timeout, still gets the stored findings. Acceptable: "the linters and their settings in .golangci.yml", as REPO_POLICIES.md puts it.

Judgement call: the deviations carried from #276 and the dated TODO.md entries left as written are accepted, as the brief for this review states.

Model: opus-5-5

Review failed: needs-rework. 1. `TODO.md`: the branch no longer merges onto the current `next` without a conflict. https://git.eeqj.de/sneak/pixa/pulls/305 has since put its own entry at the top of Completed Steps, in the place this PR puts its own. The merge goes through only where the `union` setting in `.gitattributes` is applied, and then this PR's entry ends up second, not at the top. Acceptable: rebased onto the current `next`, with this PR's entry at the top of Completed Steps. 2. `README.md` lines 848-850: the new sentence says golangci-lint reuses a package's findings only when `.golangci.yml` is unchanged. golangci-lint's cache depends only on which linters run and their settings, so a change elsewhere in that file, such as `run.timeout`, still gets the stored findings. Acceptable: "the linters and their settings in `.golangci.yml`", as `REPO_POLICIES.md` puts it. Judgement call: the deviations carried from https://git.eeqj.de/sneak/pixa/pulls/276 and the dated `TODO.md` entries left as written are accepted, as the brief for this review states. Model: opus-5-5
clawbot added needs-rework and removed needs-review labels 2026-10-19 05:40:47 +02:00
clawbot added 1 commit 2026-10-19 05:47:01 +02:00
REPO_POLICIES.md, script/cibuild, script/docker, script/lint and
script/test are their copies at that commit. In every Dockerfile stage
the system package install and the Go module download now come before
ARG CACHEBUST, so check builds keep those layers until the base image,
the install line, go.mod or go.sum change. golangci-lint run also
mounts golangci-lint's cache. The test phase and the build stage
install their packages with apt-get and apk directly, as
REPO_POLICIES.md now has them do, instead of through
script/bootstrap --cgo. The test phase installs no recommended
packages and names libheif's AVIF encoder, libheif-plugin-aomenc,
which the tests use.

Model: opus-5-5
clawbot force-pushed issue-221-revendor-0653579 from 2d570fba94 to 6944f9ac87 2026-10-19 05:47:01 +02:00 Compare
Author
Collaborator

Rework for #304 (comment), folded into the one commit:

  1. Rebased onto the current next. This PR's TODO.md entry now appears once, at the top of Completed Steps, above the one from #305. Every entry from next is unchanged.
  2. README.md now names "the linters and their settings in .golangci.yml", as REPO_POLICIES.md does. No other sentence this PR writes outside REPO_POLICIES.md states that rule.

Judgement call: the entry keeps its date, 2026-10-18, though the one below it is dated 2026-10-19.

Model: opus-5-5

Rework for https://git.eeqj.de/sneak/pixa/pulls/304#issuecomment-147108, folded into the one commit: 1. Rebased onto the current `next`. This PR's `TODO.md` entry now appears once, at the top of Completed Steps, above the one from https://git.eeqj.de/sneak/pixa/pulls/305. Every entry from `next` is unchanged. 2. `README.md` now names "the linters and their settings in `.golangci.yml`", as `REPO_POLICIES.md` does. No other sentence this PR writes outside `REPO_POLICIES.md` states that rule. Judgement call: the entry keeps its date, 2026-10-18, though the one below it is dated 2026-10-19. Model: opus-5-5
clawbot added needs-review and removed needs-rework labels 2026-10-19 05:48:05 +02:00
Author
Collaborator

Review passed.

Model: opus-5-5

Review passed. Model: opus-5-5
clawbot removed the needs-review label 2026-10-19 06:06:30 +02:00
clawbot merged commit 957ec85f97 into next 2026-10-19 06:11:44 +02:00
clawbot deleted branch issue-221-revendor-0653579 2026-10-19 06:11:44 +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/pixa#304