@@ -7,6 +7,180 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
77
88## [ Unreleased]
99
10+ ## [ 0.6.0] - 2026-02-14
11+
12+ Stable Dolt Gas Town — the multi-agent coordination engine running on Dolt-backed beads.
13+
14+ ### Added
15+
16+ #### Dolt Backend Integration
17+ - ** ` gt dolt ` command** - Server management, health status, migration, and rollback
18+ - ** ` gt dolt migrate ` ** - Orchestrated SQLite-to-Dolt migration with ` --dry-run ` support
19+ - ** ` gt dolt rollback ` ** - Restore from migration backups
20+ - ** Branch-per-polecat write isolation** - Each polecat gets its own Dolt branch to prevent lock contention
21+ - ** Dolt server health monitoring** - Daemon checks latency, connections, and disk usage (30s intervals)
22+ - ** Proactive Dolt alerting** - Daemon alerts mayor and witnesses on crash-loops or unhealthy state
23+ - ** Max-connections admission control** - Prevent connection storms during batch sling
24+ - ** Dolt-only guardrails** - Prevent SQLite from sneaking back into the codebase
25+ - ** Migration readiness doctor checks** - Pre-flight validation for Dolt migration
26+
27+ #### Dashboard Overhaul
28+ - ** Server-Sent Events (SSE)** - Real-time dashboard updates replacing 10s polling
29+ - ** Interactive command palette** - Autocomplete, recent history, and contextual suggestions
30+ - ** Mail compose from dashboard** - Send mail directly from the web UI
31+ - ** Issue management actions** - Work panel detail view with sling buttons
32+ - ** Convoy drill-down** - Tracked issues and completion counts
33+ - ** Per-rig health dashboard** - Drill-down views for individual rigs
34+ - ** Rich activity timeline** - Filtering and search across agent events
35+ - ** Agent terminal preview** - Sessions panel shows live terminal state
36+ - ** Toast notifications** - Escalation actions with visual feedback
37+ - ** Crew vs polecat distinction** - Workers panel differentiates agent types
38+
39+ #### Hook Management System
40+ - ** ` gt hooks sync ` ** - Centralized hook management with diff and merge
41+ - ** ` gt hooks list ` ** - View installed hooks across rigs
42+ - ** ` gt hooks init ` ** - Initialize hooks for a rig
43+ - ** Per-matcher merge logic** - Granular hook configuration
44+ - ** Integration with ` gt rig add ` and ` gt doctor ` ** - Auto-install and validation
45+
46+ #### Wisp Lifecycle
47+ - ** ` gt compact ` command** - TTL-based wisp compaction
48+ - ** Key Record Chronicle (KRC)** - Forensic value decay model with auto-prune scheduling
49+ - ** ` bd promote ` integration** - Promote wisps to persistent beads
50+ - ** Role bead TTL overrides** - Per-role compaction rules
51+ - ** Wisp type tagging** - ` wisp_type=patrol ` , ` gc_report ` for structured lifecycle
52+
53+ #### Agent & Coordination
54+ - ** Agent-agnostic command provisioning** - Support for OpenCode, Cursor, Augment, and others
55+ - ** Dog system** - ` gt dog done ` , delayed dispatch, session management templates
56+ - ** ` gt warrant ` command** - File-based warrant management
57+ - ** Fan-out/gather pattern** - Parallel steps in molecule formulas
58+ - ** ` gt mol dag ` ** - DAG visualization for molecules
59+ - ** ` --stdin ` flags** - Shell-quoting-safe input for ` gt nudge ` , ` gt mail send ` , ` gt sling ` , ` gt handoff ` , ` gt escalate `
60+ - ** ` gt hook clear ` ** - Alias for ` gt unhook `
61+ - ** Convoy hooking** - Complete implementation for hooking convoy work
62+
63+ #### Doctor & Diagnostics
64+ - ** Streaming output** - Real-time check progress display
65+ - ** ` --slow ` flag** - Highlight slow checks
66+ - ** Database prefix check** - Detect rig config mismatches
67+ - ** Stale agent beads check** - Detect beads for removed crew
68+ - ** Migration readiness checks** - SQLite-to-Dolt pre-flight validation
69+ - ** Beads-sync worktree health** - Validate worktree sync state
70+
71+ #### Infrastructure
72+ - ** ` gt rig settings ` ** - Per-rig configuration management
73+ - ** ` gt rig --adopt ` ** - Register existing directories as rigs
74+ - ** ` GT_COMMAND ` env var** - Configurable CLI name
75+ - ** ` GIT_CEILING_DIRECTORIES ` ** - Prevent umbrella commits across rigs
76+ - ** Dark mode CLI theme** - ` gt theme ` support
77+ - ** Clipboard integration** - tmux clipboard in mayor sessions
78+ - ** ` --no-merge ` sling flag** - Skip merge queue when needed
79+ - ** Trail hook activity** - Real event tracing from events log
80+ - ** Help ` --long ` descriptions** - Added to 12 gt commands
81+
82+ ### Fixed
83+
84+ #### Concurrency & Race Conditions
85+ - ** NotificationManager thread safety** - Added mutex protection
86+ - ** TOCTOU race in Dolt server startup** - Atomic initialization
87+ - ** TOCTOU race in FindOrCreateRigBeadsDir** - Safe directory creation
88+ - ** Polecat spawn race** - Deferred session start prevents premature nudge
89+ - ** Zombie detection race** - SessionRecreated guard prevents killing newly-spawned polecats
90+ - ** Post-claim verification** - Prevents double-processing in merge queue
91+ - ** Sling description read-modify-write race** - Eliminated concurrent mutation
92+ - ** Agent bead read-modify-write race** - Audit log path and redirect safety
93+ - ** Polecat Manager and Dog Manager** - Added concurrency protection
94+ - ** EnsureMetadata file locking** - Prevents read-modify-write race
95+ - ** Concurrent sling protection** - Prevents orphaned hooked work
96+
97+ #### Agent Lifecycle
98+ - ** Zombie polecat detection** - Proactive detection in witness patrol with dedup
99+ - ** Orphan cleanup** - Scope process cleanup to Gas Town processes only
100+ - ** Polecat list accuracy** - tmux session state prevents false 'done' status
101+ - ** Witness handler error propagation** - HandleMerged returns errors instead of swallowing
102+ - ** Stale session cleanup** - Unified ` isSessionProcessDead ` /` isSessionStale `
103+ - ** Polecat no-work termination** - Empty hook triggers clean termination, not escalation
104+ - ** Self-nuke verification** - Verify remote push + check open MRs before cleanup
105+ - ** RepairWorktree safety** - Clean up polecatDir on agent bead retry failure
106+ - ** Sling rollback** - Rollback on partial failure prevents zombie artifacts
107+
108+ #### Session Stability
109+ - ** Session name parsing** - Support for hyphenated rig names
110+ - ** Handoff race prevention** - Remove KillPaneProcessesExcluding race condition
111+ - ** ` --agent ` override preserved** - Persists across handoff via tmux session env
112+ - ** Deacon idle detection** - Detects stale molecule progress for alive-but-not-patrolling state
113+ - ** Boot ephemeral** - Fresh each tick to prevent stale state
114+ - ** Flock-based locking** - Use flock instead of session check in AcquireLock
115+
116+ #### Cross-Rig & Routing
117+ - ** New rigs share HQ dolt_database** - Cross-database bead visibility
118+ - ** Cross-rig agent bead operations** - Route to correct database
119+ - ** Convoy cross-rig tracking** - Refresh external rig issue status
120+ - ** External issue ID unwrapping** - Handle ` external:prefix:id ` format in convoys
121+
122+ #### Code Review Fixes (17 merged)
123+ - ** Message.Validate()** - Now checks From, Subject, and ID
124+ - ** bd show --json parsing** - Consistent array parsing across commands
125+ - ** findCleanupWisp** - JSON parsing replaces fragile string matching
126+ - ** SetAgentStateWithRetry** - Documented warn-only rationale
127+ - ** DetectZombiePolecats** - Separated empty cleanup_status from clean
128+ - ** Duplicate function consolidation** - isSessionStale delegates to isSessionProcessDead
129+ - ** Dolt server resource monitoring** - Health check includes latency/connections/disk
130+ - ** GetActiveConnectionCount timeout** - 10s timeout prevents hanging polecat spawn
131+ - ** Heartbeat interval** - Dedicated 30s Dolt health check separate from 3min heartbeat
132+ - ** bd daemon git pull recovery** - Auto-stash dirty trees, escalate after 3 failures
133+ - ** gt dolt init** - Detect and repair workspace pointing at nonexistent database
134+
135+ #### Miscellaneous
136+ - ** Atomic file writes** - SaveToFile and WriteRoutes use atomic operations
137+ - ** Mail routing** - Resolve cross-rig agent addresses, handle overseer address
138+ - ** Fan-out delivery** - Collect errors instead of silently losing messages
139+ - ** Message ID uniqueness** - Clear ID on fan-out copies
140+ - ** Daemon git pull** - Auto-stash dirty trees, escalate persistent failures
141+
142+ ### Changed
143+
144+ - ** SQLite removed from gastown** - Scorched-earth removal; Dolt is the only backend
145+ - ** bd daemon code removed** - Gas Town is Dolt-native, no daemon needed
146+ - ** Mayor work philosophy** - Balanced sling-vs-fix guidance replaces "never edit code"
147+ - ** Dolt server mode default** - Server mode is the standard, not embedded
148+ - ** Refinery local branches** - Merges from local branches, no origin fetch
149+ - ** Cost recording decoupled** - From Dolt database for flexibility
150+
151+ ### Removed
152+
153+ - ** BdSemaphore** - Removed concurrent bd process limiter
154+ - ** ` --no-boot ` flag** - Removed from sling
155+ - ** bd sync references** - Gas Town is Dolt-native
156+ - ** SQLite storage** - Fully removed from codebase
157+ - ** Mail check cache** - Removed stale caching
158+
159+ ### Known Limitations
160+
161+ - ** Molecules are beta** - Step ordering and error recovery have known edge cases
162+ - ** Cross-rig dep resolution** - Works via prefix routes but edge cases remain with unregistered rigs
163+ - ** ` bd search ` panic** - joinIter panic on certain queries (upstream Dolt issue, workaround: avoid complex joins)
164+ - ** Wisp accumulation** - Witness patrol wisps can accumulate; use ` gt compact ` periodically
165+
166+ ### Contributors
167+
168+ Thanks to all contributors for this release:
169+ - @KeithWyatt - Refinery stale claim fix (#521 )
170+ - @Henry-E - Molecule step ordering fix (#1376 )
171+ - @peterkc - Dolt gitignore entries (#1714 )
172+ - @corymhall - Convoy stranded detection (#1358 ), bootstrap liveness (#1357 )
173+ - @rod-nxtlevel - Dashboard panels (#1351 , #1353 , #1354 , #1360 -1364)
174+ - @julianknutsen - E2E containerized tests (#1422 )
175+ - @material-lab-io - Session name fix (#1421 )
176+ - @l0g1x - Refinery stability (#1419 )
177+ - @seanbearden - DoltHub auto-create (#1416 ), non-destructive nudge (#1405 )
178+ - @sfncore - TOON format support (#1407 )
179+ - @joshuavial - Submodule support (#1237 )
180+ - @jason-curtis - Arbitrary tmux sessions (#1242 )
181+ - @xcawolfe-amzn - Kiro CLI (#1278 )
182+ - And many more community contributors
183+
10184## [ 0.5.0] - 2026-01-22
11185
12186### Added
0 commit comments