mirror of
https://github.com/shankar0123/certctl.git
synced 2026-06-07 17:51:29 +00:00
ed60059e80
CI run #25838658130 against the Phase 6 commit (8191b1ee) failed
the golangci-lint step:
internal/scheduler/jitter.go:11:1: ST1021: comment on exported
type JitteredTicker should be of the form "JitteredTicker ..."
(with optional leading article) (staticcheck)
The Phase 6 SCALE-M5 commit led the doc block with the Phase 6
backstory ("Phase 6 SCALE-M5 closure (2026-05-14): bounded-jitter
wrapper ...") rather than the type name. Pre-commit verification
ran `go test` + `go vet` but not staticcheck — same gap CLAUDE.md
already calls out in the "make verify" rule. The lint set in
.golangci.yml enables `staticcheck` with `checks: ["all", ...]`
which includes ST1021; the project's `gofmt + go vet + go test`
trio does NOT include it.
Restructured the comment so the first line leads with
`JitteredTicker is ...` (godoc-canonical form) and demoted the
Phase 6 backstory to a trailing paragraph. Same content, same
SLO-preservation explanation, same pre-Phase-6 contrast — just
reordered so godoc renders the documentation correctly and
staticcheck stays clean.
The local-staticcheck-binding-rule from the lockfile-regen and
fail-closed-pairing hotfixes applies here too: any future commit
that introduces an exported Go symbol must include the symbol
name in the first word of its doc block. Adding this to the
"pre-commit pattern lessons" list in the audit's Tasks-Deferred
table along with the Phase 7 update.
Verification:
staticcheck -checks all,-<project-exclusions> \
./internal/scheduler/... → clean
go test ./internal/scheduler/... -count=1 → ok (9.6s)
gofmt -l internal/scheduler/jitter.go → clean
Closes: CI run 25838658130 lint failure on master@8191b1ee