Skip to content

refactor: dead-code - remove unused exports across common/ and service packages #8

@aliwatters

Description

@aliwatters

Summary

Remove confirmed dead code across the common/ package and service packages. This includes unused functions, type aliases, constants, struct fields, and test helpers that were leftover from pre-DI refactoring or never adopted.

Location

common/ package:

  • internal/common/deps.go:33GetAuthenticatedClient() (superseded by DI pattern)
  • internal/common/types.go:12AuthManagerInterface (never used, concrete type used instead)
  • internal/common/args.go:14ParseInt64Arg() (never called)

gmail:

  • internal/gmail/gmail_tools.go:15GmailLabelListFields constant (never used)
  • internal/gmail/gmail_tools.go:17GmailMessageListFields constant (never used)

calendar:

  • internal/calendar/calendar_tools.go:46var _ = calendar.Event{} (dummy import suppression; remove unused import)

tasks:

  • internal/tasks/tasks_service.go:47-48ShowAssigned, ShowOnlyAssignedMe fields on ListTasksOptions (never read or set)
  • internal/tasks/tasks_test_helpers.go:171-176createTestTaskWithParent() (never called from tests)

14 unused type aliases across all 7 *_handlers.go files:

  • XxxServiceFactory and MockXxxServiceFactory on lines 15-16 of each handlers file (gmail, calendar, contacts, docs, drive, sheets, tasks)

Category

Type: Dead Code

Severity: High

Evidence

Verified by grep across entire codebase — none of these symbols are referenced outside their declaration.

Suggested Refactoring

  1. Delete each unused symbol
  2. Remove any imports that become unused after deletion
  3. Run go build ./... and go test ./... to verify

Effort Estimate

  • Size: Small (< 1 hour)
  • Risk: Low (dead code removal, no behavior change)
  • Tests Required: No new tests (existing tests must pass)

Acceptance Criteria

  • All listed dead code removed
  • No unused imports remain
  • go build ./... passes
  • go test ./... passes
  • No regression in functionality

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions