Repository navigation
Closed
Labels
ready-for-agentFully specified, ready for an AFK agentFully specified, ready for an AFK agent
Description
Parent
What to build
thirdshift update replaces the installed binary with the latest stable GitHub Release, using dist's axoupdater library with the install receipt written by the shell installer.
- When it updates, or is already on the latest version, it says so on stderr and exits 0.
- On failure (no network, GitHub unavailable) it explains on stderr and exits 1.
- With no install receipt (built from source, installed from crates.io, or copied by hand) it refuses, says why, names the command that updates that kind of install, and exits 1.
- stdout always stays empty.
- Replacing the binary must be safe while a Run is using the old binary.
- A Run never checks for updates or updates itself.
HTTPS must go through rustls, never OpenSSL, so the musl binary stays statically linked. The release pipeline's build and Rocky/WSL smoke jobs must still pass on this PR.
Acceptance criteria
-
thirdshift updateupdates to, or confirms, the latest stable release. Messages go to stderr, stdout stays empty, and it exits 0. - With
HOMEand the XDG config location pointing at an empty temporary directory, it exits 1 with a reinstall hint on stderr and empty stdout. This is covered by an offline integration test on the binary-subprocess seam. - Network or GitHub failures exit 1 with an explanation on stderr.
- No OpenSSL in the dependency tree, and the musl build and smoke jobs still pass.
- Runs never invoke the updater.
- The README's Updating section says
thirdshift update.
Blocked by
- Command surface: help, version and argument errors #31 (command dispatch)
- Release pipeline: binaries, installer and platform smoke tests #33 (installer receipt and install path)
Metadata
Metadata
Assignees
Labels
ready-for-agentFully specified, ready for an AFK agentFully specified, ready for an AFK agent
Activity