v0.48.4
Install
Homebrew (recommended — macOS + Linux):
brew install SmooAI/tools/thcurl | sh:
curl -fsSL https://raw.githubusercontent.com/SmooAI/smooth/main/install.sh | shBuild from source (Cargo):
git clone https://github.com/SmooAI/smooth.git
cd smooth
cargo install --path crates/smooth-cliUpgrade
# Homebrew
brew update && brew upgrade th
# curl|sh — re-run the installer (it overwrites in place)
curl -fsSL https://raw.githubusercontent.com/SmooAI/smooth/main/install.sh | sh
# Cargo — from your cloned checkout
cd smooth && git pull && cargo install --path crates/smooth-cli --forceWhat's new
Patch Changes
-
ba2d625: th attest: clean the remote worktree after checkout so a stale box can't post a false red
th attestdelegatesrustto a build box (smoo-hub) by fetching the commit and
runninggit checkout --detach --force <sha>. That resets tracked files but leaves
untracked ones in place, so a file abandoned by an earlier branch (the incident was
a strayapi-prime/tests/*.rs) survived into the tree under test — cargo compiled it
and the box posted a FALSEci-attest/rust: failurenaming a plausible cause, which
reads to a reviewer as a genuine Rust failure (th-5123e5).The remote script now runs
git clean -ffdafter the checkout, so the worktree
matches the SHA exactly. No-x: the cargo cache lives in an external
CARGO_TARGET_DIR, so ignored files inside the worktree are cheap to keep and are not
what poisons the build. A clean failure exits as a precondition (97) like the cd /
fetch / checkout lines — a wrong box, never a verdict on the commit.
Downloads
| Platform | File name |
|---|---|
| macOS (Apple Silicon) | th-macos-arm64.tar.gz |
| Linux (x86_64) | th-linux-x86_64.tar.gz |
| Linux (arm64) | th-linux-arm64.tar.gz |