github gastownhall/gastown v0.12.0

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

Gas Town v0.12.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

  • 98a2d06 Merge PR #2370: feat(daemon): opt-in pressure checks before agent spawns
  • 4ba154a Merge PR #2398: feat(convoy): add --base-branch support to convoy create
  • 92ab22d Merge PR #2466: feat: add gt plugin sync to auto-deploy plugins after build
  • 43ead39 Merge PR #2580: feat: add Witness dispatch message types
  • 207f1a5 Merge PR #2609: feat: add merge_strategy config to refinery (direct vs PR mode)
  • 5dc606f Merge PR #2633: feat: event-driven polecat lifecycle with FIX_NEEDED feedback loop
  • 2eebe50 Merge PR #2674: feat(mail): auto-nudge agents to reply via mail rather than in chat
  • 74f19f8 Merge PR #2676: feat: use --reference for submodule init in worktrees
  • efb1661 feat(config): add configurable reply_reminder_delay to MailThresholds
  • 7307240 feat(convoy): add --base-branch support to convoy create
  • ae72e8e feat(daemon): add opt-in pressure checks before spawning non-infrastructure agents
  • 94cd895 feat(dog): add wait-for-slung guard to dog worker dispatch
  • 22a1630 feat(dogs): hardcode formula CLI paths and lookup order in dog priming
  • 7fcfe8e feat(formula): implement extends and compose/expand support
  • 7f3a813 feat(mail): enqueue deferred reply-reminder nudge after mail delivery
  • 3d5c721 feat(nudge): add DeliverAfter field for deferred queue delivery
  • 8da798b feat(sling): add --crew flag for targeting crew members by rig
  • 2fc2bab feat: add /reaper, /backup, and /patrol custom skills (gt-pv3k)
  • 77c6683 feat: add /review command with A-F grading and refinery integration (#2636)
  • 2e69cdf feat: add FIX_NEEDED protocol message for event-driven polecat lifecycle (gt-k0h)
  • 7ec0de9 feat: add Witness dispatch message types (te-l0o)
  • 44fe386 feat: add executable run.sh for compactor-dog plugin
  • 380fc9c feat: add git-hygiene dog plugin for automated repo cleanup (gt-cdm)
  • 7a4ac8f feat: add gt plugin sync to auto-deploy plugins after build (hq-o9gna)
  • 07a89fc feat: add merge_strategy config to refinery patrol formula (gt-fln)
  • 7b32203 feat: add run.sh for dolt-archive plugin, fix DB name beads to bd
  • 43c2253 feat: add town-level crew_agents for per-crew agent assignment
  • 7228d54 feat: background nudge-queue poller for non-Claude agents
  • 5978367 feat: github-sheriff v2 — single API call, PR categorization
  • 2c33d11 feat: implement escalation notification channels (email, slack, sms, log)
  • 3300480 feat: new doctor checks + agent bead creation on rig add/adopt
  • 716302d feat: redesign mol-polecat-work for event-driven lifecycle (gt-k0h)
  • 58fcf69 feat: refinery sends FIX_NEEDED to polecat on merge failure (gt-k0h)
  • d2ac284 feat: support partial clones and sparse checkout for gt rig add
  • 93c36e5 feat: surface DND in gt status and auto-reset muted mode on gt up
  • 63ebe64 feat: upgrade Copilot CLI from informational to executable hooks
  • 6d1276e feat: use --reference for submodule init in worktrees
  • 6bdd92f feat: wire --files flag in formula run command
  • 4b11810 feat: witness handles awaiting_verdict polecat state (gt-k0h)

Bug Fixes

  • b163dd9 Merge PR #2399: fix: guard against bd v0.58.0 non-JSON output in list/hook/mail parsing
  • a4117e9 Merge PR #2403: fix: agent-beads-exist check now verifies polecat beads
  • 3627f03 Merge PR #2406: fix: sweep orphaned wisp_dependencies after compact
  • 3bfdcb4 Merge PR #2413: fix: inject Dolt server port into agent tmux sessions (GH #2412)
  • ecc00df Merge PR #2421: fix: convert session-hygiene from plugin.md to deterministic run.sh
  • f0fb859 Merge PR #2442: fix: prevent tmux socket split-brain causing nudge failures
  • adfdb02 Merge PR #2459: fix: auto-purge closed ephemeral beads on session end
  • d39fb36 Merge PR #2467: fix: check rig-level metadata before town-level beads redirect
  • c44fd7e Merge PR #2469: fix: reaper Sprintf bugs and missing schema guard
  • 04df506 Merge PR #2477: fix: include beads_prefix in gt rig list --json output
  • 814e083 Merge PR #2479: fix: EnsureMetadata repairs stale dolt_server_port
  • 46b6f8e Merge PR #2487: fix: add --rig flag to gt crew start for consistency with stop
  • 3b8bf75 Merge PR #2494: fix: prevent TOML env from overwriting AgentEnv identity vars
  • 07570b9 Merge PR #2511: fix: DEFERRED exit incorrectly closing work bead
  • f86ff9f Merge PR #2515: fix(beads): add --flat flag to bd list for valid JSON output
  • 04e79ef Merge PR #2533: fix: restore hook_bead slot write on agent bead creation
  • cba8ac1 Merge PR #2542: fix: replace fixed 200ms daemon startup check with polling loop
  • 3cb14ce Merge PR #2547: fix: add warning log to DatabasePrefixCheck.Fix() (GH#2455)
  • 169278a Merge PR #2548: fix(docker): detect arch dynamically and add gt to PATH
  • cb4675b Merge PR #2550: fix: remove nonexistent --global flag from gt enable output (GH#2543)
  • 67d3523 Merge PR #2551: fix: use CommandContext in dog done to prevent Cancel panic (GH#2528)
  • 01983a8 Merge PR #2552: fix: add StripBeadsDir to convoy dep add/remove for rig-prefixed beads
  • 5d9bf02 Merge PR #2554: fix: reject path separators in rig names (GH#2544)
  • 12ebee1 Merge PR #2586: fix: prevent bd from spawning orphan embedded Dolt servers
  • b865fb1 Merge PR #2587: fix: make PrefixRegistry resilient to missing rigs.json
  • ef49140 Merge PR #2589: fix: FormatMailBody detects run.sh and dispatches script instead of markdown
  • c5c273f Merge PR #2591: fix: read rig beads prefix from rigs.json instead of missing config.json
  • 9adb420 Merge PR #2595: fix: persist formula --var context for assignees
  • 374222f Merge PR #2611: fix: render hooked formula wisps as workflow work
  • 39ff68d Merge PR #2613: fix: avoid race condition in Dolt startup readiness check
  • cedce11 Merge PR #2616: fix: add dog role to identity resolution and sling target
  • 58e32f0 Merge PR #2622: fix: clean worktree state before branch switch in ReuseIdlePolecat
  • a6b0da4 Merge PR #2625: fix(convoy): cross-database dependency resolution for multi-rig towns
  • 63914b7 Merge PR #2626: fix: gt prime --hook compact path too slow for non-Claude runtimes
  • ef1d4ad Merge PR #2627: fix(convoy): CLI-side cross-database dependency resolution
  • 5e39bab Merge PR #2629: fix: add RoleDog to session identity for quota rotation restart
  • 37d1055 Merge PR #2639: fix: add scope guardrails to stuck-agent-dog plugin
  • 36887a2 Merge PR #2643: fix(dolt): normalize backslashes in config.yaml on Windows
  • f68b77e Merge PR #2658: fix(ci): restore cross-platform harness drift and deterministic convoy ID tests
  • 0347391 Merge PR #2661: fix: use Beads wrapper in scheduler dispatch
  • 76311d6 Merge PR #2663: fix: back-link source issue to MR bead on creation
  • 6c68457 Merge PR #2668: fix: use rig name and correct DB prefix in EnsureAllMetadata
  • 8935a8e Merge PR #2670: fix: restrict remote branch deletion to polecat branches only
  • 2b5316b Merge PR #2671: fix: remove unused dbName parameter in batchDeleteRows (lint)
  • eb2f5ec Merge PR #2672: fix: move --flat fallback into Beads.run to prevent re-injection
  • a3de309 Merge PR #2677: fix: degrade wait-idle to queue for agents without prompt detection
  • 1efc1ec fix(backup): add spike baseline recovery to prevent permanent export blocking
  • cf565d0 fix(beads): add --flat flag to bd list for valid JSON output
  • 4eba9d7 fix(ci): extract shared convoy compatibility foundation
  • 476b1a5 fix(ci): restore shared main-red failures
  • 87ed492 fix(ci): restore shared main-red failures
  • 7801bb5 fix(convoy): CLI-side cross-database dependency resolution
  • afe2abb fix(convoy): count tracked externals in status and list
  • aaa4670 fix(convoy): cross-database dependency resolution for multi-rig towns
  • 3530483 fix(convoy): route HQ convoy reads via town root
  • 2721ca2 fix(convoy): share allow-stale tracked-issue reads
  • 5b7a378 fix(deps): update go x/ packages
  • 5cb8a41 fix(deps): update module github.com/go-sql-driver/mysql to v1.9.3
  • 9a547ff fix(deps): update opentelemetry-go monorepo
  • ac4b65d fix(docker): detect arch dynamically and add gt to PATH
  • 01e4df5 fix(dolt): normalize backslashes in config.yaml data_dir on Windows
  • deb8a52 fix(dolt): use TCP fallback for IsRunning on Windows
  • f09a1dd fix(formulas): persist merge failure context to bead instead of losing it
  • fcb8f0e fix(hook): route gt hook show to rig DB for remote rig-level targets
  • 4d35143 fix(hooks): background gt costs record in Stop hook to prevent SIGKILL
  • 2abc36d fix(nudge): deliver queued nudges via hook trigger, not raw tmux send-keys
  • a358ef4 fix(refinery): skip MRs with missing branches instead of fatal exit (rc-d46) (#2539)
  • a6e349b fix(sling): load default_branch from rig config as base_branch formula var
  • 48aeff9 fix(witness): emit MERGE_READY channel event to wake refinery await-event
  • b965060 fix: CI sling tests tolerate --allow-stale cache and WithAutoCommit
  • 6202ffc fix: EnsureAllMetadata maps database names to rig names via routes.jsonl
  • a1ddecd fix: EnsureMetadata repairs stale dolt_server_port in metadata.json
  • 7c40de0 fix: FormatMailBody detects run.sh and dispatches script instead of markdown
  • 77092bb fix: add --rig flag to gt crew start for consistency with stop
  • 1a568fb fix: add RoleDog case to resolveSelfTarget for gt hook (gt-t2zf)
  • 6c24586 fix: add RoleDog to session identity parsing for quota rotation restart
  • 3bf8a66 fix: add StripBeadsDir to convoy dep add/remove for rig-prefixed beads
  • db0b976 fix: add diagnostic logging to daemon env skip path
  • 014bb42 fix: add dog role to mail identity resolution and env setup
  • c3810c4 fix: add dolt.idle-timeout default for Gas Town centralized Dolt
  • 37346f3 fix: add explicit scope guardrails to stuck-agent-dog plugin
  • b734d53 fix: add nil guard on rigCfg and read boolean MQ vars from bead labels
  • f568c27 fix: add pressure stubs for Windows/FreeBSD (release build fix)
  • adee1fa fix: add state.json to crew workspace gitignore patterns
  • 35a2697 fix: add state.json to required gitignore patterns for crew workspaces
  • 7a202c4 fix: add timeout protection to gt handoff blocking operations (gt-s9ib)
  • db32280 fix: add warning log to DatabasePrefixCheck.Fix() before prefix changes (GH#2455)
  • 62d4519 fix: address PR #2430 review feedback
  • 4a69240 fix: address PR #2495 review — atomic writes, tests, style.PrintWarning
  • 7478fd2 fix: address review feedback on plugin sync
  • f587f7a fix: agent-beads-exist check now verifies polecat beads (gt-5f1skfj)
  • 3c3cbd3 fix: apply same TOML env guard to daemon lifecycle path + add tests
  • bcc7ac1 fix: auto-purge closed ephemeral beads on session end (hq-6161m)
  • 6a0f498 fix: auto-start nudge-poller when degrading to queue for non-Claude agents
  • b017a47 fix: avoid race condition in Dolt startup readiness check
  • 8a509bb fix: back-link source issue to MR bead on creation (GH#2599)
  • 209e427 fix: check rig-level metadata before town-level beads redirect (hq-x1ucu)
  • db23a43 fix: clean stale dolt-server.port files on server start (gt-t642)
  • 25535b8 fix: clean up IsResolvedAgentClaude godoc and add nil guard
  • 13ad1a8 fix: clean worktree state before branch switch in ReuseIdlePolecat
  • 61b88b0 fix: commit town-level config changes after rig add/adopt (gt-n2kn)
  • d5b5d20 fix: compactor-dog use DOLT_FETCH instead of DOLT_PULL for live servers
  • 879ea53 fix: convert session-hygiene from plugin.md to deterministic run.sh (gt-rpkc)
  • b82a378 fix: correct comment example rig name and normalize issue references
  • d852cd4 fix: correct default database name in compactor-dog (gastown → gt)
  • a40c358 fix: create wisps tables on gt Dolt server, not just bd's instance
  • cf3bdbe fix: daemon fail-safe when Dolt unavailable, suppress docked-rig warnings
  • daad4c9 fix: degrade wait-idle to queue for agents without prompt detection
  • d9a72a5 fix: display mail timestamps in local timezone instead of UTC
  • d7ef2d6 fix: doctor --fix reopens closed agent beads instead of recreating
  • ab71b3d fix: exclude agent beads from wisp reaper
  • 551582a fix: forward dashboard port in Docker and bind to all interfaces in sandbox
  • 5265043 fix: gt dolt sync pushes via SQL to avoid stopping server (hq-qo8ma)
  • de81883 fix: gt prime --hook blocks forever on non-Claude runtimes
  • 6b68f90 fix: gt prime skips patrol wisps on parked/docked rigs (gt-eqa9)
  • 4db877a fix: guard against bd v0.58.0 non-JSON output in list parsers (gt-sl4)
  • 53567e6 fix: guard against bd v0.58.0 non-JSON output in list/hook/mail parsing
  • 32298c6 fix: handle --model=value equals form in runtime label parsing
  • 309e0b0 fix: handle non-JSON bd output in ListOpenSlingContexts
  • fdff3cb fix: harden AutoClose and doctor against destroying protected beads
  • 44452cc fix: hide docked rigs from Mayor tmux status line
  • 64fc8cc fix: honor --base-branch in formula rendering and MR targeting
  • 67af59b fix: hook show shorthand normalization and stale hook_bead lookup
  • 2660def fix: include beads_prefix in gt rig list --json output (hq-jz80q)
  • d8f6467 fix: initialize tmux registry in nudge for non-agent contexts
  • a871bf2 fix: inject Dolt server port into agent tmux sessions (GH #2412)
  • da38046 fix: make PrefixRegistry resilient to missing rigs.json
  • f379e3b fix: make SyncPortFiles idempotent — skip writes when port matches
  • 08c22cd fix: mount FOLDER to /gt with runtime workspace initialization
  • 19b224c fix: move --flat fallback into Beads.run to prevent re-injection
  • 1be905b fix: move compact/resume check before Dolt-heavy operations in prime
  • 847ee6b fix: mq list returns empty for merge-request wisps
  • 86d3c77 fix: namespace tmux sockets by town path hash
  • 0fbc53e fix: notify mayor after refinery merge, always delete polecat branches
  • 4a8cfa6 fix: pass rig beads prefix when reading layered config in patrol vars
  • e9c4c65 fix: persist formula --var context for assignees
  • 8137131 fix: persist home directory in a managed Docker volume
  • e940b2e fix: pre-validate command binary in tmux session creation
  • d5713ee fix: prefer structured agent_state in GetAgentBead
  • f1fea77 fix: prevent CLAUDECODE env var from blocking agent session creation
  • 58d0d0c fix: prevent TOML env from overwriting AgentEnv identity vars
  • e55e3f2 fix: prevent rebuild-gt from downgrading binary (crash loop fix)
  • d09dc33 fix: prevent tmux socket split-brain causing nudge failures
  • f786430 fix: propagate BEADS_DOLT_PORT to agent sessions
  • 0dacd71 fix: protect standing-order beads from AutoClose reaper
  • d51f997 fix: protect standing-order beads from polecat removal status reset
  • 8280d79 fix: qualify GT_ROLE in role TOMLs and prevent TOML env clobbering AgentEnv
  • d06966a fix: query wisps table for ephemeral MRs and mail messages (#2450)
  • 039f8da fix: re-probe bd --allow-stale support by binary path (#2570)
  • 98b748d fix: read rig beads prefix from rigs.json instead of missing config.json
  • ff43fa7 fix: reap idle polecat sessions to prevent API slot burn
  • e78cad1 fix: refinery patrol reads command vars from layered rig config
  • e26cc40 fix: reject path separators in rig names and harden prefix derivation (GH#2544)
  • dc1d11d fix: remove WithAutoCommit from hookBeadWithRetry
  • e9c2929 fix: remove dead homebrew tap job, make npm best-effort in release workflow
  • f6935ac fix: remove hardcoded go test default from formula and config
  • c710279 fix: remove nonexistent --global flag from gt enable output (GH#2543)
  • 3343495 fix: remove orphaned RoleLabelCheck doctor check (gt-324)
  • 35ea953 fix: remove stray dbName args from reaper Sprintf calls, add schema guard
  • 6645565 fix: remove unused dbName parameter in batchDeleteRows (lint)
  • 85b6309 fix: render hooked formula wisps as workflow work
  • f6e17f4 fix: replace fixed 200ms daemon startup check with polling loop
  • f9ce9fc fix: replace grep -P with literal tab for macOS compatibility
  • a0d5945 fix: resolve CI lint and test failures on main
  • 9de066d fix: resolve mayor dashboard runtime from agent config
  • 56e6ddf fix: respect no_merge flag in polecat zero-commit check
  • 5e0d1c3 fix: restore WithAutoCommit in hookBeadWithRetry
  • de2d886 fix: restore gastown beads backup clobbered by PR #2324
  • 630e879 fix: restore hook_bead slot write on agent bead creation
  • c2e21d1 fix: restrict remote branch deletion to polecat branches only (GH#2669)
  • a3fb88a fix: retry hook lookup in polecat context to eliminate race condition (#2389) (#2510)
  • 48ed998 fix: review command followups — robust test lookups, wording, base branch detection
  • ab1d955 fix: route agent bead creation to wisps (ephemeral)
  • aac5cfc fix: route mail/delivery ops to correct beadsDir by bead ID prefix
  • d3a3df1 fix: set GT_HOOK_SOURCE and GT_SESSION_ID in Gemini hook templates
  • 6819afa fix: set beads.role to maintainer during gt install (gt-xnqf)
  • 18e04cc fix: skip --reference for shallow clones
  • 0f94976 fix: skip findAgentWork retries on compact/resume path
  • 45b3f19 fix: skip hardcoded Claude start_command for non-Claude agents
  • db851a5 fix: skip redirecting rigs in DatabasePrefixCheck to prevent shared DB corruption
  • 70126b4 fix: start Dolt before agents to prevent boot race (gt-t2zf)
  • 3164aad fix: strip bd stdout warnings to prevent JSON parse corruption
  • 8278b1d fix: substitute rig vars into patrol formula steps at prime time
  • 554f4e9 fix: surface JSON parse errors in ListAgentBeads
  • dd4f810 fix: sweep orphaned wisp_dependencies after compact (gt-7y37lsv)
  • 4eaca22 fix: sync dolt-server.port files to prevent orphan bd servers (gt-t2zf)
  • b97a04e fix: sync port files to deacon and dog .beads dirs (gt-9t6y)
  • 41e50cc fix: sync with DoltHub remote before/after compaction (gt-mkd1)
  • 3fc2014 fix: update stale TODO comment on polecat spawn cap
  • ce5a6a0 fix: update stale database names (beads→bd, gastown→gt) causing backup failures
  • 2f8c55d fix: use Beads wrapper in scheduler dispatch instead of raw exec.Command
  • 54b9eb2 fix: use CommandContext in dog done to prevent Cancel panic (GH#2528)
  • 8eea55b fix: use Labels (plural) in hook_slot_integration_test CreateOptions
  • 8358ade fix: use default tmux socket and disarm respawn hooks before kill
  • 252f12a fix: use native bd routing to read rig bead labels in patrol vars
  • 068b1dd fix: use qualified GT_ROLE patterns in rig-scoped role TOMLs
  • 274f83b fix: use rig beads dir in prime_session hook detection
  • 444a6fb fix: use rig name and correct DB prefix in EnsureAllMetadata
  • c1b25f9 fix: use rig root for beads queries in prime hook lookup
  • 0f33903 fix: use test fixture in TestParsePluginMD_SessionHygiene instead of local filesystem
  • 38f7b38 fix: validate db/remote names before SQL interpolation (defense-in-depth)
  • c7cfa2d fix: validate remote names and commit hashes in compactor-dog run.sh
  • 7272f84 fix: wait for Dolt MySQL readiness and always pass --server-port to bd init
  • 9208223 fix: witness startup fails with exit 127 due to env/exec ordering

Others

  • a0e0de2 Add agent framework survey (w-gc-004)
  • f428b4f Add dolt-snapshots plugin: lifecycle-aware convoy snapshots (#2324)
  • d5bce7d Fix DEFERRED exit incorrectly closing work bead
  • 8cf48d0 Fix daemon escalations misidentifying as overseer
  • dba1fa7 Fix false positive in health pollution check for ephemeral wisps
  • a246a57 Fix gt dog dispatch --plugin not starting dog session
  • e680869 Fix witness startup: env(1) cannot run shell builtin exec
  • eaa5d4e Merge PR #2514: Fix Docker dashboard port forwarding
  • ce3624b Merge PR #2520: guard against bd v0.58.0 non-JSON output in list parsers
  • d8d8d67 Merge PR #2532: use rig root for beads queries in prime hook lookup
  • f856d1f Merge PR #2549: research: macOS sandbox-exec capabilities and limitations
  • 0264cb4 Merge PR #2576: bump filippo.io/edwards25519 from 1.1.0 to 1.1.1
  • 0613997 Merge PR #2579: prefer structured agent_state in GetAgentBead
  • 75be016 Merge PR #2581: agent framework research (w-gc-004)
  • f3850e6 Merge PR #2584: gt prime skips patrol wisps on parked/docked rigs
  • 999bc0f Merge PR #2588: set beads.role to maintainer during gt install
  • d224dd2 Merge PR #2592: update github actions pin hashes
  • 40f448d Merge PR #2593: chore(deps): update dependency promptfoo to v0.121.1
  • 462f157 Merge PR #2597: update go x/ packages (sys v0.42.0, time v0.15.0)
  • b444ce1 Merge PR #2598: update go-sql-driver/mysql to v1.9.3
  • fd821e7 Merge PR #2602: update opentelemetry-go monorepo to v1.42.0
  • 779a58c Merge PR #2628: docs: add Gas Town communication instructions to AGENTS.md
  • 9a7a3a5 Merge PR #2653: build(deps-dev): bump hono from 4.12.5 to 4.12.7
  • 264893a Merge PR #2665: docs: crew specialization and capability-based dispatch design
  • 1f9e270 Merge PR #2666: build(deps-dev): bump tar from 7.5.10 to 7.5.11 in gt-model-eval
  • 5fc2532 Merge main into fix/formula-var-context-standalone
  • 5a81ad3 Merge remote-tracking branch 'gastown/polecat/furiosa/gt-nqy9@mmjtqdye'
  • cf58254 Merge remote-tracking branch 'gastown/polecat/nux/gt-pv3k@mmjtqumk'
  • 5009f95 Merge remote-tracking branch 'origin/main' into codex/convoy-town-root-routing-2604
  • 6b5f112 build(deps-dev): bump hono
  • 4c5dd1c build(deps-dev): bump tar
  • 2620ad1 chore(deps): bump filippo.io/edwards25519
  • c6f8fe1 chore(deps): update dependency promptfoo to v0.121.1
  • 87897b1 chore(deps): update github actions
  • 4369ae3 fix(dolt-snapshots): add launched status and fix connection pool safety
  • 67d9b89 fix(refinery-patrol): embed Active Configuration block in formula root description
  • a42a032 fix(refinery-patrol): restore showFormulaStepsFull with var substitution at prime time
  • c0a06a6 fix(refinery-patrol): substitute vars directly into Variables table
  • 8a9efdc refactor: remove shouldBeWisp heuristic (ZFC compliance)
  • e3a5f80 research: macOS sandbox-exec capabilities and limitations (gt-6qt)
  • 3c5c04a research: macOS sandbox-exec capabilities and limitations (gt-6qt)
  • 5378421 test(convoy): remove short-id uniqueness flake
  • d15149c test(convoy): remove short-id uniqueness flake
  • 2f38bce test(mail,config): add reply reminder tests and update notify tests
  • 3e7a069 test(nudge): add DeliverAfter deferred delivery tests
  • 262708b test(windows): accept claude cmd paths in config tests
  • 6263d9e test(windows): accept claude cmd paths in config tests
  • ef41285 test(windows): fix shared harness assumptions
  • 78c1c3f test(windows): fix shared harness assumptions
  • 2ef3f44 test(windows): normalize loader claude path checks
  • 1d6d5b1 test(windows): normalize loader claude path checks

Don't miss a new gastown release

NewReleases is sending notifications on new releases.