From f88892b0715adbd852c6b846532cc39a335d2de4 Mon Sep 17 00:00:00 2001 From: Aakash Kattelu Date: Mon, 17 Aug 2026 14:49:15 -0400 Subject: [PATCH] fix(deriver): update prompt to prevent example leakage (#1028) * fix(deriver): delimit examples and forbid example leakage Wrap the minimal deriver EXAMPLES block in tags and add an explicit negative instruction: the examples are fabricated format illustrations only, and every conclusion must be grounded in the block. Soft mitigation for example-content leakage; real fixes (sources_indices + SFT / structural enforcement) are follow-ups. * test(deriver): drop low-value examples-delimiter unit test --- src/deriver/prompts.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/deriver/prompts.py b/src/deriver/prompts.py index a4811f1d..5728319e 100644 --- a/src/deriver/prompts.py +++ b/src/deriver/prompts.py @@ -71,10 +71,14 @@ RULES: - Extract ALL observations from the target peer's messages, using others as context. - Contextualize each observation sufficiently (e.g. "Ann is nervous about the job interview at the pharmacy" not just "Ann is nervous") + +These examples are fabricated illustrations of the output format. Never emit a conclusion for which content comes from these examples. Every conclusion must be supported by the block only. + EXAMPLES (using `alice` as the target peer id): - EXPLICIT: "I just turned 25" → "alice is 25 years old" - EXPLICIT: "I took my dog for a walk in NYC" → "alice has a dog", "alice walked her dog in NYC" - EXPLICIT: "I've lived in NYC for six years" → "alice lives in NYC", "alice has lived in NYC for six years" + {custom_instructions_section}