Restore initial communication guidance across legacy execution paths

Co-Authored-By: Paperclip <noreply@paperclip.ing>
This commit is contained in:
DottaandPaperclip committed 2026-09-21 14:02:04 -05:00
1 parent 38cfd21765
commit 0deee9ed4d
12 files changed
+98 -36

No files matched your search

@@ -41,6 +41,7 @@ import {
renderTemplate,
renderPaperclipWakePrompt,
selectPaperclipTaskMarkdown,
selectInitialCommunicationGuidance,
isPaperclipRecoveryWakePayload,
stringifyPaperclipWakePayload,
DEFAULT_PAPERCLIP_AGENT_PROMPT_TEMPLATE,
@@ -574,7 +575,7 @@ export async function execute(ctx: AdapterExecutionContext): Promise<AdapterExec
? renderTemplate(bootstrapPromptTemplate, templateData).trim()
: "";
const taskContextNote = context.conversationMode === true
? selectPaperclipTaskMarkdown(context, { resumedSession: Boolean(sessionId) })
? selectPaperclipTaskMarkdown(context, { resumedSession: Boolean(sessionId), includeCommunicationGuidance: false })
: "";
const wakePrompt = renderPaperclipWakePrompt(context.paperclipWake, {
conversationMode: context.conversationMode === true,
@@ -586,7 +587,7 @@ export async function execute(ctx: AdapterExecutionContext): Promise<AdapterExec
? ""
: renderTemplate(promptTemplate, templateData);
const sessionHandoffNote = asString(context.paperclipSessionHandoffMarkdown, "").trim();
const prompt = joinPromptSections([
const basePrompt = joinPromptSections([
instructionsPrefix,
renderedBootstrapPrompt,
wakePrompt,
@@ -595,7 +596,7 @@ export async function execute(ctx: AdapterExecutionContext): Promise<AdapterExec
renderedPrompt,
]);
const promptMetrics = {
promptChars: prompt.length,
promptChars: basePrompt.length,
instructionsChars: instructionsPrefix.length,
bootstrapPromptChars: renderedBootstrapPrompt.length,
wakePromptChars: wakePrompt.length,
@@ -623,6 +624,10 @@ export async function execute(ctx: AdapterExecutionContext): Promise<AdapterExec
};
const runAttempt = async (resumeSessionId: string | null) => {
const prompt = joinPromptSections([
selectInitialCommunicationGuidance(context, { resumedSession: Boolean(resumeSessionId) }),
basePrompt,
]);
const args = buildArgs(resumeSessionId);
if (onMeta) {
await onMeta({
@@ -633,7 +638,7 @@ export async function execute(ctx: AdapterExecutionContext): Promise<AdapterExec
commandArgs: [...args, `<stdin prompt ${prompt.length} chars>`],
env: loggedEnv,
prompt,
promptMetrics,
promptMetrics: { ...promptMetrics, promptChars: prompt.length },
context,
});
}