Reconcile STRTA scripts with golangci-lint v2.12.2 and prove docker build green (phase 2 of #16) #27

Closed
opened 2026-09-04 00:06:08 +02:00 by clawbot · 1 comment
Collaborator

Phase 2 of issue #16. BLOCKED on issue #26 — do not start until the merge/next-to-main-1.1.0 branch is pushed with conflicts resolved.

Left deliberately unassigned, which under this repo's convention means not agent-eligible. The pipeline manager will assign clawbot once phase 1 lands.

Why this is separate

The work in #16 changes character at exactly this seam. Phase 1 is a merge and conflict resolution, which is bounded and fast. This phase is an iterative build-fix-rebuild loop against a container, which is open-ended and slow — it is what makes #16 too long to survive a single work window. Splitting here lets phase 1's output be durable regardless of what happens to this phase.

Starting point

Branch merge/next-to-main-1.1.0 (from #26): main with next merged in, conflicts resolved, compiling, but not green. That is expected.

The known breakage: next's script/lint, script/fmt-check and script/check were written against the old golangci-lint v1.64.8 pin, while main now carries golangci-lint v2.12.2 and a canonical .golangci.yml. The Dockerfile invokes make lint and make fmt-check, which are now script/* shims, so the two sides interact rather than merely coexisting.

Definition of done

  1. script/lint, script/fmt-check and script/check work against the v2.12.2 .golangci.yml that main carries.
  2. .golangci.yml is NOT modified — standardized, owner-only.
  3. The Dockerfile lint stage stays pinned by digest at v2.12.2.
  4. script/check runs the full local verification (fmt-check + lint + test); script/cibuild is the CI entrypoint; the Dockerfile build runs make check so the image build fails on any check failure.
  5. .gitea/workflows/check.yml invokes script/cibuild rather than a bare docker build ..
  6. docker build . passes on the merge result. This is the gate.
  7. A PR is opened against main with the verification output pasted in.

Verification gate

A host make check result is NOT evidence in this repo. See the cross-tree golangci-lint cache anomaly recorded on PR #21. Verify in-container only, and prove no cached layers were used.

Do not

  • Do NOT merge the PR. Do NOT create any git tag — the 1.1.0 tag is the owner's to push after review.
  • Do NOT modify .golangci.yml or weaken any linter/test to get green.
  • Do NOT touch issues #19, #20, #22, #23. #20 and #23 are sequenced after this one by design.
Phase 2 of [issue #16](https://git.eeqj.de/sneak/simplelog/issues/16). **BLOCKED** on [issue #26](https://git.eeqj.de/sneak/simplelog/issues/26) — do not start until the `merge/next-to-main-1.1.0` branch is pushed with conflicts resolved. Left deliberately **unassigned**, which under this repo's convention means not agent-eligible. The pipeline manager will assign `clawbot` once phase 1 lands. ## Why this is separate The work in #16 changes character at exactly this seam. Phase 1 is a merge and conflict resolution, which is bounded and fast. This phase is an iterative build-fix-rebuild loop against a container, which is open-ended and slow — it is what makes #16 too long to survive a single work window. Splitting here lets phase 1's output be durable regardless of what happens to this phase. ## Starting point Branch `merge/next-to-main-1.1.0` (from #26): `main` with `next` merged in, conflicts resolved, compiling, but **not green**. That is expected. The known breakage: `next`'s `script/lint`, `script/fmt-check` and `script/check` were written against the old golangci-lint v1.64.8 pin, while `main` now carries golangci-lint v2.12.2 and a canonical `.golangci.yml`. The `Dockerfile` invokes `make lint` and `make fmt-check`, which are now `script/*` shims, so the two sides interact rather than merely coexisting. ## Definition of done 1. `script/lint`, `script/fmt-check` and `script/check` work against the v2.12.2 `.golangci.yml` that `main` carries. 2. `.golangci.yml` is **NOT modified** — standardized, owner-only. 3. The `Dockerfile` lint stage stays **pinned by digest** at v2.12.2. 4. `script/check` runs the full local verification (fmt-check + lint + test); `script/cibuild` is the CI entrypoint; the `Dockerfile` build runs `make check` so the image build fails on any check failure. 5. `.gitea/workflows/check.yml` invokes `script/cibuild` rather than a bare `docker build .`. 6. **`docker build .` passes on the merge result.** This is the gate. 7. A PR is opened against `main` with the verification output pasted in. ## Verification gate A host `make check` result is **NOT evidence in this repo**. See the cross-tree golangci-lint cache anomaly recorded on [PR #21](https://git.eeqj.de/sneak/simplelog/pulls/21). Verify in-container only, and prove no cached layers were used. ## Do not - Do NOT merge the PR. Do NOT create any git tag — the 1.1.0 tag is the owner's to push after review. - Do NOT modify `.golangci.yml` or weaken any linter/test to get green. - Do NOT touch issues #19, #20, #22, #23. #20 and #23 are sequenced after this one by design.
clawbot added the bot label 2026-09-04 00:06:08 +02:00
clawbot self-assigned this 2026-09-05 03:24:12 +02:00
Author
Collaborator

Closed at sneak's instruction, 2026-09-05: this was opened by an agent running on another machine outside the managed fleet, under superseded rules. Reopen if the content is wanted.

Model: fable-5-1

Closed at sneak's instruction, 2026-09-05: this was opened by an agent running on another machine outside the managed fleet, under superseded rules. Reopen if the content is wanted. Model: fable-5-1
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: sneak/simplelog#27