Added
- gsd: add fast path for queued milestone discussion
- gsd: add /gsd show-config command
- reactive: graph diagnostics and subagent_model config
- dispatch: parallel research slices and parallel milestone validation
- parallel: worker model override for parallel milestone workers
Fixed
- gsd: validate depth verification answer before unlocking write-gate
- gsd: revert unknown artifact check to warn-and-proceed
- gsd: add missing cmd field to test base WorkflowEvent
- gsd: address remaining adversarial review findings for wave 3
- gsd: detect concurrent event log growth during reconcile
- gsd: address adversarial review findings for wave 3
- gsd: address adversarial review findings for wave 2
- gsd: address adversarial review findings for wave 1
- gsd: WAL-safe migration backup + stronger regression tests
- gsd: consistency and cleanup (wave 5/5)
- gsd: write safety — atomic writes and randomized tmp paths (wave 4/5)
- gsd: session and recovery robustness (wave 3/5)
- gsd: event log and reconciliation robustness (wave 2/5)
- gsd: critical state machine data integrity fixes (wave 1/5)
- gsd: critical state machine data integrity fixes (wave 1/5)
- gsd: remove ecosystem research stub and address adversarial review
- gsd: suppress model change notification in auto-mode unless verbose
- gsd: exclude task.files from checkTaskOrdering to prevent false positives
- state: skip ghost check for queued milestones in registry build
- ci: replace empty catch blocks and raw stderr with logWarning
- logging: add debugLog to empty catch in reopen-milestone
- state-machine: 9 resilience fixes + 86 regression tests (#3161)
- gsd: add incremental persistence to discuss prompts
- replace empty catch with logWarning for silent-catch-diagnostics test
- test: escape regex metacharacters in skip-by-preference pattern test
- test: search for numbered step definitions in prompt ordering test
- test: update notes loop test for notesVisible guard behavior
- test: update action count for note captures now included in results
- test: remove extraneous test file from wrong branch
- test: update worktree sync tests to use separate milestone IDs
- gsd: use valid LogComponent type for stale branch guard warning
- test: update rogue detection test for auto-remediation behavior
- test: update stuck-planning test to expect executing after reconciliation
- test: update file path consistency tests for inputs-only checking
- test: add CONTEXT file to queued milestone ghost detection test
- test: update needs-remediation test to expect validating-milestone phase
- gsd: import all-done milestones as complete during DB migration
- gsd: allow milestone completion when validation skipped by preference
- gsd: set slice sequence at all three insertion sites
- gsd: four prompt/runtime fixes for completion and session stability
- gsd: default insertMilestone status to queued instead of active
- gsd: suppress repeated frontmatter YAML parse warnings
- gsd: normalize list inputs in complete-task + fix roadmap dep parsing
- gsd: open DB before status derivation + respect isolation:none in quick
- gsd: add .bg-shell/ to baseline gitignore patterns
- tui: prevent Enter key infinite loop in interview notes mode
- provider: handle Enter key to initiate auth setup in provider manager
- gsd: cap run-uat dispatch attempts to prevent infinite replay loop
- mcp: use createRequire to resolve SDK wildcard subpath imports
- gsd: mark note captures as executed in executeTriageResolutions
- gsd: validate main_branch preference exists before using in merge
- gsd: handle deleted cwd in projectRoot to prevent ENOENT crash
- gsd: skip current milestone in syncWorktreeStateBack to prevent merge conflicts
- gsd: add structuredQuestionsAvailable conditional to slice discuss
- gsd: restore full tool set after discuss flow scoping
- gsd: tighten verifyExpectedArtifact to prevent rogue-write false positives
- gsd: add verification gate to complete-slice tool
- gsd: fix pre-execution-checks false positives from backticks and task.files
- gsd: stop renderAllProjections from overwriting authoritative PLAN.md
- gsd: auto-checkout to main when isolation:none finds stale milestone branch
- gsd: auto-remediate stale slice DB status when SUMMARY exists on disk
- gsd: open DB on demand in gsd_milestone_status for non-auto sessions
- gsd: detect phantom milestones from abandoned gsd_milestone_generate_id
- gsd: force re-validation when verdict is needs-remediation
- gsd: exclude closed slices from findMissingSummaries check
- gsd: recover from stale lockfile after crash or SIGKILL
- gsd: add createdAt timestamp and 30s age guard to staleness check
- gsd: clear stale pendingAutoStart after /clear interrupts discussion
- gsd: suppress misleading warnings for expected ENOENT/EISDIR conditions
- gsd: extract real error from message content when errorMessage is useless
- gsd: extract real error from message content when errorMessage is useless
- gsd: show accurate pause message for queued-user-message skip
- gsd: treat queued-user-message skip as non-retryable interruption
- gsd: recognize "Not provided." default in isVerificationNotApplicable
- gsd: discoverManifests skips symlinked extension directories
- gsd: recognize "Not provided." default in isVerificationNotApplicable
- gsd: reconcile plan-file tasks into DB when planner skips persistence (#3600)
- gsd: use isClosedStatus() in dispatch guard instead of raw complete check
- browser-tools: make sharp an optional lazy dependency
- gsd: pass required arguments in defer-milestone-stamp test
- gsd: replace remaining empty catch with logWarning
- gsd: use logWarning instead of raw stderr in catch blocks
- gsd: log error instead of empty catch in STATE.md rebuild
- gsd: log error instead of empty catch in skip_slice
- gsd: cast milestone classification to string for type safety
- gsd: treat zero-slice roadmap as pre-planning in guided flow
- gsd: rebuild STATE.md after skip-slice and strengthen rethink prompt
- gsd: use main_branch preference in worktree creation
- gsd: stamp defer and milestone captures as executed after triage
- tui: treat absolute file paths as plain text, not commands
- tui: break infinite re-render loop for images in cmux
- gsd: rebuild STATE.md before guided-flow dispatch
- gsd: defer queued shells in active milestone selection
- retry: prevent 429 quota cascade and 30-min lockout
- gsd: add fastPathInstruction to buildDiscussMilestonePrompt loadPrompt call
Changed
- auto-commit after quick-task
- auto-commit after quick-task
- auto-commit after quick-task
- auto-commit after quick-task
- auto-commit after quick-task
- auto-commit after quick-task
- auto-commit after quick-task