Repository navigation
Releases: robot-council/cli
Release list
v0.4.32 — A Stop Hook That Says When It Cannot Read the Sink
The stop hook now says when it cannot read the sink, and reads the sink key its bridge recorded, so a slow git no longer splits the two.
Upgrading:
- Replace each machine's copy of the stop-hook script with this version's
resources/stop-hook/robot-council-stop-hook. #348 changed it: whenpendingexits3because the sink exists and could not be read, the script now tells the agent so, instead of ending the turn as though the fleet were quiet. An older copy keeps working, but it treats that case as a quiet fleet, so events can sit unannounced. The new script needs cli v0.4.31 or later. - Restart each Claude Code seat's bridge after upgrading. A bridge records its sink key only from this version, so a seat whose bridge started earlier keeps resolving the key on its own, as before, until it restarts.
What's fixed
- Say so when
pendingcannot read the sink, rather than print nothing #348 - Record the bridge's sink key so its stop hook reads the same sink, however
gitanswers #349
Maintenance and tooling
v0.4.31 — Cursor Seats Stay Joined, a Leave Tool, and Events That Survive a Killed Hook
A Cursor seat stays on the fleet through Cursor's reloads, an agent can take its session off the fleet with leave, and a stop hook killed at its timeout no longer loses the fleet's events.
Upgrading:
- Replace each machine's copy of the stop-hook script from this version (
resources/stop-hook/robot-council-stop-hook). It now callsrobot-council pending --format, so no second process stands between delivery and the harness. An older copy keeps working, with a wider window in which a killed hook loses events. The new script needs cli v0.4.31 or later. - Sink delivery is now at least once, so an event can arrive twice by design: when a hook is killed after printing and before it marks the events delivered, the next turn end prints them again. Treat a directive as a request to reach a state, and check whether that state already holds before acting on it.
- For Cursor, restart the bridge (reload Cursor) after installing, so it runs this version.
What's new
- Let an agent take its session off the fleet with a
leavetool #338 - Rejoin a restarted Cursor bridge under the application that joined, and otherwise tell the operator #337
What's fixed
- Deliver sink events at least once, removing them at the next turn end rather than before printing #342
Maintenance and tooling
- Give the CI tests job twenty minutes, which the Windows cells had outgrown #340
v0.4.30 — An Agent Hears Its Capacity Change
A running agent now hears when its seat's capacity is raised or lowered, without rejoining.
What's new
- Tell an agent when its seat capacity changes after it joins #334
v0.4.29 — The Wiki Becomes the Documentation
The wiki becomes the documentation for the command line, and the README an overview that links to it.
Maintenance and tooling
- Cut the README to an overview, now that the wiki holds the documentation #331
v0.4.28 — A Cursor Seat Hears the Fleet Again
A Cursor seat hears the fleet again. From v0.4.23, its stop hook read a different sink from the one its bridge wrote, so a Cursor seat received no fleet events at all. This release also adds two things. A bridge started in a checkout that already has one now warns. And a session can declare how many tasks it will hold at once.
Upgrading a Cursor seat: run robot-council upgrade, then reload Cursor's MCP servers. Events a Cursor bridge had already written to the old sink are not delivered: both the bridge and its hook move to the new key, and the old file stays where it is.
What's new
- Warn when a second bridge starts in a checkout whose event sink is already held #322
- Declare a parallel capacity on join, from
--capacityand thejointool #325
What's fixed
- Key a Cursor seat's sink without the checkout, so its stop hook finds its bridge's events #328
v0.4.27 — Addressed Narration Reaches Its Seat
A narration addressed to a session now reaches it. The fleet's coordinator answers a seat with a narration addressed to it by meta.to or meta.to_tasks, and until now the bridge discarded every narration, so those replies went unseen until the seat happened to read the feed itself. Narration addressed to nobody, or to other sessions, is still kept out.
What's fixed
- Deliver a narration addressed to a session to its sink, so a coordinator's reply is seen #316
v0.4.26 — Adding a Cursor Seat
The README's Cursor wiring section now notes that on macOS the launcher needs php on the PATH Cursor inherits, and that whether a Cursor started from the Dock gets it has not been measured. The operator's guide on the wiki now covers adding a Cursor seat, and describes this release line.
Maintenance and tooling
- Note the macOS php precaution for a Cursor seat in the README #311
v0.4.25 — Quieter Reads Through `api`
A read through robot-council api now starts an ephemeral session. This is the client half of keeping a loop of reads from filling the fleet feed with a join and an end for every call. The fleet stops announcing those sessions once robot-council/core#424 ships. Until then a read behaves as before, because a service that does not know the flag ignores it. A call that can change something still starts an ordinary session and ends it.
What's fixed
- Start an ephemeral session for a read through
robot-council api#310
v0.4.24 — Reading the Feed Without a Stop Hook
A Claude Code seat with no stop hook now hears the fleet. Before this, the bridge told every woken agent to end its turn and let the stop hook deliver the events, and on a machine with no hook nothing did. The bridge now checks for a hook at start. Without one, it tells the agent to read the feed itself and stops repeating a notice once the agent has. It logs which case applied.
What's fixed
- Tell an idle Claude Code agent to read the feed itself when the bridge finds no stop hook #307
v0.4.23 — Each Checkout Its Own Sink
Sessions on one machine no longer take each other's fleet events. Before this, every session launched from one user-level harness configuration shared one event sink, and the first stop hook to run took everyone's events. Each checkout now has its own sink. Events already waiting in the old shared sink are not delivered after upgrading. A seat that names --project keeps its sink as it was.
What's fixed
- Give each checkout its own fleet-event sink, so sessions on one machine stop taking each other's events #303