Added
- 8 new commands: budget enforcement, notifications, and quality-of-life improvements (#441)
- Preferences schema validation: detects unknown/typo'd preference keys and surfaces warnings instead of silently ignoring them (#542)
- Pipeline-aware prompts: each agent phase (research, plan, execute, complete) now knows its role in the pipeline, eliminating redundant code exploration between phases (#543)
- Research depth calibration: three-tier system (deep/targeted/light) so agents match effort to actual complexity (#543)
Changed
- Auto-mode decomposed into focused modules for maintainability (#534)
- Dispatch logic extracted from if-else chain to dispatch table (#539)
- v1 migration code gated behind dynamic import — only loaded when needed (#541)
- Background shell module decomposed into focused modules
- Unified cache invalidation into single
invalidateAllCaches()function (#545)
Fixed
- Executor agents now receive explicit working directory, preventing writes to main repo instead of worktree (#543)
- Merge loop and .gsd/ conflict auto-resolution in worktree model,
git.isolationpreference restored (#536) - Arrow keys no longer insert escape sequences as text during LLM streaming (#493)
- YAML preferences parser hardened for OpenRouter model IDs with special characters (#488)
@file autocomplete debounced to prevent TUI freeze on large codebases (#448)- Auto-mode stops cleanly when dispatch gap watchdog fails (#537)
- Synchronous I/O removed from hot paths (#540)
- Silent catch blocks now capture error references for crash diagnostics (#546)
ctx.logerror in GSD provider recovery path fixed- TUI resource leaks patched in loader, cancellable-loader, input, and editor components (#482)
- Hardcoded ANSI escapes replaced with chalk for consistent terminal handling (#482)
Install/upgrade: npx gsd-pi@latest