Add gt worktree remove command and fix cross-rig worktree creation

- Add WorktreeAddExistingForce to git package (uses --force flag)
- Fix worktree creation: use force flag so main can be checked out
  in multiple worktrees (needed for cross-rig work)
- Implement 'gt worktree remove <rig>' with --force flag
- Refuse to remove worktrees with uncommitted changes unless forced

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
beads/crew/wolf
2025-12-30 21:16:43 -08:00
parent 920507cbe3
commit d72cb6b9cf
4 changed files with 87 additions and 114 deletions

View File

@@ -281,11 +281,6 @@ func (m *Model) addEvent(e Event) {
}
}
// Filter out events with empty bead IDs (malformed mutations)
if e.Type == "update" && e.Target == "" {
return
}
// Filter out noisy agent session updates from the event feed.
// Agent session molecules (like gt-gastown-crew-joe) update frequently
// for status tracking. These updates are visible in the agent tree,
@@ -298,18 +293,6 @@ func (m *Model) addEvent(e Event) {
return
}
// Deduplicate rapid updates to the same bead within 2 seconds.
// This prevents spam when multiple deps/labels are added to one issue.
if e.Type == "update" && e.Target != "" && len(m.events) > 0 {
lastEvent := m.events[len(m.events)-1]
if lastEvent.Type == "update" && lastEvent.Target == e.Target {
// Same bead updated within 2 seconds - skip duplicate
if e.Time.Sub(lastEvent.Time) < 2*time.Second {
return
}
}
}
// Add to event feed
m.events = append(m.events, e)