You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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.