From 3a6ced46b07ce52be8b0d3b83a8b58aeb53a4fd5 Mon Sep 17 00:00:00 2001 From: Dotta Date: Wed, 4 Nov 2026 09:25:31 -0600 Subject: [PATCH] fix(heartbeat): keep native chat compatibility fallback closed Co-Authored-By: Paperclip --- server/src/__tests__/heartbeat-run-summary.test.ts | 3 +++ server/src/services/heartbeat-run-summary.ts | 4 ++++ 2 files changed, 7 insertions(+) diff --git a/server/src/__tests__/heartbeat-run-summary.test.ts b/server/src/__tests__/heartbeat-run-summary.test.ts index d322df433c2..fa19e01a1b5 100644 --- a/server/src/__tests__/heartbeat-run-summary.test.ts +++ b/server/src/__tests__/heartbeat-run-summary.test.ts @@ -408,6 +408,9 @@ describe("resolveHeartbeatRunResponse", () => { expect(resolveHeartbeatRunResponse({ resultJson, nativeConversationFinalResponse: true, existingComment: { id: "explicit", body: "The release is ready at /releases/latest." }, })).toMatchObject({ text: "The release is ready at /releases/latest.", decision: { commentAction: "reuse" } }); + expect(resolveHeartbeatRunResponse({ resultJson, nativeConversationFinalResponse: true, + finalAgentMessage: { text: "Unknown narration", sourceEventId: "unknown", channel: "unknown" }, + })).toMatchObject({ text: null, decision: { commentAction: "none" } }); } }); diff --git a/server/src/services/heartbeat-run-summary.ts b/server/src/services/heartbeat-run-summary.ts index e3f8e6067e4..42aedfad3da 100644 --- a/server/src/services/heartbeat-run-summary.ts +++ b/server/src/services/heartbeat-run-summary.ts @@ -585,6 +585,10 @@ export function resolveHeartbeatRunResponse(input: { reasonCodes: [...final.decision.reasonCodes, "native_conversation_final_precedence"], } }; } + if (!existingText) return { + text: null, + decision: decision("none", { commentAction: "none", reasonCodes: ["native_conversation_final_response_unavailable"] }), + }; } if (input.existingComment && existingText) { return {