extractor: standalone/entailment/selection doctrines in EXTRACTION_CORE

Data analysis of the five-source corpus (490 nodes, 244 chains) found
three pathologies the goal-first core let through:

1. Narrative-adjacency chains — premises that occasioned rather than
   entailed conclusions (concentrated in the polemical sources).
2. Session-scaffolding minted as knowledge — the source's own axiom
   numbering (A1/F2/UT2), arc labels ('the crux') persisted as nodes.
3. Full-discourse volume — glossary and argument-arc material at equal
   rank with load-bearing ideas (~200 nodes per source).

Three doctrine lines, same terse register as the core:
- entailment is the only link that earns a chain; historical/narrative
  connections keep their pieces as bare propositions or drop them
- load-bearing ideas only (what a reference on the subject would teach)
- propositions must stand alone for a reader who never saw the source;
  no leaning on the source's own scaffolding

Substring pins for all three; shared by session + notes extractors by
construction.
This commit is contained in:
amosblomqvist
2026-09-30 05:36:28 +03:00
parent 35d8bc1a0c
commit 5ed724c224
2 changed files with 12 additions and 0 deletions
+8
View File
@@ -305,11 +305,19 @@ export const NOTES_PREAMBLE =
export const EXTRACTION_CORE = `THE GOAL: extract the source's REASONING CHAINS. The source teaches by making arguments — propositions
worked out from other propositions. Your deliverable is twofold: the propositions themselves, and every
argument the source makes. Each argument is a chain: premises that JOINTLY entail a conclusion.
Entailment is the only link that earns a chain — where the real connection is historical or narrative
(who argued what, how a debate or exposition unfolds), there is no chain; keep the pieces as bare
propositions or drop them.
The graph holds TRUE propositions about the world, nothing else — never anything about the learner, the
teacher, or this reading: not "the learner understands X" but X. A misconception enters as its TRUE
correction. Each statement is one self-contained reasoning step at full precision.
Extract the load-bearing ideas of the subject — what a reference on it would teach — not the full run of
the discourse. Every proposition must stand alone for a reader who never saw this source: names and
statements may not lean on the source's own scaffolding (claim numbering, axiom tags, arc labels); a
claim that only matters as part of how this document is organized is not knowledge — drop it.
SUBMIT with one submit_findings call: every proposition with a short name and a precise statement, and
every chain as premises + conclusion. Premises within one chain are used TOGETHER — independent arguments
for the same conclusion are separate chains. A conclusion may reappear, by id, as a premise of later
+4
View File
@@ -1184,6 +1184,10 @@ describe("the extractor redesign (owner, 2026-09-30): chains are the deliverable
// The core carries the goal + submission mechanics.
assert.match(EXTRACTION_CORE, /JOINTLY entail a conclusion/);
assert.match(EXTRACTION_CORE, /for the same conclusion are separate chains/);
assert.match(EXTRACTION_CORE, /Entailment is the only link that earns a chain/);
assert.match(EXTRACTION_CORE, /what a reference on it would teach/);
assert.match(EXTRACTION_CORE, /stand alone for a reader who never saw this source/);
assert.match(EXTRACTION_CORE, /may not lean on the source's own scaffolding/);
assert.match(EXTRACTION_CORE, /SUBMIT with one submit_findings call/);
assert.match(EXTRACTION_CORE, /"chains": \[\] when the source makes no arguments/);