Commit graph

12 commits

Author SHA1 Message Date
Lex Christopherson
5eb02e9a1c fix: auto-commit before branch switch and migrate legacy flat sessions
ensureSliceBranch() now auto-commits dirty files before git checkout,
preventing "would be overwritten" errors when doctor/STATE.md rebuild
leaves uncommitted changes between slice dispatches. (closes #63)

On startup, migrate any .jsonl session files from the flat
~/.gsd/sessions/ directory into the per-cwd subdirectory so /resume
can find sessions created before per-directory scoping was added.
(closes #64)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-11 17:07:54 -06:00
Lex Christopherson
d4a46beef7 fix: support print/JSON mode in cli.js so subagents don't hang
cli.ts unconditionally entered InteractiveMode, ignoring --mode, -p,
--no-session and other flags the subagent extension passes to child
processes. The child would wait for TTY input that never arrives
(stdin is "ignore"), causing the parent to hang forever on "working".

Parse CLI args to detect print/subagent mode and route to runPrintMode()
with proper session, model, extension, and system prompt handling.

Closes #45

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-11 11:21:12 -06:00
TÂCHES
0d251d9707 fix: bootstrap managed tools and gh auth
Preserve the original #39 fix while adding the missing hardening and regression coverage. Credit to @LuxVTZ for the original fix incorporated here.
2026-03-11 10:52:45 -06:00
vp275
f307923db2 fix: scope session list to current working directory
Sessions are stored in a single flat ~/.gsd/sessions/ directory, so
/resume shows sessions from all projects regardless of which folder
you're in.

Use per-cwd subdirectories under ~/.gsd/sessions/ with the same
path encoding the upstream SDK uses (--path-segments--), so /resume
only lists sessions from the current working directory.
2026-03-11 21:39:02 +05:30
jonathancostin
0b1f02219b fix: restore scoped models from settings on new session startup (#22) 2026-03-11 06:57:55 -06:00
Vedant
afa1fffaac fix: startup fallback overwrites user's default model with Sonnet (#29) 2026-03-11 06:57:31 -06:00
Lex Christopherson
cce10ffc89 fix: validate default model against full registry on every startup
Uses getAll() instead of getAvailable() so stale models like grok-2
are caught even when the user has no auth for the correct provider yet.
Resets thinking to off when the configured model was invalid.
2026-03-11 01:51:48 -06:00
Lex Christopherson
b364e369d5 fix: remove circular self-dependency, default to anthropic/claude-sonnet-4-6 with thinking off
- Remove gsd-pi from its own dependencies (circular dep caused ENOTEMPTY install failures)
- Auto-select anthropic/claude-sonnet-4-6 as default model for new installs
- Reset to valid model if configured model no longer exists in registry
- Default thinking level to off
2026-03-11 01:47:36 -06:00
Lex Christopherson
3086e5d979 fix(cli): match default model by id.includes('sonnet') — API returns dated IDs not aliases 2026-03-11 01:33:34 -06:00
Lex Christopherson
fc9da03cbf fix: use claude-sonnet-4-6 as default model 2026-03-10 23:55:12 -06:00
Lex Christopherson
0181ff2dca fix: auto-select default model after login to prevent 'No model configured' error
When users logged in via /login but never explicitly ran /model, the agent
would throw 'No model configured' on every action. Now GSD auto-selects
a default model from available authenticated providers on startup.

Preference order: claude-sonnet-4-20250514 > any Anthropic model > first available.

Also documented /model command in README Getting Started section.

Closes #4
2026-03-10 23:54:33 -06:00
Lex Christopherson
3bd2f8cb63 Initial commit 2026-03-10 22:28:37 -06:00