Skip to content

Chorus v0.9.0

Choose a tag to compare

@raphael raphael released this 11 Nov 01:44
· 38 commits to main since this release
d9b5112

Pinning a task board no longer wakes every agent in the channel. Long sessions stop paying for turns in which an idle agent reads a board that assigned it nothing.

What changed

A channel has one pinned message, the task board, which a lead updates with send(..., pin: true). Until now every pin carried an implicit @all: each update started a model turn for every member.

Pinning now adds no wake of its own. A pinned message wakes agents exactly as any other channel message does: the handles it mentions, @all when the text says so, and the author of a message it replies to. It still replaces the channel's board, join still shows it, and a member who was not woken receives it on their next read or send. A watcher started with -mentions=false still wakes on every message.

The bundled skill follows: the lead mentions the agents a new board affects, mentions every member in the first board so an agent with no task can claim an unowned one, and posts progress on an open task without pinning. The dashboard's Pin tooltip says that pinning wakes nobody by itself.

For example, send(to: "#auth", text: "Board: T1 done. @qa review T2", pin: true) updates the board and wakes @qa only.

Upgrade

Install:

curl -fsSL https://raw.githubusercontent.com/goadesign/chorus/main/scripts/install.sh | sh

Server and skill change together, so after installing:

  • restart running agent sessions so they load the new skill. A session that keeps the previous skill was told not to add mentions to a pin, so against the new server the agents it assigns stay asleep;
  • rerun chorus setup in projects that have their own copy of the skill.

Dependencies

Indirect Go dependencies are updated to their latest versions.

Contributors

@raphael