diff --git a/src/sdk/parser.ts b/src/sdk/parser.ts index d9028dab..bfe09dd4 100644 --- a/src/sdk/parser.ts +++ b/src/sdk/parser.ts @@ -120,6 +120,11 @@ export function parseSummary(text: string, sessionId?: number): ParsedSummary | const summaryMatch = summaryRegex.exec(text); if (!summaryMatch) { + // Log when the response contains instead of + // to help diagnose prompt conditioning issues (see #1312) + if (//.test(text)) { + logger.warn('PARSER', 'Summary response contained tags instead of — prompt conditioning may need strengthening', { sessionId }); + } return null; } diff --git a/src/sdk/prompts.ts b/src/sdk/prompts.ts index 1cdb4127..774b86c7 100644 --- a/src/sdk/prompts.ts +++ b/src/sdk/prompts.ts @@ -130,7 +130,11 @@ export function buildSummaryPrompt(session: SDKSession, mode: ModeConfig): strin return ''; })(); - return `${mode.prompts.header_summary_checkpoint} + return `--- MODE SWITCH: PROGRESS SUMMARY --- +Do NOT output tags. This is a summary request, not an observation request. +Your response MUST use tags ONLY. Any output will be discarded. + +${mode.prompts.header_summary_checkpoint} ${mode.prompts.summary_instruction} ${mode.prompts.summary_context_label}