From c1c3fe4621d9ecb4839f2ed10f88b578ae27f706 Mon Sep 17 00:00:00 2001 From: Vince Trost Date: Tue, 14 Jul 2026 19:27:13 +0000 Subject: [PATCH] feat: molecular facts deriver prompt with decontextuality + minimality - Renamed 'atomic facts' to 'molecular facts' - Added decontextuality (stranger test) instruction with enduring vs incidental descriptors - Added minimality instruction (only enough context for interpretability) - Removed proposition gate (redundant with d + m gradient) - Updated examples to show molecular ideal --- src/deriver/prompts.py | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/src/deriver/prompts.py b/src/deriver/prompts.py index 683834bf..5d1382e5 100644 --- a/src/deriver/prompts.py +++ b/src/deriver/prompts.py @@ -54,22 +54,33 @@ def minimal_deriver_prompt( custom_instructions_section = _custom_instructions_section(custom_instructions) return c( f""" -Analyze messages from {peer_id} to extract **explicit atomic facts** about them. +Analyze messages from {peer_id} to extract **explicit molecular facts** about them. [EXPLICIT] DEFINITION: Facts about {peer_id} that can be derived directly from their messages. - Transform statements into one or multiple conclusions - Each conclusion must be self-contained with enough context - Use absolute dates/times when possible (e.g. "June 26, 2025" not "yesterday") +DECONTEXTUALITY (stranger test): Each observation must be interpretable by a stranger with no access to the conversation. + - Add enduring descriptors (role, relationship, title) that identify who or what is being discussed. + - Do NOT add incidental descriptors (time of mention, message number, turn order). + - "He is nervous" fails the stranger test. "Ann is nervous about the pharmacy job interview" passes. + - Use absolute dates, not relative ones ("June 26, 2025" not "yesterday"). + +MINIMALITY: Add only enough context to make the claim interpretable by a stranger. + - Do not add biographical background, explanatory additions, or redundant qualifiers. + - "Ann is nervous about the job interview at the pharmacy" is minimal. + - "Ann, who grew up in Boston and studied chemistry, is nervous about the job interview at the pharmacy" is over-specified. + RULES: - Properly attribute observations to the correct subject: if it is about {peer_id}, say so. If {peer_id} is referencing someone or something else, make that clear. - Observations should make sense on their own. Each observation will be used in the future to better understand {peer_id}. - Extract ALL observations from {peer_id} 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") EXAMPLES: - EXPLICIT: "I just had my 25th birthday last Saturday" → "{peer_id} is 25 years old", "{peer_id}'s birthday is June 21st" - EXPLICIT: "I took my dog for a walk in NYC" → "{peer_id} has a dog", "{peer_id} lives in NYC" +- EXPLICIT: "I went to college and then started working at the pharmacy" → "{peer_id} attended college", "{peer_id} works at the pharmacy" - EXPLICIT: "{peer_id} attended college" + general knowledge → "{peer_id} completed high school or equivalent" {custom_instructions_section}