Commit graph

3139 commits

Author SHA1 Message Date
Jeremy McSpadden
dda2534ef2 Merge pull request #3972 from jeremymcs/docs/claude-code-mcp-setup
docs: add Claude Code MCP server setup to providers guide
2026-04-11 07:38:40 -05:00
Jeremy
452ad4fafe docs: add Claude Code MCP server setup instructions to providers guide
Add Option C covering how Claude Pro/Max subscribers can use GSD's
workflow tools directly inside Claude Code via the MCP server — including
automatic setup, manual config, and verification steps.
2026-04-11 07:37:23 -05:00
Jeremy McSpadden
679587bee2 Merge pull request #3970 from jeremymcs/fix/ask-user-question-stream-order
fix(web): preserve only final ask_user_questions text
2026-04-11 07:36:30 -05:00
Jeremy
bd91186e2f fix(web): drop provisional pre-tool question text 2026-04-11 07:20:18 -05:00
github-actions[bot]
26696be2fa release: v2.70.1 2026-04-11 04:22:31 +00:00
Jeremy McSpadden
1e6919d92b Merge pull request #3963 from jeremymcs/fix/3962-model-routing-transparency
fix(routing): skip dynamic routing for interactive dispatches (#3962)
2026-04-10 22:54:10 -05:00
Jeremy
66710f2b28 fix(routing): address codex review — complete interactive bypass and accurate banner
resolvePreferredModelConfig now skips routing-ceiling synthesis when
isAutoMode=false, preventing interactive dispatches from silently switching
to the tier_models.heavy model. The auto-start banner now reflects
effective routing state by checking flat-rate provider suppression and
using the actual ceiling from tier_models.heavy when configured.
2026-04-10 22:18:42 -05:00
Jeremy McSpadden
19cbb17683 Merge pull request #3961 from jeremymcs/fix/windows-portability-sweep
fix: harden Windows portability across runtime and tooling
2026-04-10 21:53:10 -05:00
Jeremy
839cd8d55b fix(routing): skip dynamic routing for interactive dispatches, always show model changes (#3962)
Dynamic routing silently downgraded models in interactive commands (guided-flow),
overriding the user's /model selection. Now routing only applies in auto-mode where
cost optimization is expected. Model downgrade notifications always fire regardless
of verbose setting, and auto-mode shows routing status upfront on start.
2026-04-10 21:51:18 -05:00
Jeremy
ef91a17bb2 fix(ci): trim windows portability integration load 2026-04-10 21:11:26 -05:00
Jeremy
96e760240c fix(ci): narrow windows portability coverage 2026-04-10 20:57:44 -05:00
Jeremy
897e4b6bc1 fix(ci): skip validate-pack in windows portability job 2026-04-10 20:49:03 -05:00
Jeremy
153ed252fe fix(ci): unblock windows portability follow-up 2026-04-10 20:45:51 -05:00
Jeremy
61204ce771 fix(windows): harden portability across runtime and tooling 2026-04-10 20:33:18 -05:00
Jeremy McSpadden
8fcaee6d5a Merge pull request #3885 from mastertyko/fix/3856-doctor-scope-db-unavailable
fix(gsd): surface scoped doctor health warnings
2026-04-10 20:31:47 -05:00
Jeremy McSpadden
b5ffff50ee Merge pull request #3886 from mastertyko/fix/3806-update-registry-version-fallback
fix(update): fetch latest version from registry
2026-04-10 20:31:06 -05:00
Jeremy McSpadden
854ab38498 Merge pull request #3894 from mastertyko/fix/3892-double-backtick-preexec
fix(gsd): handle doubled-backtick pre-exec paths
2026-04-10 20:29:46 -05:00
Jeremy McSpadden
999c2fc576 Merge pull request #3931 from mastertyko/fix/3912-skip-skipped-summaries
fix(gsd): skip skipped slices in milestone prompts
2026-04-10 20:29:27 -05:00
Jeremy McSpadden
925d6088af Merge pull request #3958 from jeremymcs/fix/3949-auto-resume-resolve
fix(auto): resolve resource-loader.js from GSD_PKG_ROOT on resume
2026-04-10 20:28:36 -05:00
Jeremy
e26c5cff56 fix(auto): use pathToFileURL for cross-platform import and reconcile regression test
Convert resource-loader import path to file URL via pathToFileURL() to
fix Windows ERR_UNSUPPORTED_ESM_URL_SCHEME. Update existing regression
test to validate the GSD_PKG_ROOT + pathToFileURL contract.
2026-04-10 20:05:32 -05:00
Jeremy
7b2601e6a0 fix(auto): resolve resource-loader.js from GSD_PKG_ROOT on resume (#3949)
Auto-mode resume crashed with "Cannot find module" because the relative
import ../../../resource-loader.js only works from the source tree, not
from the deployed path at ~/.gsd/agent/extensions/gsd/auto.js.

Expose GSD_PKG_ROOT from loader.ts and use it in auto.ts to construct
an absolute path to dist/resource-loader.js that works in both contexts.
2026-04-10 20:00:46 -05:00
Jeremy McSpadden
9a7453fae8 Merge pull request #3957 from jeremymcs/fix/mcp-importLocalModule-paths
fix(mcp-server): importLocalModule resolves src/ paths from dist/ context
2026-04-10 19:54:00 -05:00
Jeremy McSpadden
37fa5168a9 Merge pull request #3956 from jeremymcs/fix/claude-code-structured-questions-fallback
[codex] fix Claude Code discuss structured-question fallback
2026-04-10 19:44:45 -05:00
Jeremy
67767c2527 test(mcp-server): add regression tests for importLocalModule candidate resolution
Extracts _buildImportCandidates() as a testable export and adds 5 tests
verifying src/<->dist/ path swapping and .ts extension fallback logic.

Refs #3954
2026-04-10 19:33:00 -05:00
Jeremy
3c6093cf37 test remove secret-like onboarding fixture 2026-04-10 19:30:38 -05:00
Jeremy
d64056f833 fix claude code mcp elicitation bridge 2026-04-10 19:24:51 -05:00
Jeremy
ad8405c372 fix(mcp-server): importLocalModule resolves src/ paths from dist/ context
importLocalModule() resolved paths relative to import.meta.url. When
running from dist/, paths like ../../../src/.../foo.js pointed to source
where no .js files exist. Now tries src/<->dist/ swap and .ts fallback
so the same code works in both dev (tsx) and prod (compiled) contexts.

Also adds dist/ candidates to write-gate and workflow-executor lookups.

Fixes #3954
2026-04-10 19:22:52 -05:00
Jeremy
5a940856c1 fix claude-code discuss question fallback 2026-04-10 19:12:45 -05:00
mastertyko
07da34dadb fix(gsd): surface scoped doctor health warnings 2026-04-11 01:49:05 +02:00
github-actions[bot]
4b671fba0f release: v2.70.0 2026-04-10 23:12:12 +00:00
Jeremy McSpadden
afe0574a23 Merge pull request #3953 from jeremymcs/fix/remove-anthropic-oauth 2026-04-10 17:52:59 -05:00
Jeremy McSpadden
da7e78ce9e Merge pull request #3951 from jeremymcs/fix/mcp-server-credential-hydration 2026-04-10 17:52:40 -05:00
Jeremy
7ee1fa0c46 fix(pi-ai): remove Anthropic OAuth flow for TOS compliance
Delete the Anthropic OAuth module, remove it from the built-in provider
registry, strip the OAuth client branch from the Anthropic streaming
provider, and replace the daemon orchestrator's token refresh with a
simple ANTHROPIC_API_KEY requirement.

Anthropic access is now API key or local Claude Code CLI only.

Closes #3952
2026-04-10 17:33:34 -05:00
Jeremy
f350647863 fix(mcp-server): hydrate model credentials into env 2026-04-10 17:31:07 -05:00
Jeremy
f886cf01c2 fix(mcp-server): hydrate stored tool credentials on startup 2026-04-10 17:24:50 -05:00
Jeremy McSpadden
7a44ca7aed Merge pull request #3948 from jeremymcs/fix/cmux-auto-enable
fix(gsd): auto-enable cmux when detected
2026-04-10 17:16:46 -05:00
Jeremy McSpadden
0575d2cb58 Merge pull request #3946 from jeremymcs/feat/mcp-ask-user-questions-elicitation
feat(mcp-server): expose ask_user_questions via elicitation
2026-04-10 16:58:34 -05:00
Jeremy
6d1e7952a5 test(gsd): accept source workflow MCP module paths 2026-04-10 16:45:09 -05:00
mastertyko
c2de4eb17b fix(gsd): skip skipped slices in milestone prompts 2026-04-10 23:19:25 +02:00
Jeremy
6c2964c502 test(mcp-server): cover ask_user_questions elicitation 2026-04-10 16:14:34 -05:00
Jeremy
28decda937 test(gsd): add regression tests for cmux auto-enable
Covers: successful auto-enable, missing prefs file fallback,
and preservation of existing cmux sub-preferences.
2026-04-10 16:12:35 -05:00
Jeremy
fffec6174a fix(gsd): auto-enable cmux when detected instead of prompting
When running inside a cmux terminal, GSD now automatically enables cmux
in project preferences instead of showing a manual enable prompt. Users
who explicitly disabled cmux (enabled: false) are still respected.

Closes gsd-build/gsd-2#3947
2026-04-10 15:46:36 -05:00
Jeremy
b3275a182d feat(mcp-server): expose ask_user_questions via elicitation 2026-04-10 15:44:08 -05:00
Jeremy McSpadden
c0f101a217 Merge pull request #3943 from Git-Scram/fix/mcp-windows-drive-letter-regex
fix(mcp-server): URL scheme regex matches Windows drive letters
2026-04-10 15:17:59 -05:00
github-actions[bot]
00107d2775 release: v2.69.0 2026-04-10 20:00:49 +00:00
jeremymcs
9b853ce960 fix(mcp-server): URL scheme regex no longer matches Windows drive letters
Change /^[a-z]+:/i to /^[a-z]{2,}:/i in getWriteGateModuleCandidates()
and getWorkflowExecutorModuleCandidates() so single-letter drive prefixes
(C:, D:) are not rejected as URL schemes. All IANA-registered schemes are
2+ characters, so this is a safe narrowing.

Adds regression tests for the regex fix.

Fixes #3942
2026-04-10 15:20:39 -04:00
Jeremy McSpadden
4e84196bdb Merge pull request #3941 from jeremymcs/fix/codebase-generator-excludes
fix(gsd): add missing dirs to codebase generator exclude list
2026-04-10 14:17:44 -05:00
Jeremy
89bdc1e7f9 test(gsd): add regression test for .agents/ and tooling dir exclusion
Verifies that .agents/, .bg-shell/, .idea/, .cache/, tmp/, target/,
and venv/ are excluded from the codebase map during generation.
2026-04-10 13:46:53 -05:00
Jeremy
099a7723a3 fix(gsd): add missing directories to codebase generator exclude list
.agents/, .bg-shell/, .idea/, venv/, target/, .cache/, and tmp/ were
missing from DEFAULT_EXCLUDES. This caused /gsd-new-project to scan
skill and agent definition files as project code, confusing researcher
agents during project initialization.

Aligns the exclude list with the gitignore patterns in gitignore.ts.
2026-04-10 13:40:45 -05:00
Jeremy McSpadden
9b7f151964 Merge pull request #3937 from jeremymcs/feat/adr-005-implementation
feat(gsd): implement ADR-005 multi-model provider and tool strategy
2026-04-10 13:07:40 -05:00