Build artifact skipping, cow clean, and stale-ref fixes.
New
- cow clean — remove build artifact directories (target/, .build/, DerivedData/, .turbo/) from pastures. Supports
--dry-runand per-pasture targeting. - Build artifact skipping —
cow createnow skips build artifact directories automatically. They are always reproducible and become orphaned CoW copies when the source rebuilds.
Bug fixes
- fix Stale-ref diff confusion — pastures now set
checkout.guess=falseto preventgit rebase origin/mainfrom creating a local branch that shadows the remote ref. A post-rewrite hook fast-forwards local tracking branches after every rebase. - fix Symlink safety —
selective_clonenow copies symlinks verbatim instead of lettingclonefile(2)follow them, fixing ENOENT errors with pnpm relative symlinks. - fix Dep dir candidates — dep dirs (node_modules, vendor, etc.) are now always added as symlink candidates even when a deeper candidate exists inside them.
Improvements
- perf
cow statsswitched from git-diff-based delta measurement todu(1), which correctly reports only uniquely-owned blocks on APFS.