singularity-forge/src
Tom Boucher 9384641b25 fix: prevent data loss when git isolation default changes (#2625) (#3043)
When the default isolation mode flipped from "worktree" to "none" between
versions, mergeAndExit() returned early for mode "none" without checking
whether the session was physically inside an active worktree. This silently
skipped the merge, orphaning committed work on the milestone branch.

The fix moves the worktree-presence check (isInAutoWorktree + originalBasePath)
before the mode-none early return. If we are inside a worktree, mergeAndExit
proceeds with the worktree merge path regardless of the configured mode.

Also fixes the misleading JSDoc on GitPreferences.isolation that claimed
"worktree" was the default when the runtime default is actually "none".

Closes #2625

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-30 14:49:03 -06:00
..
resources fix: prevent data loss when git isolation default changes (#2625) (#3043) 2026-03-30 14:49:03 -06:00
tests fix(read-tool): clamp offset to file bounds instead of throwing (#3007) (#3042) 2026-03-30 14:48:01 -06:00
web fix: invalidate workspace state on turn_end so milestones list stays current (#2706) (#3266) 2026-03-30 13:48:40 -06:00
app-paths.js feat(web): browser-based web interface (#1717) 2026-03-21 12:16:54 -06:00
app-paths.ts feat(web): browser-based web interface (#1717) 2026-03-21 12:16:54 -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-web-branch.ts feat: add --host, --port, --allowed-origins flags for web mode (#1847) (#1873) 2026-03-21 15:22:01 -06:00
cli.ts fix: route gsd auto to headless runner to prevent hang on piped stdin/stdout (#3057) 2026-03-30 14:44:04 -06:00
extension-discovery.ts fix: apply pi manifest opt-out to extension-discovery.ts (#1545) 2026-03-20 08:11:51 -06:00
extension-registry.ts feat: add GSD_HOME env var to override global ~/.gsd directory (#1566) 2026-03-20 08:29:01 -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 fix(headless): match "completed" status from RPC v2 in exit code mapper 2026-03-27 17:04:31 -06:00
headless-query.ts fix: guard activeMilestone.id access in discuss and headless paths (#2776) 2026-03-26 20:05:19 -06:00
headless-types.ts test: Added --output-format text|json|stream-json flag, standardized ex… 2026-03-26 11:34:21 -06:00
headless-ui.ts feat: stream full text and thinking output in headless verbose mode (#2934) 2026-03-27 21:57:11 -06:00
headless.ts feat: stream full text and thinking output in headless verbose mode (#2934) 2026-03-27 21:57:11 -06:00
help-text.ts fix: route gsd auto to headless runner to prevent hang on piped stdin/stdout (#3057) 2026-03-30 14:44:04 -06:00
loader.ts feat: managed RTK integration with opt-in preference and web UI toggle (#2620) 2026-03-26 09:33:07 -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 fix(remote-questions): empty-key entry in auth.json shadows valid Discord bot token (#2737) 2026-03-26 16:16:42 -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
project-sessions.ts feat(web): browser-based web interface (#1717) 2026-03-21 12:16:54 -06:00
remote-questions-config.ts chore: rename preferences.md to PREFERENCES.md for consistency (#2700) (#2738) 2026-03-26 16:09:59 -06:00
resource-loader.ts merge: resolve conflicts with origin/main for PR #2008 2026-03-25 22:36:37 -06:00
rtk.ts refactor(gsd): extract duplicated status guards and validation helpers (#2767) 2026-03-26 18:14:43 -06:00
startup-model-validation.ts fix: defer model validation until after extensions register (#3089) 2026-03-30 14:38:10 -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
web-mode.ts merge: incorporate main into next (resolve 26 conflicts) 2026-03-24 13:21:19 -06:00
welcome-screen.ts fix(splash): replace box corners with full-width bars for visual unity with auto-mode widget (#1654) 2026-03-20 15:42:18 -06:00
wizard.ts fix(remote-questions): empty-key entry in auth.json shadows valid Discord bot token (#2737) 2026-03-26 16:16:42 -06:00
worktree-cli.ts refactor: move GSD metadata from commit subject scopes to git trailers 2026-03-25 22:56:48 +00:00
worktree-name-gen.ts feat: add -w/--worktree CLI flag for isolated worktree sessions (#1247) 2026-03-18 14:57:25 -06:00