Gas City — The SDK for Building Custom Dark Factories
Source: Steve Yegge, "Welcome to Gas City," Apr 24, 2026
Related: [[steve-yegge-gas-town]], [[steve-yegge-beads]], [[steve-yegge-wasteland]], [[steve-yegge-saas-mountain]]
Packs: The Composable Primitive
A pack in Gas City is a declarative, composable unit that packages up:
- A set of **agent roles** (e.g., the Mayor role, the Witness role, the Deacon role)
- A set of **workflows** connecting those roles (e.g., how the Mayor assigns to the Refinery, how the Witness gates on the Witness's output)
- A set of **Bead types** relevant to that workflow
- Configuration and defaults for all of the above
The Gas Town pack is one such pack. It packages Gas Town's entire opinionated workflow as a Gas City pack. But you could build a different pack with different roles and workflows — a pack optimized for research, a pack for customer support, a pack for data pipelines.
Packs are composable: you can run multiple packs simultaneously, with different packs managing different domains of work, all sharing the same underlying Bead substrate. The human is the control plane, managing which packs are active and how they coordinate.
Light Factory: Observability by Default
Yegge coins the term "Light Factory" to contrast with "Dark Factory." A dark factory (the Gas Town model) has many workers you don't look in on — polecats running in the background, unsupervised. A Light Factory maximizes observability: all workers are visible and addressable, with the polecats in the back rooms being the only ones you normally don't look in on.
Gas City is designed as a Light Factory framework. Every agent, every pack, every workflow is addressable and observable. The dark components (polecats) are clearly delineated and auditable. This addresses one of the main criticisms of dark factory architectures: that they're uninspectable.
Kelly Parallel
| Gas City Concept | Kelly Equivalent |
|---|---|
| Packs (composable building blocks) | Kelly's **BMAD agent definitions** — modular, composable agent specs |
| Pack composition (multiple packs, shared Bead substrate) | Kelly's **multi-agent pipeline** — multiple specialized agents sharing work items |
| Level 9–11 pack deployment stages | Kelly's **factory evolution v1→v3** — progression from basic automation to full autonomous factory |
| Light Factory (maximized observability) | Kelly's **transparent factory运作** — human oversight maintained even as agents become more autonomous |
| Multi-agent adversarial review | Kelly's **5-agent verdict** / **Angry Mob** — multiple agents verify each other's output |
| Gas Town pack as default | Kelly's **default pipeline configuration** — sensible defaults shipped out of the box |
| SDK for building custom factories | No direct Kelly equivalent — Kelly's framework is more monolithic; Gas City's SDK approach is more extensible |
Key gap: Kelly has no equivalent to Gas City's pack composition model. Kelly's factory is a pipeline with defined stages; Gas City allows multiple independent packs running concurrently, each with its own workflow, sharing a common Bead substrate. This is more composable and extensible than Kelly's pipeline model.
Key distinction: Kelly's reliability principle (multi-agent adversarial review) predates and closely matches Gas City's formalized version. Kelly's 5-agent verdict and Gas City's Witness-based quality gates are conceptually identical — multiple agents reviewing each other's work to push reliability arbitrarily high.