Releases: Extra-Chill/data-machine-code
Releases · Extra-Chill/data-machine-code
v0.11.0
v0.9.0
Highlights
Two major worktree workflow improvements: bootstrap worktrees by default and block stale worktree creation.
Worktrees bootstrap on create (#50, #51)
worktree add now runs detected setup so the checkout is immediately test/build-ready — git submodule update --init --recursive, package-manager install (pnpm/bun/yarn/npm based on lockfile), and composer install. Each step is skipped gracefully when its trigger file or tool is missing. Pass --skip-bootstrap for a bare checkout when you just want to read code.
Staleness gate + opt-in rebase (#52, #53, #54)
worktree add now always fetches origin first and computes how far the new worktree's branch (or its local base) is behind upstream.
- Signal: behind-count is surfaced in the ability response and rendered in CLI output, so you see staleness at create time instead of discovering it at PR-review time.
- Gate: by default, a worktree that would land more than 50 commits behind upstream is rolled back with a
worktree_staleerror pointing at concrete remediation options. Threshold is filterable viadatamachine_worktree_stale_threshold. --allow-stale: opt in to a known-stale checkout.--rebase-base: auto-rebase onto the upstream tip after creation. Rebase conflicts abort cleanly —--rebase-baseis not a silent--allow-stalebypass; the gate still fires on failed rebases.
Commits
- feat(workspace): gate stale worktree creation + opt-in rebase (#54)
- feat(workspace): surface worktree staleness at create-time (#53)
- feat(workspace): bootstrap worktrees by default (closes #50) (#51)
Full changelog
v0.5.0 — Worktree-native workspace
Added
- Worktree-native workspace: each branch lives in its own directory at
<workspace>/<repo>@<branch-slug>. Multiple agent sessions can edit different branches of the same repo simultaneously. - Four new abilities:
datamachine/workspace-worktree-add|list|remove|prune. - New CLI subcommand:
wp datamachine-code workspace worktree add|list|remove|prune. - All read/write/git abilities accept the new
<repo>@<branch-slug>handle format alongside bare repo names. - Pure-PHP smoke test for handle parsing and slug generation (
tests/smoke-worktree-handles.php). - Manual end-to-end test plan (
tests/TESTING.md). - worktree-native workspace for parallel branch work
Changed
clonerejects names containing@— that suffix is reserved for worktrees.removerefuses to delete a primary checkout that has linked worktrees attached.git pushonly enforces thefixed_branchpolicy on the primary checkout. Worktrees may push any branch.- Mutating ops (
git pull|add|commit|push) on a primary checkout require--allow-primary-mutation(CLI) /allow_primary_mutation: true(ability input). Worktrees are always allowed. Default-deny prevents parallel agents from clobbering the deployed branch.