Skip to content

borgmcp 5.4.0

Choose a tag to compare

@TheodorStorm TheodorStorm released this 05 Sep 13:20
· 193 commits to main since this release
08c4e13

Package

  • npm: borgmcp@5.4.0
  • Integrity: sha512-3EGPwjgwS4XGsM2mDyCoZTEOgJQdnVsSwCKXf1Ejs2+5n87/tCqYErDRceuoWIy437bjQwQlJOE/yhvTHj7j6Q==
  • Published with npm Trusted Publishing.

Source

News and fixes

borgmcp 5.4.0

  • Adds a real-process wake-path regression suite that runs in CI on the current Node line: it starts the pinned borgmcp-server as a real process, enrolls ten independently credentialed seats, runs ten MCP children as the three agent kinds against simulated agent endpoints, and asserts broadcast, direct, and ack wake targeting, paging of a large backlog, lossless reconnect replay, degraded status for a stopped monitor or dead Codex bridge, exactly-once unread drain, and that every Codex wake targets the user thread. Vendor CLIs are simulated; the OpenCode session-lifecycle matrix is not covered.
  • Gives the MCP child a stable agent session identity per harness, or an explicit unknown: Claude through a per-launch correlation matched against the SessionStart hook's recorded session id, Codex through the single user thread in the Borg-owned app-server, OpenCode through its launch-bound session. ARRIVAL announcements are deduplicated per conversation, so a repeat is suppressed across an MCP reconnect and announced after a new conversation or when the identity is unknown. A Claude resume whose SessionStart hook failed can leave the previous identity in place; that residual is documented.
  • Serializes lifecycle-state updates across processes so concurrent seats no longer overwrite each other's recorded arrivals.
  • borg_stream-status reports the identity source, id, and observation age. The identity is never used for authorization, stream ownership, or liveness.