From 050a2d08e833fb7eedef7f4c3fbb57f97f39db65 Mon Sep 17 00:00:00 2001 From: jochen Date: Mon, 21 Sep 2026 00:27:01 +0200 Subject: [PATCH] Playbook 07: a feature worktree needs the siblings the lab reads A bed run from .work//mesh-lab derives mesh-tools and mesh-sdk by sibling path and fails at once when the directory holds only the touched repos. Detached worktrees on main, never symlinks. --- 00-META/process/07-feature-branches.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/00-META/process/07-feature-branches.md b/00-META/process/07-feature-branches.md index 8fb9799..3ca0387 100644 --- a/00-META/process/07-feature-branches.md +++ b/00-META/process/07-feature-branches.md @@ -28,6 +28,16 @@ One feature is **one branch name**, **one worktree per repo**, **one MR per repo git worktree add .work// -b feat/ origin/main ``` Parallel features never collide, and no shared checkout is edited. + + **Add the untouched siblings the lab reads.** The lab beds find the other repositories by + sibling path from the lab checkout (`../mesh-tools/module.json`, `../mesh-sdk`, …), the way + the main layout has them. A `.work//` directory holding only the touched repos fails a + bed at once with `no manifest for mesh-tools at …/.work//mesh-tools/module.json`, after + genesis has already passed. Give the directory those repos as **detached worktrees on `main`** + — never symlinks: + ``` + git worktree add --detach .work//mesh-tools main + ``` 3. **Commit as you go — locally.** Increments land on the one branch. Nothing is pushed and no MR is opened mid-feature. 4. **Finish, then publish.** When the whole feature is done — every repo, tests green — push @@ -52,6 +62,8 @@ The end state is visible, and its absence is the smell: - After a feature merges, `git branch -r | grep feat/` and `git worktree list` return nothing for it. A surviving branch or worktree means step 6 was skipped. +- A bed run from `.work//mesh-lab` that fails naming a `.work///…` path it + cannot find is a missing sibling worktree, not a mesh fault. - More than one open MR in a repo that share no feature name, or a stack of MRs none of which is merged, is the failure this playbook exists to prevent — stop and consolidate before opening more.