Gas Town v0.13.0
Pre-compiled binaries for Linux, macOS (Intel & Apple Silicon), and Windows.
Installation
Homebrew (macOS/Linux):
brew install gastownnpm (Node.js):
npm install -g @gastown/gtManual Install:
Download the appropriate binary for your platform below, extract it, and place it in your PATH.
Changelog
Features
- 6a4d74f Merge PR #2916: feat: add gt wl show command (#2792)
- 801af44 Merge PR #2986: feat: unique polecat names across rigs via global namepool (gas-21k)
- 198f0fd Merge PR #3011: feat(refinery): add auto_push config to control post-merge push
- 25db729 feat(config): add list subcommand to default-agent
- 8533f2a feat(convoy): add gt convoy watch/unwatch for completion notifications (GH#gt-12o)
- b4fe4f7 feat(daemon): add disabled_patrols town setting to disable patrols without editing daemon.json
- ab940a4 feat(doctor): add overlay health check
- c171a39 feat(feed): add merge queue panel to convoy view (gt-et9)
- b9978fb feat(formula): add mol-pr-feedback-patrol formula (fix-merge PR #3261)
- 4ddf5c4 feat(formula): implement overlay loader and applier (gt-3kg.2)
- a461142 feat(handoff): prompt user before restarting session (gas-6z0)
- 13328c0 feat(prime): add formula overlay support
- e7e646a feat(prime): add role directives output to prime
- b06cad5 feat(refinery): add auto_push config to control post-merge push
- 9ae750d feat(refinery): add post-squash gate phase for pre-push validation
- ba96fa0 feat(rig): support local bootstrap via file URLs (#3325)
- 9298634 feat(wasteland): add charsheet, scorekeeper, and stamp loop integration tests
- c66fa5a feat(wasteland): add gt wl stamp and gt wl stamps commands for HOP pilot
- 331e708 feat(wasteland): add pilot_cohort column and endorsement stamp type
- c8d36a7 feat: add /done slash command and polecat Stop hook safety net (gas-lob)
- 394d8df feat: add CLI commands for directives and overlays (gt-3kg.5)
- 848fe20 feat: add gate bead instruction template and GitHub API client (fix-merge PR #3311)
- 2006f43 feat: add gt changelog command with tests (gt-5jf) (#2971)
- 30c243c feat: add gt wl show command (#2792)
- 289ab47 feat: auto-assign unique namepool themes across rigs (gas-21k)
- 4fb0840 feat: checkpoint_dog — periodic WIP auto-commit for polecat worktrees (gt-0syu)
- a5649fd feat: configurable window tint (window-style) theming
- b0ee986 feat: gt mq submit enforces molecule step dependencies (gt-gtw)
- 447d0c2 feat: gt patrol scan — detect zombie/stalled polecats via CLI (gas-esd)
- 066f2a8 feat: gt up detects and recovers orphaned hooked beads after crash (gas-udp)
- a26b020 feat: implement directive loader (LoadRoleDirective) (gt-3kg.1)
- ae83235 feat: make tmux theming configurable with resolver (GAS-jaid)
- 865a8c9 feat: merge PR #3047 — lifecycle defaults test + dolt-backup/archive fixes + test runner patrol
- 45192a6 feat: support .no-sync marker file to skip databases during sync (#3128)
- 8fea7b8 feat: wire judgment_enabled and review_depth from rig config to refinery patrol
Bug Fixes
- 38d38ac Merge PR #2893: fix: skip zombie detection for done/nuked polecats (#2795)
- 8b85172 Merge PR #2894: fix: dogs get retry + startup fallback in gt prime
- 574a31d Merge PR #2895: fix: mail router missing --flat for bd list JSON output
- ea19f41 Merge PR #2899: fix: filter git worktrees from agent bead identity scans (#2767)
- d3b3544 Merge PR #2900: fix: disable dolt_transaction_commit to prevent read-only commit storm (#2685)
- f545cf5 Merge PR #2901: fix: skip crash detection for done/nuked polecats (#2795)
- adb601c Merge PR #2903: fix: set cmd.Dir on all dolt sql invocations to prevent stray .doltcfg (#2537)
- a8a347d Merge PR #2904: fix: daemon restart uses resolved agent instead of hardcoded claude (#2417)
- bdb5223 Merge PR #2905: fix: skip VerifyPersistence test on Windows (#2831)
- 073330f Merge PR #2906: fix: refinery checks no_merge flag before merging
- 897cfd4 Merge PR #2907: fix: prevent daemon restart during gt down shutdown
- c07ad5b Merge PR #2909: fix: reaper reads GT_DOLT_HOST/GT_DOLT_PORT env vars
- 901b7ca Merge PR #2910: fix: move run_tests skip check to top of formula step
- 084dd86 Merge PR #2911: fix: set cmd.Dir on all dolt CLI invocations to prevent stray .doltcfg (#2537)
- c6d6fcd Merge PR #2912: fix: clean dirty worktree before polecat reuse (#2536)
- 8af5072 Merge PR #2913: fix: remove legacy 'gt' database from reaper fallback list (#2385)
- a6b01a4 Merge PR #2915: fix: refinery closes task beads after successful merge (#2321)
- 25ff5af Merge PR #2919: fix(deps): update go x/ packages
- 765a474 Merge PR #2923: fix: start Codex nudge poller without cancel hook
- 4cfb957 Merge PR #2926: fix(dolt): kill unowned port squatters on Start
- 7041a76 Merge PR #2929: fix: compactor integrity check fails on concurrent writes
- eec4799 Merge PR #2932: fix: bump compactor-dog default threshold from 500 to 2000
- b08f695 Merge PR #2934: fix: filter refinery MR listings by rig (cross-rig contamination)
- 7c027a0 Merge PR #2935: fix: add missing Handler patrol to lifecycle defaults test
- 3e8fc2f Merge PR #2937: fix: include dogs in findAgentWork startup retry loop
- 3ccb242 Merge PR #2938: fix: suppress Dolt auto-start for Gas Town agents
- f5ef5f9 Merge PR #2939: fix(prime): replace nonexistent /ralph-loop with inline instructions
- f51cfa6 Merge PR #2942: fix(tests): stabilize flaky and stale test assertions
- 4d45459 Merge PR #2953: fix(prime): remind polecats about gt done after compaction
- 2c3b4c0 Merge PR #2955: fix(mail): drain crashed polecat notifications
- f8fe68f Merge PR #2959: fix: scan dolt_rebase.rebase_order as string to handle DECIMAL type
- 3c1d752 Merge PR #2962: fix(tests): prevent Windows pipe deadlock in prime_test stdout capture
- 89509e3 Merge PR #2964: fix(convoy): add --allow-stale to bdDepListTracked
- 6f577b0 Merge PR #2965: fix: use --no-history instead of --ephemeral for agent identity beads
- e057c47 Merge PR #2979: fix(test): explicit Dolt server shutdown in TestSyncDatabases_FilterSkipsOthers (gas-8uw)
- c512115 Merge PR #2980: fix(rig): scaffold default_agent config dir on gt rig add
- b58344c Merge PR #2991: fix: align deacon heartbeat JSON field name in dashboard fetcher (#2989)
- bcfd298 Merge PR #2996: fix: gt upgrade repairs missing identity beads (GH #2766)
- da2e215 Merge PR #2997: fix: skip ACP/cleanup tests on Windows (GH #2716)
- 677cbb8 Merge PR #3002: fix(doctor): route misclassified wisp fixes by workdir
- 1ba6425 Merge PR #3005: fix(dolt): increase SIGTERM→SIGKILL timeout from 5s to 30s
- 3c0d94f Merge PR #3007: fix: resolve rig directory for epic children SQL query (gas-v80)
- 2139c23 Merge PR #3008: fix: respect CLAUDE_CONFIG_DIR in gt costs transcript lookup
- e9ee6ab Merge PR #3016: fix: pass BEADS_DOLT_SERVER_DATABASE when invoking bd subprocesses
- 51cc19e fix(beads): validate all suffix chars in looksLikeBeadID (gt-5dz)
- 76366e8 fix(ci): fix 2 Windows-specific test failures (#3103)
- 0efe86b fix(ci): repair 5 pre-existing test failures blocking all PRs (#3096)
- 9010b0a fix(codex): wait for idle before draining queued nudges
- 1faf78e fix(config): apply --settings flag for Claude agents launched with --agent override (#3153)
- d136c79 fix(config): dog sessions inherit env vars from base claude agent (#3012) (#3098)
- 361a7b7 fix(config): update Copilot CLI preset for GA release (Feb 2026) (#3078)
- 5b8b0a6 fix(config): wire up Provider and preset defaults for custom agents
- 1da3ed6 fix(convoy): add --allow-stale to bdDepListTracked to prevent flaky CI
- a328f42 fix(convoy): stranded scan now checks completion instead of logging
- 5732af0 fix(convoy): use Unix epoch instead of zero time for initial event poll
- 8319e63 fix(crew): add explicit guidance that PR reviews are report-back, not post-to-GitHub
- 7e152f3 fix(daemon): clear agent identity env vars at startup
- 2d16602 fix(daemon): clear agent identity env vars at startup (#3006)
- e3b728f fix(daemon): gate dolt-backup patrol behind darwin check
- b26faad fix(deps): update go x/ packages
- b9875f1 fix(deps): update module github.com/steveyegge/beads to v0.62.0
- 036bb35 fix(deps): update testcontainers-go monorepo to v0.41.0 (#2921)
- 55df0f7 fix(doctor): add stale sql-server.info check + fix stamp test races (from PR #3129)
- e27a6a8 fix(doctor): avoid slow filepath.Walk on Docker bind mounts
- b01e89d fix(doctor): detect and repair relocated worktree gitdir paths
- ed62422 fix(doctor): extend hooks-sync check to detect stale gemini settings files
- b3b16f1 fix(doctor): extend hooks-sync check to detect stale gemini settings files
- 75e9783 fix(doctor): route misclassified wisp fixes by workdir
- bbedeb5 fix(doctor): use town-root routing when fixing agent beads (#3087) (#3099)
- 15d5d5e fix(dog): auto-clear hung dogs and orphan sessions in health checker
- c7b3f8d fix(dolt): allow hyphens in validDBName regex (GAS-zb8) (#3053)
- 5f8161d fix(dolt): increase SIGTERM→SIGKILL timeout from 5s to 30s
- e36bad5 fix(dolt): kill unowned port squatters when Start finds port occupied
- 7bb8bd8 fix(doltserver): fix thundering herd in doltserver.Start() (gt-nkn)
- 66e1adb fix(doltserver): fix timing race and lsof dependency in dolt startup (#2970)
- fd6327c fix(done): auto-commit uncommitted work as safety net (gt-pvx) (#3172)
- 251267b fix(down): parallelize crew and polecat shutdown (gt-3w9)
- 659693b fix(down): stop crew member sessions during gt down (gt-hyg)
- 2ec35b3 fix(escalate): filter phantom entries in gt escalate list after Dolt death
- 85816bc fix(formula): correct compactor database name defaults
- 86a6787 fix(formula): remove go test default from mol-refinery-patrol test_command (#3113)
- 802ef84 fix(formula): resolve refinery agent bead ID dynamically
- a407ccb fix(guard): block polecats from pushing directly to main
- 45acb65 fix(hooks): JSON-escape GT_BIN path in JSON templates on Windows
- 351ed00 fix(lint): mark unused receipts param in outputPatrolScanHuman
- 5a18dc6 fix(lint): remove unused hooksDir param from writeTemplate
- f814470 fix(lint): remove unused params in stopAllCrew and runScorekeeperWithStore
- c2c8493 fix(mail): drain crashed polecat notifications (gt-84d)
- 32774ee fix(mail): fall back to explicit agent workspaces
- 3b9b55d fix(mail): prefer GT_TOWN_ROOT env var for town root detection
- 6817299 fix(mol): cap backoff before overflow in await-event and await-signal
- f981ad1 fix(nudge): add flock-based cross-process lock to prevent interleaved delivery (gt-6ywt)
- 4d63c18 fix(plugins): auto-discover databases instead of hardcoded list
- 6cd7d34 fix(plugins): use $HOME/gt as GT_ROOT fallback in dolt-backup (gt-l510)
- fc4feb8 fix(plugins): use --host= syntax for dolt 1.83+ compatibility
- 91fd450 fix(polecat): append lifecycle instructions to existing CLAUDE.md
- 5688be3 fix(polecat): provision CLAUDE.md in worktree so polecats know to call gt done
- afd703b fix(polecat): provision CLAUDE.md on ALL spawn paths including reuse
- e17c468 fix(polecat): use IsIdle instead of IsAtPrompt in startup nudge verify (gt-1mk)
- 7234027 fix(polecat): wire operational config into startup nudge verify loop (#3031) (#3100)
- d08547e fix(prime): add gt done reminder to AUTONOMOUS WORK MODE directive
- 969083b fix(prime): add gt done reminder to compact/resume and strengthen startup instruction
- f96cd14 fix(prime): replace nonexistent /ralph-loop slash command with inline instructions
- c3f0936 fix(reaper): DiscoverDatabases returns error instead of hardcoded fallback (#3013) (#3101)
- 95c8b10 fix(reaper): close plugin dispatch mails in hourly reaper sweep (gt-qfq)
- a4fc5f8 fix(reaper): register --port flag on databases subcommand (#2958)
- 30839a1 fix(refinery): supersede MR on same-branch re-submission with new commits (GH#3032)
- 176c3ec fix(refinery): use commit SHA instead of branch name for MR dedup (gt-8qw)
- 71c544b fix(rig): scaffold default_agent config dir on gt rig add (gt-vdx)
- 81e53cb fix(runtime): resolve wrapped agents and track refinery pid (#3326)
- 9a2df76 fix(security): enforce full suffix validation in looksLikeBeadID (GH#3110)
- 6e46de6 fix(security): sanitize --subject/--args before NudgePane injection (gt-sec-002)
- decfc09 fix(security): use bead ID as formula variable instead of user title (gt-sec-001)
- 8287afd fix(sling): add --review-only flag to prevent assignee merging (gt-2vo)
- 2eabd12 fix(sling): kill session unconditionally when reusing idle polecat
- 35005ba fix(sling): serialize concurrent hook writes with per-assignee flock (#3114)
- f6108ac fix(sling): serialize concurrent hook writes with per-assignee flock (gt-ffg)
- 5a81402 fix(test): add sleep to TestSchedulerMultiRigConvoyAutoResolve for bd stale check
- 32f8c34 fix(test): bump scheduler test sleep to 2s for Dolt import cycle
- 80dd0fa fix(test): refactor outputRoleDirectives to accept io.Writer, eliminating data race
- 5c8b864 fix(test): remove t.Parallel() from TestValidateStampInputs to fix data race
- 48ecea9 fix(test): remove t.Parallel() from TestValidateStampInputs_* to fix data race
- d66e283 fix(test): stabilize TestSchedulerDirectConvoyDispatch timing race
- 853cc8e fix(test): update github-sheriff cooldown expectation from 5m to 2h
- 512d32e fix(test): use retry cleanup for TempDir in sync filter tests (gas-8uw)
- 1ca8703 fix(tests): add CLAUDE.md to polecat worktree allowlists
- bb797cd fix(tests): prevent Windows pipe deadlock in prime_test stdout capture
- 4c6fd7f fix(tests): skip process group tests on Windows
- 64b2b6f fix(tests): stabilize flaky and stale test assertions
- 998ddc0 fix(tests): update bd mock scripts to expect --allow-stale in dep list
- 853f9e9 fix(tmux): detect and dismiss Claude Code Rewind menu in nudge delivery (gt-8el)
- 7db1d44 fix(tmux): replace timing-based Enter delivery with verification-based retry (gt-0b5)
- 0dd1eae fix(tmux): restore per-town socket isolation reverted by 7ea8586
- 3b4460b fix(tmux): use terminal defaults for Mayor theme
- 16cc705 fix(vitals): distinguish sibling Gas Town instances from test zombies
- 76a06b1 fix(web): add circuit breaker to FetchConvoys and cache expanded views (gt-8ki)
- c74602b fix(wl): add atomic counter to generateStampID for Windows timer resolution (GH#3104)
- d5eb0c5 fix(wl): atomic counter in generateStampID fixes Windows flakiness
- 28a6f61 fix(wl): drop unused townRoot param from runScorekeeperWithStore (unparam)
- e9d432e fix: GetRigLED checks operational state before session state (#2841)
- dfeade1 fix: MeasureQueryLatency uses config host instead of hardcoded 127.0.0.1 (#3319)
- 96b72f7 fix: add --flat to bd list --json calls to guarantee JSON output (#2499)
- e469f3c fix: add CLAUDE.local.md to gitignore patterns (fix-merge PR #3275)
- 4bdfd63 fix: add ResolveCurrentSession and improve signalAgentReady (cherry-pick from #3154)
- 0fa7fe9 fix: add missing Handler patrol to FullyConfigured lifecycle test
- a84977c fix: add named Dolt docker volume to avoid journal corruption on macOS (fix-merge PR #3259)
- c900b49 fix: add response cache to dashboard to prevent bd process storms (#2618)
- c46dbba fix: align deacon heartbeat JSON field name in dashboard fetcher (#2989)
- ba639cd fix: also strip inherited BEADS_DB env in subprocess helpers
- b0bb4ee fix: beads v0.61 upgrade + plugin GT_ROOT fixes + remove pane background
- 1271926 fix: bump compactor-dog default threshold from 500 to 2000
- 25d18f1 fix: clean dirty worktree before polecat reuse to prevent checkout failures (#2536)
- d9a3b94 fix: clean up stale shutdown sentinel when PID is dead (gas-jsrl)
- bc0131c fix: compactor integrity check fails on concurrent writes
- 7cda0bd fix: compactor-dog log output to prevent dog agent over-escalation (#3061)
- e7c7aae fix: compactor-dog nothing-to-commit dead code + --set-upstream push (#3035)
- adacea3 fix: convert dolt-backup to deterministic run.sh (stop false escalations)
- 0e964b2 fix: convoy create/add use town root for cross-rig dep routing
- de3d6b9 fix: create convoy legs in target rig beads, not HQ (gt-d5w) (#3209)
- 05ca00d fix: custom agents inherit Session/Tmux from preset + rig add/adopt fail-fast on identity beads
- fb06bbc fix: daemon restart uses resolved agent instead of hardcoded claude (#2417)
- cd59da7 fix: disable dolt_transaction_commit to prevent read-only commit storm
- 32f4c55 fix: dogs get retry + startup fallback in gt prime (GH#2748)
- 33c163c fix: dolt-archive grep -v exits 1 under pipefail when no remotes configured
- 6aeb10a fix: dolt-archive pruning crash + auto-discover databases
- b58cc12 fix: escape backslashes in mol-refinery-patrol.formula.toml sed pattern (gas-csr) (#3044)
- 46b4a7f fix: filter git worktrees from agent bead identity scans (#2767)
- fcd42a4 fix: filter refinery MR listings by rig to prevent cross-rig contamination
- c502fb8 fix: formatPeriod returns Week of on Mondays instead of Today
- 6b6aadf fix: gt costs returns $0 when CLAUDE_CONFIG_DIR diverges from HOME
- 0e6d7c9 fix: gt doctor detects and cleans stale sql-server.info files (#2865)
- 00f7721 fix: gt done falls back to fork+PR when origin push is denied
- d4588ae fix: gt polecat list shows idle for actively working polecats (gas-8e3)
- a24a26a fix: gt upgrade repairs missing identity beads (GH #2766)
- f4404d1 fix: guard sha[:8] slice and skip .claude/ paths in submodule handling (gt-dg7)
- f63c199 fix: harden fork+PR fallback in gt done
- 4c0f227 fix: implement Dolt failover/failback for multi-host setups (#2886)
- 43434f2 fix: include dogs in findAgentWork startup retry loop (#2748)
- 7336013 fix: inject merge_strategy from rig settings into formula vars (fix-merge PR #3277)
- 2b51d0d fix: mail router missing --flat injection for bd list JSON (GH#2746)
- fe11b9e fix: make hooks sync support non-Claude agents
- 63c1c8e fix: move run_tests skip check to top of formula step (#2603)
- 3506f11 fix: no_merge ProcessResult sends spurious MERGE_FAILED nudges (gas-rn0n)
- 44fedf1 fix: pass --branch to bare clone in gt rig add
- c01869d fix: pass BEADS_DOLT_SERVER_DATABASE when invoking bd subprocesses
- d487de0 fix: patrol molecules use TownRoot instead of rig WorkDir
- cc666b5 fix: prevent cross-town orphan cleanup from killing agents on other towns' sockets (GH#3192)
- 9135939 fix: prevent daemon restart during gt down shutdown (#2656)
- f786e00 fix: prevent duplicate Mayor spawns during gt up (gt-7m8)
- 5eedf1b fix: prevent slice panics on abbreviated SHA hashes (fix-merge PR #3281)
- 32507e2 fix: propagate BEADS_DOLT_SERVER_HOST so bd doesn't default to localhost
- 20f42e0 fix: propagate base_branch to MR target in gt done and gt mq submit
- 760a2d8 fix: push polecat branch before signaling completion — prevent work loss (gas-556) (#3203)
- bd6dce1 fix: re-apply atomic counter in generateStampID for Windows CI
- 6acbca8 fix: reaper reads GT_DOLT_HOST/GT_DOLT_PORT env vars (#2601)
- 5fd8db8 fix: refinery PR mode must wait for CI and merge before sending MERGED
- d18d8a4 fix: refinery calls HandleMRInfoSuccess after merge to close task beads (#2321)
- 3418ee1 fix: refinery checks no_merge flag before merging (#2778)
- 3ba13db fix: refresh agents/feed bindings when rig prefix pattern is stale (#3306)
- 40b4683 fix: remove --no-history flag and other plugin fixes (#3027)
- 36fb1ec fix: remove legacy 'gt' database from reaper fallback list (#2385)
- a26928d fix: remove session-hygiene plugin (killed crew sessions 3 times)
- 7267259 fix: repair PROJECT IDENTITY MISMATCH after crash or rig addition (gas-tc4)
- be931ad fix: repair PROJECT IDENTITY MISMATCH after crash or rig addition (gas-tc4)
- 1427d3c fix: replace bd agent state with bd set-state (bd 0.62.0+) (#3283)
- c2d8df6 fix: replace nonexistent bd wisp create with bd create --wisp-type
- 1fddedb fix: resolve prefix-to-rig mapping in doctor checks (gt-2n28)
- a731d56 fix: resolve rig directory for epic children SQL query + suppress unparam lint
- 2009d3e fix: respect global default agent when starting dogs (#2882)
- 8674537 fix: retry Dolt testcontainer on transient reaper 'removing' status (gas-5i9)
- 1836f87 fix: rig add help text uses underscores instead of hyphens (#2769)
- 25b7c54 fix: scan dolt_rebase.rebase_order as string to handle DECIMAL type
- 0c753d1 fix: set cmd.Dir in doltserver.Start() to prevent wrong-CWD server launches (#3029)
- ad279b1 fix: set cmd.Dir on all dolt CLI invocations to prevent stray .doltcfg (#2537)
- 09b4891 fix: set cmd.Dir on all dolt sql invocations to prevent stray .doltcfg (#2537)
- 50018cc fix: skip ACP/cleanup tests on Windows (GH #2716)
- 252afed fix: skip VerifyPersistence test on Windows — uses Unix shell mock (#2831)
- ffa1e6a fix: skip crash alerts for done/nuked polecats (PR #2798)
- c9e5465 fix: skip crash detection for done/nuked polecats (#2795)
- 7f9b863 fix: skip zombie detection for done/nuked polecats with dead sessions
- b794ca9 fix: sling --dry-run detects tmux session collision before spawn (#2880)
- e6e0e87 fix: start Codex nudge poller without cancel hook
- 5a2240a fix: strip --allow-stale in runBdJSON when bd doesn't support it (#3050)
- a5d67c8 fix: suppress Dolt auto-start for Gas Town agents (dogs)
- e58ac46 fix: sync agent_state between column and description on state transitions
- d58e9b0 fix: two recurring operational bugs
- d1e75eb fix: update cost tier test fixtures for boot/dog roles
- 9f5a5c9 fix: upgrade gt wl show with structured parsing, tests, and auto-fetch (#2792)
- a401a59 fix: use --no-history instead of --ephemeral for agent identity beads
- 34873e7 fix: use raw SQL for cross-database dependency lookups (#2832)
- 2593498 fix: use underscores in beads_prefix comment to match validation rules
- fb9a952 fix: validate git URL before crew clone (#2545)
- a7e81a8 fix: witness buildWitnessStartCommand had same non-Claude agent bug as daemon
- 56cc1d5 fix: workspace.Find returns outermost workspace for nested workspaces
- 60e9bb6 fix: write polecat context to CLAUDE.local.md, not tracked CLAUDE.md (#3305)
Others
- d4ce2f3 Add boot and dog to cost tier system
- 738f704 Add memory system guidance to mayor template and townroot CLAUDE.md
- 205fe1d Fix convoy close dedup after reopen
- 3347a5b Mayor priming: make file-and-sling the default, not direct fixing
- b6af52b Merge PR #2917: chore(deps): update golangci-lint to v2.11.3
- 54339a3 Merge PR #2950: diag(test): add logging to flaky TestAutoRespawnHook_RespawnWorks
- cfaae21 Merge PR #2988: test(daemon): add regression test for GH #2417 non-Claude agent bypass
- a406f54 Merge PR #3010: Add boot and dog to cost tier system
- 9cdd31f Release v0.13.0
- 18e0003 build(deps): bump fast-xml-parser
- 8255040 build(deps): bump fast-xml-parser
- 7f498de build(deps): bump google.golang.org/grpc
- 2bb0740 chore(deps): update dependency golangci/golangci-lint to v2.11.3
- 9c7c61d chore(deps): update dependency promptfoo to v0.121.2 (#2918)
- cb24c5b chore(deps): update github actions
- b0752d8 diag(test): add diagnostic logging to TestAutoRespawnHook_RespawnWorks
- 12999c9 docs(crew): recommend ephemeral beads for dispatch/orchestration work
- 70af0aa docs(security): document dispatch security standard at StartSession
- dba0f73 docs(security): formula variable security principle (gt-sec-001)
- efe1b66 doctor/rig-config-sync: use rig name (not prefix) as expected DB name (#3060)
- 1b27cef doltserver: scale startup timeout by database count (5s per DB) (#3059)
- dcc2f46 fix(dolt-archive): replace mapfile with bash 3.2-compatible while-read
- 4c5f269 fix(dolt-archive): replace mapfile with while-read for bash 3.2 compat
- b685290 fix(dolt-archive): replace read -ra with while-read for multi-db discovery
- e297e73 fix(dolt-backup): replace mapfile with bash 3.2-compatible while-read loop
- bf2b516 fix(dolt-backup): update PROD_DBS to actual production databases
- b779697 fix(hooks-sync): resolve role agent preset without binary validation
- 4f523f1 fix(stuck-agent-dog): skip done/nuked polecats in crash detection (gt-y16j)
- ebc0169 reaper: suppress dolt_commit_failed anomaly for 'nothing to commit' (#3072)
- 2b8800b refactor: add test coverage for tmux socket isolation
- 00ed279 refactor: eliminate duplicated lookup and close pipelines
- 927c935 revert: remove all DreadPirateRobertz contributions from this session
- c18f3f3 test(daemon): add regression test for GH #2417 non-Claude agent bypass
- 7eee15b test(hooks): fix Windows-specific installer test failures
- 55ea74e test(tmux): add unit test for adaptiveTextDelay scaling (gt-0b5)