Use when a Codewhale change needs proving in the real product, or when asked to build/install/dogfood the local binaries: stamped release build, atomic install,
复制下面这句话,粘贴给 Claude Code、Codex、Cursor 等 AI 编程工具,它会读取安装说明并在你确认后完成安装。
请阅读 https://ai.atlankj.com/install/asset/gh-cw-dogfood-f2d0f4e9e8b3 ,按照其中的说明把「cw-dogfood」安装到你(当前 AI 工具)中。执行前先告诉我将运行的命令和写入的位置,等我确认。
查看 AI 将读取的安装说明正在读取 GitHub 原文…
内容来自 GitHub 原始文件,由原作者维护。在 GitHub 查看
Green gates prove the code compiles and asserts. They do not prove the product works. Freezes, route contamination, focus theft, streaming cadence, and approval-flow regressions all live in the runtime, where no unit test looks. This stage puts the actual binary on your PATH and makes you use it.
Stage 4 of the loop: cw-orient → cw-slice → cw-gates → dogfood → cw-land → cw-handoff.
Gate first. Run cw-gates to the rung the change deserves. Never install an ungated build.
Build stamped. Local builds are unstamped ((dev)), and the
installer refuses an unstamped binary on purpose — the stamp is what proves
the thing on your PATH is the thing you just built:
CODEWHALE_BUILD_SHA=$(git rev-parse HEAD) \
cargo build --release --locked -p codewhale-cli -p codewhale-tui
Install atomically. Use the script; do not hand-copy:
scripts/release/install-dogfood.sh # defaults to target/release
It refuses a dirty source tree (override deliberately with
CODEWHALE_ALLOW_DIRTY_DOGFOOD=1, and then say so wherever you report the
install), verifies the binary embeds current HEAD, installs codewhale and
codew into ~/.cargo/bin and ~/.local/bin (override with
CODEWHALE_INSTALL_DIRS), re-signs ad-hoc on macOS, and verifies resolution
from a fresh login shell.
Never cp over a running binary. On Apple Silicon that poisons the
kernel's code-signature cache for the inode, and later execs hang until
reboot. The installer does tmp-copy plus atomic mv for exactly this reason.
Verify from a fresh shell, not this one. A correct target/release
binary and a stale codew on PATH is the classic false pass:
zsh -lc 'type -a codew codewhale; codew --version'
The version string must contain the short HEAD SHA you just built.
Use the product. Run it in a real terminal and exercise what you changed.
crates/tui/AGENTS.md owns sizes, motion evidence, and environment caveats;
judge motion against docs/MOTION_CONTRACT.md.
Scenarios worth exercising when they are in scope:
Headless surfaces, when the change touches them. codewhale exec is the
one-shot worker path; codewhale app-server is the local control/API surface.
They must agree about routing, permissions, and event states — a disagreement
is a runtime bug, not a QA note.
scripts/release/app-server-smoke.sh
codewhale exec --auto --output-format stream-json --model <model> "Reply PONG"
Provider calls spend tokens. Ask before running the paid ones.
Record what you saw. Dimensions, inputs, visible state, side effects. A screenshot proves layout and color; only live observation or a recording proves motion and continuity.
cp a binary over a running one. Use install-dogfood.sh.target/dogfood/* bundles if the lane keeps them: they are
release evidence.CODEWHALE_BUILD_SHA stamp.codew --version from a fresh login shell, with the SHA visible.