Skip to content

[feature] Tool Version Management with Concurrent Version Support #14

Description

@minhoryang

Preconditions

  • I searched existing issues and this request is not a duplicate.
  • This request focuses on user value, not just implementation details.

Problem Statement

Currently, tools do not support explicit version management, making it difficult to control which version is executed. This becomes problematic when:

  • New versions introduce breaking changes
  • Users need reproducibility for past runs
  • Long-running processes depend on older versions
  • Teams want to gradually roll out new versions

Additionally, there is no support for running multiple versions of the same tool concurrently, which limits flexibility during upgrades and experimentation.

Proposed Solution

Introduce version management for each tool, allowing users to specify and run different versions explicitly, while enabling multiple versions to run concurrently.

aisw upgrade <tool>

Alternatives Considered

  • Single active version per tool: Simpler but prevents safe rollouts and backward compatibility.
  • Manual version management outside the system: Flexible but error-prone and inconsistent.
  • Overwriting existing versions: Breaks reproducibility and risks disrupting running workloads.

UX/DX Details

  • Minimal CLI extension using familiar version syntax (@Version).
  • Clear feedback on which version is being executed.
  • Ability to list available versions:
    • aisw tool versions <tool>
  • Sensible defaults:
    • Omit version → use default (e.g., latest or pinned version).
  • Logs and metadata include version information for traceability.
  • No disruption to existing workflows that do not specify versions.

Acceptance Criteria

  • Users can specify tool versions explicitly at runtime.
  • Multiple versions of the same tool can run concurrently without interference.
  • Default version behavior works as expected when version is omitted.
  • Version metadata is tracked and visible in logs and session data.
  • Backward compatibility is maintained for existing commands.
  • System handles missing or invalid versions with clear error messages.

Impact Area

  • CLI command surface
  • Auth/profile management
  • Shell integration
  • Output format/JSON contract
  • Documentation

Additional Context

No response

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