chore(lint): drop all //nolint:ireturn directives via allow-list · Entire

chore(lint): drop all //nolint:ireturn directives via allow-list

f658b69→main·toothbrush·3w ago·7 files·+10 added/-8 removed

ireturn directives fought with gofmt/nolintlint: depending on the golangci-lint version the directive was either flagged as unused or required again. Keep the linter enabled (still guards new code) but move the 7 inline directives into the .golangci.yaml allow-list: bubbletea/v2.Msg, huh/v2.Theme, checkpoint.CommittedStore, checkpoint.TemporaryStore. summarize.Generator was already allowed.

Co-Authored-By: Claude Opus 4.8 (1M context) noreply@anthropic.com

Sessions

b4ce64fa3570View transcript

Changes

7

113 unmodified lines

114
115
116
117
118
119
120
121
2 unmodified lines

124
125
126
127
128
129
130
131

113 unmodified lines

- empty
        - stdlib
        - charm.land/bubbletea/v2.Model
        - charm.land/bubbletea/v2.Msg
        - charm.land/huh/v2.Theme
        - grpc.DialOption
        - github.com/entireio/cli/cmd/entire/cli/summarize.Generator
        - github.com/entireio/cli/cmd/entire/cli/agent..+
2 unmodified lines

- github.com/entireio/cli/cmd/entire/cli/review/types.AgentReviewer
        - github.com/entireio/cli/cmd/entire/cli/review.SynthesisProvider
        - github.com/entireio/cli/cmd/entire/cli/checkpoint.CommittedReader
        - github.com/entireio/cli/cmd/entire/cli/checkpoint.CommittedStore
        - github.com/entireio/cli/cmd/entire/cli/checkpoint.TemporaryStore
        - github.com/entireio/cli/cmd/entire/cli/strategy.Strategy
        - github.com/entireio/cli/internal/entireclient/tokenstore.store
        - github.com/go-git/go-git/v6/x/plugin.Signer

M.golangci.yaml+4

69 unmodified lines

70
71
72
73
73
74
75
76

69 unmodified lines

return nil
}

func (m activityModel) fetchData() tea.Msg { //nolint:ireturn // bubbletea Cmd signature requires tea.Msg return
func (m activityModel) fetchData() tea.Msg {
    activity, commits, err := fetchActivityData(m.ctx, m.client)
    if err != nil {
        return activityErrMsg{err: err}
    }

Mcmd/entire/cli/activity_tui.go+1/-1

61 unmodified lines

62
63
64
65
65
66
67
68

61 unmodified lines

// openAttachStore opens the committed store for the resolved topology. refs is
// passed explicitly so attach preserves PrimaryAsRead() pinning.
func openAttachStore(ctx context.Context, repo *git.Repository, refs cpkg.CommittedRefs) (cpkg.CommittedStore, error) { //nolint:ireturn // committed store capability preserves attach's read-ref override
func openAttachStore(ctx context.Context, repo *git.Repository, refs cpkg.CommittedRefs) (cpkg.CommittedStore, error) {
    stores, err := cpkg.Open(ctx, repo, cpkg.OpenOptions{Refs: &refs})
    if err != nil {
        return nil, fmt.Errorf("open checkpoint store: %w", err)
    }

Mcmd/entire/cli/attach.go+1/-1

54 unmodified lines

55
56
57
58
58
59
60
61

54 unmodified lines

// Temporary returns the git-backed temporary shadow-branch store.
func (s *Stores) Temporary() TemporaryStore { return s.temporary } //nolint:ireturn // temporary store capability is the abstraction boundary
func (s *Stores) Temporary() TemporaryStore { return s.temporary }

// Refs returns the resolved committed-ref topology.
func (s *Stores) Refs() CommittedRefs { return s.refs }

Mcmd/entire/cli/checkpoint/open.go+1/-1

51 unmodified lines

52
53
54
55
55
56
57
58
3 unmodified lines

62
63
64
65
65
66
67
68

51 unmodified lines

// topology. Writes target refs.Primary; reads target refs.Read. The strategy's
// blob fetcher is wired in so reads can fetch blobs on demand after a treeless
// fetch.
func (s *ManualCommitStrategy) getCheckpointStore(ctx context.Context, repo *git.Repository) (checkpoint.CommittedStore, error) { //nolint:ireturn // committed store capability is the abstraction boundary
func (s *ManualCommitStrategy) getCheckpointStore(ctx context.Context, repo *git.Repository) (checkpoint.CommittedStore, error) {
    stores, err := s.getCheckpointStores(ctx, repo)
    if err != nil {
        return nil, err
3 unmodified lines

// getTemporaryStore returns the git-backed shadow-branch store with the
// strategy's blob fetcher wired in.
func (s *ManualCommitStrategy) getTemporaryStore(ctx context.Context, repo *git.Repository) (checkpoint.TemporaryStore, error) { //nolint:ireturn // temporary store capability is the abstraction boundary
func (s *ManualCommitStrategy) getTemporaryStore(ctx context.Context, repo *git.Repository) (checkpoint.TemporaryStore, error) {
    stores, err := s.getCheckpointStores(ctx, repo)
    if err != nil {
        return nil, err

Mcmd/entire/cli/strategy/manual_commit.go+2/-2

532 unmodified lines

533
534
535
536
536
537
538
539

532 unmodified lines

// The return type is the summarize.Generator interface rather than the concrete
// adapter pointer so callers can't accidentally hold a non-nil interface that
// wraps a nil pointer (the classic Go nil-interface footgun).
func buildSummaryGenerator(ctx context.Context) summarize.Generator { //nolint:ireturn,nolintlint // interface return is intentional for provider abstraction and nil-safety; nolintlint flagged as "unused" under some linter versions but ireturn fires in others
func buildSummaryGenerator(ctx context.Context) summarize.Generator {
    s, err := settings.Load(ctx)
    if err != nil {
        // Warn (not Debug): this is the auto-summarize hot path on every commit.

Mcmd/entire/cli/strategy/manual_commit_condensation.go+1/-1

19 unmodified lines

20
21
22
23
24
23
24
25

19 unmodified lines

// Theme returns Entire's standard huh theme.
//
//nolint:ireturn // huh.Theme is an interface in v2
func Theme() huh.Theme {
    return huh.ThemeFunc(huh.ThemeDracula)
}

Mcmd/entire/cli/uiform/uiform.go-2