3efa6aad7d
Rename the canonical binaries: - `deepseek` → `codewhale` (CLI dispatcher) - `deepseek-tui` → `codewhale-tui` (TUI runtime) Both legacy names continue to ship as tiny deprecation shims that print a one-line warning to stderr and forward argv to the new binary. The shims are produced by two new `[[bin]]` entries in `crates/cli/Cargo.toml` and `crates/tui/Cargo.toml` pointing at small source files under `src/bin/`. They will be removed in v0.9.0. Touchpoints: - Cargo bin entries + new shim source files. - clap `name`/`bin_name`/usage strings flip to `codewhale`. - Dispatcher's sibling-binary discovery looks for `codewhale-tui` and reports `codewhale` in its error/help prose. `DEEPSEEK_TUI_BIN` env var stays — env vars are explicitly anti-scope. - `update.rs` now downloads `codewhale-*` assets and verifies them against `codewhale-artifacts-sha256.txt`. Legacy `deepseek-*` assets and `deepseek-artifacts-sha256.txt` are still produced by the release matrix so v0.8.40's `deepseek update` keeps working through one transition release. - `ci.yml`, `nightly.yml`, `release.yml` updated to build/upload the new canonical binaries; `release.yml`'s matrix doubles to also ship the legacy shim binaries so v0.8.40 update clients land on the shim. - `scripts/release/crates.sh` and `check-versions.sh` updated for the renamed crate names from R1. Local gates green: `cargo check --workspace --all-targets --locked`, `cargo fmt --all -- --check`, `cargo clippy --workspace --all-targets --all-features --locked -- -D warnings`, `cargo test --workspace --all-features --locked` (3226+ pass, 0 fail), and `cargo build --release` produces all four binaries: - target/release/codewhale (canonical dispatcher) - target/release/codewhale-tui (canonical TUI) - target/release/deepseek (legacy shim, forwards to codewhale) - target/release/deepseek-tui (legacy shim, forwards to codewhale-tui) Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>