@essentialai/cogent-bridge 3.21.9 → 3.22.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -256,6 +256,10 @@ function truncate(s) {
256
256
  ? `${flat.slice(0, DIAGNOSTIC_MAX - 1)}…`
257
257
  : flat;
258
258
  }
259
+ /** How long an ack that arrived before its waiter stays usable. */
260
+ const EARLY_ACK_TTL_MS = 120_000;
261
+ /** Hard cap on buffered early acks, so a looping or hostile peer cannot grow the map. */
262
+ const EARLY_ACK_MAX = 256;
259
263
  export class AutoRelayService {
260
264
  localPeerId = null;
261
265
  localSessionId = null;
@@ -302,7 +306,24 @@ export class AutoRelayService {
302
306
  // so the first send-message tool call returned literal "Superseded by
303
307
  // newer send_message call" instead of the actual peer response.
304
308
  responseWaiters = new Map();
309
+ /**
310
+ * Pending delivery-ack waiters, keyed by MESSAGE ID.
311
+ *
312
+ * 🔴 AUD-002. This used to be keyed by PEER ID, so a peer could have only one outstanding
313
+ * waiter and a second concurrent send displaced the first — resolving it, so the first send
314
+ * reported "delivered" with no acknowledgment from anyone. Delivery acknowledgment is the one
315
+ * claim this system must never fabricate.
316
+ */
305
317
  deliveryAckWaiters = new Map();
318
+ /**
319
+ * Acks that arrived before their waiter existed, keyed by message id.
320
+ *
321
+ * The recipient acknowledges over WS as soon as it receives the message, which can beat our own
322
+ * POST response. Waiters used to be registered BEFORE the send to dodge that race, which is what
323
+ * forced peer-keying. Buffering the early ack instead lets registration happen after the message
324
+ * id is known, so correlation stays exact. Entries are consumed once and expire.
325
+ */
326
+ recentAcks = new Map();
306
327
  sendDeliveryAckFn = null;
307
328
  /**
308
329
  * Set the local peer info. Called from register-peer tool after
@@ -473,12 +494,6 @@ export class AutoRelayService {
473
494
  cancelResponseWaiter(fromPeerId) {
474
495
  this._cancelWaiter(fromPeerId);
475
496
  }
476
- /**
477
- * Cancel only the active delivery ack waiter for a peer.
478
- */
479
- cancelDeliveryAckWaiter(fromPeerId) {
480
- this._cancelDeliveryAckWaiter(fromPeerId);
481
- }
482
497
  /**
483
498
  * Cancel ALL pending response waiters for a peer by rejecting them with
484
499
  * a clear error. Used by clearExpectation()/cancelResponseWaiter() to
@@ -502,39 +517,75 @@ export class AutoRelayService {
502
517
  * resolves when the target peer's MCP sends a delivery_ack frame, or
503
518
  * rejects on timeout (recipient likely offline).
504
519
  */
505
- waitForDeliveryAck(fromPeerId, timeoutMs) {
520
+ waitForDeliveryAck(fromPeerId, messageId, timeoutMs) {
521
+ // An ack that beat this registration is already buffered — consume it once.
522
+ if (this.recentAcks.delete(messageId)) {
523
+ logger.debug(`Auto-relay: delivery ack for ${messageId} was already buffered`);
524
+ return Promise.resolve();
525
+ }
506
526
  return new Promise((resolve, reject) => {
507
- this._cancelDeliveryAckWaiter(fromPeerId);
508
527
  const timer = setTimeout(() => {
509
- this.deliveryAckWaiters.delete(fromPeerId);
510
- reject(new Error(`Delivery ack timeout from ${fromPeerId} after ${timeoutMs}ms`));
528
+ this.deliveryAckWaiters.delete(messageId);
529
+ reject(new Error(`Delivery ack timeout from ${fromPeerId} for ${messageId} after ${timeoutMs}ms`));
511
530
  }, timeoutMs);
512
- this.deliveryAckWaiters.set(fromPeerId, { resolve, timer });
531
+ this.deliveryAckWaiters.set(messageId, { peerId: fromPeerId, resolve, reject, timer });
513
532
  });
514
533
  }
515
534
  /**
516
- * Resolve a pending delivery ack waiter. Called by startup.ts onDeliveryAck
517
- * callback when the server routes a delivery_ack frame to us.
535
+ * Settle the waiter for exactly this message.
536
+ *
537
+ * 🔴 Correlation is by MESSAGE ID, and the acknowledging peer must match the peer we sent to.
538
+ * The frame has carried `messageId` all along (src/cloud/ws-client.ts:52); startup.ts used to
539
+ * drop it and resolve by peer, so any ack settled any outstanding send to that peer — and an ack
540
+ * naming a peer the sender never messaged could settle a waiter outright (AUD-003).
541
+ *
542
+ * An ack with no matching waiter is BUFFERED rather than discarded: the recipient can legitimately
543
+ * acknowledge before our POST response returns.
518
544
  */
519
- resolveDeliveryAck(fromPeerId) {
520
- const waiter = this.deliveryAckWaiters.get(fromPeerId);
545
+ resolveDeliveryAck(fromPeerId, messageId) {
546
+ const waiter = this.deliveryAckWaiters.get(messageId);
521
547
  if (waiter) {
548
+ if (waiter.peerId !== fromPeerId) {
549
+ // Not the peer we sent this message to. Never settle on it.
550
+ logger.warn(`Auto-relay: IGNORED delivery ack for ${messageId} — claimed by '${fromPeerId}' but ` +
551
+ `that message was sent to '${waiter.peerId}'`);
552
+ return;
553
+ }
522
554
  clearTimeout(waiter.timer);
523
- this.deliveryAckWaiters.delete(fromPeerId);
555
+ this.deliveryAckWaiters.delete(messageId);
524
556
  waiter.resolve();
525
- logger.debug(`Auto-relay: delivery ack received from ${fromPeerId}`);
557
+ logger.debug(`Auto-relay: delivery ack received from ${fromPeerId} for ${messageId}`);
558
+ return;
526
559
  }
560
+ this._bufferEarlyAck(messageId);
561
+ }
562
+ /** Remember an ack whose waiter does not exist yet, with bounded retention. */
563
+ _bufferEarlyAck(messageId) {
564
+ const now = Date.now();
565
+ for (const [id, at] of this.recentAcks) {
566
+ if (now - at > EARLY_ACK_TTL_MS)
567
+ this.recentAcks.delete(id);
568
+ }
569
+ // Hard cap so a hostile or looping peer cannot grow this without bound.
570
+ while (this.recentAcks.size >= EARLY_ACK_MAX) {
571
+ const oldest = this.recentAcks.keys().next().value;
572
+ if (oldest === undefined)
573
+ break;
574
+ this.recentAcks.delete(oldest);
575
+ }
576
+ this.recentAcks.set(messageId, now);
577
+ logger.debug(`Auto-relay: buffered early delivery ack for ${messageId}`);
527
578
  }
528
- /**
529
- * Cancel a pending delivery ack waiter for a peer.
530
- * Resolves the old promise so callers awaiting it don't hang forever.
531
- */
532
579
  _cancelDeliveryAckWaiter(fromPeerId) {
533
- const existing = this.deliveryAckWaiters.get(fromPeerId);
534
- if (existing) {
535
- clearTimeout(existing.timer);
536
- this.deliveryAckWaiters.delete(fromPeerId);
537
- existing.resolve();
580
+ // 🔴 REJECT, never resolve. Resolving a cancelled waiter reports a delivery that never
581
+ // happened — the AUD-002 defect. Cancels every outstanding send to this peer, since the
582
+ // caller is abandoning the conversation, not one message.
583
+ for (const [messageId, waiter] of this.deliveryAckWaiters) {
584
+ if (waiter.peerId !== fromPeerId)
585
+ continue;
586
+ clearTimeout(waiter.timer);
587
+ this.deliveryAckWaiters.delete(messageId);
588
+ waiter.reject(new Error(`Delivery ack wait for ${messageId} cancelled (${fromPeerId})`));
538
589
  }
539
590
  }
540
591
  /**
@@ -1177,22 +1228,23 @@ export class AutoRelayService {
1177
1228
  * Stop the auto-relay service: clear queue and reset state.
1178
1229
  */
1179
1230
  stop() {
1180
- // Settle every queued waiter so callers don't hang on shutdown.
1181
- // Resolves with empty string (matches the previous single-waiter precedent
1182
- // of treating shutdown as a benign no-op rather than a hard failure).
1231
+ // 🔴 AUD-012. Settle every waiter so callers don't hang but settle them HONESTLY.
1232
+ // This used to resolve response waiters with "" and delivery-ack waiters as successful, so a
1233
+ // shutdown mid-flight was indistinguishable from "the peer answered nothing" and from "the
1234
+ // message was delivered". Incomplete work must never be reported as completed work.
1183
1235
  for (const [, queue] of this.responseWaiters) {
1184
1236
  for (const waiter of queue) {
1185
1237
  clearTimeout(waiter.timer);
1186
- waiter.resolve("");
1238
+ waiter.reject(new Error("Auto-relay shut down while waiting for a response"));
1187
1239
  }
1188
1240
  }
1189
1241
  this.responseWaiters.clear();
1190
- // Settle all pending delivery ack waiters
1191
- for (const [, waiter] of this.deliveryAckWaiters) {
1242
+ for (const [messageId, waiter] of this.deliveryAckWaiters) {
1192
1243
  clearTimeout(waiter.timer);
1193
- waiter.resolve();
1244
+ waiter.reject(new Error(`Auto-relay shut down while waiting for delivery ack (${messageId})`));
1194
1245
  }
1195
1246
  this.deliveryAckWaiters.clear();
1247
+ this.recentAcks.clear();
1196
1248
  this.queue = [];
1197
1249
  this.awarenessOnly.clear();
1198
1250
  this.localPeerId = null;
@@ -1 +1 @@
1
- {"version":3,"file":"auto-relay.js","sourceRoot":"","sources":["../../src/services/auto-relay.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auto-relay.js","sourceRoot":"","sources":["../../src/services/auto-relay.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"startup.d.ts","sourceRoot":"","sources":["../src/startup.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAapD,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAiBrD,eAAO,IAAI,aAAa,EAAE,aAAa,GAAG,IAAW,CAAC;AACtD,eAAO,IAAI,UAAU,EAAE,YAAY,GAAG,IAAW,CAAC;AAClD,eAAO,IAAI,eAAe,EAAE,UAAU,GAAG,IAAW,CAAC;AAKrD;;;;GAIG;AACH,wBAAgB,WAAW,IAAI,OAAO,CAErC;AASD,gFAAgF;AAChF,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,MAAM,IAAI,GAAG,IAAI,CAGrD;AAiHD;;;;GAIG;AACH,wBAAsB,qBAAqB,IAAI,OAAO,CAAC,IAAI,CAAC,CA8C3D;AAmFD,uEAAuE;AACvE,wBAAgB,sBAAsB,IAAI,OAAO,CAEhD;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC,CAsCzD;AAED,wBAAsB,kBAAkB,CACtC,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,IAAI,CAAC,CAoCf;AAMD,wBAAsB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAqMhD;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,CAkBnD"}
1
+ {"version":3,"file":"startup.d.ts","sourceRoot":"","sources":["../src/startup.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAapD,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAiBrD,eAAO,IAAI,aAAa,EAAE,aAAa,GAAG,IAAW,CAAC;AACtD,eAAO,IAAI,UAAU,EAAE,YAAY,GAAG,IAAW,CAAC;AAClD,eAAO,IAAI,eAAe,EAAE,UAAU,GAAG,IAAW,CAAC;AAKrD;;;;GAIG;AACH,wBAAgB,WAAW,IAAI,OAAO,CAErC;AASD,gFAAgF;AAChF,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,MAAM,IAAI,GAAG,IAAI,CAGrD;AAiHD;;;;GAIG;AACH,wBAAsB,qBAAqB,IAAI,OAAO,CAAC,IAAI,CAAC,CA8C3D;AAqFD,uEAAuE;AACvE,wBAAgB,sBAAsB,IAAI,OAAO,CAEhD;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC,CAsCzD;AAED,wBAAsB,kBAAkB,CACtC,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,IAAI,CAAC,CAoCf;AAMD,wBAAsB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAqMhD;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,CAkBnD"}
package/dist/startup.js CHANGED
@@ -218,7 +218,9 @@ function createCloudWsClient(endpoint, sessionId, token, http, inbox, pollInterv
218
218
  onStateChange: (state) => { logger.info(`WebSocket state: ${state}`); },
219
219
  onError: (err) => { logger.warn(`WebSocket error frame: ${err.code}: ${err.message}`); },
220
220
  onDeliveryAck: (payload) => {
221
- autoRelay.resolveDeliveryAck(payload.peerId);
221
+ // 🔴 AUD-002: the messageId used to be DISCARDED here and the ack resolved by peer alone,
222
+ // so any ack settled any outstanding send to that peer. The frame has always carried it.
223
+ autoRelay.resolveDeliveryAck(payload.peerId, payload.messageId);
222
224
  },
223
225
  onPeerEvicted: () => {
224
226
  triggerReRegistration().catch((err) => {
@@ -1 +1 @@
1
- {"version":3,"file":"startup.js","sourceRoot":"","sources":["../src/startup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"startup.js","sourceRoot":"","sources":["../src/startup.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,18 @@
1
1
  import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
+ /**
3
+ * Why this resolution cannot produce a wakeable session id, or null when it can.
4
+ *
5
+ * 🔴 ASK THE CONDITION, NOT A PROXY. The old guard tested `candidateCount === 0`. An AMBIGUOUS
6
+ * resolution has candidates but no chosen id (`decideResolution` returns `sessionId: null` when
7
+ * two transcripts are within the margin), so it slipped straight through the zero-check and the
8
+ * caller's value was pinned unchecked — during the 2026-09-02 ring exercise that value was a
9
+ * CHANNEL UUID, which `--resume` can never open, and every subsequent wake failed in ~2s with no
10
+ * warning ever emitted. The question that decides correctness is "did we end up with an id
11
+ * `--resume` can open?", not "were there zero candidates?".
12
+ */
13
+ export declare function unresolvedSessionReason(r: {
14
+ sessionId: string | null;
15
+ candidateCount: number;
16
+ }): "no-candidates" | "ambiguous" | null;
2
17
  export declare function registerRegisterPeerTool(server: McpServer): void;
3
18
  //# sourceMappingURL=register-peer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"register-peer.d.ts","sourceRoot":"","sources":["../../src/tools/register-peer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAqBpE,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CA0bhE"}
1
+ {"version":3,"file":"register-peer.d.ts","sourceRoot":"","sources":["../../src/tools/register-peer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAqBpE;;;;;;;;;;GAUG;AACH,wBAAgB,uBAAuB,CACrC,CAAC,EAAE;IAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,cAAc,EAAE,MAAM,CAAA;CAAE,GACtD,eAAe,GAAG,WAAW,GAAG,IAAI,CAGtC;AAED,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CA+dhE"}
@@ -13,6 +13,22 @@ import { transcriptBaseSummary } from "../services/cc-cli.js";
13
13
  import { deriveWorkspaceId } from "../services/durable-identity.js";
14
14
  import { CLIENT_VERSION } from "../constants.js";
15
15
  import { getLastNudge } from "../backend/npm-update-check.js";
16
+ /**
17
+ * Why this resolution cannot produce a wakeable session id, or null when it can.
18
+ *
19
+ * 🔴 ASK THE CONDITION, NOT A PROXY. The old guard tested `candidateCount === 0`. An AMBIGUOUS
20
+ * resolution has candidates but no chosen id (`decideResolution` returns `sessionId: null` when
21
+ * two transcripts are within the margin), so it slipped straight through the zero-check and the
22
+ * caller's value was pinned unchecked — during the 2026-09-02 ring exercise that value was a
23
+ * CHANNEL UUID, which `--resume` can never open, and every subsequent wake failed in ~2s with no
24
+ * warning ever emitted. The question that decides correctness is "did we end up with an id
25
+ * `--resume` can open?", not "were there zero candidates?".
26
+ */
27
+ export function unresolvedSessionReason(r) {
28
+ if (r.sessionId)
29
+ return null;
30
+ return r.candidateCount === 0 ? "no-candidates" : "ambiguous";
31
+ }
16
32
  export function registerRegisterPeerTool(server) {
17
33
  server.registerTool("cogent_register_peer", {
18
34
  title: "Register Peer",
@@ -32,6 +48,12 @@ export function registerRegisterPeerTool(server) {
32
48
  label: z
33
49
  .string()
34
50
  .describe("Human-readable label, e.g. 'Cogent_Backend' or 'Cogent_Frontend'"),
51
+ peerSecret: z
52
+ .string()
53
+ .optional()
54
+ .describe("AUD-003 ownership proof. Only needed to RECLAIM a peerId whose registration was " +
55
+ "made from a different connection — e.g. this agent re-joined the channel and was " +
56
+ "issued a new token. Normally omitted: the stored credential is replayed automatically."),
35
57
  mode: z
36
58
  .enum(["observer", "agent"])
37
59
  .optional()
@@ -52,7 +74,7 @@ export function registerRegisterPeerTool(server) {
52
74
  idempotentHint: true,
53
75
  openWorldHint: false,
54
76
  },
55
- }, async ({ peerId, sessionId, cwd, label, mode, role }) => {
77
+ }, async ({ peerId, sessionId, cwd, label, mode, role, peerSecret: argPeerSecret }) => {
56
78
  try {
57
79
  const config = getConfig();
58
80
  // Fail-loud guard (BACKLOG T0.1): if a cogent_join_session / cogent_create_session
@@ -194,7 +216,20 @@ export function registerRegisterPeerTool(server) {
194
216
  // Pass our own cogent-bridge npm version so the server (and any
195
217
  // operator inspecting cogent_list_peers) can tell at a glance which
196
218
  // client version each peer is running. Plumbs through to PeerInfo.
197
- const peer = await backend.registerPeer(peerId, sessionId, cwd, label, CLIENT_VERSION, mode, channelSessionId, capabilities, workspaceId, threadId);
219
+ // 🔴 AUD-003: replay the ownership proof we were issued, if we have one. It only MATTERS
220
+ // when our token has changed since the peer was created (a re-join) — the relay accepts
221
+ // the same-token path without it. Best-effort: a credential file we cannot read must never
222
+ // block registration, it just means we fall back to same-token proof.
223
+ let storedPeerSecret = argPeerSecret;
224
+ if (storedPeerSecret === undefined && isCloudMode()) {
225
+ try {
226
+ storedPeerSecret = (await loadCredentials())?.peerSecret;
227
+ }
228
+ catch {
229
+ storedPeerSecret = undefined;
230
+ }
231
+ }
232
+ const peer = await backend.registerPeer(peerId, sessionId, cwd, label, CLIENT_VERSION, mode, channelSessionId, capabilities, workspaceId, threadId, storedPeerSecret);
198
233
  // Stamp our peerId into the per-cwd cloud credentials so the check-on-stop
199
234
  // hook (a separate process) can identify "me" without re-deriving it. The
200
235
  // join/create path saved creds before the peerId was known; this fills it
@@ -202,10 +237,15 @@ export function registerRegisterPeerTool(server) {
202
237
  if (isCloudMode()) {
203
238
  try {
204
239
  const creds = await loadCredentials();
205
- if (creds && creds.peerId !== peerId) {
240
+ // AUD-003: the relay returns a freshly-minted peerSecret EXACTLY ONCE, when the peer
241
+ // is created or adopted. Losing it means this agent can never reclaim its own peerId
242
+ // after a re-join, so persist it the moment we see it.
243
+ const issuedSecret = peer?.peerSecret;
244
+ if (creds && (creds.peerId !== peerId || (issuedSecret && creds.peerSecret !== issuedSecret))) {
206
245
  await saveCredentials({
207
246
  ...creds,
208
247
  peerId,
248
+ ...(issuedSecret ? { peerSecret: issuedSecret } : {}),
209
249
  savedAt: new Date().toISOString(),
210
250
  });
211
251
  }
@@ -248,22 +288,27 @@ export function registerRegisterPeerTool(server) {
248
288
  // "0 candidate[s]" at INFO and the operator had to report it by hand.
249
289
  // This warns on stderr AND returns the probed paths in the tool result, which
250
290
  // is the only channel the calling agent can actually read.
251
- const noLocalSession = resolution.candidateCount === 0;
252
- if (noLocalSession) {
291
+ const unresolved = unresolvedSessionReason(resolution);
292
+ if (unresolved) {
253
293
  // Own try/catch: this block is PURELY informational, so nothing in it may
254
294
  // ever fail a registration that has already succeeded.
255
295
  try {
256
296
  const base = getConfig().COGENT_PLATFORM === "cc"
257
297
  ? await transcriptBaseSummary()
258
298
  : "(codex: scans CODEX_HOME/sessions)";
259
- logger.warn(`Register: NO local ${getConfig().COGENT_PLATFORM} session found for cwd — auto-wake WILL be refused. ` +
299
+ const cause = unresolved === "ambiguous"
300
+ ? `${resolution.candidateCount} candidate sessions matched and NONE could be chosen, so the ` +
301
+ `id you supplied was pinned UNCHECKED — if that is a channel UUID rather than a local ` +
302
+ `session id, every wake will fail in ~2s`
303
+ : `NO local ${getConfig().COGENT_PLATFORM} session was found for this cwd`;
304
+ logger.warn(`Register: ${cause} — auto-wake WILL be refused. ` +
260
305
  `cwd=${cwd}; scanned ${(resolution.probedPaths ?? []).join(", ") || "(unknown)"}; base ${base}. ` +
261
306
  `If the base is missing or empty, this agent's config dir is elsewhere — ` +
262
307
  `set CLAUDE_CONFIG_DIR / CODEX_HOME so the BRIDGE process sees it too. ` +
263
308
  `If the base has project dirs but none match, the registered cwd is not where this agent runs.`);
264
309
  }
265
310
  catch (err) {
266
- logger.warn(`Register: NO local session found for cwd=${cwd} (auto-wake WILL be refused); ` +
311
+ logger.warn(`Register: unresolved session (${unresolved}) for cwd=${cwd} (auto-wake WILL be refused); ` +
267
312
  `could not describe the transcript base: ${err.message}`);
268
313
  }
269
314
  }
@@ -280,9 +325,13 @@ export function registerRegisterPeerTool(server) {
280
325
  confidence: resolution.confidence,
281
326
  candidateCount: resolution.candidateCount,
282
327
  // Only on the broken path — keeps the happy-path result terse.
283
- ...(noLocalSession
328
+ ...(unresolved
284
329
  ? {
285
- warning: "No local session transcript found for this cwd — auto-wake will be REFUSED. " +
330
+ warning: (unresolved === "ambiguous"
331
+ ? `${resolution.candidateCount} local session transcripts matched this cwd and none ` +
332
+ "could be chosen, so the sessionId you supplied was pinned UNCHECKED — if it is a " +
333
+ "channel UUID rather than a local session id, auto-wake will be REFUSED. "
334
+ : "No local session transcript found for this cwd — auto-wake will be REFUSED. ") +
286
335
  "Verify the cwd is where this agent actually runs and that CLAUDE_CONFIG_DIR / " +
287
336
  "CODEX_HOME are visible to the bridge process.",
288
337
  scannedPaths: resolution.probedPaths ?? [],