Commit graph

3037 commits

Author SHA1 Message Date
Jeremy McSpadden
ee417db63b Merge pull request #3871 from mastertyko/fix/3868-copyplanningartifacts-samepath
fix(gsd): skip same-path planning artifact copies
2026-04-10 07:34:46 -05:00
Jeremy McSpadden
f6a7c3138f Merge pull request #3898 from mastertyko/fix/3897-verification-not-applicable-emdash
fix(gsd): accept em-dash none verification rationale
2026-04-10 07:34:21 -05:00
Jeremy McSpadden
a250ba92c8 Merge pull request #3899 from mastertyko/fix/3761-resync-resources-on-auto-resume
fix(gsd): resync managed resources on auto resume
2026-04-10 07:34:04 -05:00
Jeremy McSpadden
57c993f806 Merge pull request #3919 from jeremymcs/fix/merge-cwd-guard-parallel
fix: guard autoCommitDirtyState and restore cwd on MergeConflictError
2026-04-10 07:03:03 -05:00
Jeremy McSpadden
2ee5cc6c98 Merge pull request #3921 from jeremymcs/fix/3915-manifest-skipped-slices
fix(gsd): avoid false manifest and skipped-slice warnings
2026-04-10 07:02:29 -05:00
Jeremy
d8c6bd99fa fix(gsd): use debugLog in catch block to satisfy empty-catch lint
The compiled JS strips comments, so the catch body needs real code.
2026-04-10 06:51:35 -05:00
Jeremy
3f1699bdf7 fix(gsd): avoid false manifest and skipped-slice warnings 2026-04-10 06:48:47 -05:00
Jeremy McSpadden
c6ada95441 Merge pull request #3908 from jeremymcs/fix/claude-code-mcp-tool-output
fix: Claude Code MCP tool output rendering and real-time streaming
2026-04-10 06:46:49 -05:00
Jeremy
475bf6cd84 fix(gsd): replace empty catch block with descriptive comment
CI lint rule forbids empty catch blocks in migrated files.
2026-04-10 06:44:18 -05:00
Jeremy
7240b284dd test(gsd): use beforeEach/afterEach per CONTRIBUTING.md test standards
Replace try/finally cleanup with describe + beforeEach/afterEach pattern
and array-join for fixture data per project test conventions.
2026-04-10 06:39:55 -05:00
Jeremy
f6f15ddec6 fix: guard autoCommitDirtyState and restore cwd on MergeConflictError (#2929)
Three fixes to prevent cross-milestone contamination during parallel merge:

1. autoCommitDirtyState branch guard: only auto-commit when cwd is on the
   milestone branch, not the integration branch. Prevents committing dirty
   files from other milestones onto main.

2. process.chdir(previousCwd) before MergeConflictError throw: restores cwd
   so the next merge in a parallel sequence doesn't inherit a leaked cwd.

3. Pre-teardown auto-commit branch guard: skip the safety-net commit when
   cwd is on the integration branch, not the milestone branch.

Supersedes #3130.
2026-04-10 06:38:06 -05:00
Jeremy
ac1a51ef55 fix: Claude Code MCP tool output rendering and real-time streaming
- Stream tool results in real-time during Claude Code SDK sessions
  instead of deferring until session end. Tool calls (read, bash, write,
  etc.) now show their output as they complete, not collapsed as "..."

- Stop suppressing toolcall_start/delta/end events from stream adapter
  so the TUI can render tool call progress during streaming

- On SDK turn boundary (user message with tool results), push synthetic
  toolcall_end events with externalResult attached for immediate rendering

- Chat controller checks for externalResult on toolcall_end message
  updates and calls updateResult on pending ToolExecutionComponents

- Fix case-sensitive tool name matching (Read vs read, Bash vs bash)
  in TUI ToolExecutionComponent rendering

- Auto-discover and pass GSD_WORKFLOW_EXECUTORS_MODULE and
  GSD_WORKFLOW_WRITE_GATE_MODULE env vars in MCP server launch config

- Add /gsd mcp init command and auto-bootstrap .mcp.json for Claude
  Code provider during auto-start

- Add tool_execution_update event type for web UI streaming updates

- Add setStderrLoggingEnabled toggle for workflow logger
2026-04-10 06:12:44 -05:00
Jeremy McSpadden
0c37a88024 Merge pull request #3905 from jeremymcs/fix/workflow-mcp-auto-discovery
Fix workflow MCP auto-discovery for Claude Code auto-mode
2026-04-09 19:01:52 -05:00
Jeremy
26afe8b2a0 Prefer project MCP CLI over bundled fallback 2026-04-09 18:41:46 -05:00
Jeremy
bb2fdf0145 Build and link bundled RPC client 2026-04-09 18:29:38 -05:00
Jeremy
c6ff8b026d Fix MCP server packaging in clean builds 2026-04-09 18:00:24 -05:00
Jeremy McSpadden
35568d0543 Merge pull request #3904 from jeremymcs/fix/init-bootstrap-completeness
fix(gsd): create gsd.db, runtime/, and STATE.md during init
2026-04-09 17:53:44 -05:00
Jeremy
b573af4828 Fix workflow MCP bundled CLI lookup in tests 2026-04-09 17:50:01 -05:00
Jeremy
c19830b702 Fix workflow MCP auto-discovery for Claude Code 2026-04-09 17:45:28 -05:00
Jeremy
ae9afc0b9b fix(gsd): surface warnings when DB or STATE.md init fails
ensureDbOpen() returns false on failure instead of throwing, so the
try/catch alone was not catching the real failure path. Now check the
return value and notify the user with a visible warning when DB or
STATE.md generation fails, instead of silently claiming full success.
2026-04-09 17:32:55 -05:00
Jeremy
77e7342756 fix(gsd): create gsd.db, runtime/, and STATE.md during init (#3880)
The init wizard created .gsd/milestones/ and PREFERENCES.md but never
called ensureDbOpen(), leaving GSD in degraded markdown-only mode on
every fresh install. 20+ DB-gated features were disabled until a tool
handler happened to trigger DB creation as a side effect.

- Call ensureDbOpen(basePath) after bootstrapGsdDirectory() so the
  SQLite database exists immediately
- Create .gsd/runtime/ directory to match the headless bootstrap path
- Generate initial STATE.md via deriveState + buildStateMarkdown so
  the explicit /gsd init path produces it (showSmartEntry would have
  generated it, but ops.ts returns before entering that flow)

All three additions are wrapped in non-fatal try/catch — failures
log warnings but never block project init.

Closes #3880
2026-04-09 17:22:56 -05:00
Jeremy McSpadden
9fde7c4d95 Merge pull request #3901 from jeremymcs/codex/fix-gsd-tui-stderr-corruption
[codex] fix(gsd): suppress workflow stderr during /gsd
2026-04-09 16:22:18 -05:00
Jeremy
c666ff55eb group gsd model picker by provider 2026-04-09 16:09:20 -05:00
Jeremy
c1d1d3e5db group gsd model picker by provider 2026-04-09 16:02:45 -05:00
Jeremy
f5c6c1d94c fix(gsd): suppress workflow stderr during /gsd 2026-04-09 15:49:27 -05:00
Jeremy McSpadden
6c708f7795 Merge pull request #3890 from jeremymcs/feat/workflow-mcp-provider-parity
feat: expose GSD workflow tools over MCP for provider parity
2026-04-09 15:09:55 -05:00
Jeremy
20cbc1ed37 fix(gsd): enforce workflow write gates over MCP 2026-04-09 14:42:38 -05:00
Jeremy
c297559211 fix(mcp): harden workflow tool boundary 2026-04-09 14:29:15 -05:00
mastertyko
1c2694cbd2 fix(gsd): accept em-dash none verification rationale 2026-04-09 21:25:37 +02:00
mastertyko
9ed543f1c8 fix(gsd): resync managed resources on auto resume 2026-04-09 21:25:37 +02:00
Jeremy
d667d7565c fix(gsd): serialize workflow MCP execution state 2026-04-09 12:45:34 -05:00
Jeremy
bdd7f45641 fix(gsd): restore milestone status db preflight 2026-04-09 12:22:58 -05:00
Jeremy
1da762e21b test(gsd): fix workflow executor fixture typing 2026-04-09 12:18:02 -05:00
Jeremy McSpadden
0be7c44605 Merge pull request #3889 from NilsR0711/chore/auto-regenerate-models-workflow
chore(ci): add weekly workflow to regenerate model registry
2026-04-09 12:14:56 -05:00
Jeremy
60a5bf6ace chore: harden workflow MCP executor loading 2026-04-09 12:11:59 -05:00
Jeremy
d116cff601 feat: expose slice replanning over workflow MCP 2026-04-09 12:08:42 -05:00
Jeremy
70458467ff feat: expose milestone workflow tools over MCP 2026-04-09 12:04:07 -05:00
Jeremy
af24dcb3c3 feat: expose slice completion over workflow MCP 2026-04-09 11:53:28 -05:00
Nils Reeh
363bb32807 chore(ci): add weekly workflow to regenerate model registry
Adds a GitHub Actions cron job that runs every Monday, executes
generate-models.ts against live provider APIs, and opens a PR
automatically if models.generated.ts has changed.

Closes #3888

Co-Authored-By: Claude Code <noreply@anthropic.com>
2026-04-09 18:49:37 +02:00
Jeremy
2f63012628 feat: expose task completion alias over workflow MCP 2026-04-09 11:48:05 -05:00
Jeremy
f7008107fb feat: expose GSD planning tools over MCP 2026-04-09 11:43:26 -05:00
Jeremy
7cc2d11d34 feat: gate workflow MCP units by provider transport capabilities 2026-04-09 11:30:08 -05:00
Jeremy
4ea87a33d6 feat: expose core GSD workflow tools over MCP 2026-04-09 11:30:02 -05:00
Jeremy
146318df0b docs: add ADR-008 for GSD workflow MCP transport 2026-04-09 11:29:56 -05:00
Jeremy McSpadden
335535b506 Merge pull request #3872 from jeremymcs/fix/claude-code-stream-noise-followup
fix: suppress streamed Claude Code internal tool noise
2026-04-09 10:10:49 -05:00
Jeremy
9b20b28a25 fix(claude-code-cli): suppress streamed internal tool noise 2026-04-09 09:51:28 -05:00
mastertyko
ccd6618f19 fix(gsd): skip same-path planning artifact copies 2026-04-09 16:34:33 +02:00
Jeremy McSpadden
f18d8e9f30 Merge pull request #3864 from mastertyko/fix/3839-snapshot-stage-untracked-files
fix(gsd): snapshot new untracked files before dispatch
2026-04-09 09:23:51 -05:00
Jeremy McSpadden
72b7b6be7f Merge pull request #3867 from jeremymcs/fix/claude-code-cli-noise
fix: suppress Claude Code internal tool noise in TUI
2026-04-09 09:09:44 -05:00
Jeremy McSpadden
9bb01b2d50 Merge pull request #3748 from mastertyko/fix/3710-remove-gsd-build-docs-link
fix(docs): stop pointing repo documentation to gsd.build
2026-04-09 08:47:44 -05:00