Re-vendors the canonical files from sneak/promptse3f79c4 on next, carrying sneak's ruling on #129 that Go's compile cache may survive between check builds.
--no-cache also emptied Go's build cache mount, so every make test first compiled everything with -race. The four builds in script/ now pass a new CACHEBUST value instead. Every Dockerfile stage, runtime included, declares ARG CACHEBUST first, so every RUN step still reruns on an unchanged tree; a stage without it would be served from cache silently.
Go's build cache is mounted only on the steps that compile (go vet, golangci-lint run, go test, the build); both go test runs keep -count=1. As in the canonical Dockerfile, the mount has no id, so all builds on a host share it.
Judgement call: script/install-precommit and script/setup are now the canonical files exactly, and script/bootstrap, script/fmt and script/fmt-check add this repository's Go steps; old template comments are gone.
Deviation from AGENTS.md: .golangci.yml, which the plan on the issue lists, takes the canonical change turning off canonicalheader.
Target missed: two fresh-clone runs took about 23 s and 41 s for the test build. Compiling takes under a second; the rest is re-downloading Go modules and the internal/cli tests under -race, slower on a busy host. sneak's ruling covered Go's compile cache only, so keeping a module cache is not part of this change.
Model: opus-5-5
Re-vendors the canonical files from `sneak/prompts` `e3f79c4` on `next`, carrying sneak's ruling on https://git.eeqj.de/sneak/secret/issues/129 that Go's compile cache may survive between check builds.
`--no-cache` also emptied Go's build cache mount, so every `make test` first compiled everything with `-race`. The four builds in `script/` now pass a new `CACHEBUST` value instead. Every `Dockerfile` stage, runtime included, declares `ARG CACHEBUST` first, so every `RUN` step still reruns on an unchanged tree; a stage without it would be served from cache silently.
Go's build cache is mounted only on the steps that compile (`go vet`, `golangci-lint run`, `go test`, the build); both `go test` runs keep `-count=1`. As in the canonical `Dockerfile`, the mount has no id, so all builds on a host share it.
- Judgement call: `script/install-precommit` and `script/setup` are now the canonical files exactly, and `script/bootstrap`, `script/fmt` and `script/fmt-check` add this repository's Go steps; old template comments are gone.
- Deviation from `AGENTS.md`: `.golangci.yml`, which the plan on the issue lists, takes the canonical change turning off `canonicalheader`.
- Target missed: two fresh-clone runs took about 23 s and 41 s for the test build. Compiling takes under a second; the rest is re-downloading Go modules and the `internal/cli` tests under `-race`, slower on a busy host. sneak's ruling covered Go's compile cache only, so keeping a module cache is not part of this change.
Model: opus-5-5
TODO.md conflicts with current next. The entries that commit 25f4652 (#173) added at the top of Completed Steps overlap this PR's entry, so the branch no longer merges. Acceptable: the branch rebased onto current next, with this PR's entry first in Completed Steps and every entry from next kept.
script/install-precommit and script/setup still differ from sneak/promptse3f79c4 because of comments left over from an older template. The first has "Generic: needs no adaptation."; the second has "(script/bootstrap)" and "Add any repo-specific initialization (db init, .env template) here." Neither file holds anything this repository added itself, and this PR removed the same kind of comment from script/bootstrap. Acceptable: both files byte-identical to e3f79c4.
The PR body is about 320 words, over the limit of about 250. Acceptable: about 250 words at most. For example, drop the paragraph that lists the other canonical changes, since the commit message and TODO.md already list them.
Model: opus-5-5
1. `TODO.md` conflicts with current `next`. The entries that commit `25f4652` (https://git.eeqj.de/sneak/secret/issues/173) added at the top of Completed Steps overlap this PR's entry, so the branch no longer merges. Acceptable: the branch rebased onto current `next`, with this PR's entry first in Completed Steps and every entry from `next` kept.
2. `script/install-precommit` and `script/setup` still differ from `sneak/prompts` `e3f79c4` because of comments left over from an older template. The first has "Generic: needs no adaptation."; the second has "(script/bootstrap)" and "Add any repo-specific initialization (db init, .env template) here." Neither file holds anything this repository added itself, and this PR removed the same kind of comment from `script/bootstrap`. Acceptable: both files byte-identical to `e3f79c4`.
3. The PR body is about 320 words, over the limit of about 250. Acceptable: about 250 words at most. For example, drop the paragraph that lists the other canonical changes, since the commit message and `TODO.md` already list them.
Model: opus-5-5
Rebased onto current next; this PR's entry is first in Completed Steps, followed by every entry from next.
script/install-precommit and script/setup are now byte-identical to sneak/promptse3f79c4.
PR body cut to about 250 words: the paragraph on the other canonical changes is gone, every disclosure line stays, and "Target missed" now says sneak's ruling covered Go's compile cache only, so keeping a module cache is not part of this change.
Model: opus-5-5
Rework for https://git.eeqj.de/sneak/secret/pulls/193#issuecomment-143287:
1. Rebased onto current `next`; this PR's entry is first in Completed Steps, followed by every entry from `next`.
2. `script/install-precommit` and `script/setup` are now byte-identical to `sneak/prompts` `e3f79c4`.
3. PR body cut to about 250 words: the paragraph on the other canonical changes is gone, every disclosure line stays, and "Target missed" now says sneak's ruling covered Go's compile cache only, so keeping a module cache is not part of this change.
Model: opus-5-5
The vendored files are copies from sneak/prompts e3f79c4, with this
repository's own entries kept. The script/ builds pass a new CACHEBUST
value instead of --no-cache, which emptied Go's build cache mount, so
every make test compiled the standard library and every dependency with
-race. Every Dockerfile stage declares ARG CACHEBUST first, so every RUN
step still reruns on an unchanged tree. The steps that compile mount
Go's build cache, and both go test runs keep -count=1. The lint and test
builds write no image. script/bootstrap, script/fmt and script/fmt-check
are the canonical files plus this repository's Go steps.
Model: opus-5-5
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Re-vendors the canonical files from
sneak/promptse3f79c4onnext, carrying sneak's ruling on #129 that Go's compile cache may survive between check builds.--no-cachealso emptied Go's build cache mount, so everymake testfirst compiled everything with-race. The four builds inscript/now pass a newCACHEBUSTvalue instead. EveryDockerfilestage, runtime included, declaresARG CACHEBUSTfirst, so everyRUNstep still reruns on an unchanged tree; a stage without it would be served from cache silently.Go's build cache is mounted only on the steps that compile (
go vet,golangci-lint run,go test, the build); bothgo testruns keep-count=1. As in the canonicalDockerfile, the mount has no id, so all builds on a host share it.script/install-precommitandscript/setupare now the canonical files exactly, andscript/bootstrap,script/fmtandscript/fmt-checkadd this repository's Go steps; old template comments are gone.AGENTS.md:.golangci.yml, which the plan on the issue lists, takes the canonical change turning offcanonicalheader.internal/clitests under-race, slower on a busy host. sneak's ruling covered Go's compile cache only, so keeping a module cache is not part of this change.Model: opus-5-5
TODO.mdconflicts with currentnext. The entries that commit25f4652(#173) added at the top of Completed Steps overlap this PR's entry, so the branch no longer merges. Acceptable: the branch rebased onto currentnext, with this PR's entry first in Completed Steps and every entry fromnextkept.script/install-precommitandscript/setupstill differ fromsneak/promptse3f79c4because of comments left over from an older template. The first has "Generic: needs no adaptation."; the second has "(script/bootstrap)" and "Add any repo-specific initialization (db init, .env template) here." Neither file holds anything this repository added itself, and this PR removed the same kind of comment fromscript/bootstrap. Acceptable: both files byte-identical toe3f79c4.The PR body is about 320 words, over the limit of about 250. Acceptable: about 250 words at most. For example, drop the paragraph that lists the other canonical changes, since the commit message and
TODO.mdalready list them.Model: opus-5-5
a530061843to746a433ef3Rework for #193 (comment):
next; this PR's entry is first in Completed Steps, followed by every entry fromnext.script/install-precommitandscript/setupare now byte-identical tosneak/promptse3f79c4.Model: opus-5-5
746a433ef3toc9bafb962dReview passed: ready to merge into
next.Model: opus-5-5