33cdd623bc939c9b85672fbb4a83472fea981b99
- Add handling for POLECAT_DONE messages in processShutdownRequests() - Track which polecats have signaled done (using SpawnedIssues with "done:" prefix) - For LIFECYCLE:shutdown requests, wait for POLECAT_DONE before cleanup - Add checkPendingCompletions() to nudge polecats with closed issues - Add 10-minute timeout with force-kill after waiting for POLECAT_DONE - Protects against losing MR submissions when Witness cleans up too early 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Gas Town
The IDE of 2026 - not Integrated Development Environment, but Integrated Delegation Engine.
Gas Town turns Claude Code (the Steam Engine) into a Steam Train, with Beads as the globally distributed railway network. Workers spawn, work molecules, submit to merge queues, and get cleaned up - all autonomously.
The Vision
Claude = Fire (the energy source)
Claude Code = Steam Engine (harnesses the fire)
Gas Town = Steam Train (coordinates engines on tracks)
Beads = Railroad Tracks (the persistent ledger of work)
Core principle: Gas Town is a Village.
Not a rigid hierarchy with centralized monitoring, but an anti-fragile village where every agent understands the whole system and can help any neighbor. If you see something stuck, you can help. The village heals itself through distributed awareness.
Install
go install github.com/steveyegge/gastown/cmd/gt@latest
Quick Start
# Create a town (workspace)
gt install ~/gt
# Add a project rig
gt rig add myproject --remote=https://github.com/you/myproject.git
# Spawn a worker on an issue
gt spawn --issue myproject-123
Architecture
Town (~/gt/)
├── Mayor (global coordinator)
└── Rig: myproject
├── Witness (lifecycle manager)
├── Refinery (merge queue)
└── Polecats (workers)
Key Concepts
- Molecular Chemistry of Work: Protos (templates) → Mols (flowing work) → Wisps (ephemeral) → Digests (outcomes)
- Beads as Universal Data Plane: Git-backed, human-readable, fractal ledger (github.com/steveyegge/beads)
- Antifragility: Self-monitoring village, not centralized hierarchy
- Propulsion Principle: Agents pull work from molecules, don't wait for commands
- Nondeterministic Idempotence: Any worker can continue any molecule after crashes
Commands
gt status # Town status
gt rig list # List rigs
gt spawn --issue <id> # Start worker
gt mail inbox # Check messages
gt peek <worker> # Check worker health
gt nudge <worker> # Wake stuck worker
Documentation
- Vision - Core innovations and philosophy
- Architecture - System design
- Molecular Chemistry - Work composition
- Molecules - Workflow templates
Development
go build -o gt ./cmd/gt
go test ./...
License
MIT
Languages
Go
98.2%
HTML
1.1%
Shell
0.4%
JavaScript
0.2%