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
script/lint, script/fmt-check and script/check work against the v2.12.2 .golangci.yml that main carries.
.golangci.yml is NOT modified — standardized, owner-only.
The Dockerfile lint stage stays pinned by digest at v2.12.2.
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.
.gitea/workflows/check.yml invokes script/cibuild rather than a bare docker build ..
docker build . passes on the merge result. This is the gate.
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
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
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.
Phase 2 of issue #16. BLOCKED on issue #26 — do not start until the
merge/next-to-main-1.1.0branch is pushed with conflicts resolved.Left deliberately unassigned, which under this repo's convention means not agent-eligible. The pipeline manager will assign
clawbotonce 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):mainwithnextmerged in, conflicts resolved, compiling, but not green. That is expected.The known breakage:
next'sscript/lint,script/fmt-checkandscript/checkwere written against the old golangci-lint v1.64.8 pin, whilemainnow carries golangci-lint v2.12.2 and a canonical.golangci.yml. TheDockerfileinvokesmake lintandmake fmt-check, which are nowscript/*shims, so the two sides interact rather than merely coexisting.Definition of done
script/lint,script/fmt-checkandscript/checkwork against the v2.12.2.golangci.ymlthatmaincarries..golangci.ymlis NOT modified — standardized, owner-only.Dockerfilelint stage stays pinned by digest at v2.12.2.script/checkruns the full local verification (fmt-check + lint + test);script/cibuildis the CI entrypoint; theDockerfilebuild runsmake checkso the image build fails on any check failure..gitea/workflows/check.ymlinvokesscript/cibuildrather than a baredocker build ..docker build .passes on the merge result. This is the gate.mainwith the verification output pasted in.Verification gate
A host
make checkresult 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
.golangci.ymlor weaken any linter/test to get green.clawbot referenced this issue2026-09-04 00:06:38 +02:00
clawbot referenced this issue2026-09-04 00:06:38 +02:00
clawbot referenced this issue2026-09-05 03:24:03 +02:00
clawbot referenced this issue2026-09-05 03:41:38 +02:00
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