Add CI workflows and fix all golangci-lint violations

main

Commit

Soph5mo ago

Add GitHub Actions PR gates matching the CLI repo pattern:

  • ci.yml: tests with -race detection on PRs and push to main
  • lint.yml: golangci-lint (60+ linters) with inline PR annotations, gofmt, go mod tidy, and shellcheck checks
  • license-check.yml: reusable license compliance from entireio/shared

Add .golangci.yaml with full linter config adapted from CLI, and mise-tasks/lint/ scripts for local development parity.

Fix all 340 existing lint violations across 51 files:

  • wrapcheck: wrap external/interface errors with descriptive context
  • perfsprint: errors.New for static strings, string concat for Sprintf
  • errcheck: handle or explicitly acknowledge error returns
  • intrange: modernize for loops to range-over-int (Go 1.22+)
  • embeddedstructfieldcheck: separate embedded from regular struct fields
  • inamedparam: name interface method parameters
  • exhaustive: add missing switch cases
  • errorlint: use errors.Is() instead of == for wrapped error checks
  • revive: rename unused parameters to _
  • goconst: extract repeated string literals into constants
  • gocritic: restructure if-else chains and duplicate branches
  • noctx: use CommandContext/NewRequestWithContext
  • staticcheck: replace nil contexts with t.Context()
  • usestdlibvars: use http.MethodGet instead of "GET"

Co-Authored-By: Claude Opus 4.6 (1M context) noreply@anthropic.com Entire-Checkpoint: 79aa4e9d44f3

Checkpoints

Review the latest changes since commit 4e9ecda, focusing on internal/planner/planner_test.go and the related status change in docs/rewrite-issue-list.md. Check whether the new relay-decision tests are

Codex
View session
Checkpoint 1

Review the latest changes since commit f9170fc, focusing on the structured logging change in internal/strategy/bootstrap/bootstrap.go, the wiring in internal/syncer/syncer.go, and the tracker update.

Codex
View session
Checkpoint 1

Review the latest changes since commit d11c597, focusing on internal/syncer/benchmark_test.go and the related tracker update. Check whether the new benchmarks are meaningful execution-path coverage, w

Codex
View session
Checkpoint 1

Review the latest changes since commit 4b7a223, focusing on the session-owned logger wiring in internal/syncer/syncer.go and the tracker change marking packet allocation work done. Check for factual m

Codex
View session
Checkpoint 1

can you review the changes

CodexGPT-5.4
View session
Checkpoint 1

can you review the changes focus on go best practices and if linting isn't just silenced to get linting green

Claude CodeOpus 4.6[1m]
View session
Checkpoint 1

can you look at ../cli and the github actions for CI there, can we add them

Claude CodeOpus 4.6[1m]
View session
Checkpoint 1

question: so now we fixed if a branch is 100% included in the default branch (or another branch) but what if a branch is branched of the 10th commit (from HEAD) of main, how would the code handle this

Claude Code
View session
Checkpoint 1