When a project mixes main repo worktrees (e.g. `extensions`) with linked git worktrees (e.g. `zed4`, a linked worktree of `zed`), two things were broken: 1. **Threads appeared under the wrong sidebar heading.** A thread created in a workspace with both `extensions` and `zed4` would show under the "zed" group instead of the "extensions, zed" group. This happened because `main_worktree_paths` in `ThreadMetadata` was only populated with paths from linked worktrees, omitting regular repos entirely. The fix uses `project_group_key()` to normalize all visible worktrees to their main repo paths — the same normalization the sidebar uses for group headers. 2. **The worktree chip tooltip only showed linked worktree paths**, missing main repo paths like `extensions`. This happened because `worktree_info_from_thread_paths` filtered out main worktree paths entirely. The fix introduces a `WorktreeKind` enum (`Main` / `Linked`) on `ThreadItemWorktreeInfo`, so all worktrees are included in the data model. Chips still only render for `Linked` worktrees (main worktrees are redundant with the group header), but the tooltip now shows all paths. Release Notes: - N/A
4 files changedLine totals unavailable