From 42284cc2da69ad98dbbf867533199bc06cf87eff Mon Sep 17 00:00:00 2001 From: Rai Butera Date: Thu, 12 Mar 2026 18:20:34 +0000 Subject: [PATCH] fix: remove session-key channel hint fallback for inter-session turns --- src/auto-reply/reply/session-delivery.test.ts | 7 +++++-- src/auto-reply/reply/session-delivery.ts | 4 ---- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/src/auto-reply/reply/session-delivery.test.ts b/src/auto-reply/reply/session-delivery.test.ts index 6b4caaa555e..68e34ad9f96 100644 --- a/src/auto-reply/reply/session-delivery.test.ts +++ b/src/auto-reply/reply/session-delivery.test.ts @@ -28,14 +28,17 @@ describe("INTER_SESSION_CHANNEL sentinel routing", () => { expect(result).toBe("discord"); }); - it("falls back to session-key channel hint when no persisted channel is set", () => { + it("returns undefined when persisted channel is absent and only session-key hint exists (no channel synthesis)", () => { + // Inter-session turns must not synthesise a channel from the session key alone. + // Without a persisted external channel, returning a channel-only route would leave + // lastTo undefined and risk misdelivery via the channel defaultTo fallback. expect( resolveLastChannelRaw({ originatingChannelRaw: INTER_SESSION_CHANNEL, persistedLastChannel: undefined, sessionKey: "agent:navi:discord:direct:channel:123", }), - ).toBe("discord"); + ).toBeUndefined(); }); it("returns undefined when no external route can be determined", () => { diff --git a/src/auto-reply/reply/session-delivery.ts b/src/auto-reply/reply/session-delivery.ts index af00dc2d7dd..6dc8a53e57c 100644 --- a/src/auto-reply/reply/session-delivery.ts +++ b/src/auto-reply/reply/session-delivery.ts @@ -99,10 +99,6 @@ export function resolveLastChannelRaw(params: { if (isExternalRoutingChannel(persistedChannel)) { return persistedChannel; } - const sessionKeyChannelHint = resolveSessionKeyChannelHint(params.sessionKey); - if (isExternalRoutingChannel(sessionKeyChannelHint)) { - return sessionKeyChannelHint; - } return undefined; }