dispatch: invert surface-to-isolation mapping main vs worktree+branch #35
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Consumer-driven by coilysiren/coily#145.
Isolation should track concurrency, not churn velocity. Today only the
interactivesurface uses a worktree, while the detached surfaces (headless,cascade) share the canonical checkout - exactly backwards, since the detached surfaces are the ones that fan out into multiple concurrent workers in one repo and race on a shared working tree/index.Invert the mapping in
cli-guard/dispatch:headless,cascade(detached, parallel) -> per-issue worktree+branch. Each worker gets its own isolated working dir; lands by merging its branch into main when green.interactive,consult(supervised, serial) -> run directly on the default branch in the canonical checkout. No worktree, no auto-merge dance; commit to main as the operator watches. Drops the--no-worktreeescape hatch.Worktree placement moves off
interactive.gointoworktree.goand ontorunDetached; reaping follows the detached surfaces.Landed on GitHub main as cli-guard
02f4153. Closing manually: the cli-guard GitHub and Forgejo remotes have diverged (see #36), so thecloses #35trailer pushed to GitHub did not reach this Forgejo issue. Consumer bump landed in coilysiren/coily#145.