github gastownhall/gastown v0.9.0

latest releases: v1.2.1, v1.2.0, v1.1.0...
3 months ago

Gas Town v0.9.0

Pre-compiled binaries for Linux, macOS (Intel & Apple Silicon), and Windows.

Installation

Homebrew (macOS/Linux):

brew install gastown

npm (Node.js):

npm install -g @gastown/gt

Manual Install:
Download the appropriate binary for your platform below, extract it, and place it in your PATH.

Changelog

Features

  • 0d264b2 Merge PR #2019: feat(doctor): make env-vars check auto-fixable via gt doctor --fix
  • a6829ee Merge: feat: add automated response actions to doctor dog health monitor (gt-nek89)
  • 21e2b72 feat(cli): show did-you-mean suggestions for unknown subcommands
  • 355f011 feat(cmd): write telemetry and cost logs to GT_HOME/.gt when set
  • 85887e8 feat(compactor): add Compactor Dog for daily Dolt commit history flattening
  • c13cc27 feat(compactor): enable compactor dog with configurable threshold (gt-l8dc)
  • 0611a69 feat(compactor): move dolt gc from Doctor Dog to Compactor Dog (gt-emm4)
  • 7342fcd feat(convoy): add merge-blocks dependency type for post-merge gating (#1893)
  • e060349 feat(crew): per-worker agent selection via worker_agents config (GH#2175)
  • 289a94a feat(daemon): JSONL git backup Dog patrol
  • fcad605 feat(daemon): add gt daemon clear-backoff command
  • 739a36b feat(daemon): add janitor dog formula for test server cleanup (gt-8xgm)
  • 3243d68 feat(daemon): add log rotation for daemon and Dolt server logs (gt-9w0d)
  • af4e172 feat(daemon): add orphan DB and backup freshness health checks (hq-rjh)
  • 419f90a feat(daemon): add wisp reaper Dog patrol for automated wisp GC (hq-j42)
  • 7def59f feat(daemon): expand JSONL backup to all core tables (hq-u6t)
  • 370493a feat(daemon): wire dolt backup sync into daemon ticker
  • 25d1b39 feat(doctor): add --no-start flag to suppress daemon startup during --fix
  • b87b3f6 feat(doctor): add --no-start flag to suppress daemon startup during --fix
  • f50d023 feat(doctor): add Option B throttling for mol-dog-doctor molecules (gt-loah)
  • 9730e27 feat(doctor): make env-vars check auto-fixable via gt doctor --fix
  • e04237a feat(doctor): purge misclassified wisps and detect JSONL bloat
  • 23d55b7 feat(dolt): add WithScripts init SQL to testcontainers for root@% auth fix
  • 67e8d9a feat(dolt): add WithScripts init SQL to testcontainers for root@% auth fix
  • eac5be4 feat(dolt): default to loglevel=debug for query diagnostics
  • 341fa43 feat(done): transition polecat to IDLE instead of killing session (gt-hdf8)
  • a539d66 feat(formulas): add idea-to-plan pipeline formulas (#2071)
  • cfac706 feat(hooks): add dangerous-command guard and tap list command (gt-gow8b)
  • c853016 feat(hooks): cascade hook config lookup through GT_HOME then ~/.gt
  • db82820 feat(install): add --dolt-port flag with preflight port check
  • b06df94 feat(mail): add --to flag and allow sending to inactive agents (hq-muw7, hq-slnx)
  • 9d8c201 feat(mol): add 'gt mol await-signal' as alias for 'gt mol step await-signal'
  • ac38b1c feat(plugin): add compactor-dog plugin for Dolt commit growth monitoring (gt-kk21)
  • d2350f2 feat(polecat): add pool-init command and local branch cleanup in done
  • cb827ed feat(quota): context-preserving keychain rotation with preemptive swap (#2075)
  • 37d5715 feat(reaper): add auto-close step for stale issues > 30 days (gt-ydds)
  • 6e0ff1c feat(reaper): reduce mail purge age from 30 days to 7 days (hq-qh4f)
  • c39372f feat(refinery): add gt mq post-merge for branch cleanup after merge (gt-22ps)
  • 462e526 feat(vitals): add gt vitals unified health dashboard command (gt-fubw)
  • 90d0894 feat(witness): add DiscoverCompletions() for bead-based completion discovery (gt-w0br)
  • 38f3e97 feat: Beads Flows end-state — lifecycle stages, health command, pollution hardening
  • d2f9f2a feat: JSONL Dog spike detection and pollution firewall (gt-ntf7)
  • 5d690f1 feat: acceptance criteria gate in gt done
  • 2728e70 feat: add --bind flag to gt dashboard for listening on all interfaces
  • 20e84a9 feat: add --verbose and --short flags to gt version
  • 1b2796a feat: add 4 dog formula files for molecule-based patrol tracking
  • a4a4247 feat: add Doctor Dog health monitor patrol for Dolt server
  • 68ebad7 feat: add GASTOWN_DISABLE_OFFER_ADD env var to suppress repo add prompt
  • 521ba2a feat: add MQ verification to polecat check-recovery
  • b555311 feat: add MQ verification to polecat check-recovery (#1035)
  • f911778 feat: add OMP as built-in agent preset and complete Pi hook installer
  • 3c1a918 feat: add OperationalConfig for config-driven thresholds (ZFC) (gt-8l3w)
  • 176b496 feat: add automated response actions to doctor dog health monitor (gt-nek89)
  • 70743bc feat: add best-effort push before --force nuke (gt-4vr)
  • 3654001 feat: add daemon scheduled maintenance window (gt config set maintenance.window)
  • fe0ac2b feat: add dog health-check command for lifecycle management
  • afe8020 feat: add dolt-archive plugin to rig-level plugins
  • 048a73f feat: add duplicate check before refinery files test-failure bugs (gt-61em)
  • 655620a feat: add gt mail drain command and update witness patrol formula (gt-2rj2)
  • e79fbb6 feat: add gt maintain command for one-command Dolt maintenance (gt-8ubf)
  • 6ea1abf feat: add gt upgrade command for post-binary migration
  • 3ca7f00 feat: add lifecycle-defaults doctor check for missing daemon.json patrol entries
  • 8bba4b0 feat: add lifecycle-defaults doctor check for missing daemon.json patrol entries
  • 30532d7 feat: add molecule lifecycle tracking to JSONL backup and Dolt backup dogs
  • 01fdc51 feat: add parked rig checks to sling and convoy commands (gt-4owfd.1)
  • 5117c91 feat: add phantom + stale DB detection as Dog formula molecules (gt-iq8w)
  • 9abd060 feat: add test-pollution-cleanup step to deacon patrol (GH#gt-s1r)
  • 4571781 feat: add testutil.CleanGTEnv helper and consolidate env filtering (gt-wsc4)
  • 6ab5046 feat: add town-root CLAUDE.md version check to gt doctor
  • 3db32d9 feat: add wisp deletion and stale issue auto-close to reaper
  • 427c6e8 feat: auto-configure six-stage lifecycle for new Gas Town installations (gt-q3or)
  • 9193872 feat: cross-socket zombie session cleanup and prevention (gt-olb4)
  • 61dfce0 feat: dedicated test Dolt server on port 3308 to eliminate zombie servers
  • 980cddd feat: default Dolt server loglevel to debug per Dolt team recommendation
  • c5ce08e feat: define agent bead schema for polecat completion metadata (gt-x7t9)
  • 315e06f feat: enable data maintenance tickers by calling EnsureLifecycleDefaults at daemon startup (gt-7ul7)
  • 7097b85 feat: implement batch-then-bisect merge queue (gt-i2vm)
  • 1123b96 feat: implement surgical interactive rebase in Compactor Dog (gt-jmur)
  • 0268c0f feat: offsite backup sync to iCloud Drive after each dolt backup cycle
  • c410c10 feat: persistent polecats — stop nuking sandboxes after work completion (gt-4ac)
  • 0a653b1 feat: polecat self-managed completion — transition to idle directly (gt-1qlg)
  • 1fa2e9e feat: refactor wisp_reaper to use mol-dog-reaper molecule lifecycle (gt-nzkx)
  • b45d151 feat: replace POLECAT_DONE mail with nudge + agent_state bead update (gt-a6gp)
  • 6d04a84 feat: root-only patrol wisps + gt patrol report command
  • b8f79dc feat: root-only wisps for all formula-based work (polecat + patrol)
  • 63ad145 feat: sandbox sync — branch-only polecat reuse (gt-24j2)
  • 3924d56 feat: use SQL-based flatten on running server, remove downtime
  • 8325ebf feat: wire OperationalConfig into daemon, deacon, nudge subsystems (gt-8l3w)

Bug Fixes

  • 419a726 Merge PR #1980: fix(doctor): patrol-not-stuck queries Dolt DB instead of stale JSONL
  • 259a1d1 Merge PR #1993: fix(test): prevent test suite from leaking Dolt databases into production
  • e872b83 Merge PR #2001: fix(seance): find sessions in single-account setups without accounts.json
  • dccb5ef Merge PR #2002: fix(mail): include pinned agents in recipient validation
  • 5c4350c Merge PR #2012: fix(done): normalize polecat CWD to git root before beads resolution
  • 1b10321 Merge PR #2013: fix(doctor): detect stale agent beads from deregistered rigs
  • f660915 Merge PR #2014: fix(doctor): use scoped Beads instance for agent label updates
  • 84939a3 Merge PR #2015: fix(deps): set GOBIN when auto-installing beads to prevent stale shadow binary
  • c1ca918 Merge PR #2017: fix(config): revert refinery settings path to parent directory
  • 7f15195 Merge PR #2021: fix: update nix package for v0.8.0 with ldflags
  • 0ac964f Merge PR #2023: fix(deacon): correct commands and add heartbeat to patrol formula
  • 5a82f61 Merge PR #2025: fix(sling): detect malformed wisp IDs and clean up orphans in formula instantiation
  • d394bf3 Merge PR #2027: fix(hooks): fail closed on settings integrity violations
  • 161b343 Merge PR #2030: fix(polecat): preserve remote branch when MR is pending in merge queue
  • a6e6d7e Merge PR #2033: fix(mail): always queue mail notifications to prevent stuck nudge input
  • 6d33dc9 Merge PR #2039: fix(mail): validate recipient address before sending — reject unknown agents
  • 1d9d70b Merge PR #2043: fix(mol): use handoff bead for auto-detect in mol attach
  • ba49986 Merge PR #2044: fix(witness): prevent premature polecat nuke before refinery merges
  • 1721ada Merge PR #2047: fix(doctor): don't flag absent env vars when expected value is empty
  • 6bdd6cf Merge PR #2052: fix(test): isolate all test packages on ephemeral Dolt server
  • 5995d48 Merge PR #2053: fix(done): make gt done idempotent by checking wisps table for existing MR beads
  • 7d1af8b Merge PR #2054: fix(doctor): search full formula path in patrol-molecules-exist check
  • 3e6f881 Merge PR #2057: fix(deacon): respawn dead pane instead of kill+recreate to prevent crash loop
  • dca0305 Merge PR #2070: fix(dog): add RoleDog constant and DogName field to fix dog template rendering
  • 0009a42 Merge PR #2076: fix(test): mock isRigParkedFn in TestDetectWarnings_Clean
  • dbe4999 Merge PR #2121: fix: resolve golangci-lint errors in daemon and handoff packages
  • 53bd67e Merge PR #2136: fix: batch reliability fixes (mail ID, polecat prune, crew remote sync)
  • 6e856d2 Merge PR #2145: fix: workspace trust dialog blocks agent execution across all roles
  • 145db7b Merge PR #2148: fix(convoy): add recovery sweep after Dolt reconnect
  • 6a3adc6 Merge PR #2149: fix(doctor): repair beads redirect targets with missing config.yaml
  • 92ed3f3 Merge PR #2153: fix(convoy): route stranded scan warnings to stderr
  • 3db20a5 Merge PR #2154: fix(convoy): respect decision-to-task blocking edges in waves
  • 17bafc0 Merge PR #2156: fix(quota): detect API 429 + non-restartable session handling
  • 97ca757 Merge PR #2159: fix(witness): spawning guard for zombie detection
  • b463873 Merge PR #2160: fix(sling): worktree validation + convoy cleanup on rollback
  • e397950 Merge PR #2168: fix(nuke): make --force bypass unmerged commits check
  • c5722f1 Merge PR #2173: fix(formulas): remove duplicate review_id var in idea-to-plan formula
  • 821cbe0 Merge PR #2177: fix: EnableMouseMode respects global mouse toggle
  • 5744e9f Merge PR #2179: fix(quota): add API Error rate-limit pattern to scan
  • 7e2461f Merge PR #2182: fix(ci): lint fixes, integration test Dolt PID bridge, Windows test skips
  • a3aa762 Merge PR #2183: fix(test): skip bash-dependent daemon tests on Windows
  • cff36d8 Merge PR #2184: fix: prevent testdb_* accumulation
  • ecfa322 Merge PR #2185: fix(refinery): make stale-claim thresholds and MaxRetryCount config-driven (ZFC)
  • 4a9fe47 Merge PR #2185: fix(refinery): make stale-claim thresholds and MaxRetryCount config-driven (ZFC)
  • 065593d Merge PR #2186: fix(refinery): remove hardcoded severity/priority logic
  • 3abaabe Merge PR #2186: fix(refinery): remove hardcoded severity/priority logic (ZFC gt-9xbg)
  • 2f11c0f Merge PR #2187: fix(refinery): extract ConvoyFields typed accessor
  • f08db60 Merge PR #2187: fix(refinery): extract ConvoyFields typed accessor (ZFC gt-re2y)
  • 50af249 Merge PR #2188: fix(refinery): remove dead findTownRoot
  • 4bdb642 Merge PR #2188: fix(refinery): remove dead findTownRoot filesystem inference (ZFC gt-qago)
  • f29762d Merge PR #2189: fix(witness): replace hardcoded zombie state classification with typed constants
  • 224b413 Merge PR #2190: fix(witness): remove hardcoded Mayor role refs
  • f6b5079 Merge PR #2191: fix(test): fix flaky TestVerifyStartupNudgeDelivery_IdleAgent session collision
  • 04f31e9 Merge PR #2192: fix: prevent auto-close of stuck convoys with tracked but unready issues
  • 94280c4 Merge PR #2193: fix(zfc): centralize hung session threshold
  • 0f6eba8 Merge PR #2193: fix(zfc): centralize hung session threshold
  • 0dd4937 Merge PR #2194: fix: replace ad-hoc string parsing with structured field parsers in witness
  • 4946768 Merge PR #2195: fix(beads): replace hardcoded state/status string comparisons with typed enums
  • f75a7db Merge PR #2195: fix(beads): replace hardcoded state/status string comparisons with typed enums (ZFC)
  • cc975c2 Merge PR #2196: fix(zfc): replace PID signal inference with heartbeat
  • 3455644 Merge PR #2197: fix(zfc): replace PID string matching with flock + port checks
  • 76dde5a Merge PR #2201: fix(sling): let legacy bond proceed with malformed wisp IDs
  • 4d3098a Merge: fix: stabilize flaky TestRunBdCmd_ReturnsStdoutOnNonZeroAndTimeout (gt-5kjn)
  • 7100934 fix(audit): handle Close error and add Sync in LogDetachAudit
  • 7b98642 fix(backup): skip git push when no remote configured
  • a3dd60b fix(beads): FindMRForBranch now searches ephemeral wisps
  • 9d733ac fix(beads): replace hardcoded state/status string comparisons with typed enums
  • c5a0e71 fix(beads): replace hardcoded state/status string comparisons with typed enums
  • 3cee03c fix(beads): translate GT_DOLT_PORT to BEADS_DOLT_PORT for bd subprocesses
  • affaab8 fix(ci): Windows test failures from backslash path separators
  • c377209 fix(ci): create GOPATH/bin before installing Dolt on Windows
  • 0981134 fix(ci): lint errors and port collision in integration tests
  • b429b65 fix(ci): update bd version from v0.55.4 to v0.56.1 to match go.mod
  • 15fdc03 fix(ci): use filepath.ToSlash for Windows path compatibility
  • 4f53943 fix(cmd): use env var fallbacks in persistentPreRun for InitRegistry
  • 20dbd61 fix(cmd): use env var fallbacks in persistentPreRun for InitRegistry
  • fe09057 fix(compact): send daily digest to mayor/ only, not deacon/
  • f9a161f fix(compact): send daily digest to mayor/ only, not deacon/
  • 2fa655b fix(config): RoleSettingsDir returns wrong path for refinery role
  • 5b8f7de fix(config): refinery settings path wrong in RoleSettingsDir and hooks subsystem
  • a29fdb6 fix(config): revert refinery settings path to parent directory
  • 7affd88 fix(convoy): add recovery sweep after Dolt reconnect and at daemon startup
  • ab3af81 fix(convoy): address PR #2170 review feedback
  • 39962be fix(convoy): check both parked and docked rigs in all dispatch paths
  • 23c81f6 fix(convoy): respect decision-to-task blocking edges in wave computation (#2141)
  • c17c1d7 fix(convoy): route stranded scan warnings to stderr, not stdout (#2142)
  • a4b381d fix(cycle): merge witness/refinery/polecat into one rig ops cycle group
  • cbb2273 fix(daemon): derive orphan DB threshold from data dir, not hardcoded
  • 95eff92 fix(daemon): enforce rig dock/park lifecycle across all startup, patrol, and sling paths
  • 0a7c425 fix(deacon): add heartbeat refresh steps to patrol formula
  • 6b4157d fix(deacon): correct gated check command in patrol formula
  • c5f3ef5 fix(deacon): respawn dead pane instead of kill+recreate to prevent crash loop
  • bbd56a3 fix(deacon): use gt dogs list --json for stale dog detection
  • 984c066 fix(deps): set GOBIN when auto-installing beads to prevent stale shadow binary
  • 2a7ca59 fix(deps): update module github.com/steveyegge/beads to v0.56.1
  • bc7c068 fix(deps): update module github.com/steveyegge/beads to v0.56.1
  • 2eb6528 fix(docs): correct ~/.gt path references in formulas and role docs
  • 9a242b6 fix(docs): correct ~/.gt path references in formulas and role docs
  • 2569060 fix(doctor): add --include-infra to ListAgentBeads query
  • 58554b7 fix(doctor): check patrol formulas via filesystem instead of bd CLI
  • 5ab7552 fix(doctor): claude-settings check runs before daemon to prevent race
  • 01fb96b fix(doctor): claude-settings check runs before daemon to prevent race
  • 2f6dcf5 fix(doctor): correct claude-settings hint from 'gt up --restart' to 'gt up --restore'
  • 1ae5899 fix(doctor): correct claude-settings hint from --restart to --restore
  • 83a0c7e fix(doctor): detect stale agent beads from deregistered rigs
  • cd59840 fix(doctor): don't flag absent env vars when expected value is empty
  • 699f29c fix(doctor): exclude crew from persistent-role-branches check
  • addf9fc fix(doctor): exclude crew from persistent-role-branches check
  • 2ca2d45 fix(doctor): handle nested polecat worktree structure in redirect checks
  • 31a19f8 fix(doctor): handle nested polecat worktree structure in redirect checks
  • fd86b97 fix(doctor): handle worktree branch conflicts in persistent-role-branches fix
  • 219e56a fix(doctor): handle worktree branch conflicts in persistent-role-branches fix
  • 2e76dbb fix(doctor): make no_prime_hook fixable in priming check
  • 0bd6d03 fix(doctor): make no_prime_hook fixable in priming check
  • 328b739 fix(doctor): propagate CSV parse errors in patrol-not-stuck Dolt query
  • 16c7ca0 fix(doctor): repair beads redirect targets with missing config.yaml
  • 9af14fa fix(doctor): search full formula path in patrol-molecules-exist check
  • f494f7d fix(doctor): simplify parseCrewOrPolecatFromID return to single string
  • ed88f27 fix(doctor): skip rig dirs whose .beads symlinks to town root
  • f3acfa6 fix(doctor): use scoped Beads instance for label updates
  • 31452c0 fix(dog): add RoleDog and DogName to fix dog template rendering
  • ed194c1 fix(dog): remove invalid --role-type flag from bd create call
  • 59c82d2 fix(dolt): bump DefaultMaxConnections from 200 to 1000
  • ece3eda fix(dolt): make gt dolt start idempotent and fix server detection
  • 2ac99c0 fix(dolt): measure query latency via direct TCP instead of subprocess
  • 1e4263e fix(doltserver): clean up dolt_branch_control on RemoveDatabase
  • c7305e8 fix(doltserver): clean up dolt_branch_control on RemoveDatabase (gt-zlv7l)
  • aca9286 fix(done): check wisps table in FindMRForBranch to make gt done idempotent
  • 06250a0 fix(done): normalize polecat CWD to git root before beads resolution
  • 9d64c0a fix(done): prevent sleepwalking polecats from completing with zero commits
  • a3f6977 fix(down): make sweepCrossSocketZombies bidirectional for default socket (gt-y8x4)
  • 1c7ac45 fix(env): pass cloud API credentials from shell to agent sessions
  • cbc08f2 fix(env): pass cloud API credentials from shell to agent sessions
  • 5eea1ea fix(formulas): add missing review_id var to mol-idea-to-plan formula
  • bc143fe fix(formulas): add missing review_id variable to mol-idea-to-plan formula
  • 5782d26 fix(formulas): remove duplicate review_id var in idea-to-plan formula
  • 8655a7e fix(formulas): review fixes for idea-to-plan pipeline
  • 3bd2412 fix(git): anchor exclude patterns to repo root to avoid hiding source code
  • 9a77c1c fix(git): anchor exclude patterns to repo root to avoid hiding source code
  • 64725f8 fix(handoff): clean up orphaned bead on pin failure in GetOrCreateHandoffBead
  • a7254c0 fix(handoff): deterministic fallback for empty auto-handoff context (GH#1996)
  • 93387e7 fix(handoff): make ClearMail continue on partial failure
  • 099044b fix(handoff): preserve conversation context on PreCompact cycle (#2073)
  • 5d40c14 fix(hooks): add patrol-formula-guard to deacon and refinery roles (hq-3paz0m)
  • 9402ff1 fix(hooks): backfill DefaultBase into on-disk hooks-base.json
  • cc70352 fix(hooks): backfill DefaultBase into stale on-disk hooks-base.json
  • 41b333b fix(install): clean port-conflict error — no Usage dump, suggest concrete port
  • 7e63f85 fix(lint): remove unused townRoot param from cleanupOrphanedWisp
  • 248da05 fix(mail): add filesystem fallback and crew/name shorthand for crew member addressing
  • 8cf9d12 fix(mail): always queue mail notifications to prevent stuck nudge input
  • ad903bf fix(mail): auto-nudge idle agents on mail delivery (fix-merge of #2125)
  • e93d7c9 fix(mail): fall back to workspace directory validation when agent beads missing
  • f77950e fix(mail): include pinned agents in active status filter
  • 8a54de6 fix(mail): include pinned agents in recipient validation (#2002)
  • 5872d9a fix(mail): make LIFECYCLE and merge protocol messages ephemeral wisps (gt-vpy9)
  • b89cd4c fix(mail): surface query errors in validateRecipient instead of swallowing them
  • 4ec543a fix(mail): validate recipient address before sending — reject unknown agents
  • c4faaa8 fix(metrics): emit gastown.polecat.spawns.total on polecat session spawn
  • 58fc666 fix(mol): fix role extraction from agent identity for handoff bead lookup
  • 713064c fix(mol): use handoff bead for auto-detect in mol attach (gt-t9li)
  • 2b8d632 fix(nuke): use ResetAgentBeadForReuse and correct workDir for molecule cleanup
  • e5248e0 fix(patrol): remove --root-only flag dropped from bd mol wisp create
  • 105b5f5 fix(patrol): use gt dolt kill-imposters instead of hardcoded port-3307 kill loop
  • 0fb02e1 fix(peek): support 'gt peek mayor/deacon/boot' for town-level agents
  • 3752108 fix(polecat): persist findings to bead before closing steps (gt-ah2k)
  • edab16a fix(polecat): preserve remote branch when MR is pending in merge queue
  • f0660ab fix(quota): add API Error rate-limit pattern to scan
  • adb7fb3 fix(reaper): escalations to ephemeral, reaper purges old mail
  • f61ff0a fix(reaper): restrict wisp reaper to ephemeral wisps only (ZFC violation bd-5frbt)
  • 1817c58 fix(reaper): wrap all reaper mutations in explicit DOLT_COMMIT (gt-at0i)
  • 87caa55 fix(refinery): address target-resolution PR review findings
  • 75b7206 fix(refinery): align process-branch rebase with MR target
  • c7de7da fix(refinery): close source issue after merge in patrol formula
  • d41febf fix(refinery): close source issue after merge in patrol formula
  • edf3b96 fix(refinery): deterministic queue tie-breaker for equal scores
  • 3ebb533 fix(refinery): extract ConvoyFields typed accessor for convoy metadata (ZFC gt-re2y)
  • 15b4955 fix(refinery): finalize target-aware patrol guidance and eval guard
  • 8aa51c0 fix(refinery): make stale-claim thresholds and MaxRetryCount config-driven (ZFC)
  • 12759b1 fix(refinery): make stale-claim thresholds and MaxRetryCount config-driven (ZFC)
  • f66eddc fix(refinery): remove dead findTownRoot filesystem inference (ZFC gt-qago)
  • 4ddd1fe fix(refinery): remove hardcoded severity/priority logic (ZFC gt-9xbg)
  • 6ba8682 fix(rig): use IsRigParkedOrDocked instead of wisp config for docked check (gt-7uhc)
  • 70a6989 fix(seance): clear CLAUDECODE env to unblock --talk from agent sessions
  • 873dc75 fix(seance): find sessions in single-account setups without accounts.json
  • 47a6541 fix(seance): find sessions in single-account setups without accounts.json
  • 923b42c fix(seance): fix --print flag and clear CLAUDE_CODE_ENTRYPOINT
  • 97b5f11 fix(seance): resolve truncated session ID prefixes in --talk
  • 2930ba8 fix(session): update socket test to expect 'default' after 635916a (gt-0jh0)
  • e5d540b fix(settings): add skipDangerousModePermissionPrompt to role templates
  • 41a28cc fix(sling): clean up git branch and convoy on rollback failure (fix-merge of #2139)
  • 7549512 fix(sling): detect malformed wisp IDs and clean up orphans in formula instantiation (gt-4gjd)
  • 890f67a fix(sling): remove dependency bonds in burnExistingMolecules (#2093)
  • 8eb3d8b fix(templates): remove personal names from mail examples
  • 45fba07 fix(templates): replace hardcoded ~/gt with {{ .TownRoot }} in role templates
  • bdd6a70 fix(test): bridge Dolt PID to town root so IsRunning checks pass in CI
  • 58c8fd1 fix(test): capture stderr in TestWarnHandoffGitStatus (gt-ftl9)
  • 122eac3 fix(test): correct convoy ID format assertion to match base36 implementation
  • d4360fa fix(test): fix flaky TestVerifyStartupNudgeDelivery_IdleAgent session collision
  • 1de7585 fix(test): forward GT_DOLT_PORT as --server-port to bd init commands
  • 8d6e8db fix(test): forward GT_DOLT_PORT in scheduler integration tests
  • 905be5a fix(test): forward GT_DOLT_PORT to bd subprocesses and adapt to bd v0.56.1
  • 80f3168 fix(test): isolate convoy and daemon tests on ephemeral Dolt server
  • f568872 fix(test): make TestVerifyStartupNudgeDelivery_IdleAgent deterministic (gt-eo8d)
  • 5f2157f fix(test): mock isRigParkedFn in TestDetectWarnings_Clean
  • 96ebd97 fix(test): pre-kill stale tmux session in TestVerifyStartupNudgeDelivery_IdleAgent (gt-eo8d)
  • 0561f9f fix(test): prevent test suite from leaking Dolt databases into production
  • 15d47c0 fix(test): resolve macOS symlink in sling rollback test
  • f2b8dec fix(test): restore correct testutil function names after rebase conflict
  • f7463a5 fix(test): revert scheduler initBeadsDBForServer to upstream/main version
  • 8f55734 fix(test): run squash jitter tests from temp dir to avoid workspace lookup succeeding (gt-emna)
  • a2e6cd7 fix(test): skip bash-dependent daemon tests on Windows (gt-94i9)
  • c4a010c fix(test): skip gracefully when Dolt/Docker unavailable instead of failing
  • bfc62f4 fix(tests): preserve GT_DOLT_PORT in filterGTEnv() (gt-ah9y)
  • a09d3b3 fix(tmux): NewTmux() sentinel prevents silent wrong-server connections
  • 18c5b34 fix(tmux): auto-dismiss workspace trust dialog blocking all agent sessions
  • ab5f06f fix(tmux): derive socket from town name and add cross-socket agent menu
  • 1e8e5e0 fix(tmux): eliminate session creation race by running command as initial pane process
  • d06ee7c fix(tmux): harden auto-respawn hook with dead-pane guard and background execution
  • 65d4c9d fix(tmux): reset window-size after WakePane resize dance
  • 134c3a0 fix(tmux): restore IsAgentAlive fallback in WaitForCommand
  • 3cf59c2 fix(tmux): restore ctrl-b+g from personal sessions after cross-socket split
  • 9405692 fix(tmux): set GT_TOWN_ROOT in global env for run-shell cycle groups
  • 4b9b887 fix(tmux): set window-size=latest on new detached sessions
  • 37441ee fix(tmux): stop daemon from creating separate socket server
  • 182718b fix(tmux): use /tmp for socket directory instead of os.TempDir()
  • faa4c68 fix(tmux): use TMUX_PANE targeting for session name resolution
  • 635916a fix(tmux): use default socket instead of per-town socket
  • 96575e1 fix(witness): prevent premature polecat nuke before refinery merges (gt-6a9d)
  • 23b45a9 fix(witness): remove AssessHelpRequest Go-level triage engine (gt-l7uq)
  • 3bf979d fix(witness): remove hardcoded Mayor role refs from cleanup handlers (ZFC gt-5rne)
  • f9466bb fix(witness): replace hardcoded zombie state classification with typed constants (ZFC)
  • ddd53d8 fix(witness): replace screen-scraping with structured signals in DetectStalledPolecats (gt-idrl)
  • 896d610 fix(zfc): centralize hung session threshold as single source of truth
  • 74cfe11 fix(zfc): replace PID string matching with flock + port checks
  • 7c0de7b fix: 4 Dolt server bugs — phantom dirs, orphan detection, read-only recovery, stale locks
  • f75e4d3 fix: EnableMouseMode respects global mouse toggle
  • 94d9afc fix: JSONL git backup git-add fails on untracked subdirectories
  • 9a98dd6 fix: UTF-8 safe title truncation + PrintWarning to stderr (fix-merge of #2140)
  • 1191b08 fix: accept bypass permissions warning in crew start and fix cycle bindings
  • 3cb4b8e fix: add BEADS_TEST_MODE=1 to convoy store tests to prevent DB pollution
  • 8bb315c fix: add G201 golangci exclusion for internal SQL formatting
  • 6698c25 fix: add concurrent write retry logic and hazard docs for surgical rebase (gt-7wyq)
  • 6acfb08 fix: add deterministic git state to handoff context (GH#1996)
  • 3bb41ad fix: add deterministic tie-breakers to convoy scheduling
  • 00516d4 fix: add idempotency checks to compact report
  • c86bff6 fix: add idempotency checks to compact report to prevent duplicate digests
  • eaf9a3c fix: add in_progress guard to sling dispatch to prevent polecat proliferation
  • a6df5fa fix: add in_progress guard to sling dispatch to prevent polecat proliferation
  • 146fa9f fix: add missing .gitignore patterns for Dolt database and runtime files
  • 79ad4b8 fix: add missing .gitignore patterns for Dolt database and runtime files
  • 68b1a75 fix: add requireDoltServer and unique prefixes to integration tests
  • 2b6a37f fix: add startup nudge retry loop to fix polecat idle race (GH#1379 Mode B)
  • 3a5f424 fix: add t.Cleanup to drop scheduler test databases after each run
  • e14834a fix: add teardown cleanup to drop beads_pt* test databases (GH#gt-qmp)
  • 2c6ff30 fix: add tests for splitCamelCase and guard empty prefix config set
  • f99edf6 fix: admission control uses TCP client instead of embedded dolt to check connections
  • 9f0902c fix: align DogState fields and remove redundant status override
  • ce7af0a fix: bump compactor threshold from 500 to 10000
  • 34945df fix: capacity scheduler hangs by fetching only needed work beads
  • 4f58234 fix: capacity scheduler hangs by fetching only needed work beads (gt-46dn2)
  • f5af09c fix: check active_mr before SAFE_TO_NUKE and sort mail by priority
  • 805f275 fix: check bead status before zombie flagging and redispatch
  • a96c90e fix: clean stale dolt-server.pid to prevent mail inbox hangs
  • 0a845a8 fix: clean up orphaned tmux sessions in TestVerifyStartupNudgeDelivery_IdleAgent (gt-mesu)
  • 4b1d240 fix: close descendant wisps before closing molecule roots
  • 9b15a2a fix: close molecule steps on handoff to prevent wisp leaks (gt-e26g)
  • 34b1204 fix: close orphan step wisps before closing root molecule (gt-3o59)
  • af97a4f fix: complete persistent polecats design — stop doctor from undoing agent migration (#2055)
  • 8e68922 fix: consolidate GUPP violation threshold into single constant (gt-1emx)
  • 919cac3 fix: correct stale comment in down.go Phase 6 about tmux socket isolation (gt-qzjb)
  • caa0482 fix: daemon backup discovery uses wrong dolt subcommand, add all 6 DBs to config
  • e425721 fix: deduplicate agent bead IDs when rig name equals derived prefix
  • 58234c9 fix: deduplicate convoy close handling across stores per poll cycle
  • f7439b0 fix: detect stale custom-types sentinel to auto-update types on upgrade
  • e9e2923 fix: disable polecat pre-sync — polecats are ephemeral, not persistent (GH#1973)
  • 8e5eaf1 fix: disable remain-on-exit before tmux kill-session in dog done
  • ff6ba53 fix: doctor --fix respects rig default_branch for persistent roles (#1430)
  • 9ea99c2 fix: doctor --fix silent failure for agent-beads and misclassified-wisps
  • c718b88 fix: doctor agent-beads-exist check now finds wisps (#1935)
  • f415748 fix: dogs auto-terminate tmux session after gt dog done (gt-2yx7)
  • d42f633 fix: dogs can't find plugin:dolt-archive despite it existing (gt-a0sg)
  • 3e690b7 fix: emit session_death event and notify witness on polecat crash
  • f3f4fe7 fix: emit session_death event and notify witness on polecat crash
  • 650e42d fix: ensure dog agent beads exist before dispatch mail (gt-r8m9)
  • 0242002 fix: ensure dog agent beads exist before dispatch mail (gt-r8m9)
  • 1b9e234 fix: extract syscall.SIGUSR2 into platform files for Windows cross-compilation (gt-94i9)
  • 059ea16 fix: fall back to TownRoot when rig path doesn't exist in patrol-molecules-exist check
  • 4fe275c fix: fall back to TownRoot when rig path missing in patrol-molecules-exist check
  • cfa8b2c fix: fetch non-default branch in shallow bare clone for --default-branch
  • c10e442 fix: formula lookup falls back to embedded for non-gastown rigs (gt-oir)
  • 7c4bacd fix: gate sandbox nuke on MR creation success in gt done
  • e75de80 fix: gate session kill on MQ submission success (GH#1945)
  • b4ed85b fix: gt dog done auto-terminates tmux session to prevent idle-at-prompt (gt-2yx7)
  • f132286 fix: gt dolt cleanup balks when orphan count exceeds 50
  • 87a5847 fix: handle Dolt nil pointer dereference in gt doctor --fix agent bead creation
  • 43dc69d fix: handle nil pointer dereference in gt doctor --fix creating agent beads
  • 3a6b6de fix: handle phantom convoys gracefully in gt done
  • bd68046 fix: handle phantom convoys gracefully in gt done (gt-9xum2)
  • 09500e6 fix: handle wisp format step IDs in molecule step done
  • b82603b fix: log patrol config parse errors, remove invalid health_check_interval
  • 98767fa fix: make WORK_DONE notifications ephemeral wisps, not permanent beads
  • 8e2151f fix: make convoy close event processing idempotent (GH #1798)
  • eb530d8 fix: make restart_tracker crash-loop params configurable (ZFC) (gt-jq7l)
  • e89a3b6 fix: malformed wisp IDs proceed with legacy bond instead of skipping
  • 330664c fix: nuke preserves remote branches + enable GatesParallel (gt-v5ku, gt-8b2i)
  • 67b0cdf fix: parse extends/compose/advice/presets/squash/gate TOML sections in formula parser (gt-1fje)
  • 209b47b fix: parse tmux socket from TMUX env var instead of hardcoding town name
  • d691854 fix: patrol-not-stuck check queries Dolt DB instead of stale JSONL
  • 088113d fix: patrol-not-stuck check queries Dolt DB instead of stale JSONL
  • b373e8f fix: preserve agent-bead metadata and harden crew bead creation
  • 4bd189b fix: preserve remote branch with unmerged commits during polecat nuke (gt-rm9f)
  • ced820b fix: prevent auto-close of stuck convoys with tracked but unready issues
  • ef12dd5 fix: prevent dolt-server zombie leaks from mail test suite (gt-qae2)
  • fa9145d fix: prevent gt doctor --fix nil pointer dereference creating agent beads (GH#1769)
  • 53f667c fix: prevent molecule step wisps from being promoted to permanent beads (gt-uzui)
  • bcf988f fix: prohibit witness patrol from closing foreign wisps (gt-oei1)
  • dfed4c9 fix: remove --ephemeral from CreateAgentBead to write to issues table
  • 9124967 fix: remove --root-only flag from bd mol wisp calls (gt-th5n)
  • 0029313 fix: remove JSONL fallback in detectBeadsPrefixFromConfig and fix tmux tests
  • 383945f fix: remove ZFC-violating decision engine from degraded boot triage (gt-mcw2)
  • 915f1b7 fix: remove auto-close of permanent issues from wisp reaper (gt-hln2)
  • 863a4c9 fix: remove dead cross-socket zombie functions after socket migration (gt-wrdz)
  • 34e4927 fix: remove dead findTownRoot function from refinery (gt-qago)
  • 6c6c397 fix: remove duplicate AgentStateIdle/AgentStateStuck constant declarations
  • 0b091f2 fix: remove explicit --id from mail creation paths, breaking all mail delivery
  • c3034f7 fix: remove hardcoded severity/priority from refinery anomalies (gt-9xbg)
  • 675ae28 fix: remove polecat from daemon pre-sync fallback switch (#1973)
  • be74dd9 fix: remove stale NPM_TOKEN from release workflow, add deployment docs
  • b7dcae3 fix: replace --format=jsonl with --json in dog_molecule bd calls (gt-ioiz)
  • f3bbc27 fix: replace PID signal probing with heartbeat-based liveness detection (gt-qjtq)
  • 1268e34 fix: replace ad-hoc convoy description parsing with typed ConvoyFields accessors
  • cf5b8aa fix: replace ad-hoc convoy description parsing with typed ConvoyFields accessors (gt-re2y)
  • 551d861 fix: replace ad-hoc string parsing with structured field parsers in witness
  • 89ccc21 fix: replace doctor_dog automated actions with configurable advisory recommendations (gt-sjzd)
  • 64a44ee fix: replace hardcoded state/status string comparisons with typed constants (gt-4d7p)
  • e167e04 fix: replace ps string matching with nonce-based PID files (gt-utuk)
  • 7a578c2 fix: replace routine protocol mail with nudge to avoid permanent Dolt commits (gt-5hd8)
  • b07ecbd fix: replace screen-scraping with blind key-send in DetectStalledPolecats
  • 6e4738e fix: replace screen-scraping with blind key-send in DetectStalledPolecats
  • e15d442 fix: require Dolt server for beads init and reorder doctor prerequisites (#2049)
  • ad95b30 fix: resolve Windows build failure (syscall.Flock undefined)
  • fa81ecc fix: resolve errcheck lint failures in testutil/doltserver.go
  • 088159d fix: resolve golangci-lint errors across daemon and handoff packages
  • 362b060 fix: resolve gt mail inbox signal:killed by using per-identity Dolt queries
  • eb46082 fix: resolve lint unparam warnings
  • aaf19ce fix: resolve pre-existing lint failures blocking CI
  • 0409ca8 fix: restore --ephemeral for agent beads and fix doctor to check wisps table
  • be34710 fix: restore caret escaping in Windows batch mock (gt-4gjd)
  • 51bce9e fix: restore compactorGetHead, flattenGetHead, and compactorBranchName removed by concurrent merge
  • 43cdbf1 fix: retry hook lookup and search town beads for rig agents (GH#1438)
  • 14fa92f fix: return HTTP 403 on setup CSRF rejection and warn on empty tokens
  • 360a3fc fix: review fixes for PR #2000 deterministic git state in handoff
  • 919616e fix: set BEADS_DIR explicitly in patrol wisp creation to prevent wrong-database writes (gt-ctir)
  • c5bae35 fix: set BEADS_TEST_MODE in daemon test setupTestStore for DB isolation
  • 16cad41 fix: skip --prefix flag when prefix is empty and add camelCase prefix derivation (#1932)
  • c40dc01 fix: skip LFS smudge filter during git worktree add
  • 9d38b03 fix: skip closed records in gt health pollution scanner (gt-qv4v)
  • c9ee31d fix: stabilize flaky TestRunBdCmd_ReturnsStdoutOnNonZeroAndTimeout (gt-5kjn)
  • bcca5d8 fix: stop hardcoding 'origin' as dolt remote name (GH #gt-1hfkr)
  • b10863d fix: stop witness patrol from nuking idle polecats (gt-s8bq)
  • 6859ee4 fix: suppress remaining gosec G201 in wisp_reaper.go
  • d16bd16 fix: sweep legacy -L gt socket sessions during gt down (gt-l5js)
  • 8f62be1 fix: testcontainers dolt setup — add mysql driver, downgrade image, fix stale API refs
  • 56d572c fix: three reliability fixes (gt-ai9, gt-gmf2, gt-cseq)
  • 18f9b08 fix: unassign work beads before releasing polecat name on removal
  • d7342da fix: unassign work beads before releasing polecat name on removal
  • b6d83e4 fix: unskip prefix mismatch test and support Docker Dolt in integration tests
  • 537c862 fix: update cleanup_status after successful push (gt-wcr)
  • c67f9ae fix: update daemon handler tests for config-driven threshold signatures (gt-8l3w)
  • 5942a65 fix: update nix package for v0.8.0 with ldflags
  • fe5d8fc fix: update stale Phase 6 comments in down.go to reflect shared tmux socket (gt-qzjb)
  • 73dfd99 fix: update testutil API calls after doltserver refactor
  • 2533d5c fix: use --single-branch --depth 1 for all git clones to avoid branch overflow
  • a19d1e6 fix: use /tmp for tmux socket paths instead of os.TempDir()
  • 45077f3 fix: use 5-char base36 convoy IDs instead of 8-char base32
  • d02deee fix: use AgentBeadIDWithPrefix helpers to prevent double-prefixed agent IDs
  • 525201b fix: use WithAutoCommit for convoy creation to prevent phantom convoys (gt-9xum2)
  • f1884c4 fix: use calling tmux socket in gt cycle to fix cross-socket cycling
  • 16a8744 fix: use continuation directive after compaction instead of full re-init
  • 4d3dc29 fix: use continuation directive after compaction instead of full re-init (GH#1965)
  • 0fb1dd2 fix: use correct mail address for daemon plugin dispatch to dogs
  • ca91f78 fix: use ephemeral Dolt server in tests to prevent production DB contamination (gt--uq9)
  • 225e969 fix: use os.Hostname() for dashboard display URL when binding to 0.0.0.0
  • e53b4f6 fix: use tmux :^ targeting for zombie detection in multi-window sessions
  • 3f751fe fix: use util.SetProcessGroup for cross-platform compatibility in dog.go (gt-8qtk)
  • a059640 fix: use wrapper struct for bd mol wisp list JSON output
  • a43ab4c fix: verify MR bead persistence before worktree nuke in gt done
  • e8b59c4 fix: warnHandoffGitStatus outputs to stderr consistently (gt-otwv)
  • 2cf036e fix: widen non-timeout test case timeouts to prevent flakiness (gt-z5je)
  • 28c6f52 fix: widen time window in TestCurator_ReadRecentFeedEventsLargeFile to prevent flakiness
  • 8c107ba fix: workspace trust dialog blocks agent execution across all roles

Others

  • f59f39a Accept any scheme:// URL in rig add for custom git remote helpers
  • 2cfc203 Accept custom git remote schemes in web dashboard validation
  • 776d82e Add --title flag to gt convoy stage with smart defaults
  • b9e0849 Add LogLevel config for Dolt server (GT_DOLT_LOGLEVEL env var)
  • 89e827c Add Mayor nudge policy to deacon patrol formula
  • 2974f30 Add gt dolt dump command for goroutine stack dumps
  • f9fd1a0 Add rebuild-gt plugin
  • 558318a Add test-database safety check to dolt push patrol
  • 221e8b9 Capture goroutine dump before restarting unhealthy Dolt server
  • 7f851dd Fix gt handoff for hq-boot: wrong workdir and role
  • 017d26c Fix gt handoff from hq-boot session
  • 71d2f3e Fix gt handoff socket confusion: use caller socket, not town socket
  • 187e514 Fix gt handoff using stale TMUX_PANE after session respawn
  • 7cd3155 Fix sling rollback to burn stale molecules (#2009)
  • 7a484c5 Harden dashboard API against cross-origin and unauthenticated access
  • 9d4ebbc Merge PR #2010: docs: add Windows installation workaround for go install issue
  • 554aaac Merge PR #2020: chore: update patrol formulas to use gt patrol new
  • 60faad9 Merge PR #2045: fix(unsling,prime): add town-level beads fallback for rig-level agents
  • e971ef2 Merge PR #2046: fix(sling,convoy): prevent double-spawn from stale cross-rig convoy feed
  • b9a6dc6 Merge PR #2064: Increase convoy ID entropy to reduce collision risk
  • db05381 Merge PR #2163: Add --title flag to gt convoy stage with smart defaults
  • a53b923 Merge polecat/furiosa: fix orphan step wisp leak (gt-3o59)
  • e9652d6 Merge polecat/nux: fix patrol wisp database routing (gt-ctir)
  • f19d2ea Merge remote-tracking branch 'origin/main' into fix/dolt-server-bugs-4
  • 56f8545 Merge remote-tracking branch 'origin/polecat/cheedo/gt-ni4e@mm7fyg3l'
  • 140ed09 Merge remote-tracking branch 'origin/polecat/valkyrie/gt-i5pi@mm7fyjqx'
  • 8604277 Propagate beads git config to polecat worktrees
  • 38ea108 Propagate beads git config to polecat worktrees
  • cf3b3a6 Revert "chore: remove .beads/issues.jsonl (Dolt-only backend)"
  • cc1cc4d Switch health probe from SELECT 1 to SELECT active_branch()
  • c3c9c7d [agent] Check bead status before zombie flagging and redispatch (gt-sy8)
  • dab8af9 [agent] Skip LFS smudge filter during git worktree add
  • 5104574 bd: backup 2026-02-28 00:52
  • 5dbda21 bd: backup 2026-02-28 01:08
  • acfea81 bd: backup 2026-02-28 01:24
  • 7e79f68 bd: backup 2026-02-28 01:40
  • 350942f bd: backup 2026-02-28 01:56
  • 2fdc5a8 bd: backup 2026-02-28 02:50
  • 5aac7e0 bd: backup 2026-02-28 03:06
  • f9929b5 bd: backup 2026-02-28 03:23
  • fba5aba bd: backup 2026-02-28 03:40
  • 513b477 bd: backup 2026-02-28 05:03
  • 1bd864e bd: backup 2026-02-28 05:18
  • 23aba82 bd: backup 2026-02-28 05:42
  • 0e63573 bd: backup 2026-02-28 05:57
  • 6e0509e bd: backup 2026-02-28 13:07
  • b9b1dbe bd: backup 2026-02-28 13:22
  • eebe8ce bd: backup 2026-02-28 13:41
  • 3ffb187 bd: backup 2026-02-28 13:56
  • 68a2bb5 bd: backup 2026-02-28 14:13
  • 9332de3 bd: backup 2026-02-28 14:40
  • 0845edd bd: backup 2026-02-28 15:29
  • 23eee8e bd: backup 2026-02-28 16:57
  • 35fdae5 bd: backup 2026-02-28 17:12
  • 200f251 bd: backup 2026-02-28 17:27
  • 7a6c818 bd: backup 2026-02-28 18:06
  • 1362226 bd: backup 2026-02-28 18:23
  • 5393dbc bd: backup 2026-02-28 18:38
  • c45015d bd: backup 2026-02-28 18:53
  • 4b96f3c bd: backup 2026-02-28 19:49
  • 78f3665 bd: backup 2026-02-28 20:19
  • 2d8d71e bd: backup 2026-02-28 20:34
  • 5d8888f bd: backup 2026-02-28 20:49
  • b480fba bd: backup 2026-02-28 21:04
  • 8933e25 bd: backup 2026-02-28 21:19
  • df14ddd bd: backup 2026-02-28 22:06
  • b391ba3 bd: backup 2026-02-28 22:21
  • 862cd11 bd: backup 2026-02-28 22:42
  • fe7df1e bd: backup 2026-02-28 22:57
  • fe656b9 bd: backup 2026-02-28 23:27
  • 0e30172 bd: backup 2026-02-28 23:42
  • a19bb32 bd: backup 2026-02-28 23:57
  • bbea970 bd: backup 2026-03-01 00:12
  • 87dd9d6 bd: backup 2026-03-01 00:33
  • 30ac069 bd: backup 2026-03-01 00:49
  • 93dabb9 bd: backup 2026-03-01 02:21
  • 873c086 bd: backup 2026-03-01 02:36
  • 245ac24 bd: backup 2026-03-01 02:51
  • b9a51b4 bd: backup 2026-03-01 03:06
  • aa2978c bd: backup 2026-03-01 03:21
  • 6ead3e5 bd: backup 2026-03-01 03:59
  • 51a610d bd: backup 2026-03-01 03:59
  • b150b7f bd: backup 2026-03-01 04:14
  • d51d579 bd: backup 2026-03-01 04:29
  • f13eb9a bd: backup 2026-03-01 04:44
  • 3ac1c5b bd: backup 2026-03-01 04:59
  • 0284e6f bd: backup 2026-03-01 05:14
  • edc496f bd: backup 2026-03-01 05:42
  • 5d8d4b7 bd: backup 2026-03-01 05:57
  • a144c02 bd: backup 2026-03-01 06:12
  • 97cfbf2 bd: backup 2026-03-01 06:27
  • 0353808 bd: backup 2026-03-01 06:42
  • 3bccbd5 bd: backup 2026-03-01 07:16
  • 4fa668e bd: backup 2026-03-01 07:31
  • 9b91847 bd: backup 2026-03-01 07:46
  • f870977 bd: backup 2026-03-01 08:01
  • 4ae4598 bd: clean JSONL export from Dolt (post-reap, post-pollution cleanup)
  • ba2ca9b chore(deps): update goreleaser/goreleaser-action action to v7
  • 33d2025 chore(deps): update goreleaser/goreleaser-action action to v7
  • bb761db chore(refinery): keep patrol formula version unchanged in PR
  • b8e7c66 convoy: increase generated convoy ID entropy (#2063)
  • 76721e9 docs(design): add polecat self-managed completion design (gt-0wkk)
  • 4c9309c docs(mayor): add Rig Wake/Sleep Protocol to mayor template
  • ad618b4 docs(polecat): clarify that status arg is '/' not two args
  • a315ffe docs(polecat): clarify that status arg is '/' not two args
  • 9fb0090 docs(templates): improve mail instructions in crew and polecat priming
  • faf45d1 docs(templates): require Co-Authored-By for community contributors on fix-merges
  • 26a570c docs(tmux): add keybinding design doc and update cycle group comments
  • 33362a7 fix(multi-town): isolate tmux sockets per town and validate Dolt ports
  • 8d5264f fix(multi-town): migrate remaining tmux callsites to socket-aware API
  • d8e8f59 fix(sling,convoy): prevent double-spawn from stale cross-rig convoy feed
  • 84dcbf4 fix(sling,done): close dispatch TOCTOU race and wire up MR checkpoint
  • 9e15ae0 fix(unsling,prime): add town-level beads fallback for rig-level agents (gt-dtq7)
  • 163b48c gt dolt sync: park rigs during push to prevent witness interference
  • 4171708 hooks: fail closed on settings integrity violations (#2026)
  • 9f6dc24 perf(test): speed up internal/web and internal/util tests (gt-pp2t)
  • c71c90a perf(test): speed up internal/witness tests from 22s to ~8s (gt-l7x9)
  • 12cf321 perf: drop full test suite from polecat formula, let MQ be authority
  • eb226ea perf: replace per-PID pgrep calls with single ps-based process tree
  • e7efd35 perf: replace per-PID pgrep calls with single ps-based process tree
  • cf48982 perf: replace shell script bd mocks with Go function mocks in witness tests
  • 8eb5d16 perf: replace shell script bd mocks with Go function mocks in witness tests
  • 79bf766 perf: speed up internal/tmux tests from 156s to 82s (gt-ienv)
  • cff1b18 perf: speed up internal/tmux tests from 156s to ~82s
  • 9499c7e perf: use --root-only for patrol wisps to cut Dolt churn
  • 604d85f refactor(beads): consolidate FindMRForBranch and FindMRForBranchAny (#2074)
  • 3912802 refactor(beads): remove unnecessary ParseAgentFieldsFromDescription alias
  • d11408d refactor(compactor): strip imperative Go, use formula-only pattern like janitor dog
  • a935e59 refactor(test): trim tmux tests from 3075 to 374 lines
  • 016381a refactor(witness): stop nuking polecats, restart/escalate instead (gt-dsgp)
  • 2484936 refactor: add role registry with autonomous/emoji properties from TOML configs (gt-2e5q)
  • 435e9e9 refactor: doctor dog reports structured data, removes hardcoded thresholds (gt-0cxc)
  • bc9f395 refactor: doctor dog reports structured data, removes hardcoded thresholds (gt-0cxc)
  • f50246a refactor: migrate test infrastructure from manual Dolt server to testcontainers
  • b4d1414 refactor: remove JSONL fallback paths in favor of Dolt-only operations (#2051)
  • 9d7c75e refactor: simplify GetAssignedIssue to loop over statuses
  • 3353482 refine(refinery): consolidate target rule and apply review triage
  • ccd14b3 refinery: add deterministic queue tie-breaker (#1938)
  • ee31fe2 test(convoy): use external id format for cross-rig dependency
  • bdae72c test(doctor): add tests for config.yaml repair and extractRigName
  • 2f2a1b2 test(refinery): cover integration-flag behavior and expose config vars
  • 77e9c11 test(sling): add unit tests for executeSling flock acquisition
  • a1c9ad7 test(templates): align refinery default-branch assertions with target placeholders
  • 003f302 tooling: add CI state classifier command (#1978)
  • 1940897 tooling: add deterministic CI state classifier command
  • 562dd6b tooling: tighten CI classifier state mapping (#1978)

Don't miss a new gastown release

NewReleases is sending notifications on new releases.