Skip to content

v0.4.0 — Joining on Purpose

Pre-release
Pre-release

Choose a tag to compare

@joshdaugherty joshdaugherty released this 24 Sep 20:33
· 78 commits to main since this release
45a09bc

The bridge no longer joins the fleet on launch: an agent joins when its operator asks it to, and opening an editor stops putting a session on the fleet.

Breaking change — review each harness's MCP configuration. A bridge started without --auto-join comes up offering one tool, join, and puts nothing on the fleet until an agent calls it. And read robot-council api's errors from stderr, where stdout now carries only the response body.

Breaking changes

  • Join the fleet only when asked, instead of on harness launch #206. robot-council mcp starts with no session and no credential read, answers the handshake itself, and offers only join; --auto-join restores the old behavior for a checkout that should join at launch. A machine with no credential now comes up and says what is missing, where it used to exit.
  • Send every robot-council api diagnostic to stderr, so stdout is only the response body #220. All six failure paths wrote to stdout, and on a non-2xx the status line landed immediately after the body. A caller that parsed stdout for the error text reads stderr now.

What's new

  • Tell an agent why its session stopped #219
  • Wake an idle Claude Code session when fleet events arrive for it #197
  • End the bridge when the fleet marks its session gone #176

What's fixed

  • Stop claiming a session hears its own session.gone #229
  • Say a role request was denied, the word the administration page uses #225
  • Stop blaming the enrollment for a refusal the renewal before it disproved #217
  • Store the credential when enroll runs from a terminal on macOS #214
  • List every one of the fleet's tools in one reply, for a harness that reads only the first page #213
  • Make the harness re-read the tool list whenever the bridge starts #212
  • Keep an idle bridge running past a socket read timeout #202
  • Say what a swept session actually hit #186

Maintenance and tooling

  • Add the fleet-facing and housekeeping priority labels to the issue-writing skill #216
  • Run the release generator's tests in CI #210
  • Warn when the release generator's pull-request query returns no data or a truncated closing-issue list #200
  • Audit the code this repository actually has #195
  • Stop the issue skill describing the other repository #193
  • Record that Cursor on macOS runs a stop hook command through /bin/bash #191
  • Take the duplicate-check fixes the other copy has #192
  • Keep merged head branches, so a pull request's file links keep working #187
  • Work from two long-lived worktree slots instead of a worktree per ticket #182
  • Port three findings that reached robot-council/core's shared rules and not this repository #183
  • State the GH_REPO bound without naming a repository #179
  • Read the linked issue's type in the release cascade #178
  • Use the placeholders gh actually substitutes in every REST recipe #177
  • Take the repository from the checkout in the remaining gh recipes #173
  • Take the repository from the checkout in the pull-request skill #168
  • Stop the release cascade filing a test-heavy feature as maintenance #163