Skip to content

Commit a07fa8b

Browse files
steveyeggeclaude
andcommitted
chore: bump version to v0.2.2
Rig operational state management, unified agent startup, and extensive stability fixes. See CHANGELOG.md for full release notes. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
1 parent 06d4092 commit a07fa8b

File tree

3 files changed

+132
-2
lines changed

3 files changed

+132
-2
lines changed

CHANGELOG.md

Lines changed: 130 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,136 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
77

88
## [Unreleased]
99

10+
## [0.2.2] - 2026-01-07
11+
12+
Rig operational state management, unified agent startup, and extensive stability fixes.
13+
14+
### Added
15+
16+
#### Rig Operational State Management
17+
- **`gt rig park/unpark` commands** - Level 1 rig control: pause daemon auto-start while preserving sessions
18+
- **`gt rig dock/undock` commands** - Level 2 rig control: stop all sessions and prevent auto-start (gt-9gm9n)
19+
- **`gt rig config` commands** - Per-rig configuration management (gt-hhmkq)
20+
- **Rig identity beads** - Schema and creation for rig identity tracking (gt-zmznh)
21+
- **Property layer lookup** - Hierarchical configuration resolution (gt-emh1c)
22+
- **Operational state in status** - `gt rig status` shows park/dock state
23+
24+
#### Agent Configuration & Startup
25+
- **`--agent` overrides** - Override agent for start/attach/sling commands
26+
- **Unified agent startup** - Manager pattern for consistent agent initialization
27+
- **Claude settings installation** - Auto-install during rig and HQ creation
28+
- **Runtime-aware tmux checks** - Detect actual agent state from tmux sessions
29+
30+
#### Status & Monitoring
31+
- **`gt status --watch`** - Watch mode with auto-refresh (#231)
32+
- **Compact status output** - One-line-per-worker format as new default
33+
- **LED status indicators** - Visual indicators for rigs in Mayor tmux status line
34+
- **Parked/docked indicators** - Pause emoji (⏸) for inactive rigs in statusline
35+
36+
#### Beads & Workflow
37+
- **Minimum beads version check** - Validates beads CLI compatibility (gt-im3fl)
38+
- **ZFC convoy auto-close** - `bd close` triggers convoy completion (gt-3qw5s)
39+
- **Stale hooked bead cleanup** - Deacon clears orphaned hooks (gt-2yls3)
40+
- **Doctor prefix mismatch detection** - Detect misconfigured rig prefixes (gt-17wdl)
41+
- **Unified beads redirect** - Single redirect system for tracked and local beads (#222)
42+
- **Route from rig to town beads** - Cross-level bead routing
43+
44+
#### Infrastructure
45+
- **Windows-compatible file locking** - Daemon lock works on Windows
46+
- **`--purge` flag for crews** - Full crew obliteration option
47+
- **Debug logging for suppressed errors** - Better visibility into startup issues (gt-6d7eh)
48+
- **hq- prefix in tmux cycle bindings** - Navigate to Mayor/Deacon sessions
49+
- **Wisp config storage layer** - Transient/local settings for ephemeral workflows
50+
- **Sparse checkout** - Exclude Claude context files from source repos
51+
52+
### Changed
53+
54+
- **Daemon respects rig operational state** - Parked/docked rigs not auto-started
55+
- **Agent startup unified** - Manager pattern replaces ad-hoc initialization
56+
- **Mayor files moved** - Reorganized into `mayor/` subdirectory
57+
- **Refinery merges local branches** - No longer fetches from origin (gt-cio03)
58+
- **Polecats start from origin/default-branch** - Consistent recycled state
59+
- **Observable states removed** - Discover agent state from tmux, don't track (gt-zecmc)
60+
- **mol-town-shutdown v3** - Complete cleanup formula (gt-ux23f)
61+
- **Witness delays polecat cleanup** - Wait until MR merges (gt-12hwb)
62+
- **Nudge on divergence** - Daemon nudges agents instead of silent accept
63+
- **README rewritten** - Comprehensive guides and architecture docs (#226)
64+
- **`gt rigs``gt rig list`** - Command renamed in templates/docs (#217)
65+
66+
### Fixed
67+
68+
#### Doctor & Lifecycle
69+
- **`--restart-sessions` flag required** - Doctor won't cycle sessions without explicit flag (gt-j44ri)
70+
- **Only cycle patrol roles** - Doctor --fix doesn't restart crew/polecats (hq-qthgye)
71+
- **Session-ended events auto-closed** - Prevent accumulation (gt-8tc1v)
72+
- **GUPP propulsion nudge** - Added to daemon restartSession
73+
74+
#### Sling & Beads
75+
- **Sling uses bd native routing** - No BEADS_DIR override needed
76+
- **Sling parses wisp JSON correctly** - Handle `new_epic_id` field
77+
- **Sling resolves rig path** - Cross-rig bead hooking works
78+
- **Sling waits for Claude ready** - Don't nudge until session responsive (#146)
79+
- **Correct beads database for sling** - Rig-level beads used (gt-n5gga)
80+
- **Close hooked beads before clearing** - Proper cleanup order (gt-vwjz6)
81+
- **Removed dead sling flags** - `--molecule` and `--quality` cleaned up
82+
83+
#### Agent Sessions
84+
- **Witness kills tmux on Stop()** - Clean session termination
85+
- **Deacon uses session package** - Correct hq- session names (gt-r38pj)
86+
- **Honor rig agent for witness/refinery** - Respect per-rig settings
87+
- **Canonical hq role bead IDs** - Consistent naming
88+
- **hq- prefix in status display** - Global agents shown correctly (gt-vcvyd)
89+
- **Restart Claude when dead** - Recover sessions where tmux exists but Claude died
90+
- **Town session cycling** - Works from any directory
91+
92+
#### Polecat & Crew
93+
- **Nuke not blocked by stale hooks** - Closed beads don't prevent cleanup (gt-jc7bq)
94+
- **Crew stop dry-run support** - Preview cleanup before executing (gt-kjcx4)
95+
- **Crew defaults to --all** - `gt crew start <rig>` starts all crew (gt-s8mpt)
96+
- **Polecat cleanup handlers** - `gt witness process` invokes handlers (gt-h3gzj)
97+
98+
#### Daemon & Configuration
99+
- **Create mayor/daemon.json** - `gt start` and `gt doctor --fix` initialize daemon state (#225)
100+
- **Initialize git before beads** - Enable repo fingerprint (#180)
101+
- **Handoff preserves env vars** - Claude Code environment not lost (#216)
102+
- **Agent settings passed correctly** - Witness and daemon respawn use rigPath
103+
- **Log rig discovery errors** - Don't silently swallow (gt-rsnj9)
104+
105+
#### Refinery & Merge Queue
106+
- **Use rig's default_branch** - Not hardcoded 'main'
107+
- **MERGE_FAILED sent to Witness** - Proper failure notification
108+
- **Removed BranchPushedToRemote checks** - Local-only workflow support (gt-dymy5)
109+
110+
#### Misc Fixes
111+
- **BeadsSetupRedirect preserves tracked files** - Don't clobber existing files (gt-fj0ol)
112+
- **PATH export in hooks** - Ensure commands find binaries
113+
- **Replace panic with fallback** - ID generation gracefully degrades (#213)
114+
- **Removed duplicate WorktreeAddFromRef** - Code cleanup
115+
- **Town root beads for Deacon** - Use correct beads location (gt-sstg)
116+
117+
### Refactored
118+
119+
- **AgentStateManager pattern** - Shared state management extracted (gt-gaw8e)
120+
- **CleanupStatus type** - Replace raw strings (gt-77gq7)
121+
- **ExecWithOutput utility** - Common command execution (gt-vurfr)
122+
- **runBdCommand helper** - DRY mail package (gt-8i6bg)
123+
- **Config expansion helper** - Generic DRY config (gt-i85sg)
124+
125+
### Documentation
126+
127+
- **Property layers guide** - Implementation documentation
128+
- **Worktree architecture** - Clarified beads routing
129+
- **Agent config** - Onboarding docs mention --agent overrides
130+
- **Polecat Operations section** - Added to Mayor docs (#140)
131+
132+
### Contributors
133+
134+
Thanks to all contributors for this release:
135+
- @julianknutsen - Claude settings inheritance (#239)
136+
- @joshuavial - Sling wisp JSON parse (#238)
137+
- @michaellady - Unified beads redirect (#222), daemon.json fix (#225)
138+
- @greghughespdx - PATH in hooks fix (#139)
139+
10140
## [0.2.1] - 2026-01-05
11141

12142
Bug fixes, security hardening, and new `gt config` command.

internal/cmd/version.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ import (
1111

1212
// Version information - set at build time via ldflags
1313
var (
14-
Version = "0.2.1"
14+
Version = "0.2.2"
1515
// Build can be set via ldflags at compile time
1616
Build = "dev"
1717
// Commit and Branch - the git revision the binary was built from (optional ldflag)

npm-package/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@gastown/gt",
3-
"version": "0.2.1",
3+
"version": "0.2.2",
44
"description": "Gas Town CLI - multi-agent workspace manager with native binary support",
55
"main": "bin/gt.js",
66
"bin": {

0 commit comments

Comments
 (0)