@@ -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
12142Bug fixes, security hardening, and new ` gt config ` command.
0 commit comments