• v0.11.1 Stable

    dave released this 2026-05-15 22:43:43 +00:00 | -23 commits to master since this release

    What's Changed

    Focus: Infrastructure, multi-model agents, bot commands

    Features

    • Fly.io Machines API integration for multi-tenant huskies SaaS (811)
    • Tee pipeline events into gateway Timmy's context (1063)
    • Move source-map regen into the merge pipeline; drop spawn-time regen and the orphan tracked-file drift (1065)
    • Decouple startup CRDT replay from live TransitionFired channel; add periodic reconciler for side-effect subscribers (1066)
    • Include story name in huskies: merge NNNN commit subject so release notes regenerate cleanly (1069)
    • Chat notification when a new work item is created (1073)
    • Compact Working tree: N (uncommitted) inline with the coder line in chat status output (1076)
    • Truncate merge-failure chat notification to the tail of gate output (1077)
    • Pipeline+Status split — Step B: migrate UI/display layer to read Pipeline + Status (1085)
    • Pipeline+Status split — Step C: migrate auto-assign, subscribers, and lifecycle transitions to read Pipeline + Status (1086)
    • Pipeline+Status split — Step D: migrate CRDT storage to (Pipeline, Status) and remove the Stage enum (1087)
    • Record and surface the origin of every work item (1088)

    Bug Fixes

    • done → archived sweep stops firing after rebuild_and_restart cycles (1070)
    • Coder agents run sqlx migrations against the production pipeline.db, bricking the next server restart when binary's migration set is behind (1072)
    • get_version returns stale build_hash after rebuild_and_restart (1074)
    • get_pipeline_status returns ~9 KB per item — overflows MCP token limit at ~30 active items (1075)
    • Gateway event tee from 1063 not injecting into Timmy's context — buffer wired but reminders never appear (1078)
    • Stuck-agent detector blocks stories on legitimate exploration / debugging — uses too narrow a "progress" signal (1089)
    • Chat dispatcher spawns one Timmy per inbound message — needs coalesce window + per-session serial lock (1093)
    • delete_story leaks zombie rows in pipeline_items shadow table — 176 tombstoned items still report non-terminal stages (1094)
    • Shadow drift: set_name writes CRDT name register without updating pipeline_items.name (1095)
    • Shadow drift: set_agent writes CRDT agent register without updating pipeline_items.agent (1096)
    • Shadow drift: set_depends_on writes CRDT depends_on register without updating pipeline_items.depends_on (1097)
    • Shadow drift: set_retry_count / bump_retry_count write CRDT register without updating pipeline_items.retry_count (1098)
    • Multiple LLM agents can run concurrently on the same story (coder + mergemaster + others) — enforce one-agent-per-story invariant (1100)
    • Rate-limit warning at session start sticks the rate_limit_exit flag, causing 1053's fast-path bypass to skip completion on clean session exits (1103)
    • Freeze from Backlog stores wrong resume_to — Unfreeze restores to Coding instead of Backlog (1105)

    Refactors

    • Migrate AgentPool::kill_all_children and kill_child_for_key to process_kill so server shutdown and stop_agent actually kill claude (1090)
    • Migrate the merge-gate's stale-cargo kill path to process_kill (1091)

    Other Changes

    • fix(1102): require non-empty origin.id on create_* MCP tools
    • diag(1101): log classify verdict + matched trigger on merge gate failures
    • test(tick_loop): de-flake reconcile_never_floods_broadcast_channel
    • fix(agents): kill-then-status reorder in stop_agent
    • feat: add process_kill module + use it to fix watchdog double-spawn
    • chore: gitignore .huskies/double_timmy_log.md
    • fix: skip setup commands on worktree reuse so reconciler doesn't fire npm ci every 30s
    • fix: drop source-map.json from agent orientation bundle

    Full diff: https://code.crashlabs.io/crashlabs/huskies/compare/v0.11.0...v0.11.1

    Downloads