* fix(#1865): runtime launcher honors CLAUDE_CONFIG_DIR The gsd_run preamble resolved the Claude global install only at $HOME/.claude/gsd-core/bin/, but the installer honors CLAUDE_CONFIG_DIR — so a global install redirected via CLAUDE_CONFIG_DIR was invisible to every gsd_run call (every command failed with 'gsd-tools.cjs not found'). The Claude resolver arm now uses ${CLAUDE_CONFIG_DIR:-$HOME/.claude}, matching the installer + the other runtimes' ${VAR:-default} pattern. Default $HOME/.claude behavior is unchanged. - _runtime-launcher.snippet.sh: Claude arm honors CLAUDE_CONFIG_DIR. - sync-runtime-launcher.cjs re-run: 95 workflows/agents re-synced. - review.md / discuss-phase.md: trimmed to stay under their byte budgets. - runtime-launcher-parity.test.cjs: (A) substring updated for the new form + explicit #1865 assertion that the snippet honors CLAUDE_CONFIG_DIR. - goldens + size baselines recaptured. Closes #1865 * docs(#1865): backfill changeset pr 2024
This commit is contained in:
@@ -1622,13 +1622,21 @@ describe('bug-444: resolver finds repo-local .claude install', () => {
|
||||
`Found snippet content:\n${content.trim()}`,
|
||||
);
|
||||
|
||||
// Must still contain the $HOME/.claude fallback arm
|
||||
const homeClaudeIdx = content.indexOf('$HOME/.claude/gsd-core/bin/');
|
||||
// Must still contain the $HOME/.claude fallback arm (#1865: now carried as
|
||||
// the ${CLAUDE_CONFIG_DIR:-$HOME/.claude} fallback, so match the stem).
|
||||
const homeClaudeIdx = content.indexOf('$HOME/.claude');
|
||||
assert.ok(
|
||||
homeClaudeIdx !== -1,
|
||||
`Snippet must still contain the $HOME/.claude fallback arm.`,
|
||||
);
|
||||
|
||||
// #1865: the Claude arm must honor CLAUDE_CONFIG_DIR (the installer writes
|
||||
// there when it is set), with $HOME/.claude as the fallback.
|
||||
assert.ok(
|
||||
content.includes('${CLAUDE_CONFIG_DIR:-$HOME/.claude}/gsd-core/bin/'),
|
||||
`Snippet's Claude arm must honor CLAUDE_CONFIG_DIR via \${CLAUDE_CONFIG_DIR:-$HOME/.claude}.`,
|
||||
);
|
||||
|
||||
// Repo-local check must appear BEFORE $HOME/.claude check (local overrides global)
|
||||
assert.ok(
|
||||
localClaudeIdx < homeClaudeIdx,
|
||||
|
||||
Reference in New Issue
Block a user