




























@@ -744,8 +744,8 @@ describe("runEmbeddedAttempt context engine sessionKey forwarding", () => {
744744expect(promptSubmitted?.data?.prompt).not.toContain("secret runtime context");
745745});
746746747-it("marks inter-session transcriptPrompt before submitting the visible prompt", async () => {
748-let seenPrompt: string | undefined;
747+it("keeps inter-session provenance hidden while submitting the visible prompt", async () => {
748+const seen: { prompt?: string; messages?: unknown[] } = {};
749749750750const result = await createContextEngineAttemptRunner({
751751contextEngine: createContextEngineBootstrapAndAssemble(),
@@ -767,18 +767,26 @@ describe("runEmbeddedAttempt context engine sessionKey forwarding", () => {
767767},
768768},
769769sessionPrompt: async (session, prompt) => {
770-seenPrompt = prompt;
770+seen.prompt = prompt;
771+seen.messages = [...session.messages];
771772session.messages = [
772773 ...session.messages,
773774{ role: "assistant", content: "done", timestamp: 2 },
774775];
775776},
776777});
777778778-expect(seenPrompt).toMatch(/^\[Inter-session message\]/);
779-expect(seenPrompt).toContain("isUser=false");
780-expect(seenPrompt).toContain("visible ask");
781-expect(result.finalPromptText).toBe(seenPrompt);
779+expect(seen.prompt).toBe("visible ask");
780+expect(result.finalPromptText).toBe("visible ask");
781+const runtimeContext = findRecord(
782+requireRecords(seen.messages, "seen messages"),
783+(message) => message.customType === "openclaw.runtime-context",
784+"runtime context message",
785+);
786+expect(runtimeContext.content).toContain("[Inter-session message]");
787+expect(runtimeContext.content).toContain("isUser=false");
788+expect(runtimeContext.content).not.toContain("visible ask");
789+expect(runtimeContext.content).toContain("secret runtime context");
782790});
783791784792it("submits runtime-only context through system prompt without visible prompt", async () => {
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。