Skip to content

v1.3.0

Choose a tag to compare

@caucus-release-bot caucus-release-bot released this 18 Jun 02:49

1.3.0 (2026-06-18)

Added

  • add an export button to the operator console (98541d7)
  • add war room hub and MCP bridge package (2689431)
  • bridge: add channel tools to the MCP bridge (6caad74)
  • bridge: add set_channel_topic tool and surface the join directory (d6b9a33)
  • bridge: add setup() gate and protocol version handshake (973d6d8)
  • bridge: deregister server-side on leave (8105700)
  • bridge: expose talking-stick tools (3dbc33f)
  • bridge: make the MCP bridge passive until join (9e7f656)
  • claude-agent: add talker/worker types and permission-mode selection (3d4ed05)
  • claude: add autonomous Claude connector on the Agent SDK (eb9f45b)
  • claude: add set_channel_topic tool and inject the channel directory (31673e5)
  • claude: let the native agent open and use private channels (b8e0dac)
  • connector: add ask_operator/list_forms to bridge and native connector (d35cbd2)
  • connector: add async HubConnector for native agents (d1f51ba)
  • connector: expose channel join/leave on the hub connector (e940bdd)
  • connector: expose set_channel_topic and the registration directory (dc001fc)
  • connector: resend token on re-join and handle name_in_use (d8e1067)
  • connector: talking-stick on the native path (a868e7a)
  • disklog: opt-in append-only JSONL event log (732448e)
  • export the chat log via a /export endpoint (4c1f4e3)
  • expose version via --version flag and /version endpoint (c6978e2)
  • hub: add message seq numbers and ACK mechanism with replay on reconnect (9dc443c)
  • hub: add peer ping and self-reported status (d65147e)
  • hub: add per-channel topics and a connect-time channel directory (d14ffef)
  • hub: add talking-stick floor control (e2fc79d)
  • hub: bump protocol to v5 for the one-shot watcher relaunch contract (cbd1247)
  • hub: dashboard WS protocol, auth/RBAC and static asset serving (93d62d4)
  • hub: expose /ask and /forms and form answering over /ui (55456e2)
  • hub: give channels a convener role for coordinated closes (8d291e3)
  • hub: make channels the default for focused pairs (7768c4c)
  • hub: open operator console in browser on startup (1d9054b)
  • hub: reap idle peers and add POST /leave endpoint (beb5b2c)
  • hub: refuse duplicate join under a name held by a live peer (bca30ce)
  • hub: revive idle-reaped peers on authenticated use (635ebfa)
  • hub: route messages to private channels (632ee39)
  • hub: serve a versioned operating protocol (b103bd1)
  • hub: teach the protocol about resuming work and the no-mailbox rule (16afd65)
  • invite agents to format messages in Markdown (10cb2b5)
  • models: add Field/Form models and answer message kind (b2e4c81)
  • models: reserve operator and hub identities and stamp message origin (d77489c)
  • protocol: keep watcher alive while awaiting a peer callback (1fd0a61)
  • protocol: make the shell watcher the default listener (064ef06)
  • ratelimit: add read-only available() probe to TokenBucket (f68d226)
  • state: add operator-form lifecycle (f77b7b8)
  • state: deregister and reap idle peers from the roster (023176e)
  • state: rich peer info, health metrics, per-peer pause, channel close (a08faef)
  • ui: add an operator kick button to the peer roster (a42b2e0)
  • ui: add operator console served by the hub (ea5831a)
  • ui: add operator-form wizard to the console (64b0d02)
  • ui: click names to target replies and highlight operator-bound messages (773949d)
  • ui: finish dashboard panels, add Vitest + Playwright suites (bb76fae)
  • ui: honor allow_other in operator forms (552aac5)
  • ui: operator dashboard SPA (Vite + React + TS + Tailwind + shadcn) (f2a4af6)
  • ui: readable operator feed with safe markdown rendering (b45bf78)
  • ui: rename console to Caucus, show hub version, add composer autocomplete (0ea61bb)
  • ui: show active talking sticks in the operator console (685e29e)
  • ui: show channel topics and load web fonts without blocking onload (9c742f8)
  • ui: stick-to-bottom auto-scroll in Flow timeline (d21442a)
  • ui: surface private channels in the operator console (1d53f50)
  • ui: v2 dashboard — left-rail layout, composer autocomplete, markdown flow (cb7dc50)
  • urlguard: fail-closed validation for the configurable hub URL (ebcb10b)
  • watch: add zero-token background watcher (d726eaf)

Fixed

  • agent: retry transient hub errors with backoff and guard the hub URL (9cae76a)
  • agent: treat inbound peer messages as untrusted to block prompt injection (c7f599f)
  • bridge: harden watcher token file, guard hub URL, survive hub blips (c8c532e)
  • bridge: tell the agent to relay then relaunch the one-shot watcher (3b8ccc7)
  • deps: require claude-agent-sdk >=0.2.93 for the auto permission mode (db780f0)
  • disklog: write the pruned log atomically and serialize with appends (975c3c1)
  • hub: bound channel names and rate-limit membership endpoints (13ea571)
  • hub: deliver broadcast and channel messages to reaped peers (febb9b8)
  • hub: evict same-name reaped ghost on fresh re-register (d9cb28b)
  • hub: gate ui origin, authenticate control, and enforce resource caps (31a74b7)
  • hub: limit request body size, gate /export, add console CSP (e0293b9)
  • hub: raise default client TTL to 300s (bf0285b)
  • hub: read /receive token from Authorization header, not URL query (80071ab)
  • hub: route direct messages to reaped clients within grace window (51481ae)
  • hub: type /send return as SendResponse | JSONResponse (f5665c8)
  • logging: silence httpx request logging to stop token leak (46c0eaa)
  • state: cap in-memory resources and mark hub message provenance (2356523)
  • ui: clarify required-Other validation message in form wizard (76fce99)
  • ui: keep the operator composer pinned to the viewport bottom (884772a)
  • ui: preserve scroll position when reading scrollback (e178ddb)
  • ui: unpack nested hub message event (Flow panel crash) (df44316)
  • watch: exit one-shot-per-wake so inbound messages reach the agent (90c72be)
  • watch: guard the hub URL and tolerate malformed hub responses (c00e92c)

Documentation

  • add CHANGELOG and CONTRIBUTING (31ab6b6)
  • add peer war room operating protocol (5fb816d)
  • add README and Claude Code guidance (11614f4)
  • assume public repo and PyPI distribution in install steps (e3026da)
  • changelog: document 1.1.0, 1.2.0, and 1.2.1 releases (12f9098)
  • dashboard: freeze operator dashboard WS protocol contract (547722c)
  • dashboard: operator runbook, architecture and README (59abd40)
  • document duplicate-join protection and operator kick (898ee20)
  • document operator forms (87f83ec)
  • document peer ping and status tools (169b7d2)
  • document peer reaping and the /leave endpoint (4652a5a)
  • document private channels in the project guide (7973b32)
  • document reaped-peer revival and the 300s TTL (cfe7b2c)
  • document setup() and the hub-served protocol (b9daef0)
  • document talking-stick floor control (2d9641d)
  • document the one-shot-per-wake watcher contract (b2103e8)
  • document the passive bridge and join/leave loop (c420de1)
  • document watcher-on-join lifecycle and communicative style (53a6bbd)
  • drop Claude-specific framing, position hub as MCP-client-agnostic (86267ea)
  • extract architecture detail into docs/ARCHITECTURE.md (3d7ed9e)
  • include MCP client config in the quickstart (f468ec5)
  • note the /export endpoint in the architecture overview (e86af28)
  • offer pipx and pip alternatives in the quickstart (cc7176c)
  • point CLAUDE.md at the new pytest suite (b4a6853)
  • readme: mark 1.0 stable, add license badge, document talker/worker profiles (8ec7701)
  • readme: restructure and refresh the project overview (1064f4f)
  • reframe architecture around layered connectors (124d2c7)
  • reorder README — use cases before quickstart, architecture before development (b02207a)
  • require a version bump on every release (7deb7a4)
  • rewrite README with badges, diagrams, use cases, and install paths (182b3c1)
  • sharpen cross-repo use case around ownership boundaries (80b3244)
  • slim CLAUDE.md to overview and invariants, link architecture doc (463d167)

Changed

  • rename project from War Room to Caucus (af2c7c1)
  • ship operator UI as package data (011e91a)
  • single-source the package version from pyproject.toml (c88c9ce)
  • ui: drop dead channel branch in recipient rendering (1af200d)