- 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>
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>
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>
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>
- 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>
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>
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>
- Add `gt start crew <name>` subcommand that creates crew if needed and
starts it detached with Claude running
- Make `gt crew restart` idempotent - creates crew if not found
- Supports rig/name format (e.g., gastown/joe) and --rig flag
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Updated the following docs to reference the Rig/Cook/Run lifecycle:
- propulsion-principle.md: Added lifecycle overview, updated steam metaphor table
- sling-design.md: Added see-also reference to molecular-chemistry.md
- molecules.md: Added lifecycle summary diagram, formula context
- architecture.md: Added Rig/Cook/Run overview, added Formula to concepts table
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Implements auto-triggering of polecats after spawn:
- New pending.go in deacon package tracks pending spawns
- CheckInboxForSpawns reads POLECAT_STARTED messages
- TriggerPendingSpawns polls WaitForClaudeReady and nudges when ready
- PruneStalePending removes spawns older than 5 minutes
The Deacon can now call `gt deacon trigger-pending` during patrol to
automatically send "Begin." to newly spawned polecats once Claude is ready.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Fix security-audit.formula.json to match Go schema (advice as array)
- Update pointcuts and targets for exact matching
- Add shiny-secure.formula.json demonstrating aspect composition
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
The formula used "variables" as an array, but the schema expects
"vars" as a map. This prevented variable metadata (required, default)
from being parsed by bd cook.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>