singularity-forge/src
Juan Francisco Lebrero f1a27b02b8 fix: detect worktree paths resolved through .gsd symlinks (#1585)
When .gsd is a symlink (e.g., openclip/.gsd -> ~/.gsd/projects/<hash>),
worktrees resolve to ~/.gsd/projects/<hash>/worktrees/<name> instead of
the expected <repo>/.gsd/worktrees/<name>. All worktree detection
functions used the marker /.gsd/worktrees/ which did not match the
resolved path /.gsd/projects/<hash>/worktrees/.

This caused three cascading failures:
1. escapeStaleWorktree failed to detect stale worktree CWD
2. isUnderGsdWorktrees returned false, causing nested worktrees
3. Empty registry was conflated with "all milestones complete"

Changes:
- Add findWorktreeSegment helper matching both direct and symlink layouts
- Refactor detectWorktreeName and resolveProjectRoot to use the helper
- Fix escapeStaleWorktree in auto-worktree-sync.ts for symlink paths
- Fix isUnderGsdWorktrees in auto-start.ts for symlink paths
- Fix resolveCapturesPath in captures.ts for symlink paths
- Distinguish empty registry from all-complete in auto-loop.ts
- Add tests for symlink-resolved path detection
2026-03-20 08:10:45 -06:00
..
resources fix: detect worktree paths resolved through .gsd symlinks (#1585) 2026-03-20 08:10:45 -06:00
tests fix: add session-level search budget to prevent unbounded native web search (#1309) (#1529) 2026-03-19 20:08:15 -06:00
app-paths.ts Initial commit 2026-03-10 22:28:37 -06:00
bundled-extension-paths.ts Fix packaging verification and path portability (#378) 2026-03-14 12:28:14 -06:00
bundled-resource-path.ts M001: The Minimal Machine — linear auto-loop, sole-authority state, sidecar queue, WorktreeResolver (#1419) 2026-03-19 14:56:00 -06:00
cli.ts fix: prevent ensureGitignore from adding .gsd when tracked in git (#1364) (#1367) 2026-03-19 17:06:01 -06:00
extension-discovery.ts fix: unify extension discovery logic (#995) 2026-03-17 17:14:04 -06:00
extension-registry.ts feat: add extension manifest + registry for user-managed enable/disable (#1238) 2026-03-18 14:12:19 -06:00
headless-answers.ts refactor(headless): remove duplicate jsonLine, use serializeJsonLine from pi-coding-agent (#1039) 2026-03-17 18:35:00 -06:00
headless-context.ts refactor(headless): split 772-line god file into events, UI, and context modules (#1047) 2026-03-17 18:36:20 -06:00
headless-events.ts refactor(headless): split 772-line god file into events, UI, and context modules (#1047) 2026-03-17 18:36:20 -06:00
headless-query.ts M001: The Minimal Machine — linear auto-loop, sole-authority state, sidecar queue, WorktreeResolver (#1419) 2026-03-19 14:56:00 -06:00
headless-ui.ts refactor(headless): split 772-line god file into events, UI, and context modules (#1047) 2026-03-17 18:36:20 -06:00
headless.ts fix: increase headless new-milestone timeout and limit investigation scope (#1230) 2026-03-18 13:54:34 -06:00
help-text.ts feat: add -w/--worktree CLI flag for isolated worktree sessions (#1247) 2026-03-18 14:57:25 -06:00
loader.ts feat: add extension manifest + registry for user-managed enable/disable (#1238) 2026-03-18 14:12:19 -06:00
logo.ts fix: abort squash-merge on conflict and stop auto-mode instead of looping (#merge-bug-fix) 2026-03-12 15:32:39 -06:00
mcp-server.ts feat: add VS Code extension scaffold and MCP server compiled module 2026-03-16 16:46:20 -05:00
models-resolver.ts refactor: remove unnecessary 'as any' casts, dead exports, and duplicate code (#786) 2026-03-16 21:47:04 -06:00
onboarding.ts feat: add anthropic-vertex provider for Claude on Vertex AI (#1533) 2026-03-19 23:14:13 -06:00
pi-migration.ts Merge pull request #151 from dbachelder/fix/pi-provider-reuse-and-extension-loading 2026-03-12 22:25:15 -06:00
remote-questions-config.ts fix: inline preferences path to fix remote questions setup (#1110) (#1111) 2026-03-18 01:24:43 -06:00
resource-loader.ts fix: verify symlink after migration + fix test failures (#1377) (#1404) 2026-03-19 16:54:11 -06:00
startup-timings.ts Improve startup performance with lazy extension loading (#1336) 2026-03-19 07:38:50 -06:00
tool-bootstrap.ts M001: The Minimal Machine — linear auto-loop, sole-authority state, sidecar queue, WorktreeResolver (#1419) 2026-03-19 14:56:00 -06:00
update-check.ts feat: add /gsd update slash command for in-session self-update (#964) 2026-03-17 16:13:02 -06:00
update-cmd.ts feat: add gsd update subcommand for self-update 2026-03-13 18:47:33 -03:00
wizard.ts fix: Phase 1 quick wins — bug fixes, security hardening, and performance 2026-03-16 13:18:02 -05:00
worktree-cli.ts M001: The Minimal Machine — linear auto-loop, sole-authority state, sidecar queue, WorktreeResolver (#1419) 2026-03-19 14:56:00 -06:00
worktree-name-gen.ts feat: add -w/--worktree CLI flag for isolated worktree sessions (#1247) 2026-03-18 14:57:25 -06:00