Refinery as worktree: local MR integration (gt-4u5z)
Architecture changes: - Refinery created as worktree of mayor clone (shares .git) - Polecat branches stay local (never pushed to origin) - MRs stored as wisps in .beads-wisp/mq/ (ephemeral) - Only main gets pushed to origin after merge New mrqueue package for wisp-based MR storage. Updated spawn, done, mq_submit, refinery, molecule templates. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -183,7 +183,7 @@ func (m *Manager) Start(foreground bool) error {
|
||||
// Background mode: spawn a Claude agent in a tmux session
|
||||
// The Claude agent handles MR processing using git commands and beads
|
||||
|
||||
// Working directory is the refinery's rig clone (canonical main branch view)
|
||||
// Working directory is the refinery worktree (shares .git with mayor/polecats)
|
||||
refineryRigDir := filepath.Join(m.rig.Path, "refinery", "rig")
|
||||
if _, err := os.Stat(refineryRigDir); os.IsNotExist(err) {
|
||||
// Fall back to rig path if refinery/rig doesn't exist
|
||||
@@ -506,9 +506,9 @@ func (m *Manager) ProcessMR(mr *MergeRequest) MergeResult {
|
||||
// Notify worker of success
|
||||
m.notifyWorkerMerged(mr)
|
||||
|
||||
// Optionally delete the merged branch
|
||||
// Optionally delete the merged branch (local only - branches never go to origin)
|
||||
if config.DeleteMergedBranches {
|
||||
_ = m.gitRun("push", "origin", "--delete", mr.Branch)
|
||||
_ = m.gitRun("branch", "-D", mr.Branch)
|
||||
}
|
||||
|
||||
return result
|
||||
|
||||
Reference in New Issue
Block a user