Skip to content

GSD quick isolated executor starts from stale HEAD after pre-dispatch plan commit #1265

@electroheadfx

Description

@electroheadfx

Pre-submission checklist

  • I have searched existing issues and this bug has not already been reported

GSD Version

1.4.5

Runtime

Claude Code

Operating System

macOS

Node.js Version

v24.15.0

Shell

/bin/zsh

Installation Method

npx @opengsd/gsd-core@latest (fresh run)

What happened?

GSD quick isolated executor starts from stale HEAD after pre-dispatch plan commit

What did you expect?

/gsd:quick --discuss solidify phase 36.1 ...

GSD config appears to have workflow.use_worktrees=true.

What happened

GSD quick mode created the quick plan and committed it before executor dispatch:

69923cf docs(260615-c4t): pre-dispatch plan for solidify phase 36.1

Then the isolated executor was spawned with a guard expecting that plan commit:

Expected HEAD: 69923cf551fa85c0645a3b41e66e0e65739f98a3

But the executor worktree was created from the previous commit:

Actual HEAD: 778c92c8c2b23d71b1281d6c1fa73aba8e4e1666

The executor halted correctly because it could not see the pre-dispatch plan commit.

I retried by spawning a fresh isolated executor after confirming main was ahead by the plan commit, but the new worktree again started from 778c92c instead of 69923cf.

Steps to reproduce

/gsd:quick --discuss solidify phase 36.1 ...

GSD config appears to have workflow.use_worktrees=true.

What happened

GSD quick mode created the quick plan and committed it before executor dispatch:

69923cf docs(260615-c4t): pre-dispatch plan for solidify phase 36.1

Then the isolated executor was spawned with a guard expecting that plan commit:

Expected HEAD: 69923cf551fa85c0645a3b41e66e0e65739f98a3

But the executor worktree was created from the previous commit:

Actual HEAD: 778c92c8c2b23d71b1281d6c1fa73aba8e4e1666

The executor halted correctly because it could not see the pre-dispatch plan commit.

I retried by spawning a fresh isolated executor after confirming main was ahead by the plan commit, but the new worktree again started from 778c92c instead of 69923cf.

Error output / logs

GSD warming

- No code edits were made.
- The only change so far is the pre-dispatch plan commit: 69923cf docs(260615-c4t): pre-dispatch plan for solidify phase 36.1.
- The isolated executor refused to run because Claude Code created its worktree from 778c92c instead of 69923cf.
- Because of your saved preference, I should not silently fall back to executing on main.

The safest option is to retry isolated after making sure the worktree starts from the plan commit.

GSD Configuration

GSD State (if relevant)

Runtime settings.json (if relevant)

How often does this happen?

Every time (100% reproducible)

Impact

Moderate — Feature is broken but I have a workaround

Workaround (if any)

No response

Additional context

No response

Privacy Checklist

  • I have reviewed all pasted output for PII (usernames, paths, API keys) and redacted where necessary

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingneeds-infoAwaiting additional information from author

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions