Skip to content

feat(updates): manage stale external agent CLI binaries #178

@shiny-code-bot

Description

@shiny-code-bot

Objective

Add an explicit managed update path for external agent CLI binaries that Every Code depends on indirectly, starting with agy and claude.

Today these binaries can drift because Every Code does not necessarily invoke them directly during normal operation, so stale versions may only be noticed after users hit degraded behavior or miss newly released model/tool support.

Finish Line

Every Code can report installed/current/latest versions for supported external agent CLIs and guide or perform user-approved updates without silently mutating the user's environment.

Current Status

State: Active
Next action: Inventory how agy and claude are installed, discovered, versioned, and expected to update on supported platforms.
Blocked by: None
Last verified: 2026-05-28

Scope

  • In: Version detection, latest-version discovery, update eligibility, explicit update commands, user-visible stale notices, and configuration for supported external agent CLIs.
  • In: Initial support for agy and claude.
  • Out: Silent background auto-replacement by default.
  • Out: Updating Claude Opus 4.8 metadata itself; track that in chore(models): update Claude Opus metadata to 4.8 #177.

Acceptance Criteria

  • Every Code can show installed/current versions for agy and claude.
  • Every Code can determine whether a newer supported version is available, using a documented and testable source of truth.
  • Users get a non-blocking stale-tool notice or doctor output when a managed tool is outdated.
  • Users can explicitly run an update command for one tool or all managed tools.
  • Update behavior includes integrity expectations such as checksum, signature, package manager provenance, or an equivalent trust boundary.
  • Configuration supports at least disabling checks and notification-only behavior.
  • The implementation has tests for stale, current, unavailable, and update-failure states.
  • Required repository validation passes with ./build-fast.sh.

Relationships

Related to #177, which covers the immediate Claude Opus 4.8 metadata update.

Validation

  • Unit/integration tests for version parsing, latest-version discovery, and update decision states.
  • Manual or fixture-backed checks for agy and claude detection.
  • Run ./build-fast.sh from the repository root.

Decisions

  • Start with explicit user-approved updates rather than silent auto-update.
  • Keep agy and claude under one shared updater design unless their installation mechanisms prove too different.

Open Questions

  • What are the authoritative latest-version sources for agy and claude?
  • Should update execution delegate to package managers where possible, or should Every Code own downloads for some platforms?
  • What default check cadence is acceptable for network use and startup latency?

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