Finish the lint remediation: script/cibuild exits 0 (closes #61)
All checks were successful
check / check (push) Successful in 5s
All checks were successful
check / check (push) Successful in 5s
Clears the final 80 golangci-lint findings under the canonical .golangci.yml (sha256 021cc83f4e6fc7c31b95b34b846723dfcf20b66b7baeea1dc40406e643346bcb), taking the repo from red to green: script/cibuild exits 0. - wsl_v5 (60): blank line above defer/go statements sharing no variable with the line above; blank-line-only diff. - sqlclosecheck (10): the package-local CloseRows helper hid the close from the analyzer. Helper removed; all 18 call sites now defer an inline rows.Close(), preserving the fatal-on-close-error path. No resource leak existed - the rows were always being closed. - prealloc (3): append targets given a starting capacity. - revive (3): package-name findings suppressed with per-site directives pending the naming decision tracked in #76. No gosec suppressions are needed under the pinned linter. .golangci.yml, Dockerfile, Makefile, .gitea/ and script/ are byte-identical to main. Verified with script/cibuild (digest-pinned golangci-lint v2.12.2), not make check - the latter resolves the linter from PATH and is not a trustworthy gate here; see #78. Closes #59.
This commit was merged in pull request #77.
This commit is contained in:
30
TODO.md
30
TODO.md
@@ -14,16 +14,36 @@ pre-1.0
|
||||
|
||||
# Next Step
|
||||
|
||||
Reconcile the uncommitted ARCHITECTURE.md edits on main: finish and
|
||||
commit, or revert.
|
||||
Triage the stale remote branches (issue #71): for each, merge the work
|
||||
or delete the branch.
|
||||
|
||||
# Completed Steps
|
||||
|
||||
- 2026-08-09: Finished the lint remediation under the canonical
|
||||
`.golangci.yml` (issue #61, which also unblocks issue #59). The
|
||||
remaining findings were fixed behavior-preservingly: `wsl_v5`
|
||||
whitespace, `sqlclosecheck`, and `prealloc`. The `sqlclosecheck` sites
|
||||
now close `sql.Rows` in a deferred closure instead of via the
|
||||
`CloseRows` helper, which the linter could not see through. Only the
|
||||
`revive` package-name findings remain suppressed, with per-site
|
||||
`//nolint` directives; the package-rename question behind them is
|
||||
tracked in issue #76. Verified with `script/cibuild`, which exits 0 —
|
||||
that is the only trustworthy gate, because `script/lint` runs whatever
|
||||
`golangci-lint` happens to be on `PATH` rather than the pinned
|
||||
v2.12.2 that CI and the `Dockerfile` use, so `make check` can report
|
||||
green on findings CI still fails. That tooling gap is tracked in issue
|
||||
#78.
|
||||
- 2026-08-09: The earlier next step "reconcile the uncommitted
|
||||
`ARCHITECTURE.md` edits on `main`" needed no work: the working tree is
|
||||
clean and `ARCHITECTURE.md` is committed on `main`.
|
||||
- 2026-08-07: Updated golangci-lint to v2.12.2 everywhere it is pinned
|
||||
(`Dockerfile` lint stage, `Makefile` deps target), replaced
|
||||
`.golangci.yml` with the canonical config (v2 schema, `default: all`),
|
||||
and remediated all lint findings it surfaced (issue #61):
|
||||
behavior-preserving fixes across every package, `make check` green.
|
||||
and remediated the bulk of the lint findings it surfaced (issue #61):
|
||||
behavior-preserving fixes across every package, 2,990 findings down to
|
||||
80. `make test` and `make fmt-check` were green at that point but
|
||||
`make lint` was still red; the commit message claiming `make check`
|
||||
was green was wrong.
|
||||
- 2026-08-07: Added the standard `.golangci.yml` and `.editorconfig`
|
||||
(issue #59); lint findings under the new config are tracked in issue
|
||||
#61. `script/bootstrap` now installs sqlite3 (needed by tests).
|
||||
@@ -49,6 +69,4 @@ commit, or revert.
|
||||
|
||||
# Future Steps
|
||||
|
||||
- Review stale local branches (add-godoc-to-cli-package,
|
||||
feature/pluggable-storage-backend) and merge or delete them.
|
||||
- Define remaining scope for a first tagged release and cut v0.1.0.
|
||||
|
||||
Reference in New Issue
Block a user