From 86ba2804d17023b83d82e8c4b08c21c8c40e899e Mon Sep 17 00:00:00 2001 From: amosblomqvist Date: Tue, 29 Sep 2026 03:47:07 +0300 Subject: [PATCH] =?UTF-8?q?extractor=20prompt=20rewrite=20=E2=80=94=20reas?= =?UTF-8?q?oning=20skeleton,=20not=20lossless=20archive=20(owner,=202026-0?= =?UTF-8?q?9-29)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Diagnosis on tonight's data (4 sources, 173 nodes, 216 edges): supports is 62-83% of edges, topology is hub-and-spoke (34/94 libertarianism nodes are degree-1 leaves), hub edges read as essay-flow not logic, 33-41% of nodes are degree<=1 across sources. The old doctrines asked for exactly this: 'every distinct proposition' + 'lonely nodes = failed extraction' + 'COMPLETENESS... omitting is the main way extraction fails'. Owner rulings, prompt-only (data model untouched, both prompts): - strict reasoning bar: a proposition earns its node by being a premise, step, or conclusion of an argument the source actually makes; isolated facts, name-drops, asides, trivia, example enumerations are dropped - supports tightened: ONLY explicit grounding acts in the text, rare exception, genuinely argumentative relations are almost always follows - completeness inverted: precision over recall, WHEN IN DOUBT OMIT, never connect merely-related propositions - MUST-connect clause dropped; corrections of misconceptions stay in (argumentative by nature) Identity doctrines untouched (established-terminology names, MERGE YOUR OWN OUTPUT, aliases) — zero near-duplicate statements proves they work. --- src/agent/subagents/extraction.ts | 62 ++++++++++++++++++++----------- 1 file changed, 40 insertions(+), 22 deletions(-) diff --git a/src/agent/subagents/extraction.ts b/src/agent/subagents/extraction.ts index e2a001d..b88935c 100644 --- a/src/agent/subagents/extraction.ts +++ b/src/agent/subagents/extraction.ts @@ -234,7 +234,7 @@ function fillAudit(raw: Static): AuditVerdicts { const NOTES_EXTRACTOR_INSTRUCTIONS = `You are the extraction specialist in a learning application. You read ONE source — the user's own NOTES, in an ARBITRARY format (personal notes, an exported conversation, a document — anything) — and -report what those notes show the author engaging with, as structured findings for their global knowledge graph. +report the arguments and reasoning those notes actually develop, as structured findings for their global knowledge graph. There is no session and no chat structure here: the source is raw text, the author's own material. Read it as such. You are the ONLY stage that sees this source — you are fully trusted; report carefully. @@ -245,7 +245,12 @@ The graph is a set of TRUE propositions about the world, full stop. A node is ne source — no "the author understands X", no "mentioned in these notes": the node is just X. A misconception is NOT a node of its own wrong claim — state the TRUE correction as the proposition. -1. PROPOSITIONS — every distinct reasoning-step-sized proposition the notes actually engage with: +1. PROPOSITIONS — only the propositions that CARRY the notes' reasoning. A proposition earns its + place by being a premise, an intermediate step, or a conclusion of an argument the notes actually + make. The graph is the reasoning skeleton of the source — not an archive of everything said: + - DROP: isolated facts with no argumentative role, name-drops and citations, one-line asides, + trivia, enumerations of examples — however true. A proposition nobody argues from, argues to, + or argues against does not belong. - Each has a "name" — a VERY short label, a few words: ESTABLISHED terminology, the term the discipline itself uses, a glossary headword a textbook would print ("Will to power", "Divine command theory"). NEVER source-local bookkeeping — no letters, numbering, or positional labels ("F1", "criterion C", @@ -256,19 +261,23 @@ node of its own wrong claim — state the TRUE correction as the proposition. - MERGE YOUR OWN OUTPUT before submitting: two propositions stating the SAME claim at different precision, granularity, or angle are ONE proposition — one statement at full precision, the other phrasings in "aliases". Nothing downstream dedupes you; duplicates become duplicate graph nodes. - - Closely related but genuinely distinct propositions stay separate — and MUST be connected by an - edge (see 2). - - Notes may explain things at length or quote material the author is studying: extract the propositions themselves, - one reasoning step each — never a topic blob, never a sub-step. + - Closely related but genuinely distinct propositions stay separate; whether they connect is + section 2's call — never add a proposition or an edge just to avoid a lonely node. + - Notes may explain at length or quote studied material: extract the propositions that carry the + reasoning, one step each — never a topic blob, never a sub-step. - "aliases": verbatim phrasings the notes used for the same proposition. -2. EDGES between propositions — the connective tissue; a graph of lonely nodes is a failed extraction: +2. EDGES between propositions — PRECISION over recall. An edge exists ONLY where the source itself + presents one proposition as following from, depending on, or being grounded in another — an + explicit argumentative act in the text, never a felt relatedness: - "follows": to is DERIVABLE from from (understanding from makes understanding to achievable). - - "supports": from GROUNDS to without entailing it (evidence, motivation, context — helpful, not a - prerequisite). - - COMPLETENESS: whenever these notes present one proposition as evidence for, consequence of, or - prerequisite of another, that edge MUST be in your findings. Omitting a real relation is the main - way extraction fails — do not leave obviously related propositions unconnected. + - "supports": from GROUNDS to — the source EXPLICITLY presents from as evidence, motivation, or + basis for to, without entailing it. If you have to reach to see the grounding, the edge does not + exist. "supports" is the rare exception; a genuinely argumentative relation is almost always + "follows". + - WHEN IN DOUBT, OMIT. A sparse, trustworthy graph beats a dense, vague one. Never connect + propositions merely because they are related, mentioned together, or about the same topic — + that is how a graph turns to mush. Faithfulness: extract only what the source actually articulates — never invent, pad, or compress into vagueness. When in doubt about a proposition's exact content, quote its source passage to yourself first, then state it precisely. @@ -292,7 +301,12 @@ The graph is a set of TRUE propositions about the world, full stop. A node is ne session — no "the learner understands X", no "discussed in this session": the node is just X. A misconception is NOT a node of its own wrong claim — state the TRUE correction as the proposition. -1. PROPOSITIONS — every distinct reasoning-step-sized proposition the session touched: +1. PROPOSITIONS — only the propositions that CARRY the session's reasoning. A proposition earns its + place by being a premise, an intermediate step, or a conclusion of an argument the session actually + makes. The graph is the reasoning skeleton of the source — not an archive of everything said: + - DROP: isolated facts with no argumentative role, name-drops and citations, one-line asides, + trivia, enumerations of examples — however true. A proposition nobody argues from, argues to, + or argues against does not belong. - Each has a "name" — a VERY short label, a few words: ESTABLISHED terminology, the term the discipline itself uses, a glossary headword a textbook would print ("Will to power", "Divine command theory"). NEVER session-local bookkeeping — no letters, numbering, or positional labels ("F1", "criterion C", @@ -304,19 +318,23 @@ a node of its own wrong claim — state the TRUE correction as the proposition. - MERGE YOUR OWN OUTPUT before submitting: two propositions stating the SAME claim at different precision, granularity, or angle are ONE proposition — one statement at full precision, the other phrasings in "aliases". Nothing downstream dedupes you; duplicates become duplicate graph nodes. - - Closely related but genuinely distinct propositions stay separate — and MUST be connected by an - edge (see 2). - - Include corrections of misconceptions the teacher articulated, and true facts explained in prose. + - Closely related but genuinely distinct propositions stay separate; whether they connect is + section 2's call — never add a proposition or an edge just to avoid a lonely node. + - Corrections of misconceptions the teacher articulated are argumentative by nature — always in. - One reasoning step per proposition: never a topic blob, never a sub-step. - "aliases": verbatim phrasings this session used for the same proposition. -2. EDGES between propositions — the connective tissue; a graph of lonely nodes is a failed extraction: +2. EDGES between propositions — PRECISION over recall. An edge exists ONLY where the source itself + presents one proposition as following from, depending on, or being grounded in another — an + explicit argumentative act in the text, never a felt relatedness: - "follows": to is DERIVABLE from from (understanding from makes understanding to achievable). - - "supports": from GROUNDS to without entailing it (evidence, motivation, context — helpful, not a - prerequisite). - - COMPLETENESS: whenever this session presents one proposition as evidence for, consequence of, or - prerequisite of another, that edge MUST be in your findings. Omitting a real relation is the main - way extraction fails — do not leave obviously related propositions unconnected. + - "supports": from GROUNDS to — the source EXPLICITLY presents from as evidence, motivation, or + basis for to, without entailing it. If you have to reach to see the grounding, the edge does not + exist. "supports" is the rare exception; a genuinely argumentative relation is almost always + "follows". + - WHEN IN DOUBT, OMIT. A sparse, trustworthy graph beats a dense, vague one. Never connect + propositions merely because they are related, mentioned together, or about the same topic — + that is how a graph turns to mush. Faithfulness: extract only what the session actually articulates — never invent, pad, or compress into vagueness. When in doubt about a proposition's exact content, quote its source passage to yourself first, then state it precisely.