fix(plan): clean up stale worktree branch before re-creating sandbox #10000

Closed
hamza.khyari wants to merge 1 commits from bugfix/sandbox-reexecute-cleanup into master

1 Commits

Author SHA1 Message Date
hamza.khyari af4719fb68 fix(plan): clean up stale worktree branch before re-creating sandbox
CI / lint (pull_request) Successful in 19s
CI / build (pull_request) Successful in 24s
CI / push-validation (pull_request) Successful in 24s
CI / helm (pull_request) Successful in 24s
CI / typecheck (pull_request) Successful in 31s
CI / quality (pull_request) Successful in 56s
CI / security (pull_request) Successful in 1m1s
CI / integration_tests (pull_request) Successful in 3m57s
CI / unit_tests (pull_request) Successful in 7m55s
CI / docker (pull_request) Successful in 2m14s
CI / coverage (pull_request) Successful in 9m58s
CI / e2e_tests (pull_request) Successful in 2m10s
CI / status-check (pull_request) Successful in 0s
When a user re-executes a plan (e.g. after a failed attempt or after
reviewing the diff), _create_sandbox_for_plan crashes with 'fatal: a
branch named cleveragents/plan-<id> already exists' because the
worktree branch from the previous execute was never cleaned up.

Add _cleanup_stale_sandbox() that runs before GitWorktreeSandbox.create():
checks if branch refs/heads/cleveragents/plan-<id> exists, removes the
worktree directory, deletes the branch, and prunes stale references.
This makes re-execute idempotent.

ISSUES CLOSED: #7271
2026-04-16 11:35:54 +00:00