Add CI workflows and fix all golangci-lint violations
main·
Commit

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 sessionCheckpoint 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 sessionCheckpoint 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 sessionCheckpoint 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 sessionCheckpoint 1
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 sessionCheckpoint 1
can you look at ../cli and the github actions for CI there, can we add them
Claude CodeOpus 4.6[1m]
View sessionCheckpoint 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 sessionCheckpoint 1