fix(2137): skip worktree isolation when .gitmodules detected (#2144)

* feat(sdk): add typed query foundation and gsd-sdk query (Phase 1)

Add sdk/src/query registry and handlers with tests, GSDQueryError, CLI query wiring, and supporting type/tool-scoping hooks. Update CHANGELOG. Vitest 4 constructor mock fixes in milestone-runner tests.

Made-with: Cursor

* fix(2137): skip worktree isolation when .gitmodules detected

When a project contains git submodules, worktree isolation cannot
correctly handle submodule commits — three separate gaps exist in
worktree setup, executor commit protocol, and merge-back. Rather
than patch each gap individually, detect .gitmodules at phase start
and fall back to sequential execution, which handles submodules
transparently (Option B).

Affected workflows: execute-phase.md, quick.md

---------

Co-authored-by: David Sienkowski <dave@sienkowski.com>
This commit is contained in:
Tom Boucher
2026-04-12 08:33:04 -04:00
committed by GitHub
parent 58632e0718
commit 002bcf2a8a
63 changed files with 17872 additions and 23 deletions

View File

@@ -20,6 +20,7 @@ const PHASE_DEFAULT_TOOLS: Record<PhaseType, string[]> = {
[PhaseType.Verify]: ['Read', 'Bash', 'Grep', 'Glob'],
[PhaseType.Discuss]: ['Read', 'Bash', 'Grep', 'Glob'],
[PhaseType.Plan]: ['Read', 'Write', 'Bash', 'Glob', 'Grep', 'WebFetch'],
[PhaseType.Repair]: ['Read', 'Write', 'Edit', 'Bash', 'Grep', 'Glob'],
};
// ─── Phase → agent definition filename ──────────────────────────────────────
@@ -34,6 +35,7 @@ export const PHASE_AGENT_MAP: Record<PhaseType, string | null> = {
[PhaseType.Plan]: 'gsd-planner.md',
[PhaseType.Verify]: 'gsd-verifier.md',
[PhaseType.Discuss]: null,
[PhaseType.Repair]: null,
};
// ─── Public API ──────────────────────────────────────────────────────────────