fix(cli): report installed binary identity on update - #1822
Closed
ScriptedAlchemy wants to merge 4 commits into
Closed
ScriptedAlchemy wants to merge 4 commits into
ScriptedAlchemy wants to merge 4 commits into
Conversation
The GitHub upgrade path recorded the release tag as the daemon
identity. The daemon advertises {release}+{sha}, and readiness
compares those strings exactly, so update refused the binary it had
just installed. Both install paths now record the binary's own
--version and never substitute the tag.
Co-authored-by: Zack Jackson <ScriptedAlchemy@users.noreply.github.com>
|
Owner
Author
`cargo clippy --workspace --all-targets --locked -- -D warnings` failed with clippy::question_mark on `probed_installed_version`'s `let...else`, which only returned `None`. Behaviour is unchanged. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This was referenced Sep 19, 2026
ScriptedAlchemy
added a commit
that referenced
this pull request
Sep 19, 2026
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Owner
Author
|
Superseded: update-identity / partial-gen work already on master via #1797 (Session Miner handoff). Closing as duplicate; do not revive. |
Owner
Author
|
Closing per Session Miner: already on master via #1797. |
Owner
Author
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
tracedecay updatefailed readiness against the binary it had just installed (0.1.0-beta.47+<sha>vs0.1.0-beta.47) because the GitHub upgrade path recorded the release tag as the daemon identity.--version. A missing probe staysNoneso restore fails closed instead of accepting the tag.Motivation
The daemon advertises
{release}+{sha}(PRODUCT_BUILD_VERSION). Readiness and version-skew checks compare that string exactly. The package-manager path already asked the installed binary for that string. The GitHub path substituted the catalog tag, which omits the commit, so the maintenance window waited for an identity the new daemon never reports.The comparison widening in #1797 (
5e03dfa9c5) papers over that assignment. It would also hide the commit skew the comparison exists to catch whenever one side omits build metadata. This PR does not take that slice and does not touch handshake, probe, or proxy comparison sites.Tip this branch is based on:
3f71bccb2dba. Fix commit:b63b775245c392c7adf80916f43ce72153c339b2.Changes
crates/tracedecay-cli/src/upgrade.rs: one probe (probed_installed_version) suppliesUpgradeOutcome::Installed.versionfor GitHub releases and package-manager installs.Test plan
cargo test -p tracedecay-cli --bin tracedecay -- upgrade::tests::version_probe:: upgrade::tests::delegation::— 11 passed, 0 failed (includinga_release_install_reports_the_binary_identity_not_the_catalog_tagandan_unreadable_release_binary_is_not_labeled_with_the_catalog_tag)cargo nextest run --workspace --no-fail-fastpassescargo clippyhas no new warningsChecklist
CHANGELOG.mdupdated (under[Unreleased]if no version bump).envfiles included