Skip to content

fix: resolve shell syntax in git.run() across 8 tools#200

Closed
TerminalGravity wants to merge 1 commit intomainfrom
fix/shell-syntax-in-tools
Closed

fix: resolve shell syntax in git.run() across 8 tools#200
TerminalGravity wants to merge 1 commit intomainfrom
fix/shell-syntax-in-tools

Conversation

@TerminalGravity
Copy link
Collaborator

Fixes #172

Problem

git.run() uses execFileSync('git', args) — no shell. But 8 tools passed shell operators that silently broke.

Fix

  • Added shell() to lib/git.ts for commands needing pipes/redirects
  • Converted pure git calls to proper array args
  • Converted shell-dependent calls to shell()
  • Replaced cat package.json with fs.readFileSync

Tools fixed: verify-completion, token-audit, session-handoff, audit-workspace, sharpen-followup, scope-work, enrich-agent-task, sequence-tasks

Build passes, all 43 tests pass.

…ools

Adds shell() to lib/git.ts for commands that need pipes, redirects, or
non-git executables. Fixes silent failures where 2>/dev/null, pipes, and
shell operators were passed as literal git args via execFileSync.

Tools fixed: verify-completion, token-audit, session-handoff,
audit-workspace, sharpen-followup, scope-work, enrich-agent-task,
sequence-tasks.

Also replaced cat-via-git with fs.readFileSync in verify-completion.

Closes #172
@TerminalGravity
Copy link
Collaborator Author

Closing — superseded by #204 which covers all remaining tools. Let's consolidate there.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Systematic: shell syntax in git.run() calls across 8+ tools

1 participant