ee66c931b9389a94107f83b5e81b9355c332e7cd
Implement DFS-based cycle detection in ValidateMolecule to catch circular dependencies in molecule step graphs. The algorithm uses three-color marking (unvisited/visiting/visited) to detect back edges that indicate cycles. When a cycle is detected, the error message shows the cycle path (e.g., "a -> b -> c -> a") for easy debugging. Add 4 new tests: - SimpleCycle: A -> B -> A - LongerCycle: A -> B -> C -> A - DiamondNoCycle: ensures valid diamond patterns pass - CycleInSubgraph: cycle not involving root node Closes gt-ai1z. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Gas Town
Multi-agent workspace manager for AI coding agents.
Gas Town coordinates swarms of AI agents working on software projects. Workers (polecats) implement features and fix bugs. Refineries review and merge code. Witnesses manage worker lifecycles. Mayors coordinate across projects.
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
- Molecules: Structured workflow templates with quality gates and dependencies
- Beads: Unified data plane for issues, messages, and state (github.com/steveyegge/beads)
- Nondeterministic Idempotence: Workflows survive crashes and agent restarts
Commands
gt status # Town status
gt rig list # List rigs
gt spawn --issue <id> # Start worker
gt mail inbox # Check messages
Documentation
Development
go build -o gt ./cmd/gt
go test ./...
License
MIT
Languages
Go
98.2%
HTML
1.1%
Shell
0.4%
JavaScript
0.2%