version: "2" run: timeout: 5m linters: default: none enable: - contextcheck - govet - staticcheck - unused settings: staticcheck: checks: - "all" - "-ST1005" # error strings should not be capitalized (pre-existing style) - "-ST1000" # package comment style (pre-existing) - "-ST1003" # naming convention (pre-existing) - "-ST1016" # method receiver naming (pre-existing) - "-QF1001" # apply De Morgan's law (style suggestion) - "-QF1003" # convert if/else to switch (style suggestion) - "-QF1012" # use fmt.Fprintf (style suggestion) - "-SA1019" # deprecated API usage (elliptic.Marshal — Go hasn't removed it) - "-SA9003" # empty branch (intentional in switch stubs) - "-S1009" # redundant nil check (pre-existing style) - "-S1011" # use single append with spread (pre-existing style) exclusions: max-issues-per-linter: 0 max-same-issues: 0 # Linters temporarily disabled — re-enable incrementally as pre-existing issues are fixed: # - errcheck (50 issues — unchecked error returns throughout codebase) # - gocritic (50 issues — diagnostic/performance suggestions) # - gosec (23 issues — security warnings in test/stub code) # - ineffassign (13 issues — dead assignments) # - noctx (25 issues — http.Get without context) # - bodyclose (response body close missing)