From 88b2eb51ef972455a3c628516ce5e3daa2300427 Mon Sep 17 00:00:00 2001 From: clawbot <35+clawbot@noreply.example.org> Date: Wed, 4 Nov 2026 18:01:26 +0000 Subject: [PATCH] Allow go test on one package while iterating (closes #51) Follows sneak's ruling at https://git.eeqj.de/sneak/prompts/issues/51#issuecomment-167600. An agent whose work is confined to one package may run `go test` directly on that package's suite, or on individual tests in it, while iterating. `go build`, `go vet` and the linter still go through make targets. The full `make check` is still required before every push. The `Makefile` gains nothing. The rule on Docker now says the lint and test gates run there, because a run while iterating is not a gate. Model: opus-5-5 --- TODO.md | 7 +++++++ prompts/REPO_POLICIES.md | 12 +++++++++--- 2 files changed, 16 insertions(+), 3 deletions(-) diff --git a/TODO.md b/TODO.md index 93c03bc..629eb76 100644 --- a/TODO.md +++ b/TODO.md @@ -21,6 +21,13 @@ fmt-check, and commit. # Completed Steps +- 2026-11-04: An agent whose work is confined to one package may run `go test` + directly on that package's suite, or on individual tests in it, while + iterating (https://git.eeqj.de/sneak/prompts/issues/51), on sneak's ruling at + https://git.eeqj.de/sneak/prompts/issues/51#issuecomment-167600. The full + `make check` is still required before every push, and the `Makefile` gains + nothing. The rule on Docker now names the lint and test gates, because a run + while iterating is not one. - 2026-11-04: node, yarn, npm, python, pip and venv now come from the distribution with no version and no hash (https://git.eeqj.de/sneak/prompts/issues/146), on sneak's ruling at diff --git a/prompts/REPO_POLICIES.md b/prompts/REPO_POLICIES.md index 6667f8e..3a18a68 100644 --- a/prompts/REPO_POLICIES.md +++ b/prompts/REPO_POLICIES.md @@ -176,6 +176,12 @@ style conventions are in separate documents: instead of invoking the underlying tools directly. The Makefile is the single source of truth for how these operations are run. + An agent whose work is confined to one package may run `go test` directly on + that package's suite, or on individual tests in it, while iterating. This is + the only exception to this rule. `go build`, `go vet` and the linter still + go through make targets. A run while iterating is not a gate, so the full + `make check` is still required before every push. + - The Makefile is authoritative documentation for how the repo is used. Beyond the required targets above, it should have targets for every common operation: - running a local development server (`make run`, `make dev`) @@ -207,9 +213,9 @@ style conventions are in separate documents: and the dependency manifests it needs (`package.json` + `yarn.lock`, `go.mod` + `go.sum`, etc.) before running it. -- **Linting and testing run in Docker, as phases of the `Dockerfile`.** There is - no separate lint file. `script/lint` and `script/test` each build one phase - and nothing else: +- **The lint and test gates run in Docker, as phases of the `Dockerfile`.** + There is no separate lint file. `script/lint` and `script/test` each build one + phase and nothing else: ```sh docker build --build-arg CACHEBUST="$(date +%s)-$$" \ -- 2.54.0