- Add resolveWorktreeRoot() that detects linked worktrees via git rev-parse --git-common-dir and resolves to the main worktree where .planning/ lives - Add withPlanningLock() file-based locking mechanism to prevent concurrent worktrees from corrupting shared planning files - Wire worktree root resolution into gsd-tools.cjs main entry point - Add regression tests for resolveWorktreeRoot (non-git, normal repo) and withPlanningLock (normal execution, error cleanup, stale lock recovery)
35 KiB
35 KiB