Commit Graph

1298 Commits

Author SHA1 Message Date
Steve Yegge
3d7b60d3eb bd sync: 2025-12-25 19:47:37 2025-12-25 19:56:11 -08:00
Steve Yegge
d5bd7fd983 bd sync: 2025-12-25 19:47:11 2025-12-25 19:56:11 -08:00
Steve Yegge
b9ad30a4a9 fix(spawn): reset stale polecat branches to origin/main
When recreating a polecat worktree, the branch deletion might fail
silently, leaving a stale branch with old commits. The worktree would
then be created from this stale branch, missing recent main changes.

Fix:
- Add ResetBranch() method to git package for force-updating branches
- Fetch from origin before recreation to ensure fresh commits
- If branch deletion fails, force-reset the branch to origin/main
- This ensures polecats always start with the latest code

Discovered during gt-8tmz swarm when nux polecat was missing the
internal/formula/ directory that was added after its branch diverged.

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-25 19:37:14 -08:00
Steve Yegge
619ff02aa7 Add crew tmux configuration documentation
Explains how to set up personal tmux config for quick cycling
between crew sessions using hardwired C-b n/p keybindings.
2025-12-25 19:27:41 -08:00
Steve Yegge
e3d33770c6 Remove unused LinkWindow function from tmux package 2025-12-25 19:18:24 -08:00
Steve Yegge
483d556afb bd sync: 2025-12-25 19:12:53 2025-12-25 19:12:53 -08:00
Steve Yegge
a36bc84ce1 bd sync: 2025-12-25 19:11:58 2025-12-25 19:11:58 -08:00
Steve Yegge
b9158289c6 docs: Update architecture.md for bare repo pattern (gt-gmqe)
Clarify that mayor is a regular clone (not worktree) while refinery
and polecats are worktrees of .repo.git. Add .repo.git to ASCII
diagram and fix all references that incorrectly stated mayor was
a worktree.

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-25 19:03:45 -08:00
Steve Yegge
1569ba2290 fix: Match rig add architecture to working gastown pattern
- Mayor is now a regular clone (doesn't need branch visibility)
- Refinery is a worktree on main (can see polecat branches, direct merge)
- This matches migrated gastown and satisfies doctor branch check
2025-12-25 18:58:12 -08:00
Steve Yegge
a2307511ae docs: Fix misleading comment about refinery branch 2025-12-25 18:55:00 -08:00
Steve Yegge
adf3c8bfa3 bd sync: 2025-12-25 18:54:09 2025-12-25 18:54:09 -08:00
Steve Yegge
1b66b9a2f2 feat: Implement bare repo architecture for branch visibility (gt-gmqe)
- Add .repo.git as shared bare repo for worktrees
- Update polecat manager to use bare repo when available
- Add git.NewGitWithDir() and CloneBare() for bare repo support
- Update gt rig init to create bare repo architecture for new rigs
- Refinery and polecats now share branch visibility via shared .git

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-25 18:49:34 -08:00
Steve Yegge
200b2065a6 bd sync: 2025-12-25 18:45:54 2025-12-25 18:45:54 -08:00
Steve Yegge
839f7eb82b bd sync: 2025-12-25 18:40:30 2025-12-25 18:40:30 -08:00
Steve Yegge
cfe565d621 bd sync: 2025-12-25 18:31:15 2025-12-25 18:31:15 -08:00
Steve Yegge
2eaebd4451 docs: Update architecture for bare repo pattern (gt-gmqe)
- Add .repo.git/ as single git source of truth
- Refinery as worktree on main (can see polecat branches)
- Document why bare repo pattern (standard git server pattern)
- Update key points for new architecture

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-25 18:31:04 -08:00
Steve Yegge
5d2a9b2d43 bd sync: 2025-12-25 18:30:57 2025-12-25 18:30:57 -08:00
Steve Yegge
92097fc2c2 bd sync: 2025-12-25 17:48:59 2025-12-25 17:48:59 -08:00
Steve Yegge
6fcf88d7f9 bd sync: 2025-12-25 17:22:40 2025-12-25 17:22:40 -08:00
Steve Yegge
18dcdad258 bd sync: 2025-12-25 17:18:38 2025-12-25 17:18:38 -08:00
Steve Yegge
0fe00c2e36 bd sync: 2025-12-25 16:51:04 2025-12-25 16:51:04 -08:00
Steve Yegge
cf80b9cc19 bd sync: 2025-12-25 16:39:39 2025-12-25 16:39:39 -08:00
Steve Yegge
cf9731c78f bd sync: 2025-12-25 16:35:44 2025-12-25 16:35:44 -08:00
Steve Yegge
3c86e4d815 bd sync: 2025-12-25 16:32:16 2025-12-25 16:32:16 -08:00
Steve Yegge
6912fe3a33 bd sync: 2025-12-25 16:28:02 2025-12-25 16:28:02 -08:00
Steve Yegge
522348d0d7 bd sync: 2025-12-25 16:23:10 2025-12-25 16:23:10 -08:00
Steve Yegge
565ffb2702 bd sync: 2025-12-25 16:08:30 2025-12-25 16:08:30 -08:00
Steve Yegge
2cf6476bb7 bd sync: 2025-12-25 15:53:04 2025-12-25 15:53:04 -08:00
Steve Yegge
fecef96b07 bd sync: 2025-12-25 15:14:23 2025-12-25 15:14:23 -08:00
Steve Yegge
fca672d907 bd sync: 2025-12-25 15:02:22 2025-12-25 15:02:22 -08:00
Steve Yegge
d0e7fda246 bd sync: 2025-12-25 14:58:39 2025-12-25 14:58:39 -08:00
Steve Yegge
40cd563093 bd sync: 2025-12-25 14:52:42 2025-12-25 14:52:42 -08:00
Steve Yegge
bb092d71f7 Revert "feat(crew): cycle across all rigs with C-b n/p"
This reverts commit 601f8ab4d3.
2025-12-25 14:51:38 -08:00
Steve Yegge
601f8ab4d3 feat(crew): cycle across all rigs with C-b n/p
Previously C-b n and C-b p only cycled between crew sessions in the
same rig. Now they cycle across ALL crew sessions regardless of rig.

This enables quick switching between gastown/joe and beads/emma with
a single keystroke.

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-25 14:50:05 -08:00
Steve Yegge
413eaef5a8 bd sync: 2025-12-25 14:49:17 2025-12-25 14:49:17 -08:00
Steve Yegge
5c5e242084 fix(crew): parse rig/name format in crew add command
The crew add command was not parsing rig/name format (e.g., "beads/emma"),
which caused nested directories like crew/beads/emma to be created instead
of properly routing to the beads rig.

Now `gt crew add beads/emma` from any directory correctly creates the crew
workspace in the beads rig at beads/crew/emma/.

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-25 14:32:29 -08:00
Steve Yegge
eba8d8d112 bd sync: 2025-12-25 14:31:41 2025-12-25 14:31:41 -08:00
Steve Yegge
2670d384e2 bd sync: 2025-12-25 14:19:24 2025-12-25 14:19:33 -08:00
Steve Yegge
f0ece94d7d fix: Normalize formula vars schema (variables[] → vars{})
Convert mol-polecat-lease and mol-polecat-work formulas from the
old "variables" array format to the canonical "vars" map format
used by other formulas.

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-25 14:08:00 -08:00
Steve Yegge
786b349e19 bd sync: 2025-12-25 14:07:41 2025-12-25 14:07:41 -08:00
Steve Yegge
6f003d85a5 refactor: Remove deprecated gt deacon pending command
The functionality now lives exclusively in gt spawn pending.

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-25 13:55:43 -08:00
Steve Yegge
35c9eecdc2 bd sync: 2025-12-25 13:54:51 2025-12-25 13:54:51 -08:00
Steve Yegge
d3164f72a6 refactor: Move pending spawn tracking to gt spawn pending (hq-466n)
- Moved pending.go from deacon/ to polecat/ package
- Changed storage location from deacon/pending.json to spawn/pending.json
- Added 'gt spawn pending' subcommand for listing/clearing pending spawns
- Deprecated 'gt deacon pending' (still works, shows deprecation notice)

This decouples pending spawn observation from the Deacon role - anyone
can now observe pending polecats (Mayor, humans, debugging, etc.).

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-25 13:50:26 -08:00
Steve Yegge
0ba7b13c64 bd sync: 2025-12-25 13:42:06 2025-12-25 13:42:17 -08:00
Steve Yegge
b4a90ead72 feat: Add gt crew start command as alias for gt start crew
Users naturally expect "gt crew start <name>" to work alongside
"gt start crew <name>". This adds the alias, handling all input
formats: "name", "rig/name", and "rig/crew/name".

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-25 13:41:49 -08:00
Steve Yegge
1dd506ee8b bd sync: 2025-12-25 13:40:13 2025-12-25 13:40:13 -08:00
Steve Yegge
6830de20ae bd sync: 2025-12-25 13:26:47 2025-12-25 13:26:58 -08:00
Steve Yegge
dbf11f2b6e bd sync: 2025-12-25 12:49:47 2025-12-25 13:26:58 -08:00
Steve Yegge
9afd6c5572 feat: Set BD_ACTOR env var when spawning agents (gt-rhfji)
When gt spawns agents (polecats, crew, patrol roles), it now sets the
BD_ACTOR env var so that bd commands (like `bd hook`) know the agent
identity without coupling to gt.

Updated spawn points:
- gt up (mayor, deacon, witness via ensureSession/ensureWitness)
- gt deacon start
- gt witness start
- gt start refinery
- gt mayor start
- Daemon deacon restart
- Daemon lifecycle restart
- Handoff respawn
- Refinery manager start

BD_ACTOR uses slash format (e.g., gastown/witness, gastown/crew/max)
while GT_ROLE may use dash format internally.

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-25 13:26:38 -08:00
Steve Yegge
77a43886a3 feat: Support gt start rig/crew/name shortcut for crew start 2025-12-25 13:20:48 -08:00