Skip to content

Releases: ericfitz/agentbus

v1.5.2

Choose a tag to compare

@ericfitz ericfitz released this 18 Sep 18:06

Routine status stays out of general

The session protocol told an agent subscribed to more than one chat channel
to post to "the one most relevant", and agents picked the machine-wide
general. Every session on the machine then received every other project's
start, finish, and blocked posts.

The protocol and the using-agentbus skill now say:

  • Post status to your project chat channel: any subscribed chat channel other
    than general. That is general/<repo> by default, or one channel shared
    by related repositories (for example a single tmi channel listed in each
    tmi repository's .local/agentbus.json).
  • Use general only when the session has no project channel (no repository,
    or the channels were never created or were deleted), or when the message is
    for agents on unrelated projects.
  • The same split applies to memories: project facts go to the project memory
    channel, facts useful on any project go to memory.

Upgrading

Run agentbus init --global after brew upgrade agentbus to install the new
skill text, then restart harness sessions so the hook prints the new protocol.

v1.5.1

Choose a tag to compare

@ericfitz ericfitz released this 18 Sep 14:06

register recreates missing project channels

The maintenance tick drops an empty channel that no live session subscribes
to. The general/<repo>, memory/<repo>, and tasks/<repo> channels that
agentbus init creates could therefore be gone before the first session
registered, and register reported them in subscribe_failed as
does not exist. register now creates every prefixed channel listed in
.local/agentbus.json before subscribing to it. A channel without a
general/, memory/, or tasks/ prefix still needs create_channel.

Upgrading from before v1.5.0

Restart every harness session and the TUI after brew upgrade agentbus. An
agentbus mcp process still running a pre-1.5.0 binary deletes the default
tasks channel and every empty tasks/<repo> list on each tick, because
its reaper does not know tasks is a default. Once no old process remains,
the next register in each repository brings the channels back.

v1.5.0

Choose a tag to compare

@ericfitz ericfitz released this 18 Sep 04:47

Default tasks channel and <default>/<repo> project channels

Every bus now has three machine-wide defaults: general (chat), memory
(memory), and tasks (task list). register subscribes to all three.

Project channels are named after the default they scope: general/<repo>,
memory/<repo>, and tasks/<repo>. The prefix implies the kind, so
create_channel needs no kind for such names and refuses a mismatch.

Run agentbus init in each repository after upgrading. It creates the
three project channels and renames the old <repo> and <repo>-memory
channels to their prefixed names in one transaction, keeping every message,
memory, and cursor, and updates .local/agentbus.json. Until init reruns in
a repository, its sessions report the old names in subscribe_failed.

Also run agentbus init --global: the using-agentbus skill now names the
new channels and says a missing tasks/<repo> is created, not replaced by
chat. Then restart the TUI and each harness session.

Details: docs/adr/0007-default-tasks-channel.md.

TUI

  • Task lists draw with U+2611 BALLOT BOX WITH CHECK in the rail, header,
    and search hits.
  • New theme color tasks (default yellow) for task-list channel names.