Repository navigation
build: run parallel work in worktrunk worktrees beside the repository - #266
Merged
Merged
Conversation
Worktrees for parallel fixes and features come from `wt switch -c`, at ../CodoMetis.TypeKit-worktrees/<branch>, with worktrunk's default branch set to the open release branch, so new branches, the plugin's agent worktrees and `wt remove`/`wt step prune` all base on release/<version> rather than main. The Bash guard refuses `wt merge` and `wt step squash|rebase|push`, which squash, rebase or fast-forward locally: work lands by a PR and a merge commit (decision 94). Seeded twice: the detection removed fails 17 cases, an option's value read as the subcommand fails 4. No .worktreeinclude and no copy hook: a fresh worktree built the solution cold in 27 s with nothing copied in. `.claude/worktrees/` joins .gitignore for the desktop app's own sessions. design/worktrees.md is the runbook; decision 126 the reasons. Refs #265 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
# Conflicts: # design/adr/README.md
# Conflicts: # design/adr/README.md
This was referenced Oct 31, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #265
Problem
Parallel work ran in worktrees from three sources, each with a flaw. The desktop app's sessions go to
.claude/worktrees/inside the repository, kept out ofgit add -Aonly by.git/info/exclude. Agent worktrees started atorigin/maininstead of the release branch. Hand-made worktrees lived in the scratchpad or/tmp. The main checkout had 19 linked worktrees, 17 of them under.claude/worktrees/.Change
design/worktrees.md: worktrees go beside the repository (../CodoMetis.TypeKit-worktrees/<branch>), made withwt switch -c. worktrunk's default branch is set to the openrelease/<version>in each clone, so new branches, the plugin's agent worktrees, andwt remove/wt step prunebase on it. Nothing is copied into a new worktree.tools/BashGuardrefuseswt mergeandwt step squash|rebase|push. It skips worktrunk's global options and allows--help. Work lands by PR with a merge commit (decision 94)..gitignoregets.claude/worktrees/.Merge order: this PR uses decision 0126. 0122 to 0124 are in the stack #188, #189 and #190, and 0125 is the third-party-licenses record.
DesignRecordTests.The_records_are_numbered_without_a_gapfails here until those reachrelease/2.4.0, so merge this PR after them.Tests
CodoMetis.TypeKit.BashGuard.Tests: 112 passed, with 29 new cases (16 refused forms, 12 allowed, one message test).-C,--configor--config-setread as the subcommand: 4 of them fail.CodoMetis.TypeKit.Conventions.Tests: 2,029 of 2,030 pass. The one failure is the record-number gap above.wt switch -cwith no--base: it branched fromrelease/2.4.0. The tools built cold in 2 s and the solution in 27 s, with nothing copied in.🤖 Generated with Claude Code