Skip to content

chore(runners): deduplicate parseSemver/compareSemver — 3 copies in codebase #4525

@OneStepAt4time

Description

@OneStepAt4time

Problem

parseSemver and compareSemver are implemented independently in 3 locations:

  1. src/validation.ts (canonical, 973-line file)
  2. src/runners/cc-agents-discovery.ts (local copy, 218-line file)
  3. src/commands/update.ts (local parseSemver, different isNewer wrapper)

Impact

Fix

  • Extract to src/utils/semver.ts
  • Re-export from validation.ts for backward compat
  • All consumers import from src/utils/semver.ts

Scope

Low risk, no behavior change. Tech-debt cleanup.

Discovered during

Code quality sweep on src/runners/ (pre-#3180 audit).

Metadata

Metadata

Labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions