Summary
Add first-class update awareness to hlgo:
- Detect when a newer release exists.
- Provide a CLI command to update the binary in place.
Problem
Today users must manually discover and install new versions. That increases drift and slows rollout of fixes.
Goals
- Expose a machine-readable way to know whether an update is available.
- Provide an explicit command to update to the latest release (or a specific version).
- Keep behavior safe, deterministic, and scriptable.
Proposed UX
hlgo version --check (or hlgo update --check) returns JSON with:
current_version
latest_version
update_available (bool)
hlgo update installs the latest compatible release for current OS/arch.
hlgo update --version vX.Y.Z installs a pinned version.
hlgo update --dry-run prints planned artifact URL + target install path without modifying filesystem.
Requirements
- No auto-update side effects on normal command execution.
- Structured JSON output and stable error codes.
- Verify checksums/signatures of release artifacts before replacing binary.
- Atomic replace strategy (download -> verify -> swap) with rollback on failure.
- Respect install location overrides when possible.
Non-goals
- Background updater daemon.
- Silent automatic updates during trading commands.
Acceptance Criteria
Summary
Add first-class update awareness to
hlgo:Problem
Today users must manually discover and install new versions. That increases drift and slows rollout of fixes.
Goals
Proposed UX
hlgo version --check(orhlgo update --check) returns JSON with:current_versionlatest_versionupdate_available(bool)hlgo updateinstalls the latest compatible release for current OS/arch.hlgo update --version vX.Y.Zinstalls a pinned version.hlgo update --dry-runprints planned artifact URL + target install path without modifying filesystem.Requirements
Non-goals
Acceptance Criteria
hlgo updatecommand implemented with latest + pinned version support.