v1.16.25

guilinhu/proactive_hearing_assistantv1.16.25Oct 4, 2026by github-actions[bot]

Upgrading?

AI Summary

This release focuses on improving communication between agents, remote management, and notification systems. It introduces new commands for outbox management and inbox cursors, while fixing issues with background workflows and event bus data races.

Key Highlights

  • New `agent-deck conductor notify` command with urgent/info batching
  • Optimized `agent-deck remote drain` with talkback intervals
  • Comms Ledger for durable records of agent turns
  • Background workflows now show as running in TUI

New Features

  • `agent-deck conductor notify --tier urgent|info`
  • `agent-deck conductor outbox`
  • `agent-deck remote drain` improvements
  • `agent-deck inbox cursor`
  • Comms Ledger (opt-in)
  • `remote list --check` shows update timers
  • `update --check --json` reports remote nudges

Full Release Notes

Agent Deck 1.16.25 is about who hears what, and when: agents talk to each other and to you with less noise, and remotes now look after their own updates.

- **Upgrading:** re-run `agent-deck conductor setup <name>` once per conductor to install the updated Telegram/Slack/Discord bridge. Remotes install or migrate their own update timer on their next update; nothing to do by hand.

### Added

- A conductor can message you from any turn with `agent-deck conductor notify --tier urgent|info`: urgent goes out at once, info is batched into a digest (every 30 min by default), and nothing is lost when the bridge or the chat platform is down (#2474).
- `agent-deck conductor outbox` lists and acknowledges what is waiting to reach you (#2474).
- Replies go back to whoever asked: a `session send` from one agent to another is tagged with the sender, and the answer lands in the sender's inbox and wakes it. Turn off with `[send] tag_sends = false` or `--no-tag` (#2475).
- `agent-deck remote drain` only ships what is new since the last drain and wakes the conductor for urgent items; `[remotes.<name>] talkback_interval_secs` runs it on a schedule, and a dead link raises one urgent alert instead of going silent (#2477).
- `agent-deck inbox cursor` shows where each remote drain left off (#2477).
- Comms Ledger (opt-in, off by default): a durable record of every finished agent turn behind `[comms] ledger`; see docs/comms.md (#2476).
- `remote list --check` and the TUI remote preview show each remote's update timer (installed, kind, active, last and next run); `remote update --install-timer` installs or migrates it over SSH (#2483).
- `update --check --json` reports the outcome of the controller's last update nudge to each remote (`remote_nudges`) (#2483).

### Changed

- Only a finished task, an error or a question to the parent counts as urgent; a plain reply or progress note is info and no longer wakes the parent (#2478).
- A child started with the identity block no longer gets the completion instruction twice in its launch message (#2474).

### Fixed

- Remotes keep their own daily update timer: it is installed or healed on its own, an old hand-made `agentdeck-autoupdate.timer` is migrated with backups instead of being reported as missing, and `[updates] manage_timer = false` turns this off (#2483, fixes #2472).
- A Claude session running a background Workflow, background agents, background shells or a Monitor now shows as running (with the task and progress in the TUI preview and in `--json` as `background_work`) instead of idle, and the sender of a send that started it gets the real result when it finishes (#2479, fixes #2473).
- Closing an event bus now stops and waits for its subscriptions first, fixing a data race that could hit a closed lock file and made CI flaky (#2485, fixes #2484).

Contributors: @asheshgoplani (all changes in this release).

Related Repositories