feat(update): auto-install and update skills during hotdata update#105
Merged
Conversation
After the binary is atomically swapped, download and install the matching skills tarball for the new version. Uses the target version URL rather than CURRENT_VERSION (old binary is still running at call time). Skills are installed even if never previously set up. Failures print a warning without rolling back the binary update. Refactors download_and_extract() into a download_and_extract_from_url() helper so the existing and new versioned paths share one implementation. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Codecov Report❌ Patch coverage is
📢 Thoughts on this report? Let us know! |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
hotdata updateswaps the binary, it now downloads and installs the matching skills tarball for the new versionCURRENT_VERSION) since the old binary is still running at call timeImplementation
Refactored
download_and_extract()into adownload_and_extract_from_url(url)helper so existing and new versioned paths share one implementation. Addedpub fn install_for_version(version)toskill.rs, called fromrun_update()inupdate.rsafterperform_update()succeeds.Test plan
hotdata updatewhen a newer version exists — binary updates, then skill download and success message appearhotdata updatewhen skills were never installed — skills are installed as part of the upgradehotdata updatewhen already up to date — no skill download triggeredGenerated with Claude Code